-
28b0ef6766
Word Search select: put Today's theme in a standout accent card
thejayman77
2026-06-11 09:23:11 -04:00
-
52a8bc5326
Word Search mobile: focused viewport, theme placement, unique-per-size words
thejayman77
2026-06-11 09:15:06 -04:00
-
1dda91fd96
Play: app-safe in-app Back + canonicalize shareable URLs (Codex audit)
thejayman77
2026-06-11 08:57:12 -04:00
-
d6015dd44e
Play: make Back step through the game screens (URL-driven views)
thejayman77
2026-06-11 08:50:48 -04:00
-
dc2e382dea
Daily Word: bring back the tall, prominent Backspace/Enter keys
thejayman77
2026-06-11 08:44:48 -04:00
-
924f885400
Daily Word controls: matched SVG icons + row-aligned Backspace/Enter
thejayman77
2026-06-11 08:42:08 -04:00
-
dbf8ab6085
Daily Word: enlarge the ↵ Enter glyph to match the ⌫ backspace
thejayman77
2026-06-11 08:37:42 -04:00
-
15fe2d1ae5
Daily Word keyboard: QWERTY, slim ↵ controls, floated up & centered
thejayman77
2026-06-11 08:34:14 -04:00
-
ac418591a8
Daily Word: keyboard fills full width + kill the last overflow/scrollbar
thejayman77
2026-06-11 08:20:50 -04:00
-
35c5dc0c74
Daily Word: give the keyboard + board some JUICE
thejayman77
2026-06-11 07:55:44 -04:00
-
abfbcabad0
Daily Word keyboard: maxed-out game layout + no-overflow board
thejayman77
2026-06-11 07:43:39 -04:00
-
067e77ed5a
Daily Word mobile: true viewport + flat warm keyboard + height-aware tiles
thejayman77
2026-06-11 07:27:39 -04:00
-
bd2a477570
Stability: cache-control at origin + non-hanging startup
thejayman77
2026-06-10 22:13:21 -04:00
-
a52226ce61
Play: Game-Selection step + mobile sticky on-brand keyboard
thejayman77
2026-06-10 21:58:44 -04:00
-
98441fae15
Extract + unit-test the padding-aware cell geometry (Codex nice-to-have)
thejayman77
2026-06-10 21:43:28 -04:00
-
b909b7e64b
Word Search bug-fixes + Codex polish
thejayman77
2026-06-10 21:09:33 -04:00
-
9f7eb11155
Word Search polish: constant cell size, 28-word themes, per-size variety, palette
thejayman77
2026-06-10 20:57:44 -04:00
-
f43f645d69
Games batch: neutral words/themes, Word Search sizes + per-word colours
thejayman77
2026-06-10 20:32:53 -04:00
-
33d5d55c33
Word Search: extract pure selection/match logic + pin with vitest
thejayman77
2026-06-10 20:23:13 -04:00
-
90cd0291a3
Play hub Phase 2: Word Search (LLM theme/words, code places the grid)
thejayman77
2026-06-10 20:15:19 -04:00
-
1bc9925e40
Daily Word: server-adjudicate guesses (answer no longer in the response)
thejayman77
2026-06-10 18:48:47 -04:00
-
bccf03fb77
Fix Daily Word stuck on "Loading…" (infinite reload loop)
thejayman77
2026-06-10 18:44:31 -04:00
-
a7fb8e5739
Daily Word: grow the hopeful answer pool + lock it with a validation test
thejayman77
2026-06-10 17:34:44 -04:00
-
215a5c4d64
Play hub + Daily Word game (Phase 1 of the games feature)
thejayman77
2026-06-10 16:06:20 -04:00
-
d0fb153e46
"Since you last visited" cue + PWA install (add to home screen)
thejayman77
2026-06-09 20:38:12 -04:00
-
008364e922
Why-it-belongs: top-up requires all three fields (idempotency fix)
thejayman77
2026-06-09 20:10:27 -04:00
-
337dc3f901
Article pages: structured "Why it belongs" editorial read
thejayman77
2026-06-09 20:05:26 -04:00
-
9befbffd94
Deploy: smoke-check the digest masthead asset (logo-email.png)
thejayman77
2026-06-09 19:39:15 -04:00
-
1efe0a76eb
Digest: darker section rule before 'From what you follow'
thejayman77
2026-06-09 19:37:33 -04:00
-
2feccedcc7
Digest: more space below the 'From what you follow' heading
thejayman77
2026-06-09 19:34:52 -04:00
-
71f140e8d0
Digest: restore azure on the enlarged 'From what you follow' heading
thejayman77
2026-06-09 19:32:41 -04:00
-
c042b947a2
Digest: enlarge 'From what you follow' heading to a proper section size
thejayman77
2026-06-09 19:23:55 -04:00
-
a7d72f2f84
Digest v2: restrained "From what you follow" section
thejayman77
2026-06-09 19:17:17 -04:00
-
35725e15dc
Following lane: don't bounce out of it when editing lanes
thejayman77
2026-06-09 19:10:58 -04:00
-
d8e246b4ff
Follow source/topic — account-backed personalization (v1)
thejayman77
2026-06-09 17:34:46 -04:00
-
69ed202c4e
Digest masthead: use the real logo as a hosted PNG
thejayman77
2026-06-09 17:24:43 -04:00
-
798f08b256
Digest masthead: two-tone tight-tracked 'upbeat bytes' wordmark
thejayman77
2026-06-09 17:15:31 -04:00
-
bd253b4a9c
Digest email: lowercase 'upbeat bytes' masthead + intro spacing/divider
thejayman77
2026-06-09 17:03:56 -04:00
-
7da14bd4fd
Digest email: 'Daily Highlights' masthead + warm intro, point back to the site
thejayman77
2026-06-09 16:55:17 -04:00
-
0199e5108c
Digest CTA: clear pending opt-in if sign-in is cancelled
thejayman77
2026-06-09 16:46:25 -04:00
-
1956d7fd23
Digest polish: honest on-site wording, one-tap opt-in after sign-in, List-Unsubscribe
thejayman77
2026-06-09 16:35:05 -04:00
-
cf5cbb33c0
Daily digest (opt-in) + finite "you're caught up" ending
thejayman77
2026-06-09 16:17:46 -04:00
-
5d36e6b639
Cards: tighter media on phones (single-column)
thejayman77
2026-06-09 15:55:14 -04:00
-
ee00d8e89b
Sources: "Check source" read-only spot-check action
thejayman77
2026-06-09 15:11:08 -04:00
-
eacf91225a
Sources table: Media column (image coverage % + paywall marker)
thejayman77
2026-06-09 14:58:19 -04:00
-
9ba9851f6d
Feedback reply: Reply-To header routes reader replies to our inbox
thejayman77
2026-06-09 13:24:34 -04:00
-
6bfee767d0
CSV export: defuse formula injection in cells
thejayman77
2026-06-09 13:14:59 -04:00
-
1cd7f1d89a
Admin CSV export (sources snapshot + audience time-series)
thejayman77
2026-06-09 13:05:09 -04:00
-
26014297f4
Attention: long rate-limit item scans active sources only
thejayman77
2026-06-09 12:09:17 -04:00
-
d2e2b303ac
Attention strip: richer source-health items (stale/reject/dup/thin/rate-limit)
thejayman77
2026-06-09 11:50:17 -04:00
-
01de5a3ef0
source_health: next_due_at = later of streak-backoff and retry_after_at
thejayman77
2026-06-09 11:45:54 -04:00
-
38abc26ddd
Honor Retry-After on HTTP 429 (polite rest, not a failure)
thejayman77
2026-06-09 10:47:40 -04:00
-
373571b476
Candidate UI: sync local state from server-returned candidate
thejayman77
2026-06-09 10:39:32 -04:00
-
1a8d1b3bf1
Promote-candidate UI: add-a-source pipeline in the admin console
thejayman77
2026-06-09 10:28:00 -04:00
-
35aaeece6d
Fix status/active mirror drift in upsert_sources (pre Promote-candidate)
thejayman77
2026-06-09 10:12:26 -04:00
-
9ed817c051
Source Retire lifecycle (Phase 1: status + content_visible, active mirrored)
thejayman77
2026-06-09 09:58:15 -04:00
-
ba92c0a04b
Reply sanitizer: cap raw input, auto-close open tags (no severed HTML)
thejayman77
2026-06-09 09:22:41 -04:00
-
a5cea7cd74
Feedback reply: admin-only WYSIWYG editor (server stays the adult)
thejayman77
2026-06-09 09:10:57 -04:00
-
9deca522b4
Sources: accepted-duplicate % (curation-quality signal)
thejayman77
2026-06-08 15:47:51 -04:00
-
0f8d5b555a
Feedback reply: light Markdown formatting (bold / bullets / heading)
thejayman77
2026-06-08 15:27:46 -04:00
-
fd4cd2ac9c
Admin: inline flag-reason popover (replaces prompt())
thejayman77
2026-06-08 15:16:46 -04:00
-
245b415163
Feedback reply: release DB connection before SMTP send
thejayman77
2026-06-08 14:58:19 -04:00
-
84fd61bf3f
In-site feedback reply (plain-text v1)
thejayman77
2026-06-08 14:23:56 -04:00
-
8cce3a2165
Admin: analytics date-range toggle (7d / 30d / 90d)
thejayman77
2026-06-08 14:14:47 -04:00
-
84bc5b0267
Source management console: pause/resume, flag/clear, decision metrics
thejayman77
2026-06-08 14:04:40 -04:00
-
f90324c5a6
Feedback admin: check rowcount before commit (tidy 404 path)
thejayman77
2026-06-08 13:52:19 -04:00
-
18707a50d2
Feedback admin: 404 on missing id for read/delete
thejayman77
2026-06-08 13:45:14 -04:00
-
ecaca35977
Feedback inbox: read/unread + delete
thejayman77
2026-06-08 13:33:24 -04:00
-
13722f04a8
Admin polish: section fallback, live-scoped coverage, dual source status
thejayman77
2026-06-08 13:19:15 -04:00
-
575f562ad5
Admin: tabbed operator console (Overview/Content/Sources/Audience/Feedback)
thejayman77
2026-06-08 13:03:23 -04:00
-
489c34d2f2
Nav Back: track popstate delta so back-then-forward keeps accurate depth
thejayman77
2026-06-08 09:15:43 -04:00
-
eb91a2f856
Nav hardening: app-safe deep-link Back + stale-load guard on Today
thejayman77
2026-06-08 09:11:24 -04:00
-
dc245ab6ea
Unify navigation: URL-backed views, one shared history
thejayman77
2026-06-08 09:05:57 -04:00
-
a8175db63e
Back button: move inline-right; show on deep-linked source views; clean ?source
thejayman77
2026-06-08 08:47:30 -04:00
-
8c52582ae3
In-feed Back button + clickable source on the article page
thejayman77
2026-06-08 08:38:44 -04:00
-
38889f76e5
Source feeds: click a source to see its publication feed
thejayman77
2026-06-08 08:30:33 -04:00
-
50dc2167cd
Durable image quality: stop trusting feed thumbnails; cycle enriches Latest
thejayman77
2026-06-07 15:55:57 -04:00
-
b134c2dab6
Image quality gate: reject too-small images (no more blurry thumbnails)
thejayman77
2026-06-07 15:40:04 -04:00
-
8b44e559e4
Images Phase 3+4: roll tile treatment to Latest, topic/tag feeds, Saved
thejayman77
2026-06-07 15:25:34 -04:00
-
224a95d64a
Placeholder: settle on the clean flat word
thejayman77
2026-06-07 15:23:20 -04:00
-
b9168b56ea
Placeholder: revert drop-cap; add soft orb+ring graphic motif
thejayman77
2026-06-07 15:21:17 -04:00
-
6435840966
Placeholder initial: bold uppercase drop-cap, larger
thejayman77
2026-06-07 15:16:29 -04:00
-
86a6bd3b45
Card + article-page polish
thejayman77
2026-06-07 15:05:32 -04:00
-
101ebb33c2
Remove now-dead .why CSS selectors
thejayman77
2026-06-07 14:00:52 -04:00
-
e41fcf6cea
Brief cards: drop "why" for more summary; flat placeholder, darker word
thejayman77
2026-06-07 13:59:53 -04:00
-
d472b63cbf
Validate images actually load (fix overcounted coverage)
thejayman77
2026-06-07 13:20:12 -04:00
-
d19099ee7d
Images Phase 2: uniform brief tiles — photo or topic-colored placeholder
thejayman77
2026-06-07 13:13:18 -04:00
-
403749e26f
Images phase 1: attention-triggered og:image coverage
thejayman77
2026-06-07 12:30:11 -04:00
-
9813af40ed
Classifier: don't over-score cortisol for abstract/distant science
thejayman77
2026-06-07 12:06:18 -04:00
-
e7610d2889
Classifier: reject body-horror / disease-threat; anxiety outweighs informative
thejayman77
2026-06-07 11:42:17 -04:00
-
c64d0fda09
Article Back button: bolder SVG arrow, vertically centered
thejayman77
2026-06-06 21:56:40 -04:00
-
67d6b82ed3
Article page: add a Back button in the top bar
thejayman77
2026-06-06 21:52:43 -04:00
-
c25e14ed6a
Add a permanent "Latest" lane beside "Highlights"
thejayman77
2026-06-06 15:56:48 -04:00
-
d87347b032
Dashboard: content + source-health; per-viewer local dates
thejayman77
2026-06-06 19:34:22 +00:00
-
452e5a3fe4
Hardening pass: scheduler backoff, FK cascade, a11y, test safety net
thejayman77
2026-06-06 19:18:18 +00:00
-
978edc8f4a
Mirror lane picker into the Account page
thejayman77
2026-06-06 18:26:38 +00:00
-
722bcf6317
Customizable nav lanes: pin moods / topics / discovery tags
thejayman77
2026-06-06 18:19:58 +00:00
-
8653a46fd4
Classifier: explicit "no AI dread" boundary
thejayman77
2026-06-06 14:07:31 +00:00
-
a36b1a098e
Retune classifier gate: calm/non-anxiety, absorbing-allowed
thejayman77
2026-06-06 02:03:24 +00:00
-
ea58039fb9
SEO flywheel: /today digest, sitemap, robots, home OG tags
thejayman77
2026-06-05 19:37:05 +00:00