0.10.0: Archify Sync, optional live collaboration on a model
Several people edit one model at once through a server you run yourself (archify-vscode-ext-sync); the files stay ordinary files on each disk. Sign-in through the browser, offline-first with later merge, teammates' cursors in the Source view and text editors, and a Shared section on the model page with people, versions, Compare and Restore. Without a server nothing changes: the sync code is a separate bundle that loads only when a model is shared, after a sign-in, or when a sync command or invite link is used.
This commit is contained in:
1 parent
a9021312b0
commit
c99f3e5fe8
27 files changed
+2899
-14
No files matched your search
+85
-3
@@ -2,7 +2,7 @@
|
||||
"name": "archify-vscode-ext",
|
||||
"displayName": "Archify Diagram Viewer",
|
||||
"description": "Archify diagrams in VS Code. Write diagrams as .archify files in YAML: they open as the interactive diagram, with live updates, validation, templates and completion. Also previews Archify's own JSON files (*.architecture.json, …) and opens rendered Archify HTML.",
|
||||
"version": "0.9.3",
|
||||
"version": "0.10.0",
|
||||
"publisher": "root-at-skic",
|
||||
"license": "MIT",
|
||||
"sponsor": {
|
||||
@@ -45,7 +45,8 @@
|
||||
"workspaceContains:**/*.{archify,architecture.json,workflow.json,sequence.json,dataflow.json,lifecycle.json}",
|
||||
"onWebviewPanel:archify.preview",
|
||||
"workspaceContains:**/*.archify-registry",
|
||||
"workspaceContains:**/*.archify-decision"
|
||||
"workspaceContains:**/*.archify-decision",
|
||||
"onUri"
|
||||
],
|
||||
"contributes": {
|
||||
"commands": [
|
||||
@@ -118,6 +119,51 @@
|
||||
"command": "archify.openModelGraph",
|
||||
"title": "Archify | Open Model Graph",
|
||||
"icon": "$(type-hierarchy)"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.signIn",
|
||||
"title": "Archify | Sign in to Sync Server…",
|
||||
"icon": "$(account)"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.signOut",
|
||||
"title": "Archify | Sign out of Sync Server",
|
||||
"icon": "$(sign-out)"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.share",
|
||||
"title": "Archify | Share Model…",
|
||||
"icon": "$(live-share)"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.invite",
|
||||
"title": "Archify | Copy Invite Link",
|
||||
"icon": "$(person-add)"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.join",
|
||||
"title": "Archify | Join Shared Model…",
|
||||
"icon": "$(link)"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.publish",
|
||||
"title": "Archify | Publish Version…",
|
||||
"icon": "$(tag)"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.versions",
|
||||
"title": "Archify | Versions…",
|
||||
"icon": "$(history)"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.stop",
|
||||
"title": "Archify | Stop Syncing Model…",
|
||||
"icon": "$(debug-disconnect)"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.menu",
|
||||
"title": "Archify | Sync…",
|
||||
"icon": "$(broadcast)"
|
||||
}
|
||||
],
|
||||
"menus": {
|
||||
@@ -161,6 +207,26 @@
|
||||
{
|
||||
"command": "archify.openModelGraph",
|
||||
"when": "archify.isDiagramSource || archifyPreviewFocus || activeCustomEditorId == 'archify.diagram' || activeCustomEditorId == 'archify.registry' || activeCustomEditorId == 'archify.decision'"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.invite",
|
||||
"when": "archify.sync.active"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.publish",
|
||||
"when": "archify.sync.active"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.versions",
|
||||
"when": "archify.sync.active"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.stop",
|
||||
"when": "archify.sync.active"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.menu",
|
||||
"when": "archify.sync.active"
|
||||
}
|
||||
],
|
||||
"editor/title": [
|
||||
@@ -250,6 +316,11 @@
|
||||
"command": "archify.openModelGraph",
|
||||
"when": "resourceFilename =~ /\\.archify(-registry|-decision)?$/",
|
||||
"group": "zzz_archify@9"
|
||||
},
|
||||
{
|
||||
"command": "archify.sync.share",
|
||||
"when": "resourceFilename == main.archify",
|
||||
"group": "archify@9"
|
||||
}
|
||||
],
|
||||
"editor/title/context": [
|
||||
@@ -464,6 +535,12 @@
|
||||
"fileMatch": "*.archify-registry",
|
||||
"url": "./schemas/archify-registry.schema.json"
|
||||
}
|
||||
],
|
||||
"authentication": [
|
||||
{
|
||||
"id": "archify-sync",
|
||||
"label": "Archify Sync"
|
||||
}
|
||||
]
|
||||
},
|
||||
"scripts": {
|
||||
@@ -482,6 +559,7 @@
|
||||
"@types/node": "^22.0.0",
|
||||
"@types/three": "^0.186.0",
|
||||
"@types/vscode": "~1.100.0",
|
||||
"@types/ws": "^8.18.2",
|
||||
"@vscode/test-electron": "^3.1.0",
|
||||
"@vscode/vsce": "^3.0.0",
|
||||
"esbuild": "^0.25.0",
|
||||
@@ -506,7 +584,11 @@
|
||||
"codemirror-json-schema": "^0.8.1",
|
||||
"cytoscape": "^3.34.4",
|
||||
"cytoscape-fcose": "^2.2.0",
|
||||
"lib0": "^0.2.119",
|
||||
"three": "^0.186.1",
|
||||
"yaml": "^2.9.1"
|
||||
"ws": "^8.22.1",
|
||||
"y-protocols": "^1.0.7",
|
||||
"yaml": "^2.9.1",
|
||||
"yjs": "^13.6.33"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user