diff --git a/src/base/orgs/Org.ts b/src/base/orgs/Org.ts index 0b5bee0de..33be609a6 100644 --- a/src/base/orgs/Org.ts +++ b/src/base/orgs/Org.ts @@ -212,29 +212,33 @@ export class Org { async getPendingProjects(config: Config): Promise { if (! config.safe.client) return []; - const orgAddr = ethers.utils.getAddress(this.address); - const response = await config.safe.client.getPendingTransactions( - ethers.utils.getAddress(this.owner) - ); - const projects: PendingAnchor[] = []; + try { + const orgAddr = ethers.utils.getAddress(this.address); + const response = await config.safe.client.getPendingTransactions( + ethers.utils.getAddress(this.owner) + ); + const projects: PendingAnchor[] = []; - for (const tx of response.results || []) { - if (tx.data && tx.to === orgAddr) { - const anchor = parseAnchorTx(tx.data, config); - const confirmations = tx.confirmations?.map(t => t.owner) || []; + for (const tx of response.results || []) { + if (tx.data && tx.to === orgAddr) { + const anchor = parseAnchorTx(tx.data, config); + const confirmations = tx.confirmations?.map(t => t.owner) || []; - if (anchor) { - projects.push({ - id: anchor.id, - anchor: { stateHash: anchor.stateHash }, - confirmations, - safeTxHash: tx.safeTxHash, - confirmed: false, - }); + if (anchor) { + projects.push({ + id: anchor.id, + anchor: { stateHash: anchor.stateHash }, + confirmations, + safeTxHash: tx.safeTxHash, + confirmed: false, + }); + } } } + return projects; + } catch { + return []; } - return projects; } static async getAnchor(orgAddr: string, urn: string, config: Config): Promise { diff --git a/src/base/projects/BranchSelector.svelte b/src/base/projects/BranchSelector.svelte index eed97e4c3..305e70e45 100644 --- a/src/base/projects/BranchSelector.svelte +++ b/src/base/projects/BranchSelector.svelte @@ -1,7 +1,7 @@ diff --git a/src/base/projects/Header.svelte b/src/base/projects/Header.svelte index ba7df9b32..c11000f0e 100644 --- a/src/base/projects/Header.svelte +++ b/src/base/projects/Header.svelte @@ -14,7 +14,6 @@ export let commit: string; export let browserStore: Writable; export let peerSelector: boolean; // If peerSelector should be showed. - export let branches: proj.Branches; let { urn, project, peers, seed, anchors } = source; @@ -22,12 +21,6 @@ $: revision = browser.revision || commit; $: content = browser.content; - $: if (Object.keys(browser.branches).length > 0) { - branches = browser.branches; - } else { - proj.browse({ branches }); - } - let dropdownState: { [key: string]: boolean } = { clone: false, seed: false, branch: false, peer: false }; function toggleDropdown(input: string) { Object.keys(dropdownState).map((key: string) => { @@ -164,7 +157,7 @@ bind:peersDropdown={dropdownState.peer} on:peerChanged={(event) => updatePeer(event.detail)} /> {/if} - updateRevision(event.detail)} />
diff --git a/src/base/projects/Project.svelte b/src/base/projects/Project.svelte index 7e7916b78..7fdf2cfb2 100644 --- a/src/base/projects/Project.svelte +++ b/src/base/projects/Project.svelte @@ -7,12 +7,16 @@ import { browserStore } from '@app/project'; import Header from '@app/base/projects/Header.svelte'; - import ProjectContentRoutes from '@app/base/projects/ProjectContentRoutes.svelte'; + + import Browser from "./Browser.svelte"; + import Commit from "./Commit.svelte"; + import History from "./History.svelte"; export let peer: string | null = null; export let config: Config; export let source: proj.Source; - export let peerSelector = false; + export let content: proj.ProjectContent; + export let revision: string; const project = source.project; @@ -43,11 +47,6 @@ { prop: "og:description", content: project.description }, { prop: "og:url", content: window.location.href } ]); - - // Necessary for the initial load, but causes double rendering. - // Once the content routing is above this component, this can go - // away. - $: revision = $browserStore.revision;