| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-07-30 | Promote article title from h2 to h1 and fix css accordingly | erdgeist | |
| 2026-07-30 | Provide link cells for the i18n matrix | erdgeist | |
| 2026-07-30 | Provide the full i18n matrix for public/admin-preview/shared-preview urls | erdgeist | |
| 2026-07-30 | Replaces the grey slab and filled-box handle with the house card idiom, | erdgeist | |
| a tabler grip and icon-only edit and delete actions. Shows each item's non-default translations muted below the title, read from the translation rows rather than the accessor so the fallback chain cannot disguise a missing label as a translated one. Adds move up/down buttons via acts_as_list, the single-pointer alternative WCAG 2.5.7 requires: the jQuery UI sortable binds mouse events only, so dragging works neither on touch nor from the keyboard. The grip is hidden below the desktop breakpoint for the same reason. The sort handler dropped dataType: "json" against a head :ok response, which sent every success down the error path, and now reloads so the disabled chevron states match the stored order after a drag. | |||
| 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-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 | 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 | 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 | 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 | 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. | |||
| 2026-07-22 | Add attached nodes subsection in assets#show and thumbnail in nodes#create | erdgeist | |
| 2026-07-22 | Make nodes#show's add event/child buttons look consistent | erdgeist | |
| 2026-07-22 | Implement controller and view side of the attach logic | erdgeist | |
| 2026-07-22 | factor out flash rendering from layouts/admin | erdgeist | |
| 2026-07-22 | Split nodes#edit into a four-quadrant layout on desktop | erdgeist | |
| 2026-07-22 | Retire nodes#recent, superseded by the action log | erdgeist | |
