Feature/quick scheduled send#368
Conversation
WalkthroughThis PR adds a quick schedule feature to Telegram's chat input. When enabled via settings, users can schedule messages using an always-visible calendar button with an inline date picker instead of navigating to a separate scheduled messages view. The feature is controlled by a new configuration flag and includes corresponding settings UI, interaction logic, and conditional visibility/animation handling for the scheduled button. ChangesQuick Schedule Button Feature
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 8e3a31bc-2039-4562-938d-2fac3d8c7d79
📒 Files selected for processing (4)
TMessagesProj/src/main/java/org/telegram/ui/Components/ChatActivityEnterView.javaTMessagesProj/src/main/java/tw/nekomimi/nekogram/settings/NekoChatSettingsActivity.javaTMessagesProj/src/main/kotlin/xyz/nextalone/nagram/NaConfig.ktTMessagesProj/src/main/res/values/strings_nax.xml
|
Thanks for working on this. For now, I don’t think we should expand this feature further. It may be very useful for your workflow, but it is likely a niche feature for most people. We already have hundreds of features, so we must be very selective about adding new toggles and maintenance overhead. Also, Anyway, c7b0635 was my attempt to remove the toggle, keep the schedule button always there, and have tap for list, long press for sheet. But it still touches too much, so I'll probably just drop it. |
|
I figured that could be the case but anyway wanted to give it a shot. Thanks for looking into it and trying another approach as well. Much appreciated! I'll keep it in my fork - that's totally fine. |
Quick Schedule Button
What
Follow-up to #366 (configurable default scheduled time). Once you have scheduled messages in a chat and start typing, the calendar icon stays visible. Tap it to schedule the message you are typing right now, no long-tap on the send button required.
Why
I usually use scheduled messages as a "review queue": reply to many people during the day, then review the whole bulk before it goes out. Might be useful for other people using scheduled messages when talking with their friends/relatives abroad with a different time zone as well. Default Telegram flow for this is painful:
This change solves all three: the button only appears when you already have at least one scheduled message in the chat, no fighting with the curved edge, and one tap instead of long-tap plus menu. The whole thing is behind a toggle that is off by default, so most folks will not notice any difference until they turn it on.
Next step would be improving the scheduled list itself, e.g. bulk send like in Telegram Desktop, but I wanted to start with smaller focused changes first. Easy select first+last+select between flow already implemented so it is already half-way there.
How
QuickScheduleButtonin Chat settings, off by default.ChatActivityEnterView, when the setting is on and the chat has scheduled messages, the calendar button stays visible while typing instead of being hidden.Notes
Summary by CodeRabbit