v0.9.3
Files
A full file manager joins the phone as a base app — preinstalled for everyone, with Browse and Recents tabs, nested folders, text documents with a built-in editor, imported images and external files, AirShare to nearby phones, and per-character persistence that follows your phone across sessions and SIM restores.
Files is also the phone's new paperwork layer for other scripts: an exports API lets any resource put documents on a player's phone — citations from an MDT, contracts from a dealership, licenses from city hall.
createDocument/createDocumentForNumbercreate documents with named folders (auto-created), live delivery into an open phone, and optional notification banners- Documents marked
lockedare read-only for the player — no editing, renaming, or deleting — while the issuing resource can still revoke them withdeleteDocumentById getPlayerDocumentsandgetDocumentContentread a player's library back- Illustrated documents: in the read-only view, any content line that is exactly one URL renders as an inline image — dossiers with surveillance stills, deeds with property photos, inspection reports with a picture per finding, all in a single document
- Full API reference with worked examples at docs.samueldev.shop
Document signatures
Documents can now be signed — and the signatures are real, not decoration (suggested by the community, thank you!).
- Draw your signature once on a signature pad, or type your name and pick one of four signature styles (Elegant script, Script, Formal italic, Typewriter); after that, signing any document is one tap with a confirmation dialog
- Signatures are server-verified: each records the signer's identity, their display name frozen at signing time, an image snapshot, and the timestamp. The verified badge renders from server rows, never from document text — a signature cannot be forged by typing a name
- Signing freezes the document's content and name; delete, move, duplicate and AirShare stay available, and shared copies carry their signatures verifiably
- Script-issued locked documents are signable by design — issue a locked agreement, then check for the player's signature before releasing keys or titles
- New
getDocumentSignaturesandisDocumentSignedexports for that verification, documented with dealership and court examples
Unique phones & SIM setups
The unique-phones system grew into a family of setups, with a pick-your-setup guide in configs/uniqueandsim.lua (#81).
- Device-owns-data mode: the phone item owns the data — swap phones and your world moves with the handset, exactly like real hardware
- Built-in numbers mode: unique phones without SIM cards; every handset carries its own number
- Character data mode: the stock per-character data model with SIM-card numbers layered on top
- Blank SIM cards now self-activate on first use
- Phones open instantly: the SIM resolve moved off the reveal path (#79)
Wallpapers, like a real iPhone
- Separate Lock Screen and Home Screen wallpapers — tap either preview on the Wallpaper page to set that screen individually, or choose one wallpaper for both (#91)
- A blur toggle per screen, both persisted — blur previously reset on every reconnect
- The previews are now true-to-phone miniatures of your actual screens: your customized lock clock, the real icon grid and dock, and live blur that matches the in-game effect exactly
Settings
- Phone scale and phone position finally persist across restarts and reconnects (#84 — thanks for the report!), and they ride SIM backups too (#85, #87)
- Software Update now shows the real installed version and checks the latest GitHub release — when a new release is out, the page tells you (#89)
- Slider changes now write once per drag instead of once per tick (#88)
- A polish pass across the settings sub-pages: list dividers run full-bleed, hero cards sit on the house card grey, and the battery percentage is finally legible in light mode (#89, #90)
- The Files icon joined the dark-tile family — no more bright white glare in the icon set (#92)
Input & controls
- Scroll lock: with the phone open, the mouse wheel belongs to the phone — no more changing radio stations while scrolling a list in a car, no weapon cycling on foot (#95)
- Number pads don't freeze you anymore: entering your lockscreen PIN or dialing keeps WASD movement alive, while proper text typing still locks input to the field as before (#96)
- Physical keyboard support for every digit keypad — lockscreen, dialer, payphone, Face Unlock (#83)
Apps round-up
- Birdy: a frontend polish pass with new feather branding, and post timestamps now follow the app's locale (#68)
- Dark Chat: a per-room notifications toggle, and room creators can remove members (#73)
- Services: per-job commission on paid business invoices (#80)
Localization
- Turkish (tr) catalog — teşekkürler! (#77)
- The English catalog topped up with 256 keys that were missing from the scan
Upgrading
Drop-in: all new database columns and tables (settings persistence, per-screen wallpapers, signatures) create and backfill themselves on first boot — no manual migration. As always, the attached sd-phone.zip ships the built UI.