alpha
Login
or
Join now
jeremy.herve.bzh
/
skypress
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
A calm place to write long-form, and publish it to the open social web.
skypress.blog/
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
skypress
/
src
/
pages
/
at
trunk
1 folder
15 files
Jeremy Herve
Reader: resolve + render embeds on the article page
6d ago
f751758e
[author]
Reader: resolve + render embeds on the article page
6 days ago
404.astro
Reader: resolve + render embeds on the article page
6 days ago
500.astro
Add 500 page for SP12
2 weeks ago
_404.meta.test.ts
Underscore-prefix colocated page tests so Astro ignores them The 404, 500, and [author]/index meta tests lived under src/pages/ without the leading underscore. Astro's file router imports every .ts in src/pages/ during static-path collection, so the prerender server evaluated these files, their top-level 'vitest' import threw outside the runner, and the Cloudflare prerender server 500'd the build. Rename them with a leading underscore (matching the existing [slug] tests) so Astro skips them as routes while vitest's src/**/*.test.ts glob still discovers them. See AGENTS.md constraint #8.
2 weeks ago
_500.meta.test.ts
Underscore-prefix colocated page tests so Astro ignores them The 404, 500, and [author]/index meta tests lived under src/pages/ without the leading underscore. Astro's file router imports every .ts in src/pages/ during static-path collection, so the prerender server evaluated these files, their top-level 'vitest' import threw outside the runner, and the Cloudflare prerender server 500'd the build. Rename them with a leading underscore (matching the existing [slug] tests) so Astro skips them as routes while vitest's src/**/*.test.ts glob still discovers them. See AGENTS.md constraint #8.
2 weeks ago
_client-metadata.test.ts
Return the OAuth round-trip to the page sign-in started on Signing in from /write returned the writer to /editor with an empty editor: atproto only redirects to a registered redirect_uri and, called without one, defaults to client-metadata.json's first entry — which was the lone /editor/. The writing-first draft survived (draft-store persists across the redirect) but the publish-intent resume was orphaned on the wrong page. Register every OAuth-island route and pin the round-trip to the originating page: - OAUTH_REDIRECT_PATHS is the single source of truth (/editor/ first as the safe fallback); client-metadata.json generates redirect_uris from it. - AuthProvider.signIn passes redirect_uri for the current page in hosted mode; loopback (dev) already round-trips per-page, so it passes none. Regression tests cover the redirect helper, the generated metadata, and the signIn wiring.
1 week ago
_index.phase.test.ts
Underscore-prefix colocated tests under src/pages/ so the build prerenders Astro's file router imports every .ts under src/pages/ during static-path collection to find getStaticPaths/endpoint handlers. The colocated *.test.ts guards there ran their top-level `import … from 'vitest'` during that import, which throws outside the vitest runner — surfacing as the Cloudflare prerender server returning 500 ("Vitest failed to access its internal state") and breaking `astro build` / `npm run deploy`. The two .meta.test.ts files added with the recent OG work (7f1cffe, 24b64f5) joined index.phase.test.ts under src/pages/ and tipped the build over. Prefix the three files with `_` so Astro ignores them as routes, while vitest's `src/**/*.test.ts` glob still discovers them. Each test reads its sibling .astro via import.meta.url, so the in-place rename keeps every relative path working and preserves the colocated-test convention. Record the rule as constraint #8 in AGENTS.md so future page tests follow it.
2 weeks ago
_index.stacking.test.ts
Fix account menu dropdown stacking on the home page The signed-in account dropdown (Dashboard/Write/Profile) appeared see-through and was unclickable on mobile. It was not a transparency issue: .masthead, .hero, and .showcase are sibling stacking contexts all at z-index: 2, so the later-in-DOM .hero painted on top of the entire masthead — including the dropdown, whose own z-index: 5 is confined to the masthead's context. The hero text bled over the dropdown and the hero intercepted its taps. Bump .masthead to z-index: 3 so its context (dropdown included) paints above .hero and .showcase. Add a source-level regression test pinning the stacking order.
2 weeks ago
_index.write-cta.test.ts
Remove the home-page sign-in island; the hero is just "Start writing" Drop the HandleStart handle-input CTA and its "Already have an account?" label from the landing hero (and the now-dead handlestart styles). The home page's only action is "Start writing → /write"; signing in happens via Publish on /write, consistent with the rest of the flow. Retire the obsolete _index.handlestart.test.ts CSS guard and update the landing-content guard.
1 week ago
_write.meta.test.ts
Add /write route and writing-first chrome styles
1 week ago
client-metadata.json.ts
Return the OAuth round-trip to the page sign-in started on Signing in from /write returned the writer to /editor with an empty editor: atproto only redirects to a registered redirect_uri and, called without one, defaults to client-metadata.json's first entry — which was the lone /editor/. The writing-first draft survived (draft-store persists across the redirect) but the publish-intent resume was orphaned on the wrong page. Register every OAuth-island route and pin the round-trip to the originating page: - OAUTH_REDIRECT_PATHS is the single source of truth (/editor/ first as the safe fallback); client-metadata.json generates redirect_uris from it. - AuthProvider.signIn passes redirect_uri for the current page in hosted mode; loopback (dev) already round-trips per-page, so it passes none. Regression tests cover the redirect helper, the generated metadata, and the signIn wiring.
1 week ago
dashboard.astro
Merge branch 'provider-logos-in-publications' into trunk
2 weeks ago
editor.astro
Show header + skeleton while the dashboard and editor islands load The dashboard and editor mount browser-only React islands (client:only — auth and the WordPress editor can't render server-side, per Decisions 0001/0003/0004). Until their JS bundle loaded, the slot="fallback" was a bare, left-aligned "Loading…", so the page had no shape and hydration popped the full UI into an empty viewport. Render the durable page chrome in the fallback instead: a logo-only header reusing the global .app-bar classes (matching AppBar's status === 'loading' state, so the swap to the live bar is seamless) plus a content skeleton that mirrors each loaded layout, so hydration doesn't reflow. The header omits nav/identity because auth state isn't known before the island runs. A new shared LoadingScene.astro carries both variants. The fallback is plain server-rendered markup (not inside the island's DOM), so the component's scoped styles reach it. The skeleton shimmer respects prefers-reduced-motion, and the region is marked aria-busy with a visually-hidden "Loading…" label. Drops the now-unused .editor-shell__loading rule.
2 weeks ago
index.astro
Remove the home-page sign-in island; the hero is just "Start writing" Drop the HandleStart handle-input CTA and its "Already have an account?" label from the landing hero (and the now-dead handlestart styles). The home page's only action is "Start writing → /write"; signing in happens via Publish on /write, consistent with the rest of the flow. Retire the obsolete _index.handlestart.test.ts CSS guard and update the landing-content guard.
1 week ago
lexicon.astro
Point both /lexicon CTAs at the writing-first /write
1 week ago
write.astro
Add /write route and writing-first chrome styles
1 week ago