Skip to content

v1.2.0

Choose a tag to compare

@outarde outarde released this 16 Sep 13:43
· 66 commits to main since this release

Remindrix v1.2.0

This release makes a few improvements to how the bot works, but mainly focuses on important codebase changes and bug fixes.

Change it Before an Upgrade

Caution

The folder name that is bound to /app/data/reminder-bot inside the Docker container has been changed from reminder-bot to remindrix, and DB file has been renamed to remindrix.db, too.

It turned out that renaming the folder also affected internal files that store the path to the current account session's database. This means that simply renaming the folder is not enough.

Options for resolving the issue:

  • You can delete the entire folder (after first copying the database file), log in again, restore the database file to its original location, and restart the container. Your reminders will not be lost.
  • You can manually rename the folder inside /app/data to remindrix. Then, within that folder, update the db_path field in the session.json file by changing reminder_bot to remindrix. Don't forget to rename the database file itself to match. After that, start the bot. Your login session and reminders should remain intact.

We apologize for the unforeseen inconvenience caused.

Key Features for Users

  • 🫡 Failure to recognize a reminder is now marked with a ❌ reaction, rather than just causing a help message to be sent to chat.
  • 🛟 Added support for the --help command for CLI/Pro mode.
  • ✏️ Added typing indicator for the bot's messages.

Important Changes for Administrators

  • 🔧 Database migration has appeared! You no longer have to delete the database file or make changes manually. Make sure your database has name remindrix.db and was created in version 1.1.0 or later for the migration to work.
  • 🗓️ A new setting variable has appeared: remind_undated is responsible for allowing the creation of reminders without date and time, only with text (standard times values ​​for today, or if the time is in the past, for tomorrow will be used). Use it with caution: if you have the quick_remind option enabled, even the wrong date and time format will result in a reminder in a non-group rooms.
  • 🟢 The default time from the configuration is now checked when the bot starts. This makes the behavior more predictable, as an incorrect time format will no longer result in reminders being created with the application's default time instead of an error message.

Changes to the configuration file are already reflected in the manual page.

Roadmap

In future versions, we will focus on printing list of reminders, adding recurring reminders, and customizable settings for each user. There are also some nice little things in the plans, like a reaction-as-a-button 🐱.

What's Changed

🚀 Features and Enhancements

  • efe7595 If reminder is set as an interval, there will not be a digit reactions because of its redundancy.
  • 689280c remind_undated config option for create reminders in the natural pipeline without date or time.
  • de60c93, 855dc6d Support for the --help option for the CLI/Pro mode command.
  • db98e31 The bot validates default times on the startup.
  • ee84836 Typing indicator.
  • c6c655e Formatting CLI help page.

🐛 Bug Fixes

  • efe7595 Digits reaction can be sent only for numbers less than 100 (because previous validation for remainder from division by 11 is not compatible with numbers greater).
  • efe7595 Send destination room time zone when delegating reminder.
  • efe7595 Send delegated reminder in the language of the destination room.
  • 48492e6 Update reminder status instead of deleting it as it is sent in the summary
  • 48492e6 Check room availability in the summary and update reminder status to missed in case of room is unavailable.
  • 4db022f Fix an issue where the time was not recognized if the date was entered using digits followed by a space (due to the absence of a space option after the digits).
  • 6c2fbe1 Fixed an issue where, in certain cases, the application's default time was used instead of the default time from the configuration. Storage of the default time has been moved to the settings module.

🌐 Localization

  • 9e050dd Translations for the CLI mode.
  • 0617434 Simplification of translation keys.
  • 9197245 A line with the help command for CLI/Pro mode in the welcome message.

📕 Documentation

  • 5eb8503, 8a9cbe1 Update Readme, add CLI mode section on usage.md.
  • 801efa6 New examples of the usage on the usage.md.
  • f28117b Update configuration page with new settings.
  • 84efb14 Update config.example.yaml and example.env.

💻 Code Refactoring and Changes

  • 624333c Migration to jiff crate from the chrono.
  • bb7d36e Change build name from reminder-bot to remindrix.
  • efe7595 Split handlers.rs into parsers.rs, reactions.rs.
  • 689280c Split natural pipeline from handlers.rs to natural.rs.
  • 689280c ReminderError structure.
  • 921b43a Move to thiserror crate for ReminderErrors. Better error tracing in the handle_remind. New lightweight ReminderSettings structure for schedule_reminder method. Enhance get_setting method for the settings of the whole room. Complete transition to Reminder and ReminderData structures instead of ReminderUtc.
  • 4604cfc Logging for DB erros.
  • 870f8de New db.rs module with the simple migration mechanism.
  • f8c3166 Repository pattern for reminders.
  • 56f2653 context.rs module.

Full Changelog: v1.1.0...v1.2.0