mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 19:04:02 +00:00
fix(pinokio): open the app in the system browser (#1222)
Open the Pinokio app in the system browser while retaining application framing protection. Contribution by @NukeThemAII.
This commit is contained in:
1 parent
a15fdd3134
commit
3a724f055a
5 files changed
+18
-4
No files matched your search
@@ -111,13 +111,15 @@ app's **POWER UP** panel; [Keys & Costs](#-api-keys) explains the options.
|
|||||||
|
|
||||||
Available on **Windows, macOS, and Linux**. The Pinokio maintainer reports
|
Available on **Windows, macOS, and Linux**. The Pinokio maintainer reports
|
||||||
cross-platform testing of the fixed installer. The launcher installs the
|
cross-platform testing of the fixed installer. The launcher installs the
|
||||||
locked dependencies, finds a free local port, and opens the app.
|
locked dependencies, finds a free local port, and opens the app in your system
|
||||||
|
browser. The Server menu item keeps the launcher console available.
|
||||||
|
|
||||||
**Tried before and installation failed?** Update Pinokio and try again.
|
**Tried before and installation failed?** Update Pinokio and try again.
|
||||||
Version 8.2 fixes the launcher installation issue;
|
Version 8.2 fixes the launcher installation issue;
|
||||||
[details from the Pinokio maintainer](https://pinokio.co/posts/01m1m4p9xxm3qw7dnnpj2wr93g).
|
[details from the Pinokio maintainer](https://pinokio.co/posts/01m1m4p9xxm3qw7dnnpj2wr93g).
|
||||||
|
|
||||||
**Pinokio opens but the globe is very choppy?** Before treating that as a GPU
|
**Using an older launcher or opening the embedded view manually?** If the globe
|
||||||
|
is very choppy, before treating that as a GPU
|
||||||
compatibility or minimum-hardware problem, copy the local server URL shown by
|
compatibility or minimum-hardware problem, copy the local server URL shown by
|
||||||
Pinokio and open the same URL in your normal hardware-accelerated browser. One
|
Pinokio and open the same URL in your normal hardware-accelerated browser. One
|
||||||
Pinokio 8.2.0 user reported severe stutter in Pinokio's embedded view that went
|
Pinokio 8.2.0 user reported severe stutter in Pinokio's embedded view that went
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
- Open God's Eye View from Pinokio in the system browser using the supported
|
||||||
|
`popout` menu option. The application's framing policy is unchanged
|
||||||
|
(NukeThemAII, #1222).
|
||||||
@@ -5389,7 +5389,11 @@ pins and share links already supply complete boxes.
|
|||||||
- A successful Pinokio install writes the owner-only `pinokio/.installed`
|
- A successful Pinokio install writes the owner-only `pinokio/.installed`
|
||||||
marker. The nested launcher menu resolves that marker from its own directory:
|
marker. The nested launcher menu resolves that marker from its own directory:
|
||||||
an absent marker exposes Install, a present marker exposes Start, and a
|
an absent marker exposes Install, a present marker exposes Start, and a
|
||||||
running server with a captured ready URL exposes Open God's Eye View.
|
running server with a captured ready URL exposes Open God's Eye View. That
|
||||||
|
default item uses Pinokio's `popout` option to open the system browser; the
|
||||||
|
Server item retains the launcher console. The app's framing headers stay
|
||||||
|
unchanged. This does not assume all Pinokio desktop versions enforce those
|
||||||
|
headers in their embedded view.
|
||||||
- Build gate: `npm run build`
|
- Build gate: `npm run build`
|
||||||
- Network access: local-only by default (`HOST=localhost` in dev-fresh.sh); LAN is an explicit opt-in via `HOST=0.0.0.0` (launcher prints a key-exposure warning + LAN URL; see SECURITY.md)
|
- Network access: local-only by default (`HOST=localhost` in dev-fresh.sh); LAN is an explicit opt-in via `HOST=0.0.0.0` (launcher prints a key-exposure warning + LAN URL; see SECURITY.md)
|
||||||
- OpenSky default mode: OAuth (`OPENSKY_AUTH_MODE=oauth`; `anon` works without credentials)
|
- OpenSky default mode: OAuth (`OPENSKY_AUTH_MODE=oauth`; `anon` works without credentials)
|
||||||
|
|||||||
+3
-1
@@ -22,8 +22,10 @@ module.exports = {
|
|||||||
if (starting) {
|
if (starting) {
|
||||||
const local = info.local('start.js');
|
const local = info.local('start.js');
|
||||||
if (local?.url) {
|
if (local?.url) {
|
||||||
|
// Open in the system browser without changing the app's framing policy.
|
||||||
|
// This also avoids relying on Pinokio's embedded browser behavior.
|
||||||
return [
|
return [
|
||||||
{ default: true, icon: 'fa-solid fa-earth-americas', text: 'Open God\'s Eye View', href: local.url },
|
{ default: true, icon: 'fa-solid fa-earth-americas', text: 'Open God\'s Eye View', href: local.url, popout: true },
|
||||||
{ icon: 'fa-solid fa-terminal', text: 'Server', href: 'start.js' },
|
{ icon: 'fa-solid fa-terminal', text: 'Server', href: 'start.js' },
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,6 +113,9 @@ test('Pinokio menu resolves the nested install marker and exposes each lifecycle
|
|||||||
runtime.url = url;
|
runtime.url = url;
|
||||||
const items = await menu(kernel, info);
|
const items = await menu(kernel, info);
|
||||||
assert.equal(items.filter((item) => item.default).length, 1);
|
assert.equal(items.filter((item) => item.default).length, 1);
|
||||||
|
const ready = installed && running === 'start.js' && Boolean(url);
|
||||||
|
assert.equal(items[0].popout, ready ? true : undefined);
|
||||||
|
assert.ok(items.slice(1).every((item) => item.popout === undefined));
|
||||||
return items.map(({ text, href, default: isDefault = false }) => ({ text, href, default: isDefault }));
|
return items.map(({ text, href, default: isDefault = false }) => ({ text, href, default: isDefault }));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user