| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 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-30 | Remove dangling page references from the node fixtures | 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 | Increase tap target in main nav | erdgeist | |
| 2026-07-27 | Consolidate all main nav items in a single partial | erdgeist | |
| 2026-07-27 | Move nav_switcher locale keys to layouts | 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 | Give the admin stylesheet a dark mode | 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 minor flips in color names | erdgeist | |
| 2026-07-26 | Name every colour in the admin stylesheet | 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-26 | Admin layout goes mobile first. Fixing some width issues on the way | erdgeist | |
| 2026-07-26 | Fix: font size compensation for missing viewport is not needed anymore | 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 | Keep a linter handy, but disable by default, its deps list is enormous | erdgeist | |
| 2026-07-24 | Add linter prefs to identify untranslated strings | erdgeist | |
| 2026-07-24 | Add a pseudo-locale tripwire for the i18n extraction | 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 | Remove restful_authentication's forget_me relic | erdgeist | |
| 2026-07-24 | Add TOTP enrollment and verification to User, witnessed in the action log | erdgeist | |
