Add toolbar toggle feature and enhance URL display#27
Add toolbar toggle feature and enhance URL display#27yonaries merged 118 commits intothe-ora:mainfrom
Conversation
* fix: open link suggestion for url with paths * refactor: add import data menu and update style for link preview
- Move all build artifacts, including appcast.xml and DSA keys, to a dedicated build/ directory for better organization. - Update build-release.sh and create-release.sh scripts to reference new paths for signing and exporting. - Remove deprecated appcast.xml and DSA key files from the root directory. - Enhance README and documentation to reflect changes in file structure and hosting setup.
…ppcast updates - Update .gitignore to include critical DSA key files and prevent accidental commits. - Modify build-release.sh to preserve DSA keys and appcast during clean builds. - Revise create-release.sh to ensure proper signing of the DMG and update appcast.xml with the correct signature and file size. - Improve setup scripts and documentation for Sparkle tools installation and DSA key generation. - Ensure security checks are in place to prevent committing sensitive keys.
…matic DMG upload and Xcode project regeneration
- Add auto-version increment in create-release.sh when no version specified - Fix signature validation with proper error handling and fail-fast on failures - Enhance UpdateService with comprehensive logging and timeout handling - Improve GeneralSettingsView with detailed update status and version display - Update documentation to reference correct repository URLs - Add appcast.xml backup for version tracking
Add display of current URL using getDisplayURL(tab) instead of tab title, include middle truncation for long URLs, and restore editing string on focus loss to ensure consistent URL representation during and after editing.
Add keyboard shortcut (⇧⌘C) to copy the current URL in both the sidebar URL display and main URL bar. Include visual feedback with a "Copied Current URL" overlay that animates in and out. Refactor existing copy logic into reusable functions and introduce a new CopiedURLOverlay view for consistency. Also add a menu item in the app for triggering the copy action via notification.
Solved. Now when the focus goes away from the input, it will restored the previous value. I had a conflict with some recent changes merged into main, I did my best to solved the merge conflict without removing the new features. I also tried to add the command + shift + c command logic into the sidebar url ( this feature was recently merge into main ) |
|
looks good but there are more conflicts😬 sorry about this the main branch was getting cleaned |
Screen.Recording.2025-09-08.at.17.44.29.movit should show full URL when the input is focused |
fixed! |
Screen.Recording.2025-09-09.at.10.35.47.movit should select the entire URL wherever I click on the input. currently, it's selecting till the position i clicked on. same applies to the sidebar url bar. |
|
@yonaries this happens also on the current release it is not caused by the implementation so idk if this is matter of this pr, maybe it should be marked as a bug an should be fixed after this pr is approved. |
Add auto-selection of URL text when starting to edit in both URLBar and SidebarURLDisplay for improved usability, enabling easier text replacement.
|
I pushed some changes to address the recent comments. I did my best in order to solve this request, I added a small delay of 150 ms to select all the text, there is a native behavior that was causing some weird race condition without the delay, there is probably a better solution for this |
eabcfe8 to
c965d79
Compare
* fix/openlink suggestion (#6) * fix: open link suggestion for url with paths * refactor: add import data menu and update style for link preview * feat: auto updater * chore: reorganize build artifacts and update release scripts - Move all build artifacts, including appcast.xml and DSA keys, to a dedicated build/ directory for better organization. - Update build-release.sh and create-release.sh scripts to reference new paths for signing and exporting. - Remove deprecated appcast.xml and DSA key files from the root directory. - Enhance README and documentation to reflect changes in file structure and hosting setup. * chore: enhance build and release scripts for DSA key management and appcast updates - Update .gitignore to include critical DSA key files and prevent accidental commits. - Modify build-release.sh to preserve DSA keys and appcast during clean builds. - Revise create-release.sh to ensure proper signing of the DMG and update appcast.xml with the correct signature and file size. - Improve setup scripts and documentation for Sparkle tools installation and DSA key generation. - Ensure security checks are in place to prevent committing sensitive keys. * Add automatic GitHub Pages deployment to release script * Deploy appcast v0.0.16 * Fix GitHub Pages deployment logic * Deploy appcast v0.0.17 * Fix GitHub repository URLs in appcast.xml and SUFeedURL * Update project version to 0.0.18 and adjust SUFeedURL for appcast.xml * Deploy appcast v0.0.20 * Deploy appcast v0.0.20 * Deploy appcast v0.0.21 * Update project version to 0.0.21 and enhance release scripts for automatic DMG upload and Xcode project regeneration * Deploy appcast v0.0.22 * Fix appcast backup in create-release.sh * Deploy appcast v0.0.23 * Update to v0.0.24 * Update to v0.0.25 * Update to v0.0.25 * Update to v0.0.26 * Update to v0.0.27 * Update to v0.0.28 * Update to v0.0.29 * Update to v0.0.30 * Fix appcast signature for v0.0.30 * Update to v0.0.31 * Update to v0.0.32 * Fix appcast signature for v0.0.32 * Fix update system with signature validation and auto-versioning - Add auto-version increment in create-release.sh when no version specified - Fix signature validation with proper error handling and fail-fast on failures - Enhance UpdateService with comprehensive logging and timeout handling - Improve GeneralSettingsView with detailed update status and version display - Update documentation to reference correct repository URLs - Add appcast.xml backup for version tracking * Format Swift files with swiftformat - Apply project formatting rules to modified Swift files - Ensure consistent code style across the codebase * Update to v0.0.33 * Update to v0.0.34 * Update to v0.0.35 * Update project version to v0.0.35 and increment current project version to 34 * Add comprehensive logging to UpdateService for debugging - Enhanced setup logging with app info and Sparkle config - Detailed appcast item logging with all metadata - Comprehensive error logging with error codes and userInfo - Network and security check logging - Added failedToLoadAppcastWithError delegate method - Improved download failure logging with item details * Fix Sparkle API compatibility issues in UpdateService - Replace non-existent publicKeys.ed25519PubKey with publicKeys != nil - Change edSignature to dsaSignature for compatibility - Remove non-existent userAgentString property - Fix NSError casting to use direct casting instead of optional binding * Remove non-existent Sparkle API properties - Remove updater.publicKeys references (property doesn't exist) - Remove item.dsaSignature references (property doesn't exist) - Keep essential logging for debugging update issues * Fix update signature validation - Generate new Ed25519 keypair for proper signature validation - Update project.yml with correct Ed25519 public key - Sign DMG with matching Ed25519 private key - Update appcast.xml with correct Ed25519 signature - This resolves SUNoUpdateFoundReason: 2 (signature validation failure) * Update EdDSA public key for proper signature validation * Update appcast with correct file size and signature - Fix file size: 40935424 bytes (was 40933888) - Update Ed25519 signature for correct DMG - Ensure signature validation will work properly * Update create-release.sh for better key management - Public key stored in ora_public_key.pem (committed to git) - Private key stored in .env file (not committed) - Auto-generates keys if missing - Fails build if private key not found - Added .env to .gitignore for security - Updated project.yml automatically with current public key * Add key management documentation - Updated README with key management section - Added .env.example template file - Documented public/private key usage and security * Fix private key file cleanup issue - Build script cleans build/ directory, removing temp private key - Added logic to recreate private key file after build - Store private key content in global variable for persistence * Update to v0.0.39 * Update to v0.0.43 * Update to v0.0.44 * Update to v0.0.45 * Update to v0.0.47 * Update to v0.0.48 * Update to v0.0.49 * Update to v0.0.52 * Update to v0.0.53 * Update to v0.0.54 * chore: readme fix (#7) * Update to v0.0.54 and modify SUPublicEDKey handling in create-release.sh * Refactor DMG naming and path handling in build-release.sh and create-release.sh to use version from project.yml. This ensures consistent naming and improves clarity in release process. * Update to v0.0.56 * Update to v0.0.57 * Update to v0.0.58 * Update to v0.0.60 * Update to v0.0.61 * Update to v0.0.62 * Update build-release.sh for DMG creation and bump version to v0.0.62 in project.yml.bak * Buy me coffee (#18) * chore: readme fix * chore: buy me coffee added * chore: add keyboard shortcut URL bar focus (#12) * chore: add keyboard shortcut URL bar focus * feat: add escape key support to exit URL bar editing mode * Remove redundant editingURLString assignments * feat: add minimum window and launcher size (#11) * Enhance error handling in WebViewNavigationDelegate to ignore cancelled navigation errors (#22) * Update to v0.0.63 * Update to v0.0.64 * Enhance GeneralSettingsView to display last check time with additional SF key information * Update to v0.0.67 * Update to v0.0.68 * Update to v0.0.69 * Update to v0.0.70 * Update to v0.1.1 * Update to v0.1.2 * Update to v0.1.6 * Update to v0.1.6 with enhancements to build versioning, public key management, and appcast configuration * Update to v0.1.7 * feat: Add URL display toggle feature URLBar * feat: Add View menu with toolbar toggle option - Add 'View' menu to macOS menu bar with toolbar visibility toggle - Menu shows 'Hide Toolbar' when toolbar is visible, 'Show Toolbar' when hidden - Add keyboard shortcut Cmd+Shift+D for quick toolbar toggle - Consistent with existing context menu behavior - Provides standard macOS menu bar access to toolbar functionality feat: Improve sidebar URL display when toolbar is hidden - Replace static text with fully functional TextField in sidebar - Add click-to-edit functionality with tap gesture - Add Enter key submission for URL navigation - Add Escape key to exit edit mode - Improve spacing with proper horizontal padding - Make URL display expand to full available width - Maintain consistent URL toggle behavior (full vs domain) - Add loading indicators and security status icons - Preserve right-click context menu for URL display options * feat: Extract URL display logic from SidebarView into new SidebarURLDisplay component * Update ora/Modules/Settings/Sections/GeneralSettingsView.swift Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * release (#24) * Enhance GeneralSettingsView to display last check time with additional SF key information * Update to v0.1.6 with enhancements to build versioning, public key management, and appcast configuration * Update ora/Modules/Settings/Sections/GeneralSettingsView.swift * feat: macOS 26 Icon Support (#26) * feat: add new app icon sets for Ora and OraIconDev * update icons * fix: configure conditional icon bundles for debug/release builds * polish * Update project.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * update pre-26 default icon * add dev icons for older format * fix: Move icon assets to ora directory * fix weird json error? --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Bump version to 0.1.8 * feat: macOS 26 Icon Support (#26) * feat: add new app icon sets for Ora and OraIconDev * update icons * fix: configure conditional icon bundles for debug/release builds * polish * Update project.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * update pre-26 default icon * add dev icons for older format * fix: Move icon assets to ora directory * fix weird json error? --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore: implement shortcut for mouse 4 and 5 (#15) * Fixed Traffic Lights Animations when sidebar is collapsed (#16) * fix(ui): replace CommandMenu with CommandGroup for toolbar toggle * feat(commands): add Toggle Sidebar command (Cmd+S) and centralize sidebar toggle Add Toggle Sidebar command with Cmd+S in oraApp.swift and dispatch via NotificationCenter. Remove ad-hoc keyboardShortcut bindings from URLBar and start-page button; call centralized function instead. * feat(url): persist “Show Full URL” globally via AppState (default: visible) * feat(view): add menu toggle for “Show Full URL” (no shortcut) with persisted state * fix: duplicate icon issue (#33) * Update to v0.1.8 * feat(sidebar): add tap-to-edit for URL display and update editing logic * Add Shortcut `cmd+shift+C` (#32) * Add Shortcut `cmd+shift+C` - Shortcut++ - Animation++ * Update ora/UI/URLBar.swift Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Kenenisa Alemayehu <53818162+kenenisa@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * feat(ui): update URL bar display and editing logic Add display of current URL using getDisplayURL(tab) instead of tab title, include middle truncation for long URLs, and restore editing string on focus loss to ensure consistent URL representation during and after editing. * feat(ui): add copy URL functionality with animation to sidebar Add keyboard shortcut (⇧⌘C) to copy the current URL in both the sidebar URL display and main URL bar. Include visual feedback with a "Copied Current URL" overlay that animates in and out. Refactor existing copy logic into reusable functions and introduce a new CopiedURLOverlay view for consistency. Also add a menu item in the app for triggering the copy action via notification. * fix: update URLBar to show full URL when entering edit mode * fix: sync readme.md and security.md with main * fix position of copy icon button * Remove comments from URL editing mode handlers * fix: remove redundant context menus from SidebarURLDisplay and URLBar * fix: shorten copy URL button text * feat: enhance URL editing with auto-text selection and cleanup Add auto-selection of URL text when starting to edit in both URLBar and SidebarURLDisplay for improved usability, enabling easier text replacement. * Remove unnecessary browser directory --------- Co-authored-by: Yonathan Dejene <yonatandejene001@gmail.com> Co-authored-by: Kenenisa Alemayehu <53818162+kenenisa@users.noreply.github.com> Co-authored-by: Qisthi Ramadhani <dizzy.leaps_0f@icloud.com> Co-authored-by: Levente Vig <levente.vig@icloud.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Aether <64797587+Aeastr@users.noreply.github.com> Co-authored-by: Aarav Gupta <atpugvaraa@gmail.com>
Toolbar Visibility Toggle: Added ability to hide/show the toolbar via View menu (Cmd+Shift+D) or context menus in URLBar and sidebar. BrowserView conditionally renders URLBar when toolbar is hidden
URL Display Toggle: Implemented toggle for full URL vs host-only display in both URLBar and sidebar components, accessible via right-click context menus
Sidebar Component Refactor: Extracted URL display logic from SidebarView into a new, reusable SidebarURLDisplay component, following existing patterns (e.g., FavTabsGrid)