From 243abaf63847a688b6ab74e156ecb13a10fb3aa0 Mon Sep 17 00:00:00 2001 From: ItzNotABug Date: Tue, 7 Oct 2025 11:01:42 +0530 Subject: [PATCH 1/2] fix: documents not loading. --- .../collection-[collection]/+page.ts | 7 ++----- .../document-[document]/+layout.ts | 8 +------- .../document-[document]/+page.svelte | 4 ++-- .../document-[document]/attributes/store.ts | 17 +---------------- 4 files changed, 6 insertions(+), 30 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.ts index 6d7d7530c..6f83ab46b 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.ts @@ -4,10 +4,8 @@ import { sdk } from '$lib/stores/sdk'; import { Query } from '@appwrite.io/console'; import type { PageLoad } from './$types'; import { queries, queryParamToMap } from '$lib/components/filters'; -import { buildWildcardAttributesQuery } from './document-[document]/attributes/store'; -export const load: PageLoad = async ({ params, depends, url, route, parent }) => { - const { collection } = await parent(); +export const load: PageLoad = async ({ params, depends, url, route }) => { depends(Dependencies.DOCUMENTS); const page = getPage(url); @@ -32,8 +30,7 @@ export const load: PageLoad = async ({ params, depends, url, route, parent }) => Query.limit(limit), Query.offset(offset), Query.orderDesc(''), - ...parsedQueries.values(), - ...buildWildcardAttributesQuery(collection) + ...parsedQueries.values() ]) }; }; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/+layout.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/+layout.ts index 5e9479dc0..681e90b3b 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/+layout.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/+layout.ts @@ -4,7 +4,6 @@ import type { LayoutLoad } from './$types'; import Breadcrumbs from './breadcrumbs.svelte'; import Header from './header.svelte'; import type { Attributes } from '../store'; -import { buildWildcardAttributesQuery } from './attributes/store'; export const load: LayoutLoad = async ({ params, parent, depends }) => { const { collection } = await parent(); @@ -12,12 +11,7 @@ export const load: LayoutLoad = async ({ params, parent, depends }) => { const document = await sdk .forProject(params.region, params.project) - .databases.getDocument( - params.database, - params.collection, - params.document, - buildWildcardAttributesQuery(collection) - ); + .databases.getDocument(params.database, params.collection, params.document); /** * Sanitize DateTime to remove UTC Timezone section. diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/+page.svelte index 31db52abd..8dcef8e86 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/+page.svelte @@ -90,11 +90,11 @@ if (isRelationship(attribute)) { if (isRelationshipToMany(attribute as Models.AttributeRelationship)) { - const workIds = workAttribute.map((doc: string | Record) => + const workIds = workAttribute?.map((doc: string | Record) => typeof doc === 'string' ? doc : doc.$id ); - const relatedIds = docAttribute.map((doc: string | Record) => + const relatedIds = docAttribute?.map((doc: string | Record) => typeof doc === 'string' ? doc : doc.$id ); return !symmetricDifference(workIds, relatedIds).length; diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/store.ts index 993e25f97..3aab3cda1 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/store.ts @@ -1,4 +1,4 @@ -import { type Models, Query } from '@appwrite.io/console'; +import { type Models } from '@appwrite.io/console'; import type { Attributes } from '../../store'; export function isRelationshipToMany(attribute: Models.AttributeRelationship) { @@ -20,18 +20,3 @@ export function isString(attribute: Attributes): attribute is Models.AttributeSt if (!attribute) return false; return attribute?.type === 'string'; } - -/** - * Returns select queries for all main and related fields in a collection. - */ -export function buildWildcardAttributesQuery( - collection: Models.Collection | null = null -): string[] { - return [ - ...(collection?.attributes - ?.filter((attr) => attr.status === 'available' && isRelationship(attr)) - ?.map((attr) => Query.select([`${attr.key}.*`])) ?? []), - - Query.select(['*']) - ]; -} From 95af595c9dd6711e6d8a12a348e333621d62db87 Mon Sep 17 00:00:00 2001 From: ItzNotABug Date: Tue, 7 Oct 2025 11:32:49 +0530 Subject: [PATCH 2/2] update: override dependency for security. --- package.json | 5 ++++- pnpm-lock.yaml | 11 +++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1b4f96e89..f21c3440d 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,10 @@ "@sentry/cli", "esbuild", "svelte-preprocess" - ] + ], + "overrides": { + "devalue": "5.3.2" + } }, "packageManager": "pnpm@10.13.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05e7c465f..7550342ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,9 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + devalue: 5.3.2 + importers: .: @@ -1973,8 +1976,8 @@ packages: engines: {node: '>=0.10'} hasBin: true - devalue@5.1.1: - resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} + devalue@5.3.2: + resolution: {integrity: sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==} devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -4682,7 +4685,7 @@ snapshots: '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.25.3)(vite@6.2.3(@types/node@22.13.14)(sass@1.86.0)) '@types/cookie': 0.6.0 cookie: 0.6.0 - devalue: 5.1.1 + devalue: 5.3.2 esm-env: 1.2.2 import-meta-resolve: 4.1.0 kleur: 4.1.5 @@ -5572,7 +5575,7 @@ snapshots: detect-libc@1.0.3: optional: true - devalue@5.1.1: {} + devalue@5.3.2: {} devlop@1.1.0: dependencies: