Skip to content

Conversation

@Zallom
Copy link
Contributor

@Zallom Zallom commented Jun 1, 2025

Revert image URL regex change in thread.py. The current regex only matches the protocol and domain, and no longer validates full image URLs.

Revert image URL regex change in thread.py. The current regex only matches the protocol and domain, and no longer validates full image URLs.

Signed-off-by: Zallom <matthias@fca.gg>
@StephenDaDev
Copy link
Member

@Taaku18 This solves a big that was implemented in the code that is causing pretty widespread issues.

CC: @lorenzo132 @martinbndr

@obaseosa
Copy link

obaseosa commented Jun 2, 2025

win

@martinbndr
Copy link
Contributor

Yea this fix needs to be implemented.

@obaseosa
Copy link

obaseosa commented Jun 6, 2025

Is this fixed yet?

@martinbndr
Copy link
Contributor

Is this fixed yet?

@obaseosa since the pr is not merged yet it is not.

Taaku18
Taaku18 previously approved these changes Jun 13, 2025
@Taaku18 Taaku18 changed the base branch from master to development June 13, 2025 23:28
@Taaku18 Taaku18 dismissed their stale review June 13, 2025 23:28

The base branch was changed.

@Taaku18 Taaku18 merged commit a794ebd into modmail-dev:development Jun 13, 2025
2 checks passed
Taaku18 added a commit that referenced this pull request Nov 11, 2025
* Add (truncated) preview to snippets command (#3342)

* Add (truncated) preview to snippets command

* Add old view as option with "compact"

* Fix black formatting

* Fix: Image url regex in thread send method (#3378)

* feat minimum character requirement for thread creation. (#3380)

* update: dpy, snoozing.

This pull request updated discord.py to 2.5.2.

This also brings a new few features.
- snooze
- snoozed
- unsnooze
- clearsnoozed

Aswell as a few new config options.
- max_snooze_time
- snooze_title
- snooze_text
- unsnooze_tex
- unsnooze_notify_channel


Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* remove: unneeded import

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Formatting black

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix?: internal messages on restoration

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* formatting

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: internal messages.

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: internals

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update thread.py

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: use same logkey after restoration

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Add files via upload

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update thread.py

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update thread.py

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update thread.py

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: show who send which internal message.

* Black formatting.

* Update Pipfile

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update Pipfile.lock

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: unsnooze bug

* feat: CV2

* update: black

* fix: duplicates in logs, notes.

* feat: dpy 2.6.3, forwarded messages, bug fixes.

* Fix jump_url not being displayed

* Update pipfile for new dpy version

* fix: bug in note title/color

* Update snooze arg

* Update Pipfile to include tomli package

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* auto detect dpy version

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Remove crlf terminators

* fix: ignore typing failures (#3389)

* fix: ignore typing failures

Make Modmail keep working when typing is disabled/outage

* fix: only surpress failures

* chore: sync local edits before push

* Lock pipenv

* Fix: closing with timed words/ command in reply. (#3391)

* fix: ignore typing failures

Make Modmail keep working when typing is disabled/outage

* fix: only surpress failures

* chore: sync local edits before push

* Fix: closing with timed words/ command in reply.

* Fix: typing in changelog command.

* Fix: closing with timed words (additional))

* Fix changelog entry for command reply issue

Corrected wording in the changelog entry regarding command inclusion in replies.

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update CHANGELOG for v4.2.0 enhancements

Forwarded messages now display correctly in threads.

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

---------

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Remove disutil, undo lowercasing escape seq

* Add back uvloop

* Add config help for snooze configs

Signed-off-by: Taku <45324516+Taaku18@users.noreply.github.com>

* Update sponsors and bmac links

---------

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: Taku <45324516+Taaku18@users.noreply.github.com>
Co-authored-by: Sebastian <61157793+sebkuip@users.noreply.github.com>
Co-authored-by: Zallom <Yg75nWkHX7jBHcqRPUbb783c54xSa9+github63384893@gmail.com>
Co-authored-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Co-authored-by: “lorenzo132” <lhoorn4@gmail.com>
Co-authored-by: Martin <box152535@gmail.com>
Taaku18 added a commit that referenced this pull request Nov 28, 2025
* Add (truncated) preview to snippets command (#3342)

* Add (truncated) preview to snippets command

* Add old view as option with "compact"

* Fix black formatting

* Fix: Image url regex in thread send method (#3378)

* feat minimum character requirement for thread creation. (#3380)

* update: dpy, snoozing.

This pull request updated discord.py to 2.5.2.

This also brings a new few features.
- snooze
- snoozed
- unsnooze
- clearsnoozed

Aswell as a few new config options.
- max_snooze_time
- snooze_title
- snooze_text
- unsnooze_tex
- unsnooze_notify_channel


Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* remove: unneeded import

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Formatting black

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix?: internal messages on restoration

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* formatting

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: internal messages.

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: internals

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update thread.py

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: use same logkey after restoration

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Add files via upload

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update thread.py

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update thread.py

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update thread.py

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: show who send which internal message.

* Black formatting.

* Update Pipfile

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update Pipfile.lock

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* fix: unsnooze bug

* feat: CV2

* update: black

* fix: duplicates in logs, notes.

* feat: dpy 2.6.3, forwarded messages, bug fixes.

* Fix jump_url not being displayed

* Update pipfile for new dpy version

* fix: bug in note title/color

* Update snooze arg

* Update Pipfile to include tomli package

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* auto detect dpy version

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Remove crlf terminators

* fix: ignore typing failures

Make Modmail keep working when typing is disabled/outage

* fix: only surpress failures

* chore: sync local edits before push

* fix: ignore typing failures (#3389)

* fix: ignore typing failures

Make Modmail keep working when typing is disabled/outage

* fix: only surpress failures

* chore: sync local edits before push

* Lock pipenv

* Fix: closing with timed words/ command in reply.

* Fix: typing in changelog command.

* Fix: closing with timed words (additional))

* Fix changelog entry for command reply issue

Corrected wording in the changelog entry regarding command inclusion in replies.

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update CHANGELOG for v4.2.0 enhancements

Forwarded messages now display correctly in threads.

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Fix: closing with timed words/ command in reply. (#3391)

* fix: ignore typing failures

Make Modmail keep working when typing is disabled/outage

* fix: only surpress failures

* chore: sync local edits before push

* Fix: closing with timed words/ command in reply.

* Fix: typing in changelog command.

* Fix: closing with timed words (additional))

* Fix changelog entry for command reply issue

Corrected wording in the changelog entry regarding command inclusion in replies.

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Update CHANGELOG for v4.2.0 enhancements

Forwarded messages now display correctly in threads.

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

---------

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* Remove disutil, undo lowercasing escape seq

* Add back uvloop

* Add config help for snooze configs

Signed-off-by: Taku <45324516+Taaku18@users.noreply.github.com>

* fix; raceconditions, thread duplication on unsnooze, message queue for accurasy on high load

* Update package versions in requirements.txt

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>

* snooze(move): auto-unsnooze on reply/any mod message; enforce hidden permissions on auto-created Snoozed Threads and sync perms on move; restore original overwrites on unsnooze; add capacity guard and config docs

* unsnooze: suppress mentions during restore (AllowedMentions.none on replay and notifications)

* Remove base64 snooze/unsnooze logic, fix notification crash, clean up replay logic

* fix: escape mentions on unsnooze

* Fix: Only create log URL button if valid, and robust channel restore for snooze

* black formatting

* Unsnooze: prefix username (user_id) for plain-text replay messages

* feat: command queue during unsnooze process.

feat(config): `unsnooze_history_limit`: Limits the number of messages replayed when unsnoozing (genesis message and notes are always shown).

* fix: contact while snooze returned as invalid channel

* Update thread.py

* fix: snooze timing

* change: rename default snooze time config

* fix: parsing

* fix: cache for snooze timer

* fix: Properly accessing nested data

* rename: default_snooze_time -> snooze_default_duration

* improve unsnooze notify

* fix: id extraction for clean database.

* improve: support for user-friendly time input for snooze_default_duration

* reflect config help snooze_default_duration for userfriendly time

* fix: anonreply showing None

This fixes a bug where, if no `anon_username` is set and the moderator has no roles, the `anon_username` is not showing as `None` anymore, and will show as intended.

The logic now works as follows:
- If a config anon_username is set → use it
- Else, if a mod_tag is set → use it
- Else, if the moderator has a top role → use that
- Else → use "Anonymous"

* black formatting

* feat: thread creation menu

Credits to Sebkuip(https://github.com/sebkuip) for the original idea and populair plugin.(advanced-menu)

This now is a core feature.

* Update requirements.txt

* fixes

This solves:
- `config get`: invalid form body
- restores functionality after menu timeout.

* feat: thread_creation_menu_precreate_channel

adds a new: thread_creation_menu_precreate_channel

to create the threads, even when nothing is selected yet.

* core

Fully merged `threadmenu config` into the main bot’s config system.

Added threadmenu embed customization capability.

* Change thread_creation_menu config

Moves thread_creation_menu_options, thread_creation_menu_submenus and thread_creation_menu_enabled to the private config keys to avoid changes via ?config set as they can be changed via ?threadmenu

* Change Option Description/Emoji

Changes the description and emoji making it possible to be None (optional)

* fix: disable menu after closure

* feats/fixes

configs added:
thread_creation_send_dm_embed

fix:
snooze while no option was selected, after snoozing selecting option first errored. This is now solved

* forgot to add help

* rely on config for precreating. fix error with unknown channels

* feat: large images in threadmenu embed

* feat: threadmenu reset

* cleanup

* codereviews response. Formatting (ruff)

* log instead of pass on exception

* format

* higher delays

* black formatting, smoothen menu closure

* smoothen which selecetion was made

* solves the command from showing in the replies in rare cases

* Update CHANGELOG.md

* Update sponsors and bmac links

* fix: typeerror

* fix: Remove thread-only restriction from logs command

The logs command can be used anywhere again.

* Remove commands from being saved in DB.

* fix: correct guildpfp with sepserver setup - made by martin

This PR fixes displaying the wrong guild icon in the thread_creation_response embed.
When servers having a seperate server setup, the guild icon from the main guild should be displayed instead of the inbox guild.

* fix: robust channel deletion handling, skip audit log attribution if permission is missing

* update: use current reqs.txt as masterbranch

* sync: pip&pip lock with master

* Patch Thread Menu Editing Crash

* bump version

* Missing a newline

Signed-off-by: Taku <45324516+Taaku18@users.noreply.github.com>

* Missing a newline

Signed-off-by: Taku <45324516+Taaku18@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Taku <45324516+Taaku18@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Taku <45324516+Taaku18@users.noreply.github.com>

---------

Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: Taku <45324516+Taaku18@users.noreply.github.com>
Co-authored-by: Sebastian <61157793+sebkuip@users.noreply.github.com>
Co-authored-by: Zallom <Yg75nWkHX7jBHcqRPUbb783c54xSa9+github63384893@gmail.com>
Co-authored-by: Martin <box152535@gmail.com>
Co-authored-by: Taku <45324516+Taaku18@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants