-
Notifications
You must be signed in to change notification settings - Fork 0
[FEAT] Terminal improvements with multi-tab support, bug fixes #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+8,950
−542
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… and bug fixes TERMINAL IMPROVEMENTS: - Add multi-tab terminal interface supporting multiple terminals per app - Implement TerminalWindowManager component for floating terminal windows - Add drag and resize functionality for detached terminal windows - Support multiple layout modes: grid, horizontal split, vertical split - Add 'pop out all' button to detach all terminals simultaneously - Add individual unpin/pin functionality for each terminal - Fix terminal resize issues when unpinning to floating windows - Fix terminal disposal addon errors when closing terminals - Add terminal manager UI with grid/list view toggle - Improve terminal state management and visibility control BUG FIXES: - Fix logout race condition preventing API calls during logout process - Add logoutTrigger checks in executeLocalCommand, getInstancesForDropDown, getInstalledApplicationSpecifics, and getDecryptedEnterpriseFields - Mark user as unauthorized immediately on logout to prevent new API calls - Suppress error messages during auto-logout for better UX - Add 300ms delay to display logout toast before clearing auth data - Auto-populate repoauth field for v7+ app compose components - Auto-add secrets field for v7 app compose components - Fix localStorage key inconsistency: change 'logintype' to 'loginType' in Login.vue and LoginModal.vue for SSP login - Add auto-reload on chunk load failures after deployment - Prevent infinite reload loops with sessionStorage flag UI/UX IMPROVEMENTS: - Fix InstallDialog close button size (x-small -> default) - Add light theme support for hardware selection cards - Improve hardware card hover effects in light mode - Update VolumeBrowser deprecated ::v-deep syntax to :deep() - Fix progress spinner glow effect and overflow handling DEPENDENCIES: - Add [email protected] for floating window functionality TRANSLATIONS: - Add terminal manager translations for English and Polish - New keys: newTerminal, popOutAll, manager.title, manager.layoutGrid, manager.layoutHorizontal, manager.layoutVertical, manager.unpinToTabs, manager.closeTerminal FILES CHANGED: - Modified: Terminal.vue (1289 lines), [appName].vue (35 lines), SubscriptionManager.vue (14 lines), InstallDialog.vue (13 lines), VolumeBrowser.vue (20 lines), main.js (28 lines), Login.vue (2 lines), LoginModal.vue (2 lines), en.json (10 lines), pl.json (12 lines), package.json (1 line), components.d.ts (3 lines) - Added: TerminalWindowManager.vue Total: 12 modified files, 1 new file, ~1,400 lines changed
…rminal event naming Backend IP Selector Enhancements: - Add searchable dropdown for backend IP selection in app management view - Implement independent search field in dropdown prepend-item slot that filters available IPs without affecting current selection - Add ipSearchQuery ref and filteredIPs computed property for reactive IP filtering - Configure dropdown to prevent auto-scroll to selected item, keeping search field visible at top - Add watcher to force scroll to top when menu opens, ensuring search field is always accessible - Clear search query automatically after IP selection - Style list items with success (green) color for better visual feedback - Import nextTick from Vue for proper DOM update handling Terminal Component Fixes: - Convert all custom event names from kebab-case to camelCase to comply with Vue linting standards - Update event emitters in TerminalWindowManager.vue: close-window → closeWindow, unpin-terminal → unpinTerminal, close-terminal → closeTerminal, terminal-ready → terminalReady, reorder-terminals → reorderTerminals - Update corresponding event listeners in Terminal.vue to match camelCase naming - Add code formatting improvements and blank line consistency throughout terminal components Other Changes: - Fix trailing comma formatting in SubscriptionManager.vue - Add blank lines for better code readability across multiple components - Fix minor whitespace and indentation issues
…vements ## Landing Page Refactor - Renamed BannerSlider.vue → LandingServices.vue to better reflect purpose - Added complete i18n support for all text content - Reduced spacing for better visual density: - Section top padding: 2rem → 1.5rem - Section bottom padding: 4rem → 1rem - Features grid top margin: 3rem → 0.5rem - Updated component registry and home.vue imports ## i18n Translations Added - English and Polish translations for landingServices section - Translation keys for 6 services (Flux Cloud, Flux AI, Flux Drive, Flux Edge, Flux Marketplace, WordPress on Flux) - Each service includes: name, description, and category - Added "Our Services" title and "Explore" button translations ## Top Navbar Responsive Improvements - BackendSelector: Show icon-only button on mobile, full button on desktop - FluxAIToggler: Responsive button sizing (icon-only on mobile, text+icon on desktop) - Added responsive gap spacing in navbar (0.5rem default, adjusts per breakpoint) - Removed unnecessary d-none d-md-flex wrapper from BackendSelector - Added backend URL tooltip for mobile icon button ## App Management UI Fixes - AppDetailsCard: Hide hash, registeredOnBlockheight, and expiresIn fields in expired apps tab - Added expiredAppsTab prop to control field visibility - Updated tabView.vue to pass expiredAppsTab prop ## Terminal Security Enhancement - Added logout callback prop to Terminal component - Implemented authorization error detection in socket error handler - Auto-logout on "not authorized" socket errors to prevent security issues - Passed logout function from [appName].vue to Terminal component ## Dependencies - Added element-plus@^2.11.7 to package.json Files changed: 13 files, 320 insertions(+), 365 deletions(-) - Deleted: src/components/BannerSlider.vue - Added: src/components/LandingServices.vue
Cabecinha84
approved these changes
Nov 10, 2025
Member
Cabecinha84
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ack to be tested on development
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TERMINAL IMPROVEMENTS:
BUG FIXES:
UI/UX IMPROVEMENTS:
Backend IP Selector Enhancements:
DEPENDENCIES:
TRANSLATIONS: