selahdocs

What we’ve shipped

Every change to Selah, newest first, written for the people who use it rather than the people who built it. Last shipped .

May 29, 2026

v0.24.0New

Your prayer board speaks the same status language as everything else.

Added

  • Your prayer board speaks the same status language as everything else.

    Prayers now use the one shared status system — the four columns (Active, Waiting, Ongoing, Answered) are those statuses, and the prayer panel gets the same status pill and picker you already see on notes. Marking a prayer answered from Telegram or the companion now lands it in your Stream the way doing it on the board always has.

Changed

  • Every page lines up.

    Notes, Library, Stream, Search, Settings, the companion, and onboarding now share one set of width rules, so the main column is the same comfortable reading width everywhere instead of cramped on some pages and sprawling on others. Loading screens match the real page padding, so content stops jumping when it arrives.

  • Status and folder sit on one row.

    On a note, the folder now sits beside the status instead of stacked below it. The list/grid view toggle is the same control across spaces, and your choice sticks.

Fixed

  • Changing a note's status sticks now.

    Setting a note to Exploring or Resolved used to quietly snap back to Active on reload; it saves for real.

  • Highlighting on iPad uses the bottom sheet

    — the touch-friendly highlight panel shows up on tablets, not just phones.

  • Reader polish on tablets

    — the sidebar footer stays pinned, the reading-plan catch-up box fits inside the dock, and the word-study badge is easier to tap.

  • Notes keep your chosen view on mobile

    — pick the list view and mobile stays a compact list instead of forcing the grid.

May 28, 2026

v0.23.0 → v0.23.1New

One status system across Selah.

Added

  • One status system across Selah.

    Notes, sessions, and prayers now share the same status: the same pill, the same dropdown, the same colors. The dropdown groups statuses by what they mean — Active, Done, Archived — so it reads the same everywhere.

  • Make your own statuses, per surface.

    Add a custom status (name, color, category) and it shows up only where it belongs — a note status won't clutter your prayer board, and vice versa.

Changed

  • Captures stop pretending to have a status.

    A capture is a quick thought on its way to becoming something. Instead of a status dot, a promoted capture now shows where it went — "→ Note", "→ Prayer", or "→ Session".

  • Deleting a custom status keeps your items where they are.

    If you delete a status you made, anything using it moves to the matching built-in status (a "done" item stays done) instead of silently reopening.

Fixed

  • Creating a status from a note no longer closes the menu.

    Clicking "New status" used to make the whole dropdown vanish; the form now opens in place.

  • Status pills are no longer clipped

    at the top of the note header.

  • The note editor no longer crashes on load

    in some cases (a rendering-timing fix shared with the scratchpad editor).

May 27, 2026

v0.22.6

Past weekly reflection cards now show the right companion session count.

Fixed

  • Past weekly reflection cards now show the right companion session count.

    Cards from weeks before the 0.22.5 update were showing "0 companion sessions" even when you had sessions that week. The count is now correct for all past weeks.

May 26, 2026

v0.22.5

You can turn the Saturday weekly reflection off.

Added

  • You can turn the Saturday weekly reflection off.

    Settings → Notifications has a new toggle for the Saturday-evening "Weekly reflection" digest. On by default for everyone. Flip it off and the digest stops landing in your stream; flip it back on whenever.

  • The weekly arc card now spells out the week.

    Under the headline, a single quiet line: "3 captures · 2 notes · 1 prayer · 4 companion sessions." Just the primitives that had activity this week — zeros hide. Replaces the broad "reflections" framing with the specific shape of what you actually did.

Changed

  • Disabling the digest takes effect across surfaces without a refresh.

    Same pattern as the daily-devotional toggle — flipping the setting broadcasts to every mounted surface so the stream, the menu, and any future digest affordances update in lockstep.

May 25, 2026

v0.22.3 → v0.22.4

Plan cards in the stream now update the second you mark a day read.

Fixed

  • Plan cards in the stream now update the second you mark a day read.

    Tap a plan day in the reader (or the drawer footer, or the day band), and the card in the stream switches to "✓ read" without a refresh. Before, the stream sat on stale state until you reloaded.

  • The "Today's reading" band hides itself when you mark the day read from anywhere else.

    Mark it in the reader, switch back to the stream — the band is gone. No more nag for a day you already finished.

  • Folder counts in the folder picker stay current.

    Move a note to a folder somewhere else in the app, then open the folder picker — the folder list reflects the move. Same for the prayer board (which also refreshes when you switch tabs back).

  • Telegram catches up on missed reading-plan days.

    If you skipped yesterday, this morning's message is for yesterday's day, not today's. The cron now walks the backlog before falling back to today. You stop silently losing days from Telegram.

  • Marking a plan day read from the daily devotional drawer updates the rest of the stream.

    Before, the devotional drawer's mark-read button worked but didn't tell any other surface, so cards stayed stale until reload.

  • "Send a daily message" delivers again when devotional is off.

    v0.22.2 decoupled the two settings on the page so toggling daily-scripture wouldn't silently re-enable devotional. But the morning cron still required both to be on, so the daily-scripture toggle wasn't actually delivering for anyone who had turned devotional off independently. The cron now respects the daily-scripture toggle on its own.

  • Enabling daily-scripture now also populates a default delivery hour.

    Before, you could toggle "Send a daily message" on without ever setting a delivery hour, and the cron would skip you silently. Now the toggle sets 7 AM local + auto-detects your timezone if either is unset, so the message actually arrives the next morning.

  • Re-anchor is no longer "Coming soon."

    The placeholder is gone. The pill is the action.

  • The homepage stopped 500ing after Brief 4 captures shipped (Sentry SELAH-SENTRY-1Y).

    A leftover prayers.tags column reference was throwing undefined_column on every page load because dev Neon had dropped the column out of band weeks earlier. The schema now matches reality, and the orphan prayer_tags table is gone too.

  • Prayer category writes stop racing each other.

    Two rapid taps on a prayer's status used to dispatch two opposite requests, and the loser would overwrite the winner. Mutations now go through one path with a stable cache key.

Added

  • Highlight a phrase in BSB, read it in WEB.

    Phrase highlights now follow you across translations. The matching tokens light up in the translation you switch to. When the auto-match isn't confident, you see the whole verse marked with a gold "adjusted" pill so you know the system isn't sure.

  • Multi-verse phrase highlights align verse by verse.

    A highlight that spans two verses gets aligned per-verse against the target translation. If verse 16 matches cleanly and verse 17 falls back, you see the precise phrase in 16 and the whole verse in 17 — not the whole highlight collapsing to fallback.

  • Re-anchor highlights when the auto-match is wrong.

    Click the gold "adjusted" pill on a phrase highlight, the active verse stays bright while siblings dim, you select the words you actually meant and hit Save. One click in, native text selection, no modal.

  • Universal status across notes, captures, and prayers.

    Four defaults everyone gets — Active, Exploring, On hold, Resolved — plus your own custom statuses through a single picker. Same color palette, same behavior, same place on every surface.

  • Notes and captures can live in more than one folder.

    A note about Romans 8 can sit in both Sermons and Romans without you picking one. Folder chips show in the note header with × to remove and + Folder to add another.

  • Note types became folders you can rename and merge.

    Threads, Insights, Teaching, Devotional — your old categories are now folders. A one-time banner explains the change; existing notes are auto-filed by their type.

  • Filter the Notes index by status, folder, or both.

    Two filter strips above the list: pick a status, pick folders, get the intersection.

  • Capture cards show status + folder chips in the Stream feed and reader dock.

    A glance at a capture card tells you its status and which folders it lives in.

May 23, 2026

v0.22.0 → v0.22.2New

Telegram prayer nudges stop inventing dates.

Fixed

  • Disabling "Daily devotional" actually hides devotional UI now.

    Toggling the setting off was only stopping the morning delivery; the stream still showed the "Sit with scripture" CTA, the "+ New" menu still listed Start devotional, the Devotionals filter chip stayed on the stream, and the settings page still showed this week's theme. All of those now disappear when you turn devotional off.

  • The toggle stops being silently flipped back on.

    Two unrelated flows were re-enabling devotional without telling you: toggling "Send a daily message" in settings, and revisiting the reading-plan picker. Both stop doing that. If you turn devotional off, it stays off until you turn it on yourself.

  • Re-enabling devotional updates the stream and menu instantly.

    No reload needed. Turn it back on in settings and the band, chip, and menu item all reappear.

  • Stuck on `?filter=devotionals` after disabling? Fixed.

    The URL now bounces back to All when the Devotionals chip disappears, so you can't get parked on an unreachable filter.

  • Settings page reads as intentionally quiet when disabled.

    When the toggle is off, the page shows the preview card plus a one-line "Re-enable to see your week's theme." instead of looking half-empty.

  • Telegram prayer nudges stop inventing dates.

    A prayer you added today no longer comes back as "this has been sitting since last month" or "you mentioned this a while ago." The AI now has the actual dates — added, last edited, last prayed — and only references them when the math is real.

  • The AI stops double-nudging prayers on a schedule.

    If you set daily, weekly, or monthly reminders on a prayer, only the scheduled digest sends them. The AI no longer picks the same prayer for a side nudge a few hours after the digest fires.

  • "Still carrying" nudges stop firing on fresh prayers.

    A prayer you added today isn't forgotten. That phrasing now requires either no prayer session in 7+ days, or a prayer added 7+ days ago that you've never opened.

Changed

  • The AI sees the body of your prayer, not just the title.

    Titles are usually three words; the actual context lives in the description. Nudges land with more specifics now — what the prayer is really about, not just a guess from the title.

  • Folder and favorite status reach the AI.

    A nudge about a Family prayer can sound different from a Career prayer. Starred prayers can be picked first.

  • Pray-through history reaches the AI.

    "When did I last pray this?" is now a real signal — not "when did I add it?" A prayer you wrestled with yesterday is not forgotten.

May 22, 2026

v0.21.0New

Organize prayers into folders.

Added

  • Organize prayers into folders.

    The prayer board now groups by folder as well as by status — a toggle above the board switches between them. Drag a prayer between folders, or make a new folder right from the board. Folders are shared with the Library, so a prayer you file shows up in both places.

  • Tell the companion to file prayers and set reminders.

    On Telegram you can now say "put these prayers in my Clients folder" or "remind me weekly about this one" and the companion does it.

Changed

  • Folders replace tags on the prayer board.

    Folders are the one way to organize a prayer now. Your existing tags carry over — each becomes a folder of the same name.

  • The activity heatmap moved to the Stats tab.

    Log is now just your session history. Stats holds the streak cards, the 52-week heatmap, and your rhythm — your prayer numbers in one place.

  • Each status column has a one-line explainer.

    Tap the question mark on Active, Waiting, Ongoing, or Answered to see what belongs there.

May 21, 2026

v0.19.0 → v0.20.0New

Privacy mode on the prayer board.

Added

  • Privacy mode on the prayer board.

    Tap the eye in the top bar and every prayer title, description, update, and session note blurs — so you can show the board on a shared screen without showing what you're carrying.

  • Edit and delete prayer updates.

    Fix a wording slip in an update, or remove one entirely, from the prayer's drawer.

  • A nudge to connect Telegram for reminders.

    Set a reminder on a prayer when Telegram isn't linked and the drawer now tells you reminders arrive on Telegram, with a link to connect it — so a reminder you set actually reaches you.

  • Prayer on Telegram.

    Start a prayer session from the Telegram bot — say "start prayer", pray, then "done" — and it lands in your web Prayer Timer log, stats, and streak, exactly like a session run on the site. Stop more than an hour after you started and the bot asks roughly how long you prayed instead of trusting a stale clock.

  • The bot understands prayer in plain language.

    Send "praying for the elders meeting" and it finds that prayer on your board and holds it with you. If it's something new, it adds it. No menus to tap through.

  • Per-prayer reminders.

    Every prayer on the board can carry a reminder — Off, Daily, Weekly, or Monthly — set from its drawer on the web. When reminders come due, the bot sends one message listing them; reply with a number, or just name the ones you want, and it starts a prayer session across them.

  • Mark a prayer answered from Telegram.

    Tap Mark answered, tell the bot how God met you in it, and the prayer moves to your answered prayers with the testimony saved.

  • A weekly prayer recap.

    Once a week the bot notes how many times you prayed, across how many prayers, and how many were answered.

Changed

  • The prayer card is just the title now.

    Folder, tags, and the stage buttons came off the card. At rest you see the prayer; hover and Pray, Favourite, and Delete appear along the bottom.

  • Folder and tags moved into the prayer's drawer.

    Open a prayer to set its folder or tags. The card stays clean, and the drawer now has a folder control beside its tags.

  • New tags all share one color

    instead of getting a random one. The five built-in tags keep their own colors.

  • The Answered column sits at the far right

    of the board, after Ongoing.

  • The prayer board uses the full width

    of the page.

  • Scripture references in the Telegram daily message are tappable.

    The day's passage and every cross-reference open straight to that passage in the Selah reader, and read as "Proverbs 21" rather than a code.

  • Prayer nudges are actionable.

    The bot's prayer reminders now carry Pray now and Mark answered buttons — one tap instead of a message you can't do anything with.

  • The Telegram prayer board

    is a numbered list you answer by typing: open one prayer, or start praying for several at once.

  • A prayer session started on Telegram shows up on the web.

    The prayer pill sees it, tells you it's running on Telegram, and lets you continue it on the web or end it from there.

Fixed

  • A malformed link into the reader

    — a bad note or passage id in the URL — now returns a clean not-found instead of an error page.

  • Choosing a translation Selah doesn't carry no longer breaks your daily reading.

    If you picked ESV or NASB at sign-up, the devotional errored out instead of showing anything. It now falls back to a translation that's available, and still remembers the one you'd prefer.

  • The Prayer Timer's Log and Stats tabs no longer overlap.
  • "Proverbs, Story & Gospel" now reads Proverbs by the calendar date.

    On the 21st of the month you read Proverbs 21, whatever day of the plan you're on. It used to start at Proverbs 1 and count up regardless of the date. The Old Testament story and New Testament readings still move in order.

  • The daily Telegram message no longer dumps a whole chapter into the chat.

    When the day's reading is long, the message carries just the reference; a short passage of a verse or two still comes through in full.

May 20, 2026

v0.18.2

The "building your plan" screen is honest now.

Changed

  • The "building your plan" screen is honest now.

    While a custom reading plan is generating, the wait screen used to show a sample list of days that looked like your finished plan but was the same every time. It now shows just the build steps; your real plan appears on the next screen.