Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 12 additions & 9 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ octosense-reference = { path = "apps/reference" }
makepad-sheets = { git = "https://github.com/OctoSense-org/makepad.git", rev = "68d1f4ecc111daa90c50530e77df3245f05fc2cf", default-features = false }
makepad-terminal = { git = "https://github.com/OctoSense-org/makepad.git", rev = "68d1f4ecc111daa90c50530e77df3245f05fc2cf" }
octosense-appcard = { path = "apps/appcard/module" }
octosense-app-hub-app = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "f762267864fc3d68631b46924899cff324f7d157" }
octosense-app-hub-app = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "d2ca3a30ce06b0b1390cff305520962731baa1f8" }
makepad-calculator = { git = "https://github.com/OctoSense-org/makepad.git", rev = "68d1f4ecc111daa90c50530e77df3245f05fc2cf", default-features = false }
makepad-clock = { git = "https://github.com/OctoSense-org/makepad.git", rev = "68d1f4ecc111daa90c50530e77df3245f05fc2cf", default-features = false }
makepad-notes = { git = "https://github.com/OctoSense-org/makepad.git", rev = "68d1f4ecc111daa90c50530e77df3245f05fc2cf", default-features = false }
Expand Down Expand Up @@ -106,19 +106,22 @@ octoscript-makepad = { git = "https://github.com/OctoSense-org/Octoscript-Makepa
octoscript-node = { git = "https://github.com/OctoSense-org/Octoscript-Makepad.git", rev = "aa80f72c509c767faf04822b939d44b2f34fbc81" }
# --- App Hub's host service registry the Mail and llm services register
# into; the same revision as App Hub's app crate (a native app, above).
octosense-appstore = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "f762267864fc3d68631b46924899cff324f7d157" }
octosense-appstore = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "d2ca3a30ce06b0b1390cff305520962731baa1f8" }
# The app policy (resolution, isolate settings, the Splash adapter) and the
# Hub client the Card runner resolves an app's policy with; the shell's
# glance tiles run cards under it (crates/shell/src/glance_card.rs).
octosense-app-policy = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "f762267864fc3d68631b46924899cff324f7d157" }
octosense-app-hub = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "f762267864fc3d68631b46924899cff324f7d157" }
octosense-app-policy = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "d2ca3a30ce06b0b1390cff305520962731baa1f8" }
octosense-app-hub = { git = "https://github.com/OctoSense-org/OctoSense-App-Hub", rev = "d2ca3a30ce06b0b1390cff305520962731baa1f8" }
# The app contract (ADR 0005), from crates.io by version: App Hub, the shell
# and Rinx all depend on `octosense-app-contract = "1"`, so Cargo links ONE
# 1.x for the whole build (Cargo.lock pins the exact version OctoSense ships)
# and App Hub and Rinx no longer need the same App Hub commit.
octosense-app-contract = "1"
# --- octos: ONE source for every octos crate (octos-org/octos main at
# 39e22d45, after #2709 and #2704, a deleted sub-account's or profile's
# --- octos: ONE source for every octos crate (reviewed octos#2715 at
# b0759a57: bounded ledger session-directory names, serialized peer purge
# against session writes, and provider transport diagnostics that omit
# credentials, request bodies and URL queries.
# Based on 39e22d45, after #2709 and #2704, a deleted sub-account's or profile's
# keychain items released; #2697 and #2695, peer/purge residue kept on its
# tombstone; #2692, a stdio turn's terminal after its queued envelopes;
# #2677, option-like revisions refused in workspace history show/diff;
Expand All @@ -140,12 +143,12 @@ octosense-app-contract = "1"
# keeps its peer/input, and #2645, Bing News's Chinese results).
# Move octos-core, octos-cli and octos-research together; the Android kernel
# artifact (liboctos.so) is built from this same revision.
octos-core = { git = "https://github.com/octos-org/octos.git", rev = "39e22d457c47df57d7c7c9fa64539979c9da93fd" }
octos-cli = { git = "https://github.com/octos-org/octos.git", rev = "39e22d457c47df57d7c7c9fa64539979c9da93fd", default-features = false }
octos-core = { git = "https://github.com/octos-org/octos.git", rev = "b0759a57719fd35b3a2da1c5d969bc67538ed516" }
octos-cli = { git = "https://github.com/octos-org/octos.git", rev = "b0759a57719fd35b3a2da1c5d969bc67538ed516", default-features = false }
# The research engine (the metasearch, the SSRF-safe polite reader and the
# toolbox scope) for the toolbox's `octos-engine` feature. Same source and
# revision as above.
octos-research = { git = "https://github.com/octos-org/octos.git", rev = "39e22d457c47df57d7c7c9fa64539979c9da93fd", default-features = false }
octos-research = { git = "https://github.com/octos-org/octos.git", rev = "b0759a57719fd35b3a2da1c5d969bc67538ed516", default-features = false }
# --- AppCard's inline renderers.
streaming-markdown-kit = { git = "https://github.com/Project-Robius-China/streaming-markdown-kit.git", branch = "main" }
makepad-diagram-kit = { git = "https://github.com/Project-Robius-China/makepad-diagram-kit.git", branch = "main" }
Expand Down
2 changes: 1 addition & 1 deletion apps/ai-providers/host-service/src/sheets.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ let Field = TextInput{width: Fill height: 40
border_color: #x00000000 border_color_hover: #x00000000 border_color_focus: #x007aff border_color_empty: #x00000000 border_radius: 10.0}
draw_text +: {color: #x1c1c1e color_hover: #x1c1c1e color_focus: #x1c1c1e color_empty: #x8e8e93 color_empty_hover: #x8e8e93}
}
let Caption = Label{text: "" draw_text.color: #x8e8e93 draw_text.text_style.font_size: 11}
let Caption = Label{width: Fill height: Fit flow: Right{wrap: true} text: "" draw_text.color: #x8e8e93 draw_text.text_style.font_size: 11}
let Note = Label{width: Fill text: "" draw_text.color: #x3a3a3c draw_text.text_style.font_size: 12}
let Choice = ButtonFlat{height: 32 width: Fill
draw_bg +: {border_radius: 8.0 color: #xf2f2f7 color_focus: #xf2f2f7 color_hover: #xe5e5ea color_down: #xd1d1d6 border_size: 0.0}
Expand Down
2 changes: 1 addition & 1 deletion apps/calendar/bundle/main.splash
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ SolidView{width: Fill height: Fill flow: Overlay align: Align{x: 0.5} draw_bg.co
Primary{text: "Edit" on_click: || edit_existing()}
}
ScrollYView{width: Fill height: Fill flow: Down padding: 20 spacing: 18
event_title := Label{width: Fill text: "" draw_text.color: ink draw_text.text_style: theme.font_bold{font_size: 28}}
event_title := UiTitle{text: ""}
SolidView{width: Fill height: Fit flow: Down padding: 18 spacing: 8 draw_bg.color: ui_field
Caption{text: "WHEN"}
event_when := Label{width: Fill text: "" draw_text.color: accent draw_text.text_style: theme.font_bold{font_size: 21}}
Expand Down
16 changes: 15 additions & 1 deletion apps/camera/bundle/main.splash
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@ fn start_recording(){
}
fn stop_recording(){
ui.cam.record_stop()
settle_recording()
}
fn settle_recording(){
recording = false
if rec_timer != nil { stop_timer(rec_timer); rec_timer = nil }
ui.rec_box.set_visible(false)
Expand Down Expand Up @@ -105,7 +108,17 @@ fn open_viewer(){
ui.viewer.set_visible(true)
}
fn close_viewer(){ ui.viewer.set_visible(false) }
fn failed(){ ui.toast.set_text(ui.cam.error()) }
fn failed(){
// Recording starts asynchronously. A failed native request clears the
// camera's recording state; stop its UI timer without issuing another
// recording request. An unrelated error must not stop a healthy recording.
if recording && !ui.cam.is_recording() { settle_recording() }
ui.toast.set_text(ui.cam.error()) ui.retry_camera.set_visible(true)
}
fn retry_camera(){
ui.toast.set_text("") ui.retry_camera.set_visible(false)
ui.cam.start()
}
fn boot(){
load_shots()
show_thumb()
Expand Down Expand Up @@ -140,6 +153,7 @@ SolidView{width: Fill height: Fill flow: Overlay draw_bg.color: #000000
}
}
toast := Label{width: Fill align: Align{x: 0.5} padding: 8 text: "" draw_text.color: #xffd60a draw_text.text_style.font_size: 14}
retry_camera := Chip{visible: false text: "Retry camera" on_click: || retry_camera()}
View{width: Fill height: Fill}
zooms := View{width: Fill height: Fit flow: Right spacing: 8 align: Align{x: 0.5} padding: Inset{bottom: 12} on_render: || {
for z in [1 2 5] {
Expand Down
14 changes: 13 additions & 1 deletion apps/maps/bundle/main.splash
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ fn fix_origin(){
if origin.picked { return }
if sys.gps("ok") >= 1 {
origin = {lat: sys.gps("lat") lon: sys.gps("lon") name: "Your location" picked: false}
location_note("")
}
}
fn load_recents(){
Expand Down Expand Up @@ -114,6 +115,7 @@ fn pick(p){
}
if finding == "origin" {
origin = {lat: p.lat lon: p.lon name: p.name picked: true}
location_note("")
finding = ""
show("route")
return
Expand All @@ -123,8 +125,17 @@ fn pick(p){
remember(p)
show("place")
}
fn location_note(message){
ui.location_status.set_text(message)
ui.location_status.set_visible(message != "")
}
fn use_my_location(){
origin = {lat: origin.lat lon: origin.lon name: "Your location" picked: false}
let request = sys.request_location()
// Keep the previous, honestly named origin until a real fix arrives.
origin = {lat: origin.lat lon: origin.lon name: origin.name picked: false}
if request < 0 { location_note("This app does not have location access. Choose an origin instead.") }
else if request == 0 { location_note("Location requests are unavailable here. Choose an origin instead.") }
else { location_note("Waiting for location. If access is denied, enable it in Android settings or choose an origin.") }
fix_origin()
finding = ""
show("route")
Expand Down Expand Up @@ -340,6 +351,7 @@ View{width: Fill height: Fill flow: Overlay show_bg: true draw_bg.color: #xe8eae
rfrom := Label{width: Fill text: "" max_lines: 1 draw_text.color: ink draw_text.text_style.font_size: 14}
Link{text: "Change" on_click: || find_for("origin")}
}
location_status := UiCaption{visible: false text: ""}
stop_rows := View{width: Fill height: Fit flow: Down on_render: || {
for i st in stops {
View{width: Fill height: Fit flow: Right align: Align{y: 0.5}
Expand Down
Loading
Loading