Skip to content

Conversation

@MaxNumerique
Copy link
Contributor

…persistence

create project manager plugin for import/export operations update tests for new functionality and async loading

…persistence

create project manager plugin for import/export operations
update tests for new functionality and async loading
@MaxNumerique MaxNumerique changed the title feat(save_and_load): add save/load methods to all stores for project … feat(save_and_load): add import/export methods to all stores for project … Oct 30, 2025
@MaxNumerique MaxNumerique changed the title feat(save_and_load): add import/export methods to all stores for project … feat(save_and_load): add import/export methods Oct 30, 2025
@MaxNumerique MaxNumerique requested a review from BotellaA October 30, 2025 15:40
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JulienChampagnol que penses tu de cette proposition ?

params: {},
})
})
.then(function () {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Prefer await to then()/catch()/finally()

.then(function () {
return viewerStore.ws_connect()
})
.then(function () {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Prefer await to then()/catch()/finally()


return infraStore
.create_connection()
.then(function () {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Prefer await to then()/catch()/finally()

const dataStyleStore = useDataStyleStore()
return dataStyleStore.importStores(snapshot.dataStyle)
})
.then(function () {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Prefer await to then()/catch()/finally()

.then(function () {
return hybridViewerStore.importStores(snapshot.hybridViewer)
})
.then(function () {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Prefer await to then()/catch()/finally()

treeviewStore.isImporting = true

return Promise.resolve()
.then(function () {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Prefer await to then()/catch()/finally()


treeviewStore.isImporting = true

return Promise.resolve()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Prefer await to then()/catch()/finally()

defaultName
const name = serverName.endsWith(".zip")
? serverName.replace(/\.zip$/i, ".vease")
: serverName.endsWith(".vease")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Unexpected nested ternary expression without parentheses.

}
}

const exportStores = () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Unexpected block statement surrounding arrow body; move the returned value immediately after the =>.

const promises = []
for (const id of ids) {
const meta = dataBaseStore.itemMetaDatas(id)
const objectType = meta?.object_type
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Optional chaining is not allowed.

panelWidth.value = width
}

function exportStores() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Expected a function expression.

}
}

async function importStores(snapshot) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Expected a function expression.

[]
}

function finalizeImportSelection() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Expected a function expression.

model_id: model_id.value,
isTreeCollection: isTreeCollection.value,
selectedTree: selectedTree.value,
selectionIds: selection.value.map((c) => c.id),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Identifier name is too short (< 2).


pendingSelectionIds.value =
snapshot?.selectionIds ||
(snapshot?.selection || []).map((c) => c.id) ||
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Identifier name is too short (< 2).

panelWidth.value = snapshot?.panelWidth || 300
model_id.value = snapshot?.model_id || ""
isTreeCollection.value = snapshot?.isTreeCollection || false
selectedTree.value = snapshot?.selectedTree || null
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Optional chaining is not allowed.

selectedTree.value = snapshot?.selectedTree || null

pendingSelectionIds.value =
snapshot?.selectionIds ||
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Optional chaining is not allowed.


pendingSelectionIds.value =
snapshot?.selectionIds ||
(snapshot?.selection || []).map((c) => c.id) ||
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Optional chaining is not allowed.

function finalizeImportSelection() {
const ids = pendingSelectionIds.value || []
const rebuilt = []
if (!ids.length) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Use .length === 0 when checking length is zero.

panelWidth.value = snapshot?.panelWidth || 300
model_id.value = snapshot?.model_id || ""
isTreeCollection.value = snapshot?.isTreeCollection || false
selectedTree.value = snapshot?.selectedTree || null
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reported by reviewdog 🐶
Do not use null literals

@BotellaA BotellaA merged commit be6b88b into next Nov 14, 2025
20 of 21 checks passed
@BotellaA BotellaA deleted the feat/save_and_load branch November 14, 2025 11:21
@JulienChampagnol
Copy link
Member

🎉 This PR is included in version 9.14.0-rc.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@JulienChampagnol
Copy link
Member

🎉 This PR is included in version 9.14.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants