Screenshots
About this app
Roomipedia is "the free room encyclopedia": a wiki with the look of Wikipedia that the whole room reads and edits together. Pages have links and backlinks, red links for pages that do not exist yet, full revision history with restore, search, and Wikipedia's edit flow — edit the source, write a summary, publish, and get an "edit conflict" screen if someone changed the same lines meanwhile. It works at phone width in the Marcade Player and in Element's side panel.
All content comes from the room: pages and redirects from room state,
pictures from your homeserver's media repo. The widget bundle is code only
and fetches nothing. A room admin can fill a new room with 200 funny,
interlinked articles from Wikipedia's "Unusual articles" list using the
seeding script in the source repo (text under
CC BY-SA 4.0, attributed
and linked on every page). Importing any other article from Wikipedia is
opt-in per browser and only happens on an explicit click; that request to
*.wikipedia.org is the widget's only network access. Roomipedia is not
affiliated with Wikipedia or the Wikimedia Foundation.
Each page is a Yjs CRDT document synced through
the room itself: incremental edits travel as timeline events
(de.minagawa.roomipedia.update), and a chunked snapshot in room state
(de.minagawa.roomipedia.page) is the source of truth, so new members load
every page and its history. There is no server beyond your homeserver and
this static bundle.
Room state is not encrypted, even in an encrypted room. The timeline edits are end-to-end encrypted by your client, but the page snapshots — and with them every page's text and history — sit in cleartext on the homeserver and federate in cleartext. The widget shows a permanent notice in encrypted rooms. There are no per-page permissions: anyone in the room who may send these events can rewrite or delete any page (history keeps the old revisions). Room power levels are the only access control. Don't put secrets in the wiki.
Add to a room
Paste this into any room you may configure — Element and most clients understand /addwidget:
/addwidget https://marcade.store/apps/de.minagawa.roomipedia/0.1.1/
A new room is an empty wiki. Create the first page, or seed the room with 200 starter articles: node --experimental-strip-types scripts/seed-room.ts (see the README).
Rooms should pin the versioned URL above. https://marcade.store/apps/de.minagawa.roomipedia/latest/ always points at the newest release.
Name and icon in Element
/addwidget can carry only the URL: Element lists the app as “Custom” without an icon. Add the Marcade Store once per room and it gives every Marcade app pasted in there its name and icon, and tells you when an update is out.
/addwidget https://marcade.store/apps/de.minagawa.marcade-store/0.1.4/
Permissions
Capabilities this widget may request. The Marcade Player asks for your consent before granting any of them.
- Requires running inside a Matrix client
io.element.requires_client - Send room events of type “de.minagawa.roomipedia.update”
org.matrix.msc2762.send.event:de.minagawa.roomipedia.update - Read room events of type “de.minagawa.roomipedia.update”
org.matrix.msc2762.receive.event:de.minagawa.roomipedia.update - Send room state events of type “de.minagawa.roomipedia.page”
org.matrix.msc2762.send.state_event:de.minagawa.roomipedia.page - Read room state events of type “de.minagawa.roomipedia.page”
org.matrix.msc2762.receive.state_event:de.minagawa.roomipedia.page - Read room state events of type “de.minagawa.roomipedia.redirects”
org.matrix.msc2762.receive.state_event:de.minagawa.roomipedia.redirects - Read room state events of type “m.room.encryption”
org.matrix.msc2762.receive.state_event:m.room.encryption - Download files and media through the client (e.g. images, avatars)
org.matrix.msc4039.download_file
What's new in 0.1.1
Room-only data: pages, redirects and pictures now come from the room and its media repo, nothing is bundled or fetched. A seeding script fills a room with the 200 starter articles. Wikipedia import is opt-in per browser. Fixes "Unable to access room timeline" in Element (edits now reach the room).
Information
- Version
- 0.1.1
- Section
- Community — Built by Marcade CI from a pinned commit; the capability list has been audited.
- License
- AGPL-3.0-or-later
- Author
- Yan Minagawa
- Source code
- https://code.fe80.eu/dtn10/roomipedia
- Issue tracker
- https://code.fe80.eu/dtn10/roomipedia/-/issues
- State event types
de.minagawa.roomipedia.page,de.minagawa.roomipedia.redirects- Encrypted rooms
- Not declared
- Widget ID
de.minagawa.roomipedia