Commit Graph

44 Commits

Author SHA1 Message Date
Dome b5bc8075f0 Preparation for First standalone Release as Advanced Community Bot 2026-04-12 00:22:57 +02:00
Dome edd3eee178 feat: native matrix URI pills for {user}/{room} + major rendering & codebase refactor
This change introduces native `matrix:` URI-based rendering for `{user}` and `{room}` placeholders,
replacing previous plaintext and matrix.to-based links. Users and rooms are now rendered as clickable
pills in supporting clients, with a clean display using display names and room names (no @/# prefixes).

Reporting, moderation, and auto-redaction messages have been updated to use the same rendering logic.
Inspect and event links now also use native `matrix:` URIs for direct in-client navigation.

Internally, URI generation and rendering logic have been unified via central helper functions,
ensuring consistent handling of user IDs, room IDs, aliases, and event IDs.

This commit also includes a broader refactor of the codebase:
- decomposed complex flows (e.g. join handling) into smaller helpers
- moved mutable class-level state to instance-level
- reduced duplicate API calls and redundant logic
- improved overall structure and maintainability

Test coverage has been extended for URI helpers and rendering logic to prevent regressions.

No breaking changes to existing template parameters like `{user_link}` or `{room_link}`.
2026-04-11 20:21:33 +02:00
Dome b2541c4054 feat: add configurable matrix permalink base, unify user placeholders, and refactor notification rendering
feat: add configurable matrix permalink base, unify user placeholders, and refactor notification rendering
2026-04-10 23:55:17 +02:00
Dome 5a72306691 Update maubot.yaml 2026-04-09 23:08:51 +02:00
Dome 898aac2d54 Update maubot.yaml 2026-04-09 20:28:35 +02:00
Dome 20fa8aa401 Update maubot.yaml 2026-04-09 09:49:18 +02:00
Dome ebcc300b3f Update maubot.yaml 2026-04-09 09:10:25 +02:00
William Kray 1ec4523fc1 fix room list fetch when attempting to cascade permissions. fixes #20. 2026-04-06 10:27:34 -07:00
William Kray 846249b3f0 bump plugin version 2026-02-24 21:49:12 -08:00
William Kray 87e02b7ea6 more refactoring 2025-09-09 14:49:45 -07:00
William Kray 6582112dfb fix some room permission nonsense 2025-09-09 11:53:50 -07:00
William Kray e71cf4504f split diagnotic report into multiple messages if too large 2025-06-29 17:23:59 -07:00
William Kray d6076b8d2f include --unencrypted flag for room creation 2025-06-19 14:40:23 -07:00
William Kray 2430baf4cd commands to initialize a community from scratch, with sane default base-config to allow this action 2025-06-17 14:24:15 -07:00
William Kray 510ef36067 add commands to only list inactive, purgable, and ignored users for less output 2025-06-16 22:32:44 -07:00
William Kray 9cd95ca1c8 version bump 2025-04-19 14:16:28 -07:00
William Kray f797c02fba bump version 2025-04-10 22:47:55 -07:00
William Kray dc83711efc more cleanup of messages, and customizability for verification message! 2025-04-10 09:45:35 -07:00
William Kray a9bf6be4a6 add some state cleanup logic when someone leaves a room with verification enabled 2025-04-09 15:30:20 -07:00
William Kray 78e604c542 debug logging, better comments, notification of failed verification, etc. 2025-04-09 13:12:57 -07:00
William Kray 5b973920ec initial verification check dm logic 2025-04-06 21:07:01 -07:00
William Kray 264ecfda52 big update, please read carefully!
permission modeling has been moved from statically defined in your bot
config to a cascading model, as set by your parent room or space.

when upgrading:
- ensure your bot is an admin of your space or parent room
- run the `!community sync` command to migrate your admins and
  moderators to your parent space, and clear out these fields in your
  config
- optionally run `!community setpower` to ensure power levels are set in
  all space rooms according to your parent space

if you have legacy rooms with incorrect permissions, you can now upgrade
them easily with the `!community replaceroom` command. see the readme
for more information.
2025-04-04 14:40:25 -07:00
William Kray 3ed2c1c4c0 new feature: archive or replace existing rooms
good for shutting off temporary rooms and keeping your space tidy, and
migrating to new rooms that the bot has appropriate permissions for.
probably doesn't solve every problem but should make it a little easier
to fix permission issues and such.
2025-04-02 15:37:08 -07:00
William Kray 034446f28c Include redaction logic:
- redact command to remove messages from a user in a room
- option to redact messages from a user in all space rooms when banned
2025-03-31 15:25:00 -07:00
William Kray 10b37350d4 dont track activity in non-space rooms, and include configurable sleep time to avoid ratelimiting 2024-10-19 16:35:18 -07:00
William Kray 6c85e50b1c only proactively ban in rooms with a join event to reduce unnecessary noise and room complexity 2024-10-19 08:57:17 -07:00
William Kray b49fbb534c oops fix spacing around file censorship logic 2024-10-18 07:32:43 -07:00
William Kray 0e0ae9c63b avoid proactive bans if they are blob patterns 2024-10-16 12:24:48 -07:00
William Kray 000f3efb29 add insta-ban wordlist, use with caution 2024-10-12 11:14:22 -07:00
William Kray ed59f1dd91 redact videos when censoring, and include uncensor powerlevel config 2024-10-10 13:57:24 -07:00
William Kray d692b18dc1 version bump 2024-10-10 09:33:57 -07:00
William Kray 87d14ceca6 improve report output formatting a tiny bit 2024-10-09 10:07:33 -07:00
William Kray cdd957cca5 subscribe to public ban lists! 2024-10-07 13:13:07 -07:00
William Kray ce830e29e8 ability to disable tracking altogether, small comment changes 2024-10-04 09:26:38 -07:00
William Kray 914a0f4fd4 basic wordlist message redaction
add file and image redaction

update readme, version bump
2024-08-30 09:42:31 -07:00
William Kray 6573f0edf1 fix a bug in activity reporting because of bad logic 2024-08-28 14:10:20 -07:00
William Kray cdc8bf9e56 version bump 2024-08-26 13:38:27 -07:00
William Kray e4ff8edd0d power level management
apply admin and mod power levels across all rooms managed by the bot

readme updates for readability
2024-08-17 15:06:56 -07:00
William Kray af16bd9884 add ability to not send a welcome message in a room by using the "none" label, but still get notified that someone joined 2024-08-16 06:20:44 -07:00
William Kray b6120caebf bump version 2024-08-15 21:30:58 -07:00
William Kray 72277818f1 add roomid command and fix workflow file 2024-08-15 20:23:55 -07:00
William Kray 2509556073 version bump, update readme 2024-08-14 15:44:50 -07:00
William Kray ea6d7cdaa4 include welcome module with multi-room message-mapping support 2024-08-14 15:30:49 -07:00
William Kray 55d012b458 initial commit, old activity tracker and create-room plugin merged into one with some fun fixes 2024-08-14 14:21:22 -07:00