7 Commits

Author SHA1 Message Date
hikari 4441f0d2f8 chore: migrate tailwindcss from v3 to v4
Node.js CI / CI (pull_request) Failing after 50s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m28s
2026-03-03 19:11:57 -08:00
hikari 78f0285973 chore: bump next, react-markdown, types, and postcss to latest eligible versions 2026-03-03 19:04:02 -08:00
hikari ef7e6f1d46 chore: bump dependencies to latest minor versions 2026-03-03 18:55:03 -08:00
hikari 9e3afc4e47 chore: pin all dependency versions 2026-03-03 18:44:13 -08:00
hikari 93a6cf952d fix: move link tags into head and add stylesheet precedence
Node.js CI / CI (pull_request) Failing after 20s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m48s
Resolves hydration error from link elements as direct children of html,
and adds precedence="default" to the highlight.js stylesheet link.
2026-03-03 18:16:40 -08:00
hikari d9644d3a57 fix: improve blockquote dark mode and border styling
Adds dark mode text colour via .is-dark selector, replaces full dotted
border with a left-only accent-coloured border with inner glow effect.
2026-03-03 18:06:56 -08:00
hikari 71f184f696 fix: use global font settings instead of Inter
Removes Inter font import from layout and the conflicting CSS font rule,
deferring font handling to the CDN global headers script.
2026-03-03 17:53:44 -08:00
6 changed files with 41 additions and 48 deletions
+1 -8
View File
@@ -2,12 +2,5 @@
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.validate": [
"typescript"
],
"cSpell.words": [
],
"cSpell.dictionaryDefinitions": [
],
"eslint.validate": ["typescript"],
}
-7
View File
@@ -23,23 +23,16 @@
"Fenrir",
"Fortnite",
"Gitea",
"Hatsune",
"Hikari",
"LGBTQ",
"Lich",
"Migadu",
"Miku",
"Minori",
"neopronouns",
"neurotypicality",
"NHCarrigan",
"Norns",
"R'lyeh",
"Rythm",
"schadenfreude",
"spazztic",
"strobing",
"Tauri",
"Unseelie",
"vaxry",
"waaaaaay",
+1 -1
View File
@@ -24,7 +24,7 @@
"devDependencies": {
"@eslint/eslintrc": "3.3.3",
"@nhcarrigan/eslint-config": "5.2.0",
"@types/node": "25.3.0",
"@types/node": "24.10.13",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
"cspell": "9.6.4",
+36 -29
View File
@@ -41,13 +41,13 @@ importers:
version: 3.3.3
'@nhcarrigan/eslint-config':
specifier: 5.2.0
version: 5.2.0(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(playwright@1.49.1)(react@19.2.4)(typescript@5.9.3)(vitest@3.0.3(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))
version: 5.2.0(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(playwright@1.49.1)(react@19.2.4)(typescript@5.9.3)(vitest@3.0.3(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))
'@tailwindcss/postcss':
specifier: 4.2.0
version: 4.2.0
'@types/node':
specifier: 25.3.0
version: 25.3.0
specifier: 24.10.13
version: 24.10.13
'@types/react':
specifier: 19.2.14
version: 19.2.14
@@ -1140,8 +1140,8 @@ packages:
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
'@types/node@25.3.0':
resolution: {integrity: sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==}
'@types/node@24.10.13':
resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@@ -2650,6 +2650,9 @@ packages:
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
magic-string@0.30.17:
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
@@ -3427,8 +3430,8 @@ packages:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
undici-types@7.18.2:
resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
undici-types@7.16.0:
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
unified@11.0.5:
resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
@@ -4286,7 +4289,7 @@ snapshots:
'@next/swc-win32-x64-msvc@16.1.6':
optional: true
'@nhcarrigan/eslint-config@5.2.0(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(playwright@1.49.1)(react@19.2.4)(typescript@5.9.3)(vitest@3.0.3(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))':
'@nhcarrigan/eslint-config@5.2.0(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(playwright@1.49.1)(react@19.2.4)(typescript@5.9.3)(vitest@3.0.3(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))':
dependencies:
'@eslint-community/eslint-plugin-eslint-comments': 4.4.1(eslint@9.39.3(jiti@2.6.1))
'@eslint/compat': 1.2.4(eslint@9.39.3(jiti@2.6.1))
@@ -4295,7 +4298,7 @@ snapshots:
'@stylistic/eslint-plugin': 2.12.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)
'@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)
'@typescript-eslint/parser': 8.19.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)
'@vitest/eslint-plugin': 1.1.24(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)(vitest@3.0.3(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))
'@vitest/eslint-plugin': 1.1.24(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)(vitest@3.0.3(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))
eslint: 9.39.3(jiti@2.6.1)
eslint-plugin-deprecation: 3.0.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))
@@ -4308,7 +4311,7 @@ snapshots:
playwright: 1.49.1
react: 19.2.4
typescript: 5.9.3
vitest: 3.0.3(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
vitest: 3.0.3(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
transitivePeerDependencies:
- '@typescript-eslint/utils'
- eslint-import-resolver-typescript
@@ -4499,9 +4502,9 @@ snapshots:
'@types/ms@2.1.0': {}
'@types/node@25.3.0':
'@types/node@24.10.13':
dependencies:
undici-types: 7.18.2
undici-types: 7.16.0
'@types/normalize-package-data@2.4.4': {}
@@ -4762,13 +4765,13 @@ snapshots:
'@ungap/structured-clone@1.2.1': {}
'@vitest/eslint-plugin@1.1.24(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)(vitest@3.0.3(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))':
'@vitest/eslint-plugin@1.1.24(@typescript-eslint/utils@8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)(vitest@3.0.3(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))':
dependencies:
'@typescript-eslint/utils': 8.56.0(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3)
eslint: 9.39.3(jiti@2.6.1)
optionalDependencies:
typescript: 5.9.3
vitest: 3.0.3(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
vitest: 3.0.3(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
'@vitest/expect@3.0.3':
dependencies:
@@ -4777,13 +4780,13 @@ snapshots:
chai: 5.1.2
tinyrainbow: 2.0.0
'@vitest/mocker@3.0.3(vite@6.0.11(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))':
'@vitest/mocker@3.0.3(vite@6.0.11(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))':
dependencies:
'@vitest/spy': 3.0.3
estree-walker: 3.0.3
magic-string: 0.30.21
magic-string: 0.30.17
optionalDependencies:
vite: 6.0.11(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
vite: 6.0.11(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
'@vitest/pretty-format@3.0.3':
dependencies:
@@ -4797,7 +4800,7 @@ snapshots:
'@vitest/snapshot@3.0.3':
dependencies:
'@vitest/pretty-format': 3.0.3
magic-string: 0.30.21
magic-string: 0.30.17
pathe: 2.0.2
'@vitest/spy@3.0.3':
@@ -6446,6 +6449,10 @@ snapshots:
dependencies:
yallist: 3.1.1
magic-string@0.30.17:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.0
magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
@@ -7557,7 +7564,7 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
undici-types@7.18.2: {}
undici-types@7.16.0: {}
unified@11.0.5:
dependencies:
@@ -7627,13 +7634,13 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
vite-node@3.0.3(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2):
vite-node@3.0.3(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.6.0
pathe: 2.0.2
vite: 6.0.11(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
vite: 6.0.11(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -7648,22 +7655,22 @@ snapshots:
- tsx
- yaml
vite@6.0.11(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2):
vite@6.0.11(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2):
dependencies:
esbuild: 0.24.2
postcss: 8.5.6
rollup: 4.31.0
optionalDependencies:
'@types/node': 25.3.0
'@types/node': 24.10.13
fsevents: 2.3.3
jiti: 2.6.1
lightningcss: 1.31.1
yaml: 2.8.2
vitest@3.0.3(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2):
vitest@3.0.3(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2):
dependencies:
'@vitest/expect': 3.0.3
'@vitest/mocker': 3.0.3(vite@6.0.11(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))
'@vitest/mocker': 3.0.3(vite@6.0.11(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2))
'@vitest/pretty-format': 3.0.3
'@vitest/runner': 3.0.3
'@vitest/snapshot': 3.0.3
@@ -7672,18 +7679,18 @@ snapshots:
chai: 5.1.2
debug: 4.4.3
expect-type: 1.1.0
magic-string: 0.30.21
magic-string: 0.30.17
pathe: 2.0.2
std-env: 3.8.0
tinybench: 2.9.0
tinyexec: 0.3.2
tinypool: 1.0.2
tinyrainbow: 2.0.0
vite: 6.0.11(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
vite-node: 3.0.3(@types/node@25.3.0)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
vite: 6.0.11(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
vite-node: 3.0.3(@types/node@24.10.13)(jiti@2.6.1)(lightningcss@1.31.1)(yaml@2.8.2)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 25.3.0
'@types/node': 24.10.13
transitivePeerDependencies:
- jiti
- less
+2 -2
View File
@@ -109,7 +109,7 @@ Mine is... extensive.
It covers:
- My health conditions and the specific ways they affect how I work
- My complete medication schedule (morning medications, night medications, weekly injection)
- My complete medication schedule (morning meds, night meds, weekly injection)
- My daily schedule: wake-up time, work hours, breaks, meals, bedtime
- My work context (what each of my roles involves)
- My code standards, project preferences, and tooling
@@ -129,7 +129,7 @@ And none of this was written all at once. The global `CLAUDE.md` started as some
I am on a lot of medication. Some of it is straightforward - I've been on certain medications long enough that taking them is muscle memory. But some of it requires more active management. I give myself a weekly injection as part of my HRT. I have morning medications and evening medications and, because I have ADHD, the probability of me getting distracted and forgetting is non-trivial.
Hikari knows all of this. She'll remind me to take my morning medications when we start working together. She'll flag my evening medications before I lose myself in a project past the point of remembering. On Mondays, she'll check in about my injection.
Hikari knows all of this. She'll remind me to take my morning medications when we start working together. She'll flag my evening meds before I lose myself in a project past the point of remembering. On Mondays, she'll check in about my injection.
This might sound small. It isn't. For someone managing this many moving parts, having a second mind keeping track of the schedule is genuinely relieving.
+1 -1
View File
@@ -112,7 +112,7 @@ Day-to-day, schizophrenia for me mostly means corner-of-the-eye visual hallucina
The ADHD, even medicated, is a constant presence. My executive function is still rubbish. I have calendar notifications set for things like taking a shower and eating meals - not as suggestions, but as genuine reminders I actually need. My sister reminds me to drink water. The external scaffolding I've built around myself isn't optional: it's how I function. Without the ticketing system, the calendar, the reminders, the routines - things don't get done.
I'm still working on finding the right medication cocktail, which is its own ongoing saga. As of right now, my ADHD medications were just adjusted and I am an absolute mess - which is why I took last week off work. My sister helps me enormously. Having that support network matters more than I can express.
I'm still working on finding the right medication cocktail, which is its own ongoing saga. As of right now, my ADHD meds were just adjusted and I am an absolute mess - which is why I took last week off work. My sister helps me enormously. Having that support network matters more than I can express.
Managing mental illness is not a destination. It's not something you solve and then it's done. It's ongoing. It's a constant, sometimes frustrating, always-adjusting process of figuring out what works right now, because what works right now might not be what worked six months ago.