Tags: daniel-farina/xplorer
Tags
build: 0.8.10 — SUFeedURL -> xplor.sh (no-cache Cloudflare feed) Points new builds at the Cloudflare-served xplor.sh appcast (no-cache) so update checks propagate instantly + accurately. The legacy GitHub Pages feed stays for <=0.8.9 installs. No code change vs 0.8.9 beyond the feed URL + version bump.
feat(update): cross-platform Updates controls (unify endpoints + Win/…
…Linux)
- UpdateChecker (Win/Linux): AutoCheckEnabled/SetAutoCheck/CheckNow, persisted to
~/.xplorer/update_prefs.json; Start() honors the pref; current version set at
construction; auto_check in StatusDict
- gateway: unify /api/update/sparkle -> /api/update/controls{,/auto-check,/check},
routing macOS->Sparkle and Win/Linux->UpdateChecker (returns 'supported')
- settings.js: call /api/update/controls, gate on 'supported'
The common.js update banner already handles the Win/Linux apply/restart flow.
fix(apply): self-heal IDS_XPLORER_SETTINGS — strip existing before add The plain idempotent insert is defeated when the message TEXT changes (Xplorer settings -> Xplor settings): the already-present check misses the old wording and adds a second copy, so a chromium tree that has an older copy committed in fails grit with DuplicateKey: IDS_XPLORER_SETTINGS (hit on the Windows build host). Strip any existing IDS_XPLORER_SETTINGS message(s) before adding one — yields exactly one regardless of prior wording or tree state. Verified: clean->1, dup-injected->stripped->1.
fix(build): Windows EnvironmentMap is wstring — convert child env; bu… …mp v0.8.6 The agent child-env code did `options.environment = <std::map<string,string>>`, which does NOT compile on Windows: base::EnvironmentMap is map<wstring,wstring> on Windows (map<string,string> only on POSIX). So grok_native.cc never compiled on Windows since the scheduled-task/chat env was added — the prior 'Windows builds' packaged a stale chrome.exe. macOS/Linux were fine (POSIX EnvironmentMap is string-based), which masked it. Add ToEnvironmentMap() that builds a platform-correct base::EnvironmentMap (UTF8ToWide on Windows) and route all 4 options.environment assignments through it (LaunchGrokStdoutProcess x2 for scheduled-task env; PumpGrokStream x2 for the per-chat XPLORER_AGENT_ID). +base/environment.h. Also bumps XPLORER_VERSION 0.8.5 -> 0.8.6 for the release.
fix(sidebar): clipboard works — make side-panel WebView the macOS fir… …st responder The real, verified fix. On macOS Cut/Copy/Paste/Select-All are Cocoa selectors dispatched to the NSWindow first responder, so the side-panel RWHV NSView must literally BE the first responder. WasShown() only un-hides it (necessary, not sufficient). CompanionWebView now also drives web_contents()->Focus() via a deferred+retried RequestFocus once shown/drawn, plus on OnFocus and OnWebContentsFocused (re-focus on click). Also fixes a delegate clobber: SetDelegate() now runs AFTER SetOwnedWebContents() (which calls SetDelegate(this)). Cross-platform safe.
fix(omnibox): blank address bar on the new-tab Grok home, like the NTP New tabs open the Grok home, which is a real http gateway page, so the address bar showed http://127.0.0.1:9334/search instead of being blank like a normal new tab. ChromeLocationBarModelDelegate::ShouldDisplayURL() now returns false for our gateway home pages (search/companion/welcome) — the same path the NTP uses — so the omnibox is blank while the page stays http (Grok injectors still attach).
release: v0.8.0 + refresh bundled companion UI before signing The build leaves the bundle's companion/ui stale (it persists across builds and nothing recopies it), so releases were at risk of shipping old sidebar UI. release_arch.sh now copies the current companion/ui into the app bundle right after build, before signing. Bump to 0.8.0.
PreviousNext