{"sha":"9d231bc4a59e7c3c5849548039877bdb07dc3bcc","node_id":"C_kwDORD3Y59oAKDlkMjMxYmM0YTU5ZTdjM2M1ODQ5NTQ4MDM5ODc3YmRiMDdkYzNiY2M","commit":{"author":{"name":"gizzy","email":"me@gizzy.pro","date":"2026-02-02T19:24:55Z"},"committer":{"name":"gizzy","email":"me@gizzy.pro","date":"2026-02-02T19:24:55Z"},"message":"minor: change from just mins to days, hours, mins","tree":{"sha":"6835d0bb88040de03fa687e6a7d28f225470c6d0","url":"https://api.github.com/repos/GizzyUwU/govgiz/git/trees/6835d0bb88040de03fa687e6a7d28f225470c6d0"},"url":"https://api.github.com/repos/GizzyUwU/govgiz/git/commits/9d231bc4a59e7c3c5849548039877bdb07dc3bcc","comment_count":0,"verification":{"verified":false,"reason":"unsigned","signature":null,"payload":null,"verified_at":null}},"url":"https://api.github.com/repos/GizzyUwU/govgiz/commits/9d231bc4a59e7c3c5849548039877bdb07dc3bcc","html_url":"https://github.com/GizzyUwU/govgiz/commit/9d231bc4a59e7c3c5849548039877bdb07dc3bcc","comments_url":"https://api.github.com/repos/GizzyUwU/govgiz/commits/9d231bc4a59e7c3c5849548039877bdb07dc3bcc/comments","author":{"login":"GizzyUwU","id":61115942,"node_id":"MDQ6VXNlcjYxMTE1OTQy","avatar_url":"https://avatars.githubusercontent.com/u/61115942?v=4","gravatar_id":"","url":"https://api.github.com/users/GizzyUwU","html_url":"https://github.com/GizzyUwU","followers_url":"https://api.github.com/users/GizzyUwU/followers","following_url":"https://api.github.com/users/GizzyUwU/following{/other_user}","gists_url":"https://api.github.com/users/GizzyUwU/gists{/gist_id}","starred_url":"https://api.github.com/users/GizzyUwU/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GizzyUwU/subscriptions","organizations_url":"https://api.github.com/users/GizzyUwU/orgs","repos_url":"https://api.github.com/users/GizzyUwU/repos","events_url":"https://api.github.com/users/GizzyUwU/events{/privacy}","received_events_url":"https://api.github.com/users/GizzyUwU/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"GizzyUwU","id":61115942,"node_id":"MDQ6VXNlcjYxMTE1OTQy","avatar_url":"https://avatars.githubusercontent.com/u/61115942?v=4","gravatar_id":"","url":"https://api.github.com/users/GizzyUwU","html_url":"https://github.com/GizzyUwU","followers_url":"https://api.github.com/users/GizzyUwU/followers","following_url":"https://api.github.com/users/GizzyUwU/following{/other_user}","gists_url":"https://api.github.com/users/GizzyUwU/gists{/gist_id}","starred_url":"https://api.github.com/users/GizzyUwU/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GizzyUwU/subscriptions","organizations_url":"https://api.github.com/users/GizzyUwU/orgs","repos_url":"https://api.github.com/users/GizzyUwU/repos","events_url":"https://api.github.com/users/GizzyUwU/events{/privacy}","received_events_url":"https://api.github.com/users/GizzyUwU/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"30e7d6bb0071061868c2eb01f74be74fe4b3697d","url":"https://api.github.com/repos/GizzyUwU/govgiz/commits/30e7d6bb0071061868c2eb01f74be74fe4b3697d","html_url":"https://github.com/GizzyUwU/govgiz/commit/30e7d6bb0071061868c2eb01f74be74fe4b3697d"}],"stats":{"total":130,"additions":72,"deletions":58},"files":[{"sha":"c42ac830e1fea41abfbb2ae2d5b4877e408f6df4","filename":"src/automation/ftToMDX.ts","status":"modified","additions":19,"deletions":5,"changes":24,"blob_url":"https://github.com/GizzyUwU/govgiz/blob/9d231bc4a59e7c3c5849548039877bdb07dc3bcc/src%2Fautomation%2FftToMDX.ts","raw_url":"https://github.com/GizzyUwU/govgiz/raw/9d231bc4a59e7c3c5849548039877bdb07dc3bcc/src%2Fautomation%2FftToMDX.ts","contents_url":"https://api.github.com/repos/GizzyUwU/govgiz/contents/src%2Fautomation%2FftToMDX.ts?ref=9d231bc4a59e7c3c5849548039877bdb07dc3bcc","patch":"@@ -108,12 +108,26 @@ for (const project of projects) {\n \n   const preDevlogContent = body.split(/^\\s*## Devlog/m)[0];\n \n-  const rebuiltDevlogs = devlogs.map(\n-    (d) =>\n-      `## Devlog ${d.id} • ${new Date(d.created_at).toISOString().slice(0, 10)}\\n\\n` +\n+  const rebuiltDevlogs = devlogs.map((d) => {\n+    const totalSeconds = d.duration_seconds;\n+\n+    const days = Math.floor(totalSeconds / (24 * 3600));\n+    const hours = Math.floor((totalSeconds % (24 * 3600)) / 3600);\n+    const mins = Math.floor((totalSeconds % 3600) / 60);\n+\n+    const durationParts = [];\n+    if (days) durationParts.push(`${days}d`);\n+    if (hours) durationParts.push(`${hours}h`);\n+    if (mins || durationParts.length === 0) durationParts.push(`${mins}m`);\n+\n+    return (\n+      `## Devlog ${d.id} • ${new Date(d.created_at)\n+        .toISOString()\n+        .slice(0, 10)}\\n\\n` +\n       `${d.body}\\n\\n` +\n-      `${d.likes_count} likes • ${Math.round(d.duration_seconds / 60)} min\\n\\n`,\n-  );\n+      `${d.likes_count} likes • ${durationParts.join(\" \")}\\n\\n`\n+    );\n+  });\n \n   const frontmatterContent =\n     `---\\n` +"},{"sha":"0a5e3508c066874c9e301e24347f1feff6f7acc5","filename":"src/routes/blog/posts/govgiz.md","status":"modified","additions":11,"deletions":11,"changes":22,"blob_url":"https://github.com/GizzyUwU/govgiz/blob/9d231bc4a59e7c3c5849548039877bdb07dc3bcc/src%2Froutes%2Fblog%2Fposts%2Fgovgiz.md","raw_url":"https://github.com/GizzyUwU/govgiz/raw/9d231bc4a59e7c3c5849548039877bdb07dc3bcc/src%2Froutes%2Fblog%2Fposts%2Fgovgiz.md","contents_url":"https://api.github.com/repos/GizzyUwU/govgiz/contents/src%2Froutes%2Fblog%2Fposts%2Fgovgiz.md?ref=9d231bc4a59e7c3c5849548039877bdb07dc3bcc","patch":"@@ -15,7 +15,7 @@ An hour? Damn not that long to be fair, ANYWAY hai chat ![3c](https://images.wes\n - 404, Details and Home page is less fucked on mobile now\r\n - Improved birthday count down text to do less typedjs typing\n \n-0 likes • 52 min\n+0 likes • 51m\n \n ## Devlog 18662 • 2026-02-01\n \n@@ -30,7 +30,7 @@ KABOOM WE DO UPDATE YIPEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE\n - [feat: fix 404 on github, 88x31 for this site, github follower count and star count i stole from cyteon, details page](https://api.github.com/repos/GizzyUwU/govgiz/commits/f4fbc7f37ad4baa27692f9d5a6df0e8f1421487b)\r\n \n \n-0 likes • 101 min\n+0 likes • 1h 40m\n \n ## Devlog 18619 • 2026-02-01\n \n@@ -48,7 +48,7 @@ i DID SOME THINGS\n - No longer shows posts with tag projects on blog posts page\r\n - Made tags and blog posts page more sexy\n \n-0 likes • 206 min\n+0 likes • 3h 26m\n \n ## Devlog 18312 • 2026-02-01\n \n@@ -57,13 +57,13 @@ bleh i had to fix script and aciton that was painfal its 1 am im eepy but update\n - it prevents xss now from mdx bleh\r\n - IM TIRIED\n \n-0 likes • 45 min\n+0 likes • 44m\n \n ## Devlog 18303 • 2026-02-01\n \n BLEHHH IM BACK AGAIN ![3c](https://images.weserv.nl/?url=https%3A%2F%2Femoji.slack-edge.com%2FT09V59WQY1E%2F3c%2F8c317faf11962206.png&w=30&h=30&fit=contain&n=-1) since it has a blog now i gotta do the natural thing of being lazy! I made a github action to generate an mdx from these FT devlogs and projects and add it to the website mdx ![3c](https://images.weserv.nl/?url=https%3A%2F%2Femoji.slack-edge.com%2FT09V59WQY1E%2F3c%2F8c317faf11962206.png&w=30&h=30&fit=contain&n=-1) i also did sum other stuff but thats not really important compared to that\n \n-0 likes • 162 min\n+0 likes • 2h 41m\n \n ## Devlog 18203 • 2026-01-31\n \n@@ -77,7 +77,7 @@ This wasnt much but yipeee\n - [feat: giscus for comments, gov giz logo redirect to /](https://api.github.com/repos/GizzyUwU/govgiz/commits/a260a01ac6257e84efe3acdbee4ef790727bf6f1)\r\n \n \n-0 likes • 60 min\n+0 likes • 59m\n \n ## Devlog 18087 • 2026-01-31\n \n@@ -90,13 +90,13 @@ ANYWAY\n - [fix: add copy button](https://api.github.com/repos/GizzyUwU/govgiz/commits/ef7e40b4fd1f2690a1b582ae4f07e73f1b5253c5)\r\n \n \n-0 likes • 46 min\n+0 likes • 46m\n \n ## Devlog 18071 • 2026-01-31\n \n Wow an hour just spent on this? ![bleh](https://images.weserv.nl/?url=https%3A%2F%2Femoji.slack-edge.com%2FT09V59WQY1E%2Fbleh%2F8be6dc6939de105f.png&w=30&h=30&fit=contain&n=-1) uk gov being fucking annoying again! The UK Gov Design System lacks a code block which a [github issue](https://github.com/orgs/alphagov/projects/43/views/1?filterQuery=status%3A%22Not+published%22+code&pane=issue&itemId=10865678&issue=alphagov%7Cgovuk-design-system-backlog%7C8) was opened for it in 2018. so i spent past hour literally combining other components and jankiness to make one using prismjs for highlighting it looks pretty similar to the real one used on design system docs (which EXISTS BUT IN THE NPM ITSELF DOESNT????).\n \n-0 likes • 86 min\n+0 likes • 1h 26m\n \n ## Devlog 18019 • 2026-01-31\n \n@@ -109,7 +109,7 @@ UPDATEEEEEEEEEEEEEE AAAAAAAAAAAAAAAAAA\n - [feat: basic ahh blog i ripped off from someones site but trying to make fit this design](https://api.github.com/repos/GizzyUwU/govgiz/commits/4b2613c90b8a156fd557a6569138a5416a1876cd)\r\n \n \n-0 likes • 131 min\n+0 likes • 2h 11m\n \n ## Devlog 17146 • 2026-01-29\n \n@@ -118,12 +118,12 @@ Im eepy its 1 am but gotta devlog so yipeeeeeeeeeeeeeeeeee\n - Shows my local time which also live updates using typedjs to update it\r\n - Small desc about me uses typedjs to change values bleh ![yay](https://images.weserv.nl/?url=https%3A%2F%2Femoji.slack-edge.com%2FT09V59WQY1E%2Fyay%2F47296c029c8ee253.gif&w=30&h=30&fit=contain&n=-1) \n \n-0 likes • 47 min\n+0 likes • 46m\n \n ## Devlog 17136 • 2026-01-29\n \n Blehhhh ![3c](https://images.weserv.nl/?url=https%3A%2F%2Femoji.slack-edge.com%2FT09V59WQY1E%2F3c%2F8c317faf11962206.png&w=30&h=30&fit=contain&n=-1) so new project first devlog i spent most of time fighitng to get it to work with solidjs but it works AND LOOKS SEXY i also wiped up custom logo in figma balls\r\n \n \n-0 likes • 87 min\n+0 likes • 1h 27m\n "},{"sha":"9bb33232e3bdea3c9c55adb4712228ca6e6fe131","filename":"src/routes/blog/posts/logpheus.md","status":"modified","additions":30,"deletions":30,"changes":60,"blob_url":"https://github.com/GizzyUwU/govgiz/blob/9d231bc4a59e7c3c5849548039877bdb07dc3bcc/src%2Froutes%2Fblog%2Fposts%2Flogpheus.md","raw_url":"https://github.com/GizzyUwU/govgiz/raw/9d231bc4a59e7c3c5849548039877bdb07dc3bcc/src%2Froutes%2Fblog%2Fposts%2Flogpheus.md","contents_url":"https://api.github.com/repos/GizzyUwU/govgiz/contents/src%2Froutes%2Fblog%2Fposts%2Flogpheus.md?ref=9d231bc4a59e7c3c5849548039877bdb07dc3bcc","patch":"@@ -19,7 +19,7 @@ Chat, are we codemaxxing rn? no stupid we are bugfixing dumb ahh\n - Config command not channel specific now it uses user id to update api key\r\n - Tells user that prod exploded instead of ghostting them when it does\n \n-0 likes • 156 min\n+0 likes • 2h 36m\n \n ## Devlog 16313 • 2026-01-26\n \n@@ -30,7 +30,7 @@ Almost 3 hours again GOD i kinda forgor was gonna do one this morning but devlog\n - More bug fixes as an FT api route changed without me knowing breaking the bot so had to fix that and fallback so if it happens again it logs to sentry as sus ![sussy](https://images.weserv.nl/?url=https%3A%2F%2Femoji.slack-edge.com%2FT09V59WQY1E%2Fsussy%2Fcc3a0a8a261caea2.png&w=30&h=30&fit=contain&n=-1)\r\n - Did a update to readme to match new stuff ![yay](https://images.weserv.nl/?url=https%3A%2F%2Femoji.slack-edge.com%2FT09V59WQY1E%2Fyay%2F47296c029c8ee253.gif&w=30&h=30&fit=contain&n=-1) \n \n-0 likes • 161 min\n+0 likes • 2h 40m\n \n ## Devlog 15877 • 2026-01-25\n \n@@ -39,45 +39,45 @@ i fixed sum bugs\n user command! get someones ft profile from sometimes slack account\r\n opt outs column for something soon owo\n \n-0 likes • 182 min\n+0 likes • 3h 2m\n \n ## Devlog 15662 • 2026-01-25\n \n Another time for a devlog!!!!!!!!!!!!!!!!!!!!!!! BLEH :hyper-dino-wave:\r\n I spent most of the time improving the error handling of logpheus so it makes use of MY BUGSINK MOREEEE and its more specific with errors so now if it isnt 401 it doesnt default to no project exists at id it only does that at 404 :3c with MORE CONTEXT TOO so better easier debugging\n \n-0 likes • 117 min\n+0 likes • 1h 56m\n \n ## Devlog 15325 • 2026-01-24\n \n uhm pushed to prod the changes i madeto table etc fixed sum stuff took down prod for like half and hour as u do so fixed that because of dumb migration issues bleh but it does make use of new tables now for data not all data in new tables tho like last devlog timestamp or the store of user ids so i need to manually add uids in for users previous to the update but also change it so it stores and uses last devlog timestamp as main check and fallback to id check if need be\n \n-0 likes • 71 min\n+0 likes • 1h 11m\n \n ## Devlog 15281 • 2026-01-24\n \n bleh more time for me! I did sum cleaning moving devlog check to sept file and no longer rely on loadApiKeys which is super overkill for 1 function using it since func was legacy code used a lot before changing to drizzle etc\n \n-0 likes • 54 min\n+0 likes • 54m\n \n ## Devlog 15243 • 2026-01-24\n \n AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n I work on moving schema :3c and also cleaning up the codebase so its more readable as ts confusing also improved schema migration by learning how to actually use drizzle frfr\n \n-0 likes • 87 min\n+0 likes • 1h 26m\n \n ## Devlog 15051 • 2026-01-23\n \n Well uhm this was a crazy one, a self hosted instance caused offical to die because of how slack handles slash commands its extremely secure setup allows other bots to overwrite the slash commnads you have to their own and dw it does the exact opposite of telling user this it still shows that the command you are about to run is from the offical bot so i had to modify it so self hosted instances now use user id and bot user as prefix to fix it also updating schema to work more efficiently then and clean up code\n \n-0 likes • 222 min\n+0 likes • 3h 41m\n \n ## Devlog 14494 • 2026-01-21\n \n Mreowwwww! I'm literally just improving logpheus handling of issues to use bugsink to post errors so I can read but also handle 401 errors better so I'm not being spammed with errors because you guys being annoying with your api keys\n \n-1 likes • 105 min\n+1 likes • 1h 45m\n \n ## Devlog 13586 • 2026-01-19\n \n@@ -86,44 +86,44 @@ Fixed bugs!\n - You can now add multiple projects to one api key as fixed bug preventing this\r\n - you can no longer be a stinky and try add the same project twice under a api key\n \n-0 likes • 46 min\n+0 likes • 46m\n \n ## Devlog 4960 • 2026-01-01\n \n Nvm i hate code! 16m of more bug fixing to get it to stop spamming qwp\n \n-0 likes • 16 min\n+0 likes • 16m\n \n ## Devlog 4952 • 2026-01-01\n \n I'm logging this cuz free time! Logpheus felt like going on a spamming spree because of a bug in my code. Every minute a check ran and my dumbass made it update db to the value of the check so every 2 minutes it would change value back to one that causes shipped message to post causing spam hopefully this should be fixed tho\n \n-0 likes • 29 min\n+0 likes • 29m\n \n ## Devlog 4943 • 2025-12-31\n \n WOOOOOOO just took down prod for 10 minutes because im dumb! I spent this time fixing my dumb mistakes, adding support to use full postgres in prod so I only need pglite in dev making my life easier in both cases and adding validation of api keys when added!\n \n-0 likes • 124 min\n+0 likes • 2h 3m\n \n ## Devlog 4899 • 2025-12-31\n \n This whole devlog time was spent on another migration because I found out about pglite (postgres in wasm) and drizzle supported it so I migrated over to that instead because drizzle makes my life way more convienent especially working on logpheus it just took so long to setup as it was my first time using drizzle and i had to also create migration from sqlite and json to pglite to ensure no data loss.\n \n-0 likes • 290 min\n+0 likes • 4h 49m\n \n ## Devlog 4394 • 2025-12-30\n \n # Migration!\r\n Using json was really annoying especially for every project using their own cache json file for devlogs so instead i swapped to SQL which is using bun:sqlite for storing api keys, projects etc taking advantage of buns implementation which is pretty fast but also its less resource usage slightly because I'm not using json for everything I need parsing it stringifying it pushing it to file a lot. All previous json files will be migrated on start to the new db.\n \n-0 likes • 113 min\n+0 likes • 1h 52m\n \n ## Devlog 4167 • 2025-12-29\n \n OKAY REAL DEVLOG THIS TIME, markdown support is now fully added i think yes\n \n-0 likes • 28 min\n+0 likes • 28m\n \n ## Devlog 4157 • 2025-12-29\n \n@@ -132,7 +132,7 @@ Trying to implement support for markdown in logpheus\n \r\n i like <u>potatos</u>\n \n-0 likes • 34 min\n+0 likes • 34m\n \n ## Devlog 4147 • 2025-12-29\n \n@@ -159,77 +159,77 @@ arf arf\n ---\r\n sadgagagdag\n \n-0 likes • 19 min\n+0 likes • 18m\n \n ## Devlog 4012 • 2025-12-29\n \n UH MORE HOURS FOR ME YIPEEEEEE so basically i in this time explode prod a couple times because of the new dockerfile but fixed it added improved error handling so that it doesnt spam my logs when something like a 401 happens i added ability to change api key in a channel using /logpheus-config, i converted timestamps to utc and now use the good format not the us format for dates so DD/MM/YYYY and it is now clickable timestamp so users can click it and convert it to their timezone if they want to and i moved the ext header which is useless to axios.create instead of spammed in every func call\n \n-0 likes • 103 min\n+0 likes • 1h 43m\n \n ## Devlog 3646 • 2025-12-28\n \n Might aswell make a devlog for the stuff i did even though not really important. During this time I improved upon the add command to post more detail of the project when being added, I made changes to the Dockerfile to improve its build times using docker's cache mounts and removing unnecessary stages (i stole the build file from buns website and its very over complicated for this) and I made pending review after ship message more clear and once reviewed message more clear.\n \n-0 likes • 31 min\n+0 likes • 31m\n \n ## Devlog 3075 • 2025-12-26\n \n Clean up of code to be more easier to develop in by seperating views/commands out into seperate files, fixed cache files that was done before latest update using differnet cache setup not causing any issues but with this update would of so it now migrates old caches to new format and now includes ship status!!!!!!!\n \n-0 likes • 83 min\n+0 likes • 1h 23m\n \n ## Devlog 3026 • 2025-12-26\n \n More improvements to the code! The bot message has improved to be more detailed with the devlog and also improved the code by setting types to the functions used so when called you can know what data is returned easily from typescript and your ide and also cleaned up some of the code.\n \n-0 likes • 44 min\n+0 likes • 44m\n \n ## Devlog 2938 • 2025-12-26\n \n Okay bot now makes use of devlog_ids to check so less resources during hosting and should also mean less api hits :3c also now /logpheus-stats to see how many users it has and every req has header that makes bot show up on the extensions page\n \n-0 likes • 34 min\n+0 likes • 34m\n \n ## Devlog 2912 • 2025-12-26\n \n I need a devlog to test but the bot's handling system of new devlogs is being changed to do less work by making us of the new devlog_id in /api/v1/projects/:id making the bot and probably the api do less work thats just assuming but atleast the bot will do less work so peak!!!\n \n-0 likes • 48 min\n+0 likes • 48m\n \n ## Devlog 2321 • 2025-12-24\n \n An extra 21 minutes for me because docker sucks! I literally spent 21 minutes just trying to get apiKeys to be persistant in the docker containuer using docker volumes i hate docker NOW ITS PRODTATO READY\n \n-0 likes • 20 min\n+0 likes • 19m\n \n ## Devlog 2308 • 2025-12-24\n \n Prodtato. The bot is in prod and seems stable working in my channel! The docker is complete and also finished the readme showing how to use it but also how to self host it if you dont trust me with your api key which is BORING TRUST MEEEEEE its basically done i ship i think i did other stuff too but i forgor\n \n-0 likes • 45 min\n+0 likes • 45m\n \n ## Devlog 2272 • 2025-12-24\n \n Woah fast fix too i swapped it to use api key instead sas the prefix only allowing 1 api key to be used for a channel but a channe4l can have multiple projects subscribed so yipeeeeeeeee\n \n-0 likes • 27 min\n+0 likes • 27m\n \n ## Devlog 2261 • 2025-12-24\n \n Woah this was a fast devlog i made /logpheus-remove so you can now remove your project from a channel! and i also realised im an idiot! i now gotta modify the code to not use project id as a prefix and instead use channel id so someone cant block you from adding your proj to your channel because they added it to theres!\n \n-0 likes • 21 min\n+0 likes • 20m\n \n ## Devlog 2250 • 2025-12-24\n \n The past hour I have been debugging and making the bot worked implementing /logpheus-add to add projects to the list and it works i just need to add /logpheus-remove now :3c and also docker support\n \n-0 likes • 75 min\n+0 likes • 1h 15m\n \n ## Devlog 2214 • 2025-12-24\n \n I need a devlog to test so uhm past hour and half i well made lib file for ft its a class file so i can use it in other projects if i want to too then using that i made it pull projects then pull devlogs if no cache file exists it adds all devlogs of project id which is in apiKeys.json which stores project id as key then under it the api key and channel to post it to\n \n-0 likes • 98 min\n+0 likes • 1h 38m\n "},{"sha":"37fea7af2b1f756295b271b3044bc04906eb31c7","filename":"src/routes/blog/posts/suri.md","status":"modified","additions":12,"deletions":12,"changes":24,"blob_url":"https://github.com/GizzyUwU/govgiz/blob/9d231bc4a59e7c3c5849548039877bdb07dc3bcc/src%2Froutes%2Fblog%2Fposts%2Fsuri.md","raw_url":"https://github.com/GizzyUwU/govgiz/raw/9d231bc4a59e7c3c5849548039877bdb07dc3bcc/src%2Froutes%2Fblog%2Fposts%2Fsuri.md","contents_url":"https://api.github.com/repos/GizzyUwU/govgiz/contents/src%2Froutes%2Fblog%2Fposts%2Fsuri.md?ref=9d231bc4a59e7c3c5849548039877bdb07dc3bcc","patch":"@@ -12,71 +12,71 @@ tags:\n \n I implemented more of the formatting :3c also added names back as i broke that\n \n-1 likes • 68 min\n+1 likes • 1h 8m\n \n ## Devlog 6260 • 2026-01-05\n \n Better parsing of rich text blocks :3c not completely dont yet tho\n \n-1 likes • 41 min\n+1 likes • 40m\n \n ## Devlog 6086 • 2026-01-04\n \n A bit better message parsing :3c it now has semi good image support setup image is kinda large gotta fix that but it also unescapes html encode stuff now so yipee\n \n-0 likes • 60 min\n+0 likes • 59m\n \n ## Devlog 5979 • 2026-01-04\n \n Names! Yes this could of been done in like 30 minutes but im a twat i made a stupid mistake causing me to not match the user id to the gotten ids for the channel because i used channel: channelId in the body not channels: [channelId] causing slack to throw workspace users not channel users. I also moved chat to its own file instead of just in the index.tsx file\n \n-0 likes • 131 min\n+0 likes • 2h 10m\n \n ## Devlog 5720 • 2026-01-03\n \n Yeah my previous fix to shutup couldnt find callback id annoyed me so i spent this whole devlog time just trying to get my shit rust code to work so it prevents default reload and instead causes a window relaunch clearing out any callback ids so no console spam because it relaunches on reload\n \n-0 likes • 99 min\n+0 likes • 1h 39m\n \n ## Devlog 5676 • 2026-01-03\n \n I forgor to make a devlog qwp. ANYWAY 10 days past and i did some stuff :3 I tried to get tauri to shutup about \"couldnn't find callback id\" because it sucks at cleaning up its own resources with its plugins that took a while until i just made console.warn filter it out of console to shut it up instead it aint my job to fix tauris shit,  I also made a bit of a ui for it and real time messages from the websocket and ability to post messages! (dont mind the random person on the right i stole the ui from flowbite :3c)\n \n-0 likes • 318 min\n+0 likes • 5h 17m\n \n ## Devlog 2160 • 2025-12-24\n \n More modifications to auth! This time not because slack sucks but because I wanted auto login. It now saves xoxd and xoxc in a json file with name scheme \"slack-${user.name}.json\" user,name being active system user so different system users dont got same file and don't worry it's encrypted with a key set in system keyring under that users account. The user account name is grabbed using a tauri command with using the rust crate \"users' to get the active system account.\n \n-0 likes • 125 min\n+0 likes • 2h 4m\n \n ## Devlog 1903 • 2025-12-23\n \n Well this was semi painful but WEBSOCKET mhm yes we got slack websocket in it now and because slack sends so much data even on channels your not currently looking at you could multiple channels at once on it :uuh: mhm yes you can see people typing, that someone joined someone sent a message while not being in that channel very sigma must say but this was pain to get to work\n \n-0 likes • 143 min\n+0 likes • 2h 23m\n \n ## Devlog 1054 • 2025-12-22\n \n 30 minutes later and it works mostly now! The webview window now closes once finished and you can view channels and message history again :3c\n \n-0 likes • 31 min\n+0 likes • 30m\n \n ## Devlog 1029 • 2025-12-22\n \n Well this one is a long one. I literally spent 4 hours and the feature isn't done yet. I can confirm that I hate slack, I have gained more hate for tauri and more love for tauri. I tried first to make the request for data i need manually which for some god known reason refused to work and kept 404ing aka i hate slack, i then spent my time trying to grab data from session storage before slack wiped it which that didnt work out then I realised it moves the data to localStorage which is well weird and I wrote rust code to grab that then I spent more time just trying to get that data from webview to frontend code and FINALLY I GOT THE DATA login still not done tho now take a picturee of my shit code\n \n-0 likes • 242 min\n+0 likes • 4h 1m\n \n ## Devlog 685 • 2025-12-21\n \n I spent most of the 2h 33m trying and debugging just to get a single d cookie that slack auth uses it was pain in the ass since webkit2gtk kept crashing (because it sucks ass) when i tried to intercept responses to look through there headers under I realised tauri supports grabbing webview windows cookies so I swapped to on_navigation to look for path /checkcookie which slack auth uses to check for cookie is valid so we know the webview will have the cookie at that time then we extract and print it for now. I still gotta grab the second token although that should be 10x easier since slack sends that one over a network request only requiring the d cookie to get it although it does require some parsing since the response is js script? thats really stupid\n \n-0 likes • 152 min\n+0 likes • 2h 31m\n \n ## Devlog 358 • 2025-12-20\n \n Yes I am 1h 48m in to this and I have made barely any progress. Blame slack for that I spent all this time just trying to get convo history to work :hs:\n \n-0 likes • 111 min\n+0 likes • 1h 50m\n "}]}