Commit Graph

579 Commits

Author SHA1 Message Date
Alec Schitzkat 5dba13ce4b 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.
2026-08-20 19:05:07 +02:00
DerEchteAlec 33e6b1aa46 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.
2026-08-20 19:05:07 +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
DerEchteAlec d0317a35c0 ENH - refine phone setup (#15)
* ENH - refine phone setup experience

* FIX - refine settings header and search icon

* FIX - refine compact weather layout

* ENH - fade empty music widget content

* ENH - align gallery filter navigation

* FIX - align memo player content

* ENH - refine notes header and compose controls

* ENH - refine phone liquid glass controls

* ENH - apply liquid glass across app controls

* FIX - correct messages GIF picker layout

---------

Co-authored-by: smx.pusha <139338836+smxpusha@users.noreply.github.com>
2026-08-20 18:26:03 +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
DerEchteAlec 9aec3eefef FIX - resolve CodeQL security alerts (#16) 2026-08-20 17:26:26 +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
Dominik 734f4651cb ADD - add housing provider bridges (#6)
Co-authored-by: DerEchteAlec <alec.schitzkat@luwan.io>
2026-08-19 20:11:36 +02:00
DerEchteAlec 98373e8bd8 FIX - await setup persistence before completion (#9) 2026-08-19 20:08:33 +02:00
DerEchteAlec 64a7bc78c6 FIX - Improve test data idempotency and reliability (#7)
Refactor test data seeding to use deterministic identifiers for DarkChat and Flare, ensuring re-runs don't create duplicate entries or inconsistent states. Implement robust SIM card movement logic and add contract tests to verify seeding constraints and default configuration safety.
2026-08-19 19:41:54 +02:00
Leon.Schmidt 7985ca08d9 ADD - integrate Yaca voice support (#5) 2026-08-19 17:04:23 +02:00
DerEchteAlec 7644dec3a3 BLD - add GitHub contribution and release automation (#3)
* BLD - add GitHub contribution and release automation

* BLD - restrict dev merges to maintainers

* BLD - add automated review and PR test resources

* DOC - require AI governance checks

* FIX - pin patched nanoid dependency

* TRY - trigger webhook delivery

* TRY - verify webhook routing

* TRY - rerun pull request checks
2026-08-19 15:26:50 +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 e98d8f06ce Replace settings SVG with WebP asset
Remove frontend/src/assets/img/app-icons/settings.svg and update frontend/src/config/apps.ts to import the rasterized settings.webp instead of the deleted SVG. Aligns the settings icon format with other app icons (WebP) without behavioral changes.
2026-08-19 12:49:51 +02:00
smx.pusha 3f91fd3ab7 ENH - add authentic App Store previews 2026-08-19 09:12:13 +02:00
Leon.Schmidt ba37777435 fix LB Phone migration and German locale 2026-08-19 08:18:20 +02:00
smx.pusha bcb0a01cba FIX - correct Feather suggestion controls
Keep the suggestion profile trigger separate from the shared follow button so the follow label no longer stretches across profile cards. Use the shared Sky scroll rail with a visible CEF-compatible scrollbar for mouse-wheel and pointer navigation, and cover the layout contract with focused tests.
2026-08-19 07:39:06 +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 8843b2763f FIX - load memos/notes before phone; guard darkchat
Add a contract test to ensure bootstrap data providers (memos/notes) are initialized before phone startup. Reorder fxmanifest.lua so source/server/memos.lua and source/server/notes.lua load prior to phone.lua. Fix lb_phone_migration.lua dark chat migration to avoid indexing missing usernames by only resolving profiles when a channel has exactly two members, preventing nil lookups and incorrect comparisons.
2026-08-19 01:18:13 +02:00
Leon.Schmidt df6b06c6db FIX - support HEX inventory compatibility
Auto-detect hex_4_inventory and add a count-based ESX adapter for non-unique, virtual-SIM phone configurations. Expose the LB Phone IsOpen alias required by HEX and document/test the supported configuration boundaries.
2026-08-18 20:06:50 +02:00
smx.pusha 550b9a3437 ENH - refine VaultX account experience
Simplify the VaultX login and registration flow around the linked Sky Cloud identity, enlarge the authentication controls, and use the application logo. Add a confirmed sign-out dialog with localized copy and update the VaultX contracts.
2026-08-18 16:58:25 +02:00
Leon.Schmidt b7e966948f ADD - extend CityWarn browser mocks
Provide English active and archived population warnings plus stateful publish, update, resolve, and read-only scenarios for live preview. Extend the browser smoke suite to verify CityWarn bootstrap content and publisher access.
2026-08-18 15:36:53 +02:00
Leon.Schmidt 4bb46e63fd FIX - keep CityWarn rendering crisp
Disable the persistent compositor hint for the CityWarn app window so text does not alternate between blurred and sharp states during interaction. Keep the exception scoped to CityWarn and cover the host-class contract.
2026-08-18 15:36:45 +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
Leon.Schmidt 165d26ec9b ADD - register CityWarn phone app
Register CityWarn as a built-in, non-removable phone app with notification defaults and catalog ordering. Add its runtime WebP icon and update app inventory contracts to cover installation and launch metadata.
2026-08-18 15:36:26 +02:00
Leon.Schmidt 742b2d2a0d ADD - build localized CityWarn experience
Add the Pinia domain, citizen feed, map, archive, settings, alert detail, and authorized publishing workflows. Ship complete German and English locale trees with a browser-safe fallback and contract coverage for every CityWarn label.
2026-08-18 15:36:17 +02:00
Leon.Schmidt 0aa601c4ff FIX - simplify VaultX account flows
Keep login and registration actions visible in a dedicated footer and enlarge the password guidance. Remove the network badge, gradients, and glows from VaultX action buttons. Fix the registration mock by tracking registration state and persisting the submitted password so the new mock account can authenticate afterward.
2026-08-18 14:34:32 +02:00
Leon.Schmidt e128408c8d FIX - align FlipTok profile controls
Match the video profile action container to the avatar geometry so the follow control centers beneath the image. Remove visible authentication header titles while retaining accessible labels, and anchor connection fallbacks to their avatar frames.
2026-08-18 14:34:25 +02:00
Leon.Schmidt 1b191fd127 fix(feather): refine more menu and profile actions 2026-08-18 14:00:36 +02:00
smx.pusha 481f7e5be7 ADD - merge VaultX crypto app into dev
Integrate the complete VaultX application, including account flows, server-authoritative trading, live market cycles, wallet transfers, profile management, and the refined mobile interface.
2026-08-18 13:57:19 +02:00
smx.pusha 00835ff01c ENH - unify VaultX popup forms
Apply one shared input treatment across trade, transfer, settlement, and profile sheets. Remove redundant header close controls and give wallet-key verification the full popup width.
2026-08-18 13:54:34 +02:00
smx.pusha 23ed75f8f3 FIX - unify VaultX sheet grabber
Render the sheet gradient once on the panel so the transparent drag area joins the content without a background seam. Make the grabber an accessible close button while preserving swipe dismissal.
2026-08-18 13:46:40 +02:00
smx.pusha 667c83a3d4 ENH - refine VaultX settlement sheets
Give deposit and withdrawal a wider composed form with dedicated field cards, security context, and a stronger submit action. Remove the header close control from settlement sheets while preserving swipe, backdrop, and escape dismissal, and update the UI contract coverage.
2026-08-18 13:37:25 +02:00
smx.pusha 438225f31d FIX - raise VaultX activity filter content
Move the grouped Activity icons and labels three pixels upward to match the intended optical alignment inside the segmented control.
2026-08-18 13:32:36 +02:00
smx.pusha 94681e20c1 FIX - center VaultX activity filters
Remove the extra vertical translation from the grouped Activity filter content so icons and labels use the segmented button's exact flex center.
2026-08-18 13:30:25 +02:00
smx.pusha a36d0ab28d FIX - lower VaultX activity filter content
Move each centered activity icon-label group downward to correct the visible vertical alignment at the scaled phone size. Keep the three filters on the same baseline and cover the final optical offset in the contract test.
2026-08-18 13:25:57 +02:00
smx.pusha 485df28b46 FIX - center VaultX activity filter groups
Group each activity filter icon and label into one content-sized flex row so the pair is centered as a unit instead of positioning the icon independently. Preserve the optical vertical offset and verify all three groups through the VaultX contract.
2026-08-18 13:22:16 +02:00
smx.pusha 334f9f24fc FIX - optically center VaultX activity filters
Offset the activity filter icons and labels together to compensate for the font baseline and Lucide SVG view boxes at the scaled phone size. Preserve equal alignment across all three filters and cover the optical offset in the contract test.
2026-08-18 13:08:38 +02:00
smx.pusha 88913eb881 FIX - clear VaultX profile navbar
Remove the remaining profile-only navbar root, gradient, blur, and divider behind the sign-out action. Keep all other VaultX headers unchanged and verify the profile header layers remain transparent.
2026-08-18 13:05:47 +02:00
smx.pusha 0adb36b511 FIX - remove VaultX sign-out backdrop
Remove the navbar slot glass surface behind the profile sign-out action while preserving the styled button, hover state, and accessible touch target. Cover the transparent slot treatment with the VaultX contract test.
2026-08-18 12:56:28 +02:00
smx.pusha 6def666e1b FIX - align VaultX activity filters
Center every activity filter icon and label on the segmented control axis so differing SVG baselines no longer shift the visual height. Keep the alignment covered by the VaultX contract test.
2026-08-18 12:53:52 +02:00
smx.pusha f657d1f63b ENH - add slow VaultX market cycles
Drive server-authoritative prices through alternating global and per-market trend phases with eased transitions, reduced noise, momentum, mean reversion, and rare bounded shocks. Mirror the cycle model in browser mocks and slow development preview ticks so charts show readable highs and downs.
2026-08-18 12:49:35 +02:00
smx.pusha c319cc57be FIX - center VaultX detail logos
Scope the detail title text layout to its final span so it no longer overrides CryptoLogo's centered grid. This keeps every market SVG centered inside its header mark.
2026-08-18 12:42:02 +02:00
smx.pusha 10d720e188 FIX - refine VaultX sign out action
Replace the ambiguous profile header icon circle with a compact labeled sign-out pill. Add clear danger styling, hover and pressed feedback, and keep the action within the navbar bounds.
2026-08-18 12:38:28 +02:00
smx.pusha cea4d065ab FIX - polish VaultX profile editor
Remove the profile sheet close affordance and eliminate the nested outline inset so the editor aligns with the sheet interaction surface. Restyle the fields, password autocomplete, security note, and primary save action as a cohesive full-width form.
2026-08-18 12:35:34 +02:00
smx.pusha 208e38bbc5 FIX - align VaultX activity controls
Center each filter label independently from its icon and replace the oversized completion ring with a compact readable status tile.
2026-08-18 12:29:59 +02:00
smx.pusha 3b66b13e43 ENH - stream live VaultX market movement
Run smaller server-authoritative market ticks every few seconds, update portfolio and chart values from batched prices, and mirror the live feed in the browser test server.
2026-08-18 12:23:56 +02:00
smx.pusha d4e5526d16 FIX - stabilize VaultX wallet key actions
Keep copy and share labels contained inside the profile card and cover partial locale payloads with a regression test.
2026-08-18 12:16:57 +02:00
smx.pusha efa1ae523c FIX - contain VaultX quick actions
Complete the VaultX frontend fallback locale for auth, transfers, profile keys, and activity labels so browser previews never render raw translation paths. Shorten and constrain the send quick action so all four cards remain equal-width on the phone surface.
2026-08-18 12:12:35 +02:00