Make the app an installable PWA with phone layout and Web Push
Add a generated manifest, icon set, offline page and service worker that never caches authenticated HTML, plus install and update UI. Turn the rail into a drawer below md with container-query internals, dvh and safe-area handling, and reconnect the socket after visibility/network changes. Add Web Push subscriptions, presence-aware delivery, notification settings and tests.
This commit is contained in:
@@ -652,6 +652,7 @@ export type PagePropsType = {
|
||||
harness_overview?: HarnessOverviewPayload | null;
|
||||
bot_harness_overview?: BotHarnessOverviewPayload | null;
|
||||
envs_overview?: EnvsOverviewPayload | null;
|
||||
push_overview?: PushOverview | null;
|
||||
mcps_overview?: McpServersOverviewPayload | null;
|
||||
tools_overview?: CustomToolsOverviewPayload | null;
|
||||
bot_extensions?: BotExtensionsPayload | null;
|
||||
@@ -1086,3 +1087,23 @@ export type FeatureItem = {
|
||||
title: string;
|
||||
description: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* One device with push notifications on, as Settings lists it. Never the
|
||||
* endpoint: that is a capability URL held by the browser.
|
||||
*/
|
||||
export type PushDeviceOverview = {
|
||||
id: number;
|
||||
device: string;
|
||||
created_at: number;
|
||||
last_used_at: number;
|
||||
last_error: string | null;
|
||||
};
|
||||
|
||||
export type PushOverview = {
|
||||
/**
|
||||
* The install's VAPID public key, which a subscribing browser needs.
|
||||
*/
|
||||
public_key: string | null;
|
||||
subscriptions: PushDeviceOverview[];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user