| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-07-30 | Localise model validation messages and refusal reasons | erdgeist | |
| 2026-07-30 | Fixup favicon, iconv.svg and apple-touch-icon | erdgeist | |
| 2026-07-30 | Use icon sets on the public page and add a public-site shortcut in admin realm | erdgeist | |
| 2026-07-30 | Retire the unroutable scaffold views | erdgeist | |
| Nine generator leftovers for actions that either do not exist or never render HTML. menu_items/show goes with its route and its action, since deleting the template alone would turn a dead page into a missing-template error; pages_controller has only #preview, so its four CRUD views were unreachable by any route; and nodes#update redirects on every path. | |||
| 2026-07-30 | Canonicalise per locale and declare hreflang alternates | erdgeist | |
| German content is reachable at both /updates/foo and /de/updates/foo, and a page with no English translation renders German at /en/updates/foo through the fallback chain, so three URLs each claimed to be canonical. Both tags now derive from one locale-to-URL function, which points every duplicate at the address of the version actually served, the unprefixed German URL, matching default_url_options. Alternates are declared only for locales in which the page genuinely has a translation, since /en/ serving German through the fallback is not an English version of the page. x-default points at German, the site's primary language. | |||
| 2026-07-30 | Bring some tags forward to 2026 and provide humanized asset name | erdgeist | |
| 2026-07-30 | Emit per-page Open Graph metadata | erdgeist | |
| Replaces one hardcoded German description and an unrenderable SVG with per-page title, description, canonical URL, locale and publication date, plus the card variant or a site-wide default. | |||
| 2026-07-30 | Generate a 1200x630 social card variant for every asset | erdgeist | |
| 2026-07-29 | Don't display file icon in headline card, it's superflous | erdgeist | |
| 2026-07-28 | add partial for menu_item titles in both locales | erdgeist | |
| 2026-07-28 | Let editors manage menu titles in both locales | erdgeist | |
| 2026-07-27 | Permit editors to touch menu_items' title | erdgeist | |
| 2026-07-27 | Fix locale dependent param compare | erdgeist | |
| 2026-07-27 | Pin the two translation editors as well | erdgeist | |
| 2026-07-27 | Pin admin content reads to the default locale | erdgeist | |
| 2026-07-27 | Surface held locks in the dashboard's work-in-progress widget | erdgeist | |
| A lock with no draft or autosave behind it was invisible to everyone including its holder, until the next editor collided with it. work_in_progress now admits those nodes, and the widget names the holder rather than the last editor on any locked row. Also flips the ordering to stalest-first, so a backlog reads as a queue rather than a feed, and gives the heading a real total: the count came from the already-limited relation and could never exceed five. | |||
| 2026-07-27 | Retire orphaned drafts partial and their translations | erdgeist | |
| 2026-07-27 | Consolidate all main nav items in a single partial | erdgeist | |
| 2026-07-27 | Let Globalize decide what locale to display for a page translation | erdgeist | |
| 2026-07-27 | Move switchers out of the user check, so it also works when logged out | erdgeist | |
| 2026-07-26 | Fix redundant link_to in assets#show | erdgeist | |
| 2026-07-26 | Fix redundant link_to in assets#new | erdgeist | |
| 2026-07-26 | Fix login view so the user knows where they are logging in to | erdgeist | |
| 2026-07-26 | More visual cleanups for input fields | erdgeist | |
| 2026-07-25 | Give our layouts proper language meta and viewports | erdgeist | |
| 2026-07-25 | Extract public-site strings to i18n | erdgeist | |
| The public views were never part of the admin extraction and were broken in both directions: German visitors got "Featured", "Calendar" and "Tags", English visitors got "Suchergebnisse für Suchbegriff:". Also picks up the unlock-confirm message in link_helper, a straggler from the revisions/menu_items batch, and drops two raw() calls in the application layout in favour of link_to blocks. | |||
| 2026-07-25 | Extract admin strings to i18n: revisions, page_translations, and menu items, | erdgeist | |
| 2026-07-25 | Retire the unroutable occurrences scaffolding | erdgeist | |
| 2026-07-25 | Extract admin strings to i18n: dashboard, layout chrome, and the JS bridge | erdgeist | |
| 2026-07-25 | Extract admin strings to i18n Fix straggler from batch 1 | erdgeist | |
| 2026-07-25 | Extract admin strings to i18n: assets and events clusters | erdgeist | |
| 2026-07-25 | Extract flashes to i18n and stop dispatching on submit labels | erdgeist | |
| 2026-07-25 | Extract admin strings to i18n: users and tags clusters | erdgeist | |
| 2026-07-25 | Extract admin strings to i18n: the nodes cluster | erdgeist | |
| 2026-07-24 | Extract admin strings to i18n: sessions, otp, users/edit | erdgeist | |
| 2026-07-24 | Rename layout classes to what they actually do | erdgeist | |
| 2026-07-24 | Give all sessions a uniform absolute lifetime of one week | erdgeist | |
| Enforced at restore via a login-time stamp, written only at genuine logins so the limit stays absolute rather than sliding. The cookie name rotation logs everyone out once at deploy. Second-factor users are deliberately not treated worse than password-only ones. | |||
| 2026-07-24 | Render the otp verbs properly in the action log | erdgeist | |
| 2026-07-24 | Polish the OTP flows: autocomplete tokens, button dialect, QR sizing, my-account link | erdgeist | |
| 2026-07-24 | Complete the login only after the second factor | erdgeist | |
| Enrolled users get a pending marker instead of a session after the password step; a valid code through the challenge writes the real session via reset_session. otp_required without enrollment funnels into setup everywhere except the enrollment, user, and login machinery. | |||
| 2026-07-24 | Add self-service TOTP enrollment UI and witnessed admin reset | erdgeist | |
| 2026-07-24 | Add TOTP enrollment and verification to User, witnessed in the action log | erdgeist | |
| 2026-07-24 | Prevent the more … link from line breaking | erdgeist | |
| 2026-07-24 | Reduce visual clutter: remove time from article partials | erdgeist | |
| 2026-07-23 | More tiny visual cleanups | erdgeist | |
| 2026-07-23 | articles partials now render the thumb of their headline media in the list | erdgeist | |
| 2026-07-23 | Restyle pdf headline cards | erdgeist | |
| 2026-07-23 | Force tags to be lowercase. A script unifies existing tags in both cases | erdgeist | |
| 2026-07-23 | Turn the asset upload forms into file drop targets | erdgeist | |
| Dropped files land in the existing file input and submit through the unchanged form. An empty name field is prefilled from the basename. | |||
| 2026-07-23 | Zoom the action log on assets | erdgeist | |
| Asset names in summaries and publish deltas link to assets#show with an inline Chronik beside each, suppressed inside that asset's own zoom, per the node convention. assets#show gains a history button. Also renames the details summary (no longer only translations) and moves View Diff onto its own line. | |||
