Skip to content

release: 0.5.237 — files in rooms, file acts, moderation under the item menu - #270

Merged
emooreatx merged 3 commits into
mainfrom
release/0.5.237
Oct 31, 2026
Merged

emooreatx merged 3 commits into
mainfrom
release/0.5.237

Conversation

@emooreatx

@emooreatx emooreatx commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Asked for by the steward: a client that supports files in rooms and the moderation actions under the CEG item menu, honest about what the server does today (ciris-server 0.5.242). This is one release candidate, so CI and the gate run once.

What it adds

  • Files in rooms: a Files panel in every chat room, pair or N-member. It lists exactly that room's drive, with add, open and custody (CSD-091, CSD-110).
  • The author's file acts: rename, move (to Just me or another room) and withdraw, refused to anyone else by id (CSD-007).
  • Moderation under the item menu:
    • On someone else's message or a room file, Moderate / Flag the author opens the Moderation forms pre-filled with the room and the author key.
    • A new Flag card calls POST /v1/safety/flag (CSD-065).
    • These are unavailable unless the viewer holds moderate in the room.
    • A flag is recorded and hides nothing yet. No reader honours flags before 0.5.243.
  • Shown unavailable, with blockers: file takedown by legal basis (CIRISPersist#1160) and reporting to moderators (CIRISServer#665). Chat attachments aren't offered: they wait on 0.5.243's accepts_attachments gate.
  • Localization:
    • 32 new strings;
    • the 13 ids ciris-server 0.5.242 emits without an en.json entry (chat revision refusals, owner requests);
    • all in 29 languages.
  • Cards brought up to date: CSD-007, CSD-065, CSD-091, CSD-107 and CSD-110. Stale "not called" and "missing by design" statements are replaced, and every tag cited exists in code.

Checks

  • packaging/gates.sh: every release gate passed.
  • check_localization_sync --strict against ciris-server v0.5.242: passed.
  • RoomFilesAndModerationTest (5): red when the room is ignored.
  • :shared:desktopTest 1856/0, Android compiles, pytest testing/ 741 passed.

Five-platform run, without the AI legs (per the steward, to save the OpenRouter budget): 41144774294 on 02d06e5, server v0.5.242.

success one server version for every leg
success linux desktop + android emulator
success macos desktop + ios simulator
success windows desktop
skipped windows desktop, with AI
skipped ios simulator, with AI
skipped linux desktop, with AI
success screenshot gallery

The head 20189be changes only compat/matrix.json, so the row says the AI legs were skipped and CIRISAgent 2.17.0 wasn't exercised. The client tree is byte-identical to the gated commit.

🤖 Generated with Claude Code

https://claude.ai/code/session_019ZeGbVvLGSbRHPJQJA1dao

emooreatx and others added 2 commits October 30, 2026 16:40
Asked for by the steward: a client that supports files in rooms and the
moderation actions under the CEG item menu, honest about what the server
does today (ciris-server 0.5.242).

- Rooms: a Files panel in every chat room, pair or N-member —
  FilesViewModel's room mode lists exactly that room
  (cohort=community&room_id) and adds into it.
- File acts: rename, move (to Just me or another room) and withdraw,
  author only, refusals by id; on the Files screen and in a room.
- Moderation: on someone else's message or a room file, "Moderate the
  author" and "Flag the author" open the Moderation forms prefilled with
  the room and the AUTHOR key (moderation acts on keys); a new Flag card
  calls POST /v1/safety/flag. Unavailable ("only a moderator of this
  room") unless the viewer holds `moderate` there: the node's
  viewer_duties when sent (0.5.243), else the viewer's own author_duties.
  A flag is recorded and hides nothing yet, and the card says so.
- Shown unavailable with their blockers: a file takedown by legal basis
  (CIRISPersist#1160), reporting to the room's moderators
  (CIRISServer#665). Chat attachments are not offered (0.5.243).
- Receipt acts and ExtraOps carry an `unavailable` reason; receipt acts
  wrap.
- 32 new strings, and the 13 ids ciris-server 0.5.242 emits without an
  en.json entry (chat revision refusals, owner requests), in all 29
  languages (draft / machine_reviewed).

Cards brought up to date with the code:
- CSD-007: the receipt's acts in §2; the stale "rename / move / withdraw:
  live, not called" rows merged into the called ones.
- CSD-091: §2 now covers History and revisions (viewer_ops), the room's
  files and the moderation items; the "shown and disabled, needs the
  author's own signature" field and the "missing by design" row are
  replaced; custody is released; attachments wait on the
  accepts_attachments gate.
- CSD-065: §2.4 the Flag card and moderation from an item's menu; the
  flag is "recorded only"; moderating another member's file "does not
  work yet".
- CSD-107: the room's files panel as an entry; custody is released.
- CSD-110: what a room opened from here carries.

RoomFilesAndModerationTest (5; red when the room is ignored).
desktopTest 1856/0; Android compiles; pytest testing/ 741 passed; every
CSD check, and every tag the cards cite exists in code;
check_localization_sync --strict vs ciris-server v0.5.242 passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ZeGbVvLGSbRHPJQJA1dao
Files in rooms, the author's file acts, and moderation under the item
menu (with the cards brought up to date), plus the 13 server-emitted ids
ciris-server 0.5.242 shipped without an en.json entry.

VERSION, the ciris-client-wasm pin, and the compat/matrix.json row
(node_max_tested 0.5.242, agent_min_tested 2.17.0, locale keys 5837).
packaging/gates.sh: every release gate passed; string parity also checked
against ciris-server v0.5.242: passed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ZeGbVvLGSbRHPJQJA1dao
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-30T21:42:21.284072Z
We couldn’t complete this review. Comment @codex review to try again.
02d06e5 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Run 41144774294 skipped the with-AI legs, so CIRISAgent 2.17.0 was not
exercised by this release's gate; the row now says so. The client tree is
byte-identical to the gated commit 02d06e5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ZeGbVvLGSbRHPJQJA1dao
@emooreatx
emooreatx merged commit 9c5d26e into main Oct 31, 2026
6 checks passed

This branch was successfully deployed

1 active deployment
pypi — 20189be5 Deployed Oct 31, 2026 by emooreatx via publish to pypi #64
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant