@tak-ps/cloudtak 13.92.0 → 13.93.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import type { DBChatroom } from '../database.ts';
2
2
  import ChatroomChats from './chatroom-chats.ts';
3
- import { type Observable } from 'dexie';
3
+ import type { Observable } from 'dexie';
4
4
  import type { ProfileChatroomList, ProfileChatList } from '../types.ts';
5
5
  /**
6
6
  * High Level Wrapper around the Profile Chatroom API
@@ -1,4 +1,4 @@
1
- import { type Subscription } from 'dexie';
1
+ import type { Subscription } from 'dexie';
2
2
  import type { paths } from '@cloudtak/api-types';
3
3
  export type FullConfig = paths['/api/config']['get']['responses']['200']['content']['application/json'];
4
4
  export default class Config<K extends keyof FullConfig = keyof FullConfig> {
@@ -1,4 +1,4 @@
1
- import { type Observable } from 'dexie';
1
+ import type { Observable } from 'dexie';
2
2
  import type { Contact as TAKContact } from '../types.ts';
3
3
  import BaseInterface from './interface.ts';
4
4
  import type { BaseInterface_ListOptions, BaseInterface_FromOptions } from './interface.ts';
@@ -6,7 +6,7 @@
6
6
  * Note: it does not trigger re-rendering in the map stack, so it must be used
7
7
  * alongside cot.ts or atlas-database.ts to ensure re-rendering happens.
8
8
  */
9
- import { type Observable } from 'dexie';
9
+ import type { Observable } from 'dexie';
10
10
  import { type DBFeature } from '../database.ts';
11
11
  import type { paths } from '@cloudtak/api-types';
12
12
  import BaseInterface from './interface.ts';
@@ -1,4 +1,4 @@
1
- import { type Observable } from 'dexie';
1
+ import type { Observable } from 'dexie';
2
2
  import type { Group, GroupChannel } from '../types.ts';
3
3
  import BaseInterface from './interface.ts';
4
4
  import type { BaseInterface_ListOptions, BaseInterface_FromOptions } from './interface.ts';
@@ -1,4 +1,4 @@
1
- import { type Observable } from 'dexie';
1
+ import type { Observable } from 'dexie';
2
2
  import { type DBIconset } from '../database.ts';
3
3
  import type { paths } from '@cloudtak/api-types';
4
4
  import type { Iconset } from '../types.ts';
@@ -1,4 +1,4 @@
1
- import { type Observable } from 'dexie';
1
+ import type { Observable } from 'dexie';
2
2
  import { type DBKV } from '../database.ts';
3
3
  import BaseInterface from './interface.ts';
4
4
  export default class KV extends BaseInterface {
@@ -1,5 +1,5 @@
1
1
  import { NotificationType } from '../database.ts';
2
- import { type Observable } from 'dexie';
2
+ import type { Observable } from 'dexie';
3
3
  import type { DBNotification } from '../database.ts';
4
4
  import BaseInterface from './interface.ts';
5
5
  import type { BaseInterface_FromOptions } from './interface.ts';
@@ -1,4 +1,4 @@
1
- import { type Observable } from 'dexie';
1
+ import type { Observable } from 'dexie';
2
2
  import { type DBOverlay } from '../database.ts';
3
3
  import type { paths } from '@cloudtak/api-types';
4
4
  import BaseInterface from './interface.ts';
@@ -1,4 +1,4 @@
1
- import { type Observable } from 'dexie';
1
+ import type { Observable } from 'dexie';
2
2
  import { type DBProfileFile } from '../database.ts';
3
3
  import BaseInterface from './interface.ts';
4
4
  import type { BaseInterface_ListOptions } from './interface.ts';
@@ -1,5 +1,5 @@
1
1
  import type { Profile } from '../types.ts';
2
- import { type Subscription } from 'dexie';
2
+ import type { Subscription } from 'dexie';
3
3
  export default class ProfileConfig<K extends keyof Profile = keyof Profile> {
4
4
  key: K;
5
5
  value: Profile[K];
@@ -1,4 +1,4 @@
1
- import { type Observable } from 'dexie';
1
+ import type { Observable } from 'dexie';
2
2
  import type { Server, Server_Update } from '../types.ts';
3
3
  export default class ServerManager {
4
4
  static live(): Observable<Server | undefined>;
@@ -1,5 +1,5 @@
1
1
  import type { DBSubscriptionChat } from '../database.ts';
2
- import { type Observable } from 'dexie';
2
+ import type { Observable } from 'dexie';
3
3
  import type Atlas from '../workers/atlas.ts';
4
4
  import type { Remote } from 'comlink';
5
5
  /**
@@ -1,4 +1,4 @@
1
- import Dexie, { type EntityTable } from 'dexie';
1
+ import Dexie, { type EntityTable, type Observable } from 'dexie';
2
2
  import type { Feature, GroupChannel, Mission, MissionRole, MissionChange, MissionLayer, MissionLog, Contact, Server, ProfileFile, ProfileOverlayList } from './types.ts';
3
3
  export interface DBIcon {
4
4
  /** Maplibre image id, e.g. "<iconsetUid>:<icon-path-without-extension>" */
@@ -256,6 +256,13 @@ export declare class DatabaseUnavailableError extends Error {
256
256
  constructor(message: string);
257
257
  }
258
258
  export declare function isDatabaseSuspended(): boolean;
259
+ export declare function isDatabaseSuspendedError(err: unknown): boolean;
260
+ /**
261
+ * Dexie liveQuery that survives suspension. Any other rejection ends the
262
+ * subscription for good; Dexie discards an AbortError and keeps listening,
263
+ * and resumeDatabase() re-runs what was skipped.
264
+ */
265
+ export declare function liveQuery<T>(querier: () => T | Promise<T>): Observable<T>;
259
266
  /**
260
267
  * Reject every IndexedDB transaction synchronously, before an
261
268
  * IDBTransaction is opened, so nothing is ever in flight while the app is
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tak-ps/cloudtak",
3
3
  "type": "module",
4
- "version": "13.92.0",
4
+ "version": "13.93.0",
5
5
  "types": "dist/types/plugin.d.ts",
6
6
  "files": [
7
7
  "dist/types"
@@ -71,9 +71,9 @@
71
71
  "@turf/meta": "^7.2.0",
72
72
  "@turf/nearest-point-on-line": "^7.3.4",
73
73
  "@turf/point-on-feature": "^7.0.0",
74
- "@unhead/vue": "^2.1.17",
74
+ "@unhead/vue": "^3.4.1",
75
75
  "@ver0/deep-equal": "^2.0.1",
76
- "@vueuse/core": "^14.0.0",
76
+ "@vueuse/core": "^15.0.0",
77
77
  "autosize": "^6.0.1",
78
78
  "chart.js": "^4.5.1",
79
79
  "comlink": "^4.4.2",
@@ -119,7 +119,7 @@
119
119
  "@vitest/ui": "^5.0.0",
120
120
  "@vue/devtools-api": "^8.1.5",
121
121
  "@vue/test-utils": "^2.4.6",
122
- "@vueuse/rxjs": "^14.1.0",
122
+ "@vueuse/rxjs": "^15.0.0",
123
123
  "eslint": "^10.0.0",
124
124
  "eslint-plugin-vue": "^10.0.0",
125
125
  "fake-indexeddb": "^6.2.5",