Notes de version
Historique des versions du dépôt. Les notes de version sont rédigées en anglais.
CHANGELOG
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[Unreleased]
Fixed
- Bot (1.6.3): filter reactions before calling Discord, then recheck the watched channel, pause and bot-source settings after the response. Limit Discord fetches and outgoing reactions independently to 10 per guild per second so delayed responses cannot flood the overlay.
Changed
- Bot (1.6.3): cap the message cache at 25 messages per channel and sweep messages older than 30 minutes every 5 minutes. Ignore embed updates without a cached previous message to avoid replaying old media.
[1.8.0]
Added
- Show a Sonner toast on the overlay when another user connects to the same server. Connection notifications are enabled by default and can be turned off or placed in any of the four corners from display settings and profiles.
- Adjust connection notification duration from 1 to 30 seconds (4 seconds by default), save it in display profiles, and choose the notification corner from a Select.
- Ignore the initial member count, departures and repeated counts so opening or reconnecting the app does not announce existing users. Hide connection toasts when the overlay is closed or notifications are disabled.
Fixed
- Keep connection toasts in sync with the app’s language and light/dark theme across windows, including a toast already on screen. Without a saved theme, follow the system theme. Release preference listeners on unmount, including native subscriptions that finish registering after cleanup.
- The bot (1.6.1) counts distinct app installs, so a replacement socket is not counted twice while the stale one awaits heartbeat eviction. A new arrival immediately after another user’s departure is still announced; a reconnect after a full disconnect may also be announced.
[1.7.1]
Changed
- Remove the admin pause banner from the overlay. Pause status remains visible in settings.
[1.7.0]
Added
- Add privileged
/memeover pauseand/memeover resumecommands. - Persist timed pauses, restore timers after restart and negotiate guild state with overlays.
- Clear pending media during a pause while allowing the visible item to finish.
- Keep history replays playable during a pause; only Discord events are dropped.
[1.6.6]
Fixed
- Size the overlay to the full bounds of its monitor instead of maximizing it. Since the Tauri 2.12 update in 1.6.4, a hidden window is only maximized when first shown on Windows, and maximizing never covered the taskbar or menu bar area. The overlay also drops the default window shadow on Windows, which would otherwise draw a 1px border and rounded corners around it.
- Fit the overlay to its monitor again within two seconds after a resolution or scaling change, or after its monitor is disconnected.
- Keep the author badge on screen for tall media: the media height now leaves room for the badge, background and caption, which previously pushed the badge off the top edge at bottom positions.
- Restore the keyboard behaviour of option groups lost in the 1.6.2 Base UI migration (position grid, text position, preview format, language and media types): the up and down arrows move between options again, and tabbing into a single-choice group focuses the selected option, as in a WAI-ARIA radio group.
- Keep Enter from saving the overlay form while a slider is focused, as before the 1.6.2 migration.
- Replace the hold-to-confirm buttons (delete a profile, clear the history from History or About) with a confirmation dialog. Holding a key for a set time is not keyboard accessible (WCAG 2.1.1), and some screen readers and voice control could not confirm at all. The alert dialog focuses Cancel first, closes with Escape and ignores clicks outside it.
- Give the member count badge a screen-reader description of its state; its visible parts were hidden from assistive technology.
- Show replays of muted authors and hidden anonymous memes. History confirmed these replays, but the overlay dropped them.
- Stop accepting the self-hosted server’s placeholder public address for installation, progress and friend codes, which pointed friends to the unreachable
YOUR_PUBLIC_IPhost. - Translate every tray menu entry, including Hide, from startup instead of only after changing the language.
- Announce the selected text color, the custom color value and why an expired replay is unavailable to screen readers.
Changed
- Remove the overlay page’s own always-on-top request, which its window permissions rejected; Rust already keeps the overlay on top.
- Base every dialog on the shadcn base-vega Dialog and Alert Dialog, styled with the MemeOver theme: neo-brutalist frame, display font titles, a lightly blurred backdrop and no zoom or fade under reduced motion.
- Use formal French (“vous”) in the unsaved changes dialog, like the rest of the interface.
- Remove 18 unused interface translations.
- Add browser regression checks for tall media at centre, top and bottom positions, the space reserved for the author badge, option-group keyboard focus, slider Enter, confirmation dialogs, tray labels, color, member count and expired replay announcements.
[1.6.5]
Fixed
- Keep author badges visible if their entrance animation is interrupted or disabled.
Changed
- Keep confetti, pop and firework keyframe times in increasing order for any fade timing. The built-in reaction timings already produced ordered keyframes, so displayed reactions are unchanged.
- Extend browser regression checks to production builds, animated popup replacements and interrupted badge entrances.
[1.6.4]
Added
- Automatic updates: new releases download in the background and apply on the next launch (on quit for Windows), with a toggle and a restart-now action in About.
Fixed
- Preserve newer display settings when applying older overlay profiles.
- Avoid grouping all anonymous senders under the per-author queue limit.
- Allow revoked sessions to reconnect after changing the bot URL.
- Hide the settings window when its close request receives no response.
Changed
- Update JavaScript and Rust dependencies and require Bun 1.4.2.
[1.6.3]
Fixed
- Center the author badge above content and keep it outside the configurable media background; remove its outer halo.
- Restore all overlay settings sliders after the Base UI migration, including pointer and keyboard interactions.
- Remove the duplicate arrow from selection menus and label slider and switch controls for assistive technology.
- Handle failed profile creation, replacement and imports without unhandled errors; allow retrying the same import file.
- Keep the first-configuration wizard open through its final step and report failed connection saves and screen changes.
Changed
- Restore the slight lift and stronger offset shadow on button hover, with a stationary reduced-motion variant.
[1.6.2]
Changed
- Migrate shared UI components from Radix to Base UI and adapt the settings controls.
- Harmonize switches, inputs, profile actions and connection buttons with the neo-brutalist design.
- Replace the bundled Bungee font and improve reduced-motion transitions for settings controls.
- Translate position and color controls, preview summaries and French interface labels.
- Identify site deployments by the published app release and queue production deployments without interrupting an active run.
Fixed
- Show localized connection errors for unknown servers and invalid tokens, with a generic fallback for unknown errors.
- Add localized titles and technical details to local server operation errors.
[1.6.1]
Fixed
- Restore the history settings page by providing tooltip context to all settings routes.
- Refresh the production website from protected main after app releases instead of deploying from a rejected release tag.
[1.6.0]
Added
- Hide selected authors and anonymous messages locally.
- Limit pending media per author with profile-aware settings.
- Extract and test overlay message routing and display decisions.
Fixed
- Revoke active overlay sessions immediately after token rotation or server removal.
- Regenerate replay IDs, prevent replay duplication in history and purge expired Discord media.
[1.5.1]
Changed
- Refresh English and French website content and add command, self-hosting and changelog pages.
- Share the minimal Discord invite permission helper.
- Resolve published downloads from GitHub with a safe offline fallback.
- Improve navigation accessibility and reduced-motion behavior.
[1.5.0]
Added
- Add shared motion tokens and reduced-motion paths.
- Improve author badges and captions while preserving the media entrance.
- Add hold-to-confirm profile deletion, copy feedback, animated counters and profile lists.
Changed
- Keep settings transitions focused and improve position and theme previews.
[1.4.5]
Added
- Isolate test configuration and registry data, and run mocked suites in separate processes.
- Add characterization tests and CI gates for Bun, Rust and Astro.
Changed
- Refresh vendored agent skills and document contributor workflows.
- Add project skills and Claude hooks for protected paths, formatting and type checks.
- Backfill release notes for existing versions 1.2.0 through 1.4.4.
[1.4.4]
Fixed
- Render Discord video-backed GIFs and KLIPY GIF media correctly.
[1.4.3]
Added
- Respect reduced motion for media, reactions, the audio equalizer and onboarding.
- Limit reaction bursts with a complexity budget.
Changed
- Make routine settings motion calmer and tooltips quicker.
- Simplify the update dialog’s information sequence.
[1.4.2]
Fixed
- Open the canonical privacy and legal page from the app.
- Start login sessions in the tray, keeping settings hidden until requested.
- Restore and focus settings from the tray, including on macOS.
- Refresh existing startup registrations with the background launch flag.
[1.4.1]
Fixed
- Explain the missing Discord Message Content Intent when the self-hosted bot fails to start.
[1.4.0]
Released without an app-v1.4.0 Git tag.
Added
- Create a self-hosted bot from a guided Server settings tab.
- Install, start, stop and restart the bot with live redacted logs and health checks.
- Import the host’s connection code and generate a code to share with friends.
Changed
- Keep installation work off the interface thread and stop the managed bot on app exit.
[1.3.0]
Added
- Manage bot and application messages with
/memeover bots. - Show the server’s bot/app source policy in connection replies.
- Localize source-management commands and responses in English and French.
[1.2.0]
Changed
- Use Discord Components V2 panels for connection responses.
- Confirm token rotation and server removal through action buttons.
- Refresh localized confirmations and help descriptions.
[1.1.0]
Added
- Add the one-paste
memeover://setupconnection code flow. - Add floating Discord reactions, anonymous
/memeover secretsends, and/memeover status. - Add autostart support, multi-client activity tracking, and inactive guild cleanup.
Changed
- Default new installs to the hosted MemeOver WebSocket endpoint while keeping self-hosting in expert mode.
- Refresh README documentation, development scripts, and bot deployment notes.
- Move bot replies to Discord Components V2 and add confirmations for
/memeover rotateand/memeover remove. - Stop tracking generated Astro
.astrofiles.
[1.0.0]
Changed
- Release MemeOver as a stable 1.0 desktop app and website.
- Refresh product copy around the core MemeOver features.
- Remove old launch wording from the app and website.
- Update package and Tauri versions for the 1.0 release.
[0.5.0]
Changed
- Discord bot refacto in Bun
[0.4.0]
Changed
- Let the code visible until the user is connected :fire:
- Start the timeout when the video or the audio is playing :100:
Added
- Handle audio attachment :sound:
- Add text to onboard users :tada:
Fixed
- Delete link for the embed attachments :heavy_check_mark:
[0.3.1]
Added
- Add a tray icon :100:
[0.3.0]
Changed
- Better stability between you and the bot :rocket:
- Add a tray icon, still work in progress, let me cook :eyes:
Added
- Use react-use-websocket (heartbeat, reconnect)
- Add TrayIcon
- Delete closed connection from the map