reliability updates (test)
This commit is contained in:
+10
-2
@@ -115,8 +115,16 @@ const App: Component = () => {
|
||||
<Show when={getEmbedView() === 'embed_notes'}>
|
||||
{(() => {
|
||||
const noteIdFromUrl = createMemo(() => {
|
||||
const params = new URLSearchParams(new URL(location()).search);
|
||||
return params.get('noteId');
|
||||
const loc = location();
|
||||
const url = new URL(loc);
|
||||
// Try standard search params
|
||||
let id = url.searchParams.get('noteId');
|
||||
if (!id && url.hash.includes('?')) {
|
||||
// Try parsing from hash (for hash-based routing)
|
||||
const hashSearch = url.hash.split('?')[1];
|
||||
id = new URLSearchParams(hashSearch).get('noteId');
|
||||
}
|
||||
return id;
|
||||
});
|
||||
console.log('[DEBUG App] Rendering embed/notes context. noteId trace:', noteIdFromUrl());
|
||||
return <NotepadView selectedNoteId={noteIdFromUrl()} setSelectedNoteId={() => { }} hideNavigation={!!noteIdFromUrl()} />;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import PocketBase from 'pocketbase';
|
||||
|
||||
export const pb = new PocketBase('https://pocketbase.ccllc.pro');
|
||||
pb.autoCancellation(false);
|
||||
|
||||
export const TASGRID_COLLECTION = 'TasGrid';
|
||||
export const TAGS_COLLECTION = 'TasGrid_Tags';
|
||||
|
||||
@@ -756,9 +756,13 @@ export const subscribeToRealtime = async () => {
|
||||
});
|
||||
};
|
||||
|
||||
let isInitializing = false;
|
||||
export const initStore = async () => {
|
||||
if (isInitializing) return;
|
||||
if (!pb.authStore.isValid) return;
|
||||
|
||||
isInitializing = true;
|
||||
try {
|
||||
// 0. Synchronous hydration from localStorage for "instant" first paint
|
||||
const key = getStorageKey();
|
||||
if (key) {
|
||||
@@ -1091,6 +1095,9 @@ export const initStore = async () => {
|
||||
toast.error("Failed to sync with server.");
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
isInitializing = false;
|
||||
}
|
||||
};
|
||||
|
||||
// -- Actions --
|
||||
|
||||
+12
-6
@@ -232,7 +232,8 @@ function syncAuth(iframe) {
|
||||
<span>Notes Embed</span>
|
||||
<code style="font-size: 10px;">/embed/notes</code>
|
||||
</div>
|
||||
<iframe id="notes-iframe" src="http://localhost:4000/embed/notes" onload="syncAuthOnLoad(this)"></iframe>
|
||||
<iframe id="notes-iframe" src="https://tasgrid.ccllc.pro/embed/notes"
|
||||
onload="syncAuthOnLoad(this)"></iframe>
|
||||
</div>
|
||||
|
||||
<div class="iframe-container">
|
||||
@@ -241,7 +242,7 @@ function syncAuth(iframe) {
|
||||
<span>Quick Add Embed</span>
|
||||
<code style="font-size: 10px;">/embed/quick-add</code>
|
||||
</div>
|
||||
<iframe id="quick-add-iframe" src="http://localhost:4000/embed/quick-add"
|
||||
<iframe id="quick-add-iframe" src="https://tasgrid.ccllc.pro/embed/quick-add"
|
||||
onload="syncAuthOnLoad(this)"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
@@ -253,8 +254,13 @@ function syncAuth(iframe) {
|
||||
function syncAuthOnLoad(iframe) {
|
||||
console.log(`Iframe ${iframe.id} loaded, checking auth sync...`);
|
||||
if (pb.authStore.isValid) {
|
||||
console.log(`Syncing existing auth to ${iframe.id}`);
|
||||
sendAuthToIframes();
|
||||
console.log(`Syncing existing auth to ${iframe.id} ONLY`);
|
||||
const payload = {
|
||||
type: "TASGRID_AUTH",
|
||||
token: pb.authStore.token,
|
||||
user: pb.authStore.model
|
||||
};
|
||||
iframe.contentWindow.postMessage(payload, "*");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,9 +268,9 @@ function syncAuth(iframe) {
|
||||
const id = document.getElementById('note-id-input').value.trim();
|
||||
const iframe = document.getElementById('notes-iframe');
|
||||
if (id) {
|
||||
iframe.src = `http://localhost:4000/embed/notes?noteId=${id}`;
|
||||
iframe.src = `https://tasgrid.ccllc.pro/embed/notes?noteId=${id}`;
|
||||
} else {
|
||||
iframe.src = `http://localhost:4000/embed/notes`;
|
||||
iframe.src = `https://tasgrid.ccllc.pro/embed/notes`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user