Skip to content

Develop - Wireless ADB QR pair, Reconnecting message, menubar text marquee and a lot more fixes#246

Merged
sameerasw merged 12 commits into
mainfrom
develop
May 29, 2026
Merged

Develop - Wireless ADB QR pair, Reconnecting message, menubar text marquee and a lot more fixes#246
sameerasw merged 12 commits into
mainfrom
develop

Conversation

@sameerasw
Copy link
Copy Markdown
Owner

This pull request introduces a marquee (scrolling) text feature for the menubar status, allowing long text (such as device names or music info) to scroll smoothly instead of being truncated. It also improves notification handling and discovery network triggers, and makes several code quality and UX updates.

Menubar Marquee Feature:

  • Added a new MarqueeText SwiftUI component that displays scrolling text when content exceeds the available width, using efficient Core Animation for performance (MarqueeText.swift).
  • Integrated the marquee option into the menubar: when enableMarquee is set, device names, music info, and drag labels in the menubar will scroll instead of being truncated (MenuBarManager.swift). [1] [2] [3]
  • Added enableMarquee as a user preference in AppState, persisted via UserDefaults and exposed as a published property (AppState.swift). [1] [2]
  • Updated the default menubar text max length to use point width (150) instead of character count, migrating old values for better alignment with new marquee logic (AppState.swift).

Notification Improvements:

  • Improved notification handling to avoid duplicate native notifications: now only triggers a macOS notification if the content actually changed or is new (AppState.swift).
  • Ensured that removing notifications also clears delivered system notifications, preventing stale notifications from persisting (AppState.swift).
  • When logging out, the isConnectionWeak state is reset to avoid stale UI (AppState.swift).
  • System notification synchronization now checks for notification authorization before syncing, preventing unnecessary work (AppState.swift). [1] [2]

Discovery/Networking Resilience:

  • Improved UDP discovery's handling of system sleep/wake: now cancels and restarts network monitoring and listening as appropriate, making the discovery process more robust to system state changes (UDPDiscoveryManager.swift). [1] [2] [3]

Code Quality and UI Consistency:

  • Refactored the menubar hosting view to simplify its generic usage (MenuBarManager.swift). [1] [2]
  • Removed the old text truncation logic from the menubar, as it's now handled by the marquee or frame limiting (MenuBarManager.swift).

Assets:

  • Added new image assets for ADB pairing prompts (adb-pair.jpeg and adb-pair-prompt.jpeg). [1] [2]

@sameerasw sameerasw self-assigned this May 29, 2026
@sameerasw sameerasw added bug Something isn't working enhancement New feature or request labels May 29, 2026
@sameerasw sameerasw merged commit ecd3570 into main May 29, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in AirSync Features and Bugs May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants