Nothing was wrong with the share — the calendar had nowhere to be shown. Calendars loaded from one account and one only, so the sharer's were reachable solely by switching the whole app to their account, which is the door being closed below.
They now sit under Shared with me beside your own, in their own colour, with their events in the grid and a click to hide them like any other calendar.
Their events go through instancesIn, the one funnel every view already reads, so month, week, day and agenda got them without being touched. Events and calendars from another account are keyed by account as well as id, and hiding one is remembered under the same key — an id means nothing outside the account holding it, and two accounts sharing an id is ordinary rather than unlucky.
An account that shared nothing was listed in Files
Every non-personal account was offered, on the reasoning that its folders could speak for themselves. But an account whose calendar was shared has no folders to speak with, and turned up as an invitation to open an empty pane. Each is now asked for one file before being listed, and silence is taken for an answer.
The account switcher is gone
It existed to reach what other people shared, and it was the wrong door: it moved the whole app to someone else's account, and since Stalwart advertises every capability on a shared account, mail, calendar and contacts went with it and were refused. Everything it was for now lives in the module the share belongs to, found without anyone needing to know an account was involved.
Verified
Against the mock, which grew a shared calendar with two events: it appears under Shared with me in its own colour, Grace: release planning shows in the week grid, clicking the calendar hides and restores it, and the reader's own events are unaffected. The profile menu is now identity, Settings, Refresh, Sign out.
328 web and 77 server tests pass. npm run typecheck clean.
What this does not prove
That Stalwart delivers a calendar share at all. The mock shows the client handles one, which is the half that was missing. Whether the server behaves like address books, which work, or like mail folders, which don't, needs the two accounts again — and if it turns out to be the latter, that's a KNOWN-ISSUES entry rather than a client fix.
Three things from using it on two real accounts.
### A shared calendar never appeared
Nothing was wrong with the share — the calendar had nowhere to be shown. Calendars loaded from one account and one only, so the sharer's were reachable solely by switching the whole app to their account, which is the door being closed below.
They now sit under **Shared with me** beside your own, in their own colour, with their events in the grid and a click to hide them like any other calendar.
Their events go through `instancesIn`, the one funnel every view already reads, so month, week, day and agenda got them without being touched. Events and calendars from another account are keyed by account as well as id, and hiding one is remembered under the same key — an id means nothing outside the account holding it, and two accounts sharing an id is ordinary rather than unlucky.
### An account that shared nothing was listed in Files
Every non-personal account was offered, on the reasoning that its folders could speak for themselves. But an account whose *calendar* was shared has no folders to speak with, and turned up as an invitation to open an empty pane. Each is now asked for one file before being listed, and silence is taken for an answer.
### The account switcher is gone
It existed to reach what other people shared, and it was the wrong door: it moved the whole app to someone else's account, and since Stalwart advertises every capability on a shared account, mail, calendar and contacts went with it and were refused. Everything it was for now lives in the module the share belongs to, found without anyone needing to know an account was involved.
### Verified
Against the mock, which grew a shared calendar with two events: it appears under Shared with me in its own colour, `Grace: release planning` shows in the week grid, clicking the calendar hides and restores it, and the reader's own events are unaffected. The profile menu is now identity, Settings, Refresh, Sign out.
328 web and 77 server tests pass. `npm run typecheck` clean.
### What this does not prove
That Stalwart **delivers** a calendar share at all. The mock shows the client handles one, which is the half that was missing. Whether the server behaves like address books, which work, or like mail folders, which don't, needs the two accounts again — and if it turns out to be the latter, that's a KNOWN-ISSUES entry rather than a client fix.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
**Merged** 2026-08-27 as coffey-labs/ihasmail@8d55652587ac
<sub>Rebuilt from: git history, session transcript.</sub>
This repo is archived. You cannot comment on issues.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Three things from using it on two real accounts.
A shared calendar never appeared
Nothing was wrong with the share — the calendar had nowhere to be shown. Calendars loaded from one account and one only, so the sharer's were reachable solely by switching the whole app to their account, which is the door being closed below.
They now sit under Shared with me beside your own, in their own colour, with their events in the grid and a click to hide them like any other calendar.
Their events go through
instancesIn, the one funnel every view already reads, so month, week, day and agenda got them without being touched. Events and calendars from another account are keyed by account as well as id, and hiding one is remembered under the same key — an id means nothing outside the account holding it, and two accounts sharing an id is ordinary rather than unlucky.An account that shared nothing was listed in Files
Every non-personal account was offered, on the reasoning that its folders could speak for themselves. But an account whose calendar was shared has no folders to speak with, and turned up as an invitation to open an empty pane. Each is now asked for one file before being listed, and silence is taken for an answer.
The account switcher is gone
It existed to reach what other people shared, and it was the wrong door: it moved the whole app to someone else's account, and since Stalwart advertises every capability on a shared account, mail, calendar and contacts went with it and were refused. Everything it was for now lives in the module the share belongs to, found without anyone needing to know an account was involved.
Verified
Against the mock, which grew a shared calendar with two events: it appears under Shared with me in its own colour,
Grace: release planningshows in the week grid, clicking the calendar hides and restores it, and the reader's own events are unaffected. The profile menu is now identity, Settings, Refresh, Sign out.328 web and 77 server tests pass.
npm run typecheckclean.What this does not prove
That Stalwart delivers a calendar share at all. The mock shows the client handles one, which is the half that was missing. Whether the server behaves like address books, which work, or like mail folders, which don't, needs the two accounts again — and if it turns out to be the latter, that's a KNOWN-ISSUES entry rather than a client fix.
🤖 Generated with Claude Code
Merged 2026-08-27 as coffey-labs/ihasmail@8d55652587
Rebuilt from: git history, session transcript.