Commit Graph

708 Commits

Author SHA1 Message Date
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
DerEchteAlec 3eae2b8d30 ADD - check GitHub releases on startup (#10)
Compare the fxmanifest version against the latest published sky_phone release tag and report update, current, ahead, and failure states without blocking resource startup.

Document the startup check and cover the HTTP and version comparison behavior with a focused Lua test.
2026-08-19 20:57:02 +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
Alec Schitzkat 2aee913efc BLD - Support updating existing GitHub releases
Update the release workflow to check for an existing release tag before creation. If a release is already present, upload the assets using the --clobber flag to ensure the workflow is idempotent and prevents failures on reruns.
0.1.0
2026-08-19 16:17:26 +02:00
Alec Schitzkat f67872d744 DOC - Remove fixed width from README header banner
Remove the hardcoded width attribute to allow the banner image to scale naturally within the repository description.
2026-08-19 15:44:51 +02:00
Alec Schitzkat f30cd7a7c8 DOC - Update README header banner
Replace the live demo button image with the repository banner in the README header.
2026-08-19 15:44:28 +02:00
Alec Schitzkat 0927327574 DOC - Relocate README assets to .github/assets
Move documentation images into a centralized .github/assets directory and update the README image references. This change includes relocating the live demo button and adding a new repository banner.
2026-08-19 15:43:21 +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 dae67a48b8 Document supported inventory adapters
Clarify the supported database, framework, and inventory requirements in the README. Add a compatibility table covering metadata support, unique phone behavior, and adapter-specific notes for ESX, QBCore, and Qbox setups.
2026-08-19 14:28:14 +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
Leon.Schmidt 5735450c06 DOC: Tidy README headings and copy
Small documentation edits in README.md and sky_phone/README.md: update image alt text to "Sky Phone, the free FiveM phone script", change title punctuation from an em dash to a colon ("Sky Phone: Free FiveM Phone Script"), and adjust a sentence comma/em-dash usage for clarity. No functional changes.
2026-08-19 12:44:03 +02:00
Leon.Schmidt df824612b3 Add preview image and refine live-demo SVG
Add readme preview PNG and tweak live-demo-button.svg visuals: introduce a banner clipPath, add a shadowed background rect, wrap the main artwork in a clipped group, and move the outer border stroke outside the clipped area so the stroke renders correctly. Also remove a small teal accent circle. These changes improve rendering and provide a preview asset for the README.
2026-08-19 12:41:03 +02:00
Leon.Schmidt c3f42410a1 Use local live-demo SVG in READMEs
Add readme-assets/live-demo-button.svg and update README.md and sky_phone/README.md to reference the local SVG instead of the external shields.io badge. Replaces the remote badge with a bespoke SVG (larger, styled) and updates image paths/attributes for consistent appearance and offline reliability.
2026-08-19 12:37:11 +02:00
Leon.Schmidt 4df7f03901 Increase demo badge height in READMEs
Bump the 'TRY_THE_LIVE_DEMO' badge height from 76 to 156 in README.md and sky_phone/README.md to improve visibility of the live demo link in repo and package views. No functional changes; purely presentational.
2026-08-19 12:34:16 +02:00
Leon.Schmidt 171e4e50ba Refresh README badges and docs
This commit updates the live demo badge sizing in both README files and removes the outdated 'Updating Sky Phone' guidance from the published documentation. The goal is to keep the docs aligned with the current branding and avoid directing users through obsolete upgrade steps.
2026-08-19 12:32:44 +02:00
Leon.Schmidt b4efa28b3c Add live demo badge and link to READMEs
Insert an interactive "Try the live demo" badge and a short call-to-action into README.md and sky_phone/README.md, and add a "Live demo" link to the header links. Also remove an outdated sentence about maintaining separate ESX/QBCore/Qbox phone versions from the top-level README.
2026-08-19 12:30:16 +02:00
Leon.Schmidt 0c52eb14e9 DOC - Enhance README with features and branding
Restructure root and resource READMEs with professional header, badges, and visual hierarchy. Expand feature documentation organized by category (communication, social, business, media, games, system). Add hex_4_inventory and native ESX inventory support with adapter notes. Enhance custom app section explaining native API and compatibility. Update LB Phone migration docs with Flare support. Add Support and Community section with Discord link. Explicitly license under GPL-3.0.
2026-08-19 12:16:12 +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 c37c2a7628 FIX - validate migration channel participants
Resolve DarkChat participant profiles only after confirming that a source channel contains exactly two members. This lets incomplete and group channels be counted as unsupported while the remaining LB Phone migration domains continue without a nil-index failure.
2026-08-19 01:18:13 +02:00
DerEchteAlec 6b46ba952e CLN - ignore private development artifacts
Remove the local Claude instruction file and ignore internal build scripts, private notes, documentation, rewrite metadata, and backup bundles.
2026-08-18 23:03:49 +02:00
DerEchteAlec 21eeead2ea DOC - add public contributor instructions
Restore a concise AGENTS.md without credentials, infrastructure details, local paths, deployment targets, or references to removed internal files.
2026-08-18 22:57:16 +02:00
DerEchteAlec 0e7f30ecc7 DOC - add Sky Phone code of conduct
Adopt Contributor Covenant 2.1 with Sky Phone scope, maintainer responsibility, and the official private reporting route.
2026-08-18 22:51:46 +02:00
DerEchteAlec 969716bda7 ADD - add GPLv3 license 2026-08-18 22:33:53 +02:00
Leon.Schmidt 08a56ebb56 Move README into resource folder
Relocates the project README from the repository root into the sky_phone resource directory so it sits alongside the resource files and matches the project layout.
2026-08-18 20:20:19 +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
Leon.Schmidt 4984fbc609 FIX - quote reserved locale return keys
Quote the VaultX portfolio return key in the English and German locale tables. This preserves the existing locale lookup while allowing Lua to parse both files successfully.
2026-08-18 17:54:39 +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 1a2189ceb8 ADD - implement authoritative CityWarn service
Add server-owned warning persistence, immutable update history, publishing limits, and CityWarn callbacks. Enforce framework job, grade, duty, category, severity, session, and rate-limit checks before every state change.
2026-08-18 15:36:08 +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