Skip to content

Merge development v4.2.0#3390

Merged
Taaku18 merged 42 commits intomasterfrom
development
Nov 11, 2025
Merged

Merge development v4.2.0#3390
Taaku18 merged 42 commits intomasterfrom
development

Conversation

@Taaku18
Copy link
Collaborator

@Taaku18 Taaku18 commented Oct 5, 2025

See CHANGELOG.md for details.

sebkuip and others added 30 commits April 16, 2025 02:56
* Add (truncated) preview to snippets command

* Add old view as option with "compact"

* Fix black formatting
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>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Update pipfile for new dpy version
martinbndr and others added 8 commits September 22, 2025 22:31
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
Signed-off-by: lorenzo132 <50767078+lorenzo132@users.noreply.github.com>
* 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

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>
@Taaku18 Taaku18 requested a review from Copilot October 6, 2025 11:29
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR merges development version 4.2.0, upgrading discord.py to version 2.6.3 and adding several new features including thread snoozing, forwarded message handling, and improved message processing.

  • Major discord.py upgrade from 2.3.2 to 2.6.3 with CV2 support
  • New thread snoozing system with commands to snooze/unsnooze threads
  • Enhanced forwarded message handling and improved typing reliability

Reviewed Changes

Copilot reviewed 18 out of 20 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
pyproject.toml Updated version number to 4.2.0
core/utils.py Added safe typing utilities, forwarded content extraction, and button fixes
core/time.py Improved time parsing with better handling of vague time expressions
core/thread.py Major additions for thread snoozing functionality and improved message handling
core/paginator.py Fixed pagination view handling and footer icon issues
core/config_help.json Added configuration help for new thread minimum character features
core/config.py Added default configurations for snoozing and thread minimum characters
core/clients.py Added null checks for avatar URLs
core/changelog.py Added null checks for avatar URLs
core/_color_data.py Removed extra blank line
cogs/utility.py Added safe typing usage and avatar URL null checks
cogs/plugins.py Added safe typing usage and avatar URL null checks
cogs/modmail.py Major additions including snooze commands and improved snippet handling
bot.py Updated version, enhanced forwarded message processing, and improved error handling
Pipfile Updated discord.py version and removed uvloop dependency
CHANGELOG.md Added comprehensive changelog for v4.2.0
.gitattributes Added text auto-handling configuration
.env.example Added DISABLE_AUTOUPDATES option
Comments suppressed due to low confidence (1)

core/utils.py:1

  • The regex character class [$\\-_@.&+] was changed from [$\\-_@.&+]. The hyphen placement change could affect URL matching behavior. Ensure this change is intentional and tested.
import base64

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

message1.embeds[0].author.name.startswith("Note")
or message1.embeds[0].author.name.startswith("Persistent Note")
):
if message1.embeds[0].footer and "Internal Message" in message1.embeds[0].footer.text:
Copy link

Copilot AI Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This condition checks for 'Internal Message' in footer text, but the code elsewhere uses 'Internal Note' and 'Persistent Internal Note'. This inconsistency could cause message identification failures.

Suggested change
if message1.embeds[0].footer and "Internal Message" in message1.embeds[0].footer.text:
if (
message1.embeds[0].footer
and (
"Internal Note" in message1.embeds[0].footer.text
or "Persistent Internal Note" in message1.embeds[0].footer.text
)
):

Copilot uses AI. Check for mistakes.

tasks = [self.bot.api.edit_message(message1.id, message), message1.edit(embed=embed1)]
if message1.embeds[0].author.name.startswith("Persistent Note"):
if message1.embeds[0].footer and "Persistent Internal Message" in message1.embeds[0].footer.text:
Copy link

Copilot AI Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to above, this checks for 'Persistent Internal Message' but other code uses 'Persistent Internal Note'. This inconsistency in footer text checks could cause logic errors.

Copilot uses AI. Check for mistakes.
tasks += [m2.delete()]

if message1.embeds[0].author.name.startswith("Persistent Note"):
if message1.embeds[0].footer and "Persistent Internal Message" in message1.embeds[0].footer.text:
Copy link

Copilot AI Oct 6, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another instance of the footer text inconsistency. The system uses both 'Message' and 'Note' suffixes which could lead to failed message type detection.

Copilot uses AI. Check for mistakes.
@Taaku18 Taaku18 requested a review from Copilot October 7, 2025 05:15
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 18 out of 20 changed files in this pull request and generated no new comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@Taaku18 Taaku18 merged commit 21f4766 into master Nov 11, 2025
7 checks passed
khakers pushed a commit to khakers/OpenModmail that referenced this pull request Feb 16, 2026
* Add (truncated) preview to snippets command (modmail-dev#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 (modmail-dev#3378)

* feat minimum character requirement for thread creation. (modmail-dev#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 (modmail-dev#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. (modmail-dev#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>

(cherry picked from commit 21f4766)
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.

5 participants