feat(memory): make the diary discoverable on a fresh install - #91
Merged
Merged
Conversation
The diary publishes under `<bucket>/diary/` and nothing on the landing page pointed at it. It is two folders down, and Quartz sorts it into the sidebar between unrelated entries, so a family that never ran the command had no way to learn it exists. The home page now carries a callout above its first section linking the diary's front page. The diary module renders the pointer itself, so its path and its wording stay with the compiler that owns them and the German set comes along. The link appears only once compiled diary pages are on disk. The diary command runs on its own schedule, so a fresh install has a home page before it has a diary, and a landing page that opens on a 404 is worse than one that says nothing. Also drops an em dash from the German diary intro, missed in the earlier pass over that string table.
Two things made the first diary page unhelpful. It was never published. A room with nothing in it returned early, so the page the wiki's diary link points at did not exist, and the one moment a family needs to be told how to record something produced nothing to read. The empty run now publishes the index page, and that page carries a short note: what the Memories room is, that a voice message is written out in full, that opening with the date files the entry on that day, and that a reply adds to a memory later. English and German. It also was not empty. `stack messages setup` posts a welcome into the room when it creates it, and the compiler had no sender filter, so on every fresh install the family's diary opened with the bot's words. Bot accounts are named by convention (localpart ending in `-bot`, defined by MicroBot.is_bot_user) and the compiler now drops them. Both exits now publish through one function, so a full compile and an empty one produce the same frontmatter and splice contract.
stacker-bot was joined to the Server Room only, then asked to send the Memories welcome. Synapse rejects a message from a non-member, and the return value was discarded, so setup reported success and a new family landed in an empty room with nothing saying what it was for. The bot now joins Memories before writing to it, and the outcome is reported as a row in the setup summary like every other step. The test double returned None where the real client returns (ok, detail); it now matches, so the same call path is exercised.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three changes, all about the first time a family meets the diary.
A link from the wiki home page. The diary publishes under
<bucket>/diary/and nothing on the landing page pointed at it. The homepage now carries a callout above its first section.
diary.home_link()renders it, so the path and the wording stay in the module that owns them
and the German set comes along.
A page to land on. An empty room returned early and published nothing,
so the page the link points at did not exist. The empty run now publishes
the index, and it explains the Memories room instead of reporting a count
of zero: that a voice message is written out in full, that opening with the
date files the entry on that day, that a reply adds to a memory later.
Two fixes that gate the above. The compiler had no sender filter, so
the setup welcome would have become diary entry #1 on every fresh install;
it now drops
-botaccounts. And that welcome never landed anyway,because stacker-bot was joined to the Server Room only and
send()doesnot join. The bot now joins Memories first, and the result is reported
instead of discarded.