<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cccms/app/views/admin, branch erdgeist-modernize-auth</title>
<subtitle>[no description]</subtitle>
<id>https://erdgeist.org/gitweb/cccms/atom?h=erdgeist-modernize-auth</id>
<link rel='self' href='https://erdgeist.org/gitweb/cccms/atom?h=erdgeist-modernize-auth'/>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/'/>
<updated>2026-07-16T22:42:54Z</updated>
<entry>
<title>Cutover to new Recent Changes widget</title>
<updated>2026-07-16T22:42:54Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-16T22:42:54Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=c810d1aa93a267dd8fcf8984c5d0b125629efa31'/>
<id>urn:sha1:c810d1aa93a267dd8fcf8984c5d0b125629efa31</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make the recent-changes page match the widget it links from</title>
<updated>2026-07-14T23:10:17Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-14T23:10:17Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=28a6999b55cbec555696df848d6e924aae3166ee'/>
<id>urn:sha1:28a6999b55cbec555696df848d6e924aae3166ee</id>
<content type='text'>
nodes/recent rendered the generic node-listing partial (id,
actions, current lock owner, revision number) -- nothing
resembling what 'See all recent changes' actually promised to
show more of. Both surfaces now render the same extracted
partial, so they can't tell two different stories again.

Also: head.editor correctly identifies who last wrote the content
sitting in head, but publish_draft! never touches editor at all
-- nobody has ever had the specific act of publishing recorded
anywhere. 'Published by X' was a claim the data never supported,
only incidentally true when the same person who drafted something
also happened to publish it. Relabeled to 'last edited by' -- same
data, accurately described. A real publish-actor is separate,
future work, once the action log exists.

Basic list styling added for the full page, which had never
rendered outside the widget's own compact five-line context
before.
</content>
</entry>
<entry>
<title>Remove dead admin/_recent_changes partial</title>
<updated>2026-07-14T23:09:52Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-14T23:09:52Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=32987915b21590a096ebd7a5239001c5969f8760'/>
<id>urn:sha1:32987915b21590a096ebd7a5239001c5969f8760</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add tooltips to all navbar items</title>
<updated>2026-07-13T23:40:23Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-13T23:40:23Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=c693069db6ddce4582209a1cf60a564f6947bd56'/>
<id>urn:sha1:c693069db6ddce4582209a1cf60a564f6947bd56</id>
<content type='text'>
</content>
</entry>
<entry>
<title>UI cleanup pass: search overlay position, remaining table forms</title>
<updated>2026-07-12T22:41:36Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-12T22:41:36Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=4faf0da3a36bfdcf354b095a2cf5b297ca09af65'/>
<id>urn:sha1:4faf0da3a36bfdcf354b095a2cf5b297ca09af65</id>
<content type='text'>
The search overlay was positioned against the whole viewport
(left: 50%, transform: translateX(-50%)) because it sat outside
wider text nav it used to center under. Moved inside #navigation,
which already has its own positioning context, so it now anchors to
the icon nav itself instead of the page center.

admin/search_results.html.erb was a bare, unstyled &lt;ul&gt; concatenating
title and unique_name into one string by hand. Restyled to match the
byline convention already used everywhere else (title_for_node, a
separate link_to_path byline with the trailing arrow), and results
now link to the node's admin show page rather than straight to edit,
matching every other node list in the app instead of being the one
exception.

menu_items#new and sessions#new (the login page) were the last two
views still using the pre-node_content/node_description table-based
label/field layout -- found via a grep for the old td.description
marker, not guessed at. Converting menu_items#new surfaced a real,
separate gap: its input fields have never had a width rule, since the
existing 690px rule only applies to a few specifically-named field
IDs or anything inside #page_editor, neither of which applies here.
Same likely gap probably exists on other simple CRUD forms
(users/events/assets/occurrences/pages) -- not fixed here, flagged for
its own pass rather than guessed at blind.

nodes#new's Create button was pushed to the far right of the page by
one stray class (node_content right) no sibling create form carries --
not a family-wide inconsistency, one extra class in one file.
</content>
</entry>
<entry>
<title>Rebuild the admin dashboard: icon nav, search, signposts, widgets</title>
<updated>2026-07-12T21:42:43Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-12T21:42:43Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=b271648f89cba7cafafa1b73b1658b1c1bc0e4b0'/>
<id>urn:sha1:b271648f89cba7cafafa1b73b1658b1c1bc0e4b0</id>
<content type='text'>
Replaces the old admin#index wizard -- accreted over years, never
designed as a whole -- with the dashboard settled on this session:
a three-icon nav (dashboard/search/log out, no locale selector), a
nodes-first search bar, four task signposts, and two symmetric
widgets (drafts/autosaves, recent changes) with a quiet housekeeping
row beneath them.

Node.recently_changed now filters and orders by the head page's own
updated_at instead of the node's blanket timestamp, so a lock/unlock
cycle with no actual publish no longer surfaces here, and the
original publisher is no longer misattributed to someone else's
housekeeping action. This also restores the "published" qualifier on
each entry, which the query previously couldn't guarantee was true.

@mynodes and its dedicated "My Work" table are retired along with the
old wizard -- "Continue my work" is a link to the existing, already-
correct NodesController#mine instead of a second, duplicate query.
Its one dedicated test (dedup across multiple revisions by the same
user) is ported to nodes_controller_test.rb, since mine already
carries the same .distinct protection the old query did; it just had
no test of its own until now.
</content>
</entry>
<entry>
<title>Add head/draft/autosave layer comparison at three UI entry points</title>
<updated>2026-07-10T00:03:19Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-10T00:03:19Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=205e6216fc7850fe717122c189e5003d1f9e8afe'/>
<id>urn:sha1:205e6216fc7850fe717122c189e5003d1f9e8afe</id>
<content type='text'>
Node#resolve_page_reference and #available_layer_pairs let
Page#diff_against compare named layers (head/draft/autosave), not
just numbered revisions -- autosave was never part of Node#pages, so
this was the missing piece.

Wired into nodes#show's Status section, nodes#edit right after an
autosave gets resurrected ("What changed?"), and the admin wizard's
current-drafts table, which now also lists autosave-only nodes it
previously never showed.

revisions#diff hides the numbered-revision picker when comparing
named layers (it can't represent them), shows a plain label instead,
and offers buttons to switch between whichever other pairs make
sense for the node's current state. Destroying the topmost layer is
available directly from the diff view, reusing the existing revert!
path.

"Discard changes" is renamed "Discard Autosave" everywhere it
appears, to match "Destroy Draft".
</content>
</entry>
<entry>
<title>Remove subnavigation after the last consumer has gone</title>
<updated>2026-07-09T18:13:49Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-09T18:13:49Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=edb7f16ea65328c30e5be758a069337ade6a95ba'/>
<id>urn:sha1:edb7f16ea65328c30e5be758a069337ade6a95ba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix subheadings in admin wizard view</title>
<updated>2026-07-07T19:47:10Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-07T19:47:10Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=75d8308202b1621e8b481ac57f340224ec9077ea'/>
<id>urn:sha1:75d8308202b1621e8b481ac57f340224ec9077ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Adopt button pills in views</title>
<updated>2026-07-07T19:43:21Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-07T19:43:21Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=42f81016be8c55322e0dbb2c20b08812d5d2228b'/>
<id>urn:sha1:42f81016be8c55322e0dbb2c20b08812d5d2228b</id>
<content type='text'>
</content>
</entry>
</feed>
