Commit Graph

111 Commits

Author SHA1 Message Date
Leon.Schmidt 8e2523d555 ENH - rebuild admin panel as standalone editor 2026-08-20 20:52:36 +02:00
Leon.Schmidt f5b28c7fda CLN - merge dev into admin panel branch 2026-08-20 20:11:24 +02:00
Leon.Schmidt 3a45aa159a ADD - open admin panel by command 2026-08-20 20:10:31 +02:00
Leon.Schmidt 22165d64df ADD - build in-game admin command center 2026-08-20 19:51:26 +02:00
DerEchteAlec dca0868753 FIX - stabilize homescreen dragging across scaling (#18)
* FIX - stabilize homescreen dragging across scaling

Render the home drag preview in an unzoomed viewport portal and normalize FiveM CEF DOM geometry before hit testing and drop settling. Cover Chrome 103, fractional scaling, 4K, ultrawide, and non-16:9 viewport behavior.

* FIX - Implement LB guest app layout and lifecycle bridge

Ensure custom LB apps are properly sized and visible by applying the required CSS contract on initialization and upon receiving the 'componentsLoaded' signal.

* FIX - match uppercase script tags in LB bridge test
2026-08-20 19:14:00 +02:00
Leon.Schmidt 36b859cabb ENH - add persistent dynamic island activities (#17)
* FIX - layer dynamic island above phone camera

The phone screen stacking context kept the Dynamic Island below the physical frame and its camera lens. Render the island at device-shell level, position it around the lens, and keep expanded notification spacing in sync.

* ADD - preview all dynamic island states

Reuse the runtime component for a development-only gallery and size expanded previews to the actual phone display so they cannot be clipped.

* FIX - match dynamic island live activity behavior

Show each activity only outside its owning app, use reference-sized activity layouts, and remove the separate expand glyph in favor of direct island taps.

* FIX - refine dynamic island live controls

Keep background activity state separate from foreground visibility so the island remains visible in the compact closed-phone peek. Match the timer, stopwatch, music, collapse, and spacing behavior to the supplied references.

* FIX - keep business call availability after closing

Stop treating the closed phone UI as the end of business-call readiness. Route background service-line calls only after revalidating the employee, owned device, and registered SIM.

* FIX - remove dock apps from home grid

The stored Home layout treated dock and grid shortcuts independently, so default dock apps appeared twice. Let the dock own those default placements and migrate saved layouts by removing matching grid shortcuts.

* FIX - keep memo island active after closing

Memo recording was cancelled as soon as the UI closed, while uploads required an active UI session and reopening a locked phone forced the home route. Keep the recorder bound to the physical device, revalidate device ownership server-side for uploads, preserve the last route behind the lock screen, and render only a compact frame, display, and live Dynamic Island while closed.

* ENH - align live activity controls with phone hardware

Report compact live-activity state to the client so Space opens Home or the enabled lock screen contextually. Apply the phone hardware volume as a shared output level for app media, games, YouTube playback, radio, and auxiliary sounds, and render the volume speaker icon in grey.

* FIX - hide paused music live activity

The music island previously depended only on the selected track, which remains set after playback pauses. Require active playback as well so the island closes when music stops while preserving the track for later resume.

---------

Co-authored-by: DerEchteAlec <bycraky@gmail.com>
2026-08-20 18:59:51 +02:00
Leon.Schmidt 30559048fd FIX - complete LB custom app compatibility (#11)
* FIX - preserve LB custom app lifecycle

* FIX - reset LB export aliases before startup

* FIX - report competing custom app providers

* FIX - identify LB app frames as live NUI

* FIX - complete LB custom app compatibility

* FIX - provide LB PicChat runtime exports

* FIX - route LB PicChat through Sky Phone

* FIX - return cached LB equipped phone number

* FIX - harden PicChat compatibility migration

* ENH - complete modular phone provider and Creator APIs

* DOC - document the Sky Phone Creator API

---------

Co-authored-by: DerEchteAlec <bycraky@gmail.com>
Co-authored-by: DerEchteAlec <alec.schitzkat@luwan.io>
2026-08-20 18:19:16 +02:00
Leon.Schmidt 5b5e9fe914 FIX - allow movement outside phone text fields (#14) 2026-08-20 15:47:39 +02:00
smx.pusha daa67cfb1e ENH - refine phone setup experience (#12) 2026-08-20 08:55:03 +02:00
Leon.Schmidt c766cb5044 ENH - Browser preview + convert app SVGs to WebP
Introduce a browserPreview mode (isBrowserPreview) with adjusted viewport scaling and CSS (.phone-stage--browser-preview) and update related contract tests. Allow apiBase via URL params in nui utils so the dev build can call a local browser API base. Replace many SVG app icons with WebP (and update imports), swap crypto header PNG to WebP, and add a demo wallpaper image. Testserver now installs demo apps and configures a demo wallpaper; smoke tests updated to assert these browser-demo conditions.
2026-08-19 15:17:26 +02:00
Leon.Schmidt dcf7b47113 FIX - Add detailed custom-app debug logging
Enable verbose tracing for custom apps and wire diagnostics through the stack. Sets Config.CustomApps.Debug = true, adds a debug_custom_app logger exposed as SkyPhoneApps.Debug, and instruments client and shared compatibility code (registration, normalization, provider exports, catalog sync, lifecycle hooks, resource stop, and app add/update/remove) with structured debug messages. Frontend sends a debug flag with the catalog and will call back to NUI (custom-app:catalog-debug) when debug is enabled. Tests updated to enable debug and assert fixBlur preservation and NUI catalog ACK handling. This provides detailed traces for exports, registration, catalog sync and lifecycle events.
2026-08-19 01:27:38 +02:00
Leon.Schmidt 514f4a3981 ENH - connect CityWarn live notifications
Bridge CityWarn bootstrap, publish, update, and resolve callbacks through the phone client. Apply server broadcasts to the active store and surface eligible alerts as localized phone notifications with deep links.
2026-08-18 15:36:35 +02:00
smx.pusha 8b8c88f029 ADD - enable secure VaultX crypto transfers
Give every VaultX profile a unique public receiving key and migrate existing profiles safely. Add server-authoritative, password-confirmed, idempotent crypto-only transfers with atomic balance and ledger updates, recipient refresh events, detailed auth flows, profile key display, localized transfer UI, and browser mock coverage.
2026-08-18 12:01:40 +02:00
smx.pusha 604d2b4084 ENH - simulate live crypto markets
Drive market prices from randomized server intervals with per-market momentum, global trend, mean reversion, bounded shocks, and retained history. Stream authoritative market updates into live holdings, portfolio valuations, and real detail charts while invalidating stale quotes.
2026-08-18 11:41:56 +02:00
Leon.Schmidt 29fb234d5c feat(phone): unify popups and add dynamic island 2026-08-17 22:19:43 +02:00
Leon.Schmidt 1b453e3456 ENH - add muted vibration alerts
Play the supplied notification vibration asset for muted push banners and loop the supplied call vibration asset for muted incoming calls. Remove the synthesized vibration tone, add playback coverage, and provide a development preview for the muted notification path.
2026-08-17 15:30:53 +02:00
Leon.Schmidt 9fe47f8794 FIX - smooth hardware and Control Center volume 2026-08-17 13:15:18 +02:00
DerEchteAlec 7d3a3b7b38 ENH - rework homescreen editing and widgets 2026-08-17 05:16:28 +02:00
Leon.Schmidt a99becff87 ADD - activate phone hardware controls
Overlay accessible hit targets on the rendered phone frame for mute, volume, and power controls. Add the compact iOS volume HUD, localized labels, and full passcode locking when the device is explicitly locked.
2026-08-17 05:00:41 +02:00
Leon.Schmidt 335b9a98b5 FIX - polish banking interactions and transaction details 2026-08-17 00:25:14 +02:00
Leon.Schmidt 49bd7f358f ENH - unify phone notifications as popups
Replace the central Konsta notification banner with the shared Sky UI popup across phone and preview surfaces. Add light and dark materials, app icons, timestamps, routed opening, swipe dismissal, and contract coverage.
2026-08-16 23:32:47 +02:00
Leon.Schmidt 1071b4bde7 feat: unify phone apps with Sky UI 2026-08-16 15:23:21 +02:00
Type 252aba03be ENH - add development setup skip
Add a development-only setup assistant control that skips the wizard for the current frontend session without persisting setup completion or changing backend state. Localize the control through the phone locale fallback and resource locale.
2026-08-16 00:33:39 +02:00
Leon.Schmidt 2f70444071 FIX - modernize lock screen passcode flow
Rebuild device unlock around the current iOS-style wallpaper, outlined keypad, telephone letters, status bar, and keyboard support. Require the passcode only for the first unlock of each open device session so a soft lock from the status bar returns directly after the session is authenticated.
2026-08-15 22:20:06 +02:00
Leon.Schmidt acb71375ec FIX - keep fixed app canvases theme-safe
Override status-bar foregrounds for apps with intentionally fixed light or dark canvases so indicators stay readable in either system mode. Increase LocalPages light-theme accent contrast after the full app audit.
2026-08-15 20:04:54 +02:00
DerEchteAlec 4954c26419 ENH - align Sky UI catalog with Konsta 2026-08-15 00:00:14 +02:00
Leon.Schmidt a9dd46f98f FIX - Inline App Store bundle; CEF-compatible CSS
Make the App Store part of the phone shell (remove preload helper/loadAppStoreComponent and App.vue preload) by importing AppStoreApp in PhoneAppWindow and selecting it when app.id === 'app-store'. Update the apps registry to use an inline import for the async component. Replace unsupported CSS features (:has, color-mix) with CEF-safe alternatives using semantic tokens (--sky-app-accent-soft, --sky-danger-soft) and add explicit .store-action-button/.store-action-button--icon and .store-detail__action classes. Add contract tests to assert the App Store is bundled with the shell and that styles remain compatible with the FiveM CEF target.
2026-08-14 21:04:10 +02:00
smx.pusha 048e72a4ae FIX - preload App Store module
Preload and cache the App Store route module when the phone shell starts so FiveM CEF does not fetch it only after the user opens the app. Cover the shared loader contract with a focused registry test.
2026-08-14 19:51:32 +02:00
Type d0d6f96b7d ENH - merge Picstagram Sky UI updates
Merge the Picstagram Sky UI work and its dependent phone, media, voice, gallery, app store, setup, and UI parity updates into weather-app.

Resolve the frontend development port configuration and retain the Sky UI EasyShare implementation. Frontend validation and local resource deployment completed; included configuration, locale, and SQL updates require no separate migration step beyond this merge.
2026-08-14 17:12:31 +02:00
Leon.Schmidt e81f092991 ENH - rebuild Picstagram with SKYUI
Replace the legacy Konsta-based layout at its source with SKYUI components and responsive app-specific styling. Add media creation, profile and social improvements, comment reactions and replies, plus Activity and phone notification delivery with the required database migration.
2026-08-14 16:39:41 +02:00
smx.pusha e033271cb2 ADD - introduce advanced phone setup and reset flow 2026-08-14 14:35:27 +02:00
smx.pusha 4b438fa1e2 ENH - enable unlocked browser phone preview 2026-08-14 07:26:34 +02:00
DerEchteAlec b59d46b252 ENH - align Sky UI with Konsta kitchen sink 2026-08-14 03:46:38 +02:00
Type 8744640068 Merge branch 'dev' into weather-app 2026-08-13 20:44:26 +02:00
DerEchteAlec 71f21b1e3e ENH - complete Sky UI Konsta parity 2026-08-13 19:06:05 +02:00
Leon.Schmidt f4ed86fd63 ADD - voice memo app 2026-08-13 16:16:32 +02:00
Type ddc92a18d9 Merge branch 'dev' into weather-app 2026-08-13 11:47:07 +02:00
smx.pusha 5852decfc4 Merge remote-tracking branch 'origin/dev' into benja/app-overhaul
# Conflicts:
#	frontend/src/stores/phone.ts
#	frontend/src/views/apps/CrewLinkApp.vue
2026-08-12 21:23:48 +02:00
smx.pusha 011b067846 ENH - unify social app accounts and profiles 2026-08-12 21:21:01 +02:00
DerEchteAlec 81d84acb67 FIX - clean up CEF sheet ownership and preview lifecycle 2026-08-12 19:00:04 +02:00
DerEchteAlec c3b7a0871a FIX - harden phone lifecycle and server authority 2026-08-12 18:59:05 +02:00
smx.pusha 65f8312a26 ADD - seed browser and ingame phone test data 2026-08-12 18:51:03 +02:00
smx.pusha 14f0b7a178 ENH - integrate latest dev into EasyShare 2026-08-12 06:43:14 +02:00
Leon.Schmidt 60c1c40a10 ENH - merge dev into Companies feature 2026-08-11 16:31:27 +02:00
smx.pusha 7d146e709a ADD - implement EasyShare system 2026-08-11 14:57:33 +02:00
Type b3db702a2e ADD - implement weather app camera views
Add the Weather phone experience with live widgets, configuration, and localized status details.\n\nProvide server-authorized, rate-limited remote weather camera sessions with configurable camera locations and safe client cleanup. Include test-server support and weather store coverage.
2026-08-11 12:52:52 +02:00
smx.pusha 67edb404c6 ENH - expand phone app experience 2026-08-11 12:51:59 +02:00
Dominik ebac6e5509 ENH - make phone identity and SIM cards configurable 2026-08-11 12:25:51 +02:00
Leon.Schmidt 42ac955052 ADD - expand phone application platform
Add the Companies app, resilient call handling, custom app registry, vendor compatibility, storage policies, frontend bridge, tests, documentation, config, locale, and SQL migrations.
2026-08-11 00:22:39 +02:00
smx.pusha 72e5f91e02 ADD - merge CrewLink app 2026-08-10 21:02:50 +02:00