Skip to content

feat: support afp:// links and open them with system handler#3249

Open
Ram-sah19 wants to merge 1 commit intoRocketChat:developfrom
Ram-sah19:clean-afp-links
Open

feat: support afp:// links and open them with system handler#3249
Ram-sah19 wants to merge 1 commit intoRocketChat:developfrom
Ram-sah19:clean-afp-links

Conversation

@Ram-sah19
Copy link

@Ram-sah19 Ram-sah19 commented Mar 10, 2026

Adds support for afp:// links in the Rocket.Chat desktop client.

Previously AFP links were opened in the browser.
With this change, AFP links are opened using the system handler (e.g., Finder on macOS).

Fixes issue where AFP file paths could not be opened directly from chat messages.

Summary by CodeRabbit

  • New Features

    • Added crash recovery that clears caches and reloads when needed
    • Added GPU crash protection
    • Added screen capture fallback handling
    • Added window attention features
  • Improvements

    • Enhanced window stability and state persistence on macOS
    • Improved window lifecycle management and error handling
    • Better URL validation and protocol enforcement
  • Platform Support

    • Added ARM64 support for Windows builds
    • Enabled Snap package support
    • Removed Flatpak from Linux builds
  • Localization

    • Updated Hungarian translations with new menu items and dialog strings

fix issue #438

@Ram-sah19 Ram-sah19 changed the base branch from master to develop March 10, 2026 19:58
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 10, 2026

Caution

Review failed

Failed to post review comments

Walkthrough

This pull request introduces enhanced initialization and lifecycle management for the main Electron application, adds crash recovery and error handling to window management, updates CI/CD workflows for snap packaging and ARM64 support, adds Hungarian translation keys, and temporarily downgrades electron-builder while removing flatpak from Linux packaging targets.

Changes

Cohort / File(s) Summary
CI/CD Workflow Configuration
.github/workflows/build-release.yml
Renamed Linux installation step, consolidated apt dependencies, and added SNAPCRAFT_STORE_CREDENTIALS environment variables to build and release action steps.
Electron Builder Configuration
electron-builder.json
Removed electronFuses block containing enableEmbeddedAsarIntegrityValidation and onlyLoadAppFromAsar configuration options.
Dependencies
package.json
Downgraded electron-builder from 26.0.12 to 25.1.8.
Internationalization Files
src/i18n/de-DE.i18n.json, src/i18n/fr.i18n.json, src/i18n/ru.i18n.json
Added end-of-file newlines with no functional changes.
Hungarian Translations
src/i18n/hu.i18n.json
Added new translation keys for clearCache dialog, openConfigFolder menu item, reloadClearingCache functionality, sidebar tooltips, and menuTitle; expanded existing Hungarian wording across multiple sections.
Main Application Initialization
src/main.ts
Integrated GPU crash handler, screen capture fallback state initialization, external URL IPC handler with protocol validation, download tracking, Outlook calendar integration, and log viewer setup into startup/shutdown lifecycle; added top-level error handling and success logging.
Window Management
src/ui/main/rootWindow.ts
Added persistence-aware macOS vibrancy, render-process crash recovery with cache clearing and reload, safeWindowOperation helper for guarded window operations, improved error handling in lifecycle events, SMB URL navigation denial, and enhanced icon/title update logic.
Release Action Automation
workspaces/desktop-release-action/src/index.ts, src/linux.ts, src/windows.ts
Re-enabled snap packaging with channel selection based on release type; removed flatpak from Linux targets; added ARM64 architecture support to Windows NSIS, MSI, and APPX packaging.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Suggested labels

type: feature

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title mentions 'afp:// links and system handler' but the changeset shows no modifications to AFP protocol handling, only unrelated changes to build workflows, translations, and Snap packaging. Update the PR title to accurately reflect the actual changes, such as 'ci: enhance build workflows and Snap support' or review the changeset to ensure it matches the stated objective of adding AFP protocol support.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant