Skip to content

Fix forum topic state, custom sounds, and double-tap reactions - #14

Merged
AbdulKus merged 1 commit into
mainfrom
fix/topics-notification-sound-quick-reaction
Aug 10, 2026
Merged

Fix forum topic state, custom sounds, and double-tap reactions#14
AbdulKus merged 1 commit into
mainfrom
fix/topics-notification-sound-quick-reaction

Conversation

@AbdulKus

Copy link
Copy Markdown
Owner

What changed

  • restore each forum topic from its own saved scroll/read anchor, including the pinned default topic
  • update pin indicators in place instead of rebinding the full topics list
  • accept custom sound results returned through the ringtone extra, Intent.data, ClipData, or EXTRA_STREAM
  • add a localized “Reaction on double tap” switch to Quick Reaction settings
  • apply the first ordered quick reaction on double tap and disable swipe reactions when it is the only selected reaction

Root causes

Forum topics returned from anchor selection before the topic-specific saved position was read. Pinned topics can also open before ForumTopic metadata is loaded, so chat-wide unread state was repeatedly used as the anchor. The sound picker assumed every Android picker returned EXTRA_RINGTONE_PICKED_URI, while vendor pickers may return a document URI through other standard intent fields.

Validation

  • git diff --check
  • remote Git tree SHA matches the local commit tree exactly
  • Android release compilation is delegated to the pull-request GitHub Actions workflow because the local Gradle distribution is unavailable in this environment

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 42f262f660

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +570 to +572
boolean isDoubleTap = pendingMessageClick != null && pendingMessageClickId == msg.getId() &&
eventTime - pendingMessageClickTime <= ViewConfiguration.getDoubleTapTimeout() &&
dx * dx + dy * dy <= doubleTapSlop * doubleTapSlop;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Recognize the double tap on the second down event

When the second finger-down occurs within the double-tap timeout but its corresponding ACTION_UP occurs after that deadline, the pending runnable fires while the second tap is still held and opens the message action instead of applying the reaction. Android defines this timeout between the first up and second down, but this check runs only from ACTION_UP and compares the second up time; cancel or mark the pending single click when the qualifying second ACTION_DOWN arrives.

Useful? React with 👍 / 👎.

@AbdulKus
AbdulKus merged commit 329c5eb into main Aug 10, 2026
2 checks passed
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