|
|
|
@1720482
|
3 months |
roboburr |
feat(search): tracks searchable + prefix-matching for posts
- Posts: …
main
|
|
|
|
@6d882b1
|
3 months |
roboburr |
feat(account): email address editable
Profile form gets an email …
main
|
|
|
|
@36afccd
|
3 months |
roboburr |
fix(auth): "Sign in with Google" text readable on hover
The white …
main
|
|
|
|
@6fcd0cf
|
3 months |
roboburr |
fix(account): "Link Google account" button text readable (white text)
…
main
|
|
|
|
@3ca24f9
|
3 months |
roboburr |
ui(admin-google): clearer redirect URI instruction
Redirect URI shown …
main
|
|
|
|
@3fb8390
|
3 months |
roboburr |
ui(auth): center subtitle text on login page
Co-Authored-By: Claude …
main
|
|
|
|
@77b6fca
|
3 months |
roboburr |
ui(auth): clickable "Administrator?" box on public login → /auth/admin …
main
|
|
|
|
@254872f
|
3 months |
roboburr |
ui(editor): hide "drag image / select text" hint on touch
Not …
main
|
|
|
|
@b988c96
|
3 months |
roboburr |
fix(editor): Done button only in fullscreen (specificity) + larger
…
main
|
|
|
|
@43fea32
|
3 months |
roboburr |
ui(editor): larger "Done" button in fullscreen
Co-Authored-By: Claude …
main
|
|
|
|
@9163b15
|
3 months |
roboburr |
ui(editor): simple inline content layout on touch (toolbar hidden)
…
main
|
|
|
|
@b12e20d
|
3 months |
roboburr |
feat(editor): edit content as a fullscreen "page" with back button + …
main
|
|
|
|
@c1a4147
|
3 months |
roboburr |
fix(editor): scroll lock removed — edit page could no longer scroll
…
main
|
|
|
|
@a623e7e
|
3 months |
roboburr |
ui(editor): tap-to-edit pill sticky at the bottom instead of centred
…
main
|
|
|
|
@a4f6827
|
3 months |
roboburr |
fix(editor): exit fullscreen scrolls to content top + clearer tap hint …
main
|
|
|
|
@61bb585
|
3 months |
roboburr |
feat(editor): content not typeable inline on touch — editing = …
main
|
|
|
|
@de21a3b
|
3 months |
roboburr |
fix(editor): no double scrollbar in fullscreen
In fullscreen only the …
main
|
|
|
|
@e22230e
|
3 months |
roboburr |
fix(editor): remove 350ms scroll guard + always type fullscreen on …
main
|
|
|
|
@f3f43df
|
3 months |
roboburr |
ui: text fields grow with content instead of scrolling internally (no …
main
|
|
|
|
@c01f471
|
3 months |
roboburr |
feat(editor): always type fullscreen on mobile/tablet (touch)
On …
main
|
|
|
|
@7d81265
|
3 months |
roboburr |
fix(editor): toolbar sticky inside the scroll box on mobile
The frame …
main
|
|
|
|
@859bace0
|
3 months |
roboburr |
fix(editor): mobile writing field as bounded box with internal scroll
…
main
|
|
|
|
@2d596cf
|
3 months |
roboburr |
fix(editor): catch async caret scroll on mobile Chrome (empty caret + …
main
|
|
|
|
@f8e8f9e
|
3 months |
roboburr |
fix(editor): more robust anti-jump on formatting (Chrome)
keepScroll …
main
|
|
|
|
@cbfbf88
|
3 months |
roboburr |
fix(editor): no view jump on formatting button — hold scroll position
…
main
|
|
|
|
@5f7dba2
|
3 months |
roboburr |
fix(editor): action bar correctly above keyboard (no mid-screen bug)
…
main
|
|
|
|
@408afc1
|
3 months |
roboburr |
fix(editor): Save/Cancel bar above the keyboard on mobile
The …
main
|
|
|
|
@4ad669a
|
3 months |
roboburr |
ui(admin): label the Google button in Admin simply "Google"
…
main
|
|
|
|
@a0bff44
|
3 months |
roboburr |
fix(editor): no autofocus on title on mobile (no keyboard popup)
…
main
|
|
|
|
@06f3791
|
3 months |
roboburr |
fix(editor): toolbar stays in view in fullscreen on mobile (visual …
main
|
|
|
|
@d2078f4
|
3 months |
roboburr |
feat(editor): full-screen writing mode
Button in the editor toolbar …
main
|
|
|
|
@16ce669
|
3 months |
roboburr |
ui(editor): clear active/inactive state for formatting on mobile
…
main
|
|
|
|
@a7e8e19
|
3 months |
roboburr |
fix(editor): mobile — formatting buttons no longer steal focus (toggle …
main
|
|
|
|
@f83ccf3
|
3 months |
roboburr |
ui(fan-gate): post-nav cascade-identiek aan de post (.container + …
main
|
|
|
|
@09ecc5f
|
3 months |
roboburr |
ui(admin): Google login on its own Admin page
- New page …
main
|
|
|
|
@f33b24a
|
3 months |
roboburr |
ui(fan-gate): post-nav pixel-perfect match with the regular post
The …
main
|
|
|
|
@247988e
|
3 months |
roboburr |
feat(auth): admin can link Google and use it to log in
- Account → …
main
|
|
|
|
@535f955
|
3 months |
roboburr |
feat: post likes + favourites page for logged-in users
- New …
main
|
|
|
|
@1e2e9e7
|
3 months |
roboburr |
ui(fan-gate): show Newer/Older post navigation on the fan gate too
…
main
|
|
|
|
@f4b7b6a
|
3 months |
roboburr |
feat(auth): public login = Google only; admin login hidden at …
main
|
|
|
|
@5c27e8e
|
3 months |
roboburr |
ui(post): consistent Newer/Older navigation on every post
When a …
main
|
|
|
|
@90259da
|
3 months |
roboburr |
feat: release tracking — version in footer links to /changelog
- …
main
|
|
|
|
@323abb0
|
3 months |
roboburr |
ui(settings): mode config below Mode card + fix radio regression
- …
main
|
|
|
|
@0804d61
|
3 months |
roboburr |
ui: settings forms cleaner — stacked labels + full-width inputs
Bare …
main
|
|
|
|
@a474bd2
|
3 months |
roboburr |
ui: comment moderation "Recent decisions" as cards instead of a flat …
main
|
|
|
|
@da6fd02
|
3 months |
roboburr |
newsletter: optional sign-up in the footer (toggle in Admin → …
main
|
|
|
|
@7eb35ae
|
3 months |
roboburr |
editor: note that the excerpt is also the Circles summary
…
main
|
|
|
|
@ca507ef
|
3 months |
roboburr |
feat: SMTP configurable via Admin → Settings (app_settings, env …
main
|
|
|
|
@13b2986
|
3 months |
roboburr |
EPK: Music section = top 10 most played (instead of first 6 in order)
…
main
|
|
|
|
@3b6e04a
|
3 months |
roboburr |
404: proper, mobile-friendly page instead of bare text
Catch-all now …
main
|
|
|
|
@b919a67
|
3 months |
roboburr |
auth: all Google login errors as clear explanation blocks (codes …
main
|
|
|
|
@70679063
|
3 months |
roboburr |
fix: download toggle without page reload + clear explanation page on …
main
|
|
|
|
@e9cfa3c
|
3 months |
roboburr |
fix: stats chart overflowed the card at 90 days
90 day columns + all …
main
|
|
|
|
@8d32dcf
|
3 months |
roboburr |
Show agenda + notify-me (premium feature #8) — last of the 8
- DB: …
main
|
|
|
|
@b9dc94c
|
3 months |
roboburr |
Release scheduling + fan-only previews (premium feature #3)
- DB: …
main
|
|
|
|
@6be57b4
|
3 months |
roboburr |
Embeddable player (premium feature #7)
Standalone /embed page (no …
main
|
|
|
|
@1794fac
|
3 months |
roboburr |
Pro stats (premium feature #5): referrers + period selector + all-time …
main
|
|
|
|
@37edecd
|
3 months |
roboburr |
Link-in-bio + click stats (premium feature #6)
Linktree-style page …
main
|
|
|
|
@91094a4
|
3 months |
roboburr |
Download-for-email (premium feature #2)
Fan leaves their email -> …
main
|
|
|
|
@2e247e4
|
3 months |
roboburr |
Newsletter / mailing list (premium feature #1) + SMTP wiring
Email …
main
|
|
|
|
@255e3d3
|
3 months |
roboburr |
EPK / press kit (premium feature #4): shareable /pers press page per …
main
|
|
|
|
@91d948c
|
3 months |
roboburr |
Editor: blockquote button is now a real toggle (turning it off works)
…
main
|
|
|
|
@fbc8628
|
3 months |
roboburr |
Audio upload: WAV up to 100 MB (other formats remain 50 MB)
WAV is …
main
|
|
|
|
@03af7f8
|
3 months |
roboburr |
SEO page: own style block (label-per-row, clean fields)
The …
main
|
|
|
|
@6623453
|
3 months |
roboburr |
Admin: dedicated SEO page (/admin/seo) for advanced SEO
The <head> …
main
|
|
|
|
@5c261b7
|
3 months |
roboburr |
Circle feed: "je" → "mijn" + standalone "Add sites via Admin" sentence …
main
|
|
|
|
@8e29f77
|
3 months |
roboburr |
Post: less blank space above the nav (.post-page margin-top 2rem → …
main
|
|
|
|
@74544fb
|
3 months |
roboburr |
New sites: require login to comment on by default + post nav at top
- …
main
|
|
|
|
@fee35fa
|
3 months |
roboburr |
Hub settings: hero preview properly full-width (object-fit cover …
main
|
|
|
|
@86793f9
|
3 months |
roboburr |
Hub: "give this user a Klonkt" from the users page
In hub mode each …
main
|
|
|
|
@f735304
|
3 months |
roboburr |
Hub: /sites/:slug → 301 to canonical /user/:slug (single URL scheme)
…
main
|
|
|
|
@7881080
|
3 months |
roboburr |
Hub #3: explicit is_primary flag + shared getPrimarySite() (DRY)
The …
main
|
|
|
|
@98ecf51
|
3 months |
roboburr |
Hub #1+#2: site admin permissions work + assign owner to another user
…
main
|
|
|
|
@c50f22e
|
3 months |
roboburr |
Google login card: collapsible step-by-step setup guide
Self-hosters …
main
|
|
|
|
@dd80030
|
3 months |
roboburr |
Prutter inbox: also hide site footer (same as the chat)
…
main
|
|
|
|
@8f6a61d
|
3 months |
roboburr |
Prutter composer: clear after send + Enter behaviour + auto-grow
- …
main
|
|
|
|
@9611f31
|
3 months |
roboburr |
Prutter chat: hide site footer (was showing through the fixed chat)
…
main
|
|
|
|
@d3e2987
|
3 months |
roboburr |
Post editor: Save bar above the audio player instead of below it
The …
main
|
|
|
|
@2beef82
|
3 months |
roboburr |
Post-editor: hide site tab bar in the editor (focus screen)
On narrow …
main
|
|
|
|
@ca253750
|
3 months |
roboburr |
Post-editor: action bar no longer floats on desktop
…
main
|
|
|
|
@edc462d
|
3 months |
roboburr |
Post-editor: default status Published (new posts) + friendlier pin …
main
|
|
|
|
@3068cc0
|
3 months |
roboburr |
Slug field as URL: dimmed host prefix + slug in accent colour
The …
main
|
|
|
|
@cbd1761
|
3 months |
roboburr |
Hub-home: hero connects directly to the topnav (no gap) + dead hub-nav …
main
|
|
|
|
@79bba6e
|
3 months |
roboburr |
Audio never jumps + hub topnav + Prutter chat mobile-first
- Global …
main
|
|
|
|
@44cf44d
|
3 months |
roboburr |
Audio: Admin/Account navigation via htmx (player stays alive, no …
main
|
|
|
|
@03bfdce
|
3 months |
roboburr |
Hub: always render chrome + CSS toggle (body.on-hub) → hub nav via …
main
|
|
|
|
@2248cd2
|
3 months |
roboburr |
Google login configurable in-app: Admin → Settings card (no .env …
main
|
|
|
|
@221a209
|
3 months |
roboburr |
Circle: carry over + display tags from the original post
Publisher …
main
|
|
|
|
@62b899d
|
3 months |
roboburr |
Circle: strip shortcodes from summary + "Sync all now" button
…
main
|
|
|
|
@1be21ba
|
3 months |
roboburr |
Account: owner can edit site name + tagline in account settings
New …
main
|
|
|
|
@029f047
|
3 months |
roboburr |
Phase 2: Hub mode behind premium gate (premiumUnlocked)
Switching to …
main
|
|
|
|
@d549549
|
3 months |
roboburr |
Statistics module (Phase 3): cookie-free tracking + premium stats page …
main
|
|
|
|
@3f893bf
|
3 months |
roboburr |
Circle header: >5 sites = count only (pill), no chips; <=5 = chips
…
main
|
|
|
|
@04a6b15
|
3 months |
roboburr |
Circle header scalable: max 6 chips + "+N more" pill + total count
…
main
|
|
|
|
@8ea3d0d
|
3 months |
roboburr |
Defaults: new sites grid + moderate; Circle page graphical header
(A) …
main
|
|
|
|
@c974223
|
3 months |
roboburr |
Archive: always timeline list, ignores grid choice (fix: grid→archive …
main
|
|
|
|
@d15b27f
|
3 months |
roboburr |
Archive: Timeline/Grid greyed on archive + back button (+ English …
main
|
|
|
|
@544cd86
|
3 months |
roboburr |
Appearance: full page translated to English (consistent with the rest …
main
|
|
|
|
@2c246d4
|
3 months |
roboburr |
Appearance: remove dead profile_name/bio write + Prutter toggle only …
main
|
|
|
|
@8aa85d0
|
3 months |
roboburr |
Prutter = premium Hub feature: Hub-only + behind premium gate
Prutter …
main
|
|
|
|