Skip to content

Commit de9eec6

Browse files
committed
Bug fixes
1 parent 5029c1c commit de9eec6

4 files changed

Lines changed: 26 additions & 3 deletions

File tree

components/DocumentEditor.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
v-model="text"
1515
style="text-align: left; margin: -24px -32px; margin-top: 3em; overflow: auto;"
1616
:options="cmOption"
17+
@ready="$emit('ready')"
1718
@changes="onNewChanges"
1819
/>
1920
</client-only>

nuxt.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,8 @@ export default {
6464
// axios: {},
6565
build: {
6666
extend(config, ctx) {}
67+
},
68+
generate: {
69+
routes: ['404']
6770
}
6871
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"dev": "nuxt",
1010
"build": "nuxt build",
1111
"start": "nuxt start",
12-
"generate": "nuxt generate",
12+
"generate": "nuxt generate; mv dist/404/index.html dist/404.html; rm -rf dist/404/",
1313
"lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
1414
"test": "jest"
1515
},

pages/edit/_room.vue

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
v-if="!has_fatal_error"
2828
ref="editor"
2929
:loading="is_busy || is_reconnecting"
30+
@ready="cm_ready = true"
3031
@settings-clicked="openMatrixSetup"
3132
@insert="(i) => (documentInsert ? documentInsert(i) : undefined)"
3233
@remove="(r) => (documentRemove ? documentRemove(r) : undefined)"
@@ -60,8 +61,18 @@ export default {
6061
6162
data() {
6263
return {
63-
has_fatal_error: false
64-
// setup_visible: false
64+
has_fatal_error: false,
65+
// setup_visible: false,
66+
cm_ready: false,
67+
cm_resolve_ready: undefined
68+
}
69+
},
70+
71+
watch: {
72+
cm_ready() {
73+
if (this.cm_ready && this.cm_resolve_ready) {
74+
this.cm_resolve_ready()
75+
}
6576
}
6677
},
6778
@@ -88,6 +99,14 @@ export default {
8899
'watchBlockingOperation',
89100
(async () => {
90101
try {
102+
// A poorly written system to wait for CodeMirror to be ready
103+
await new Promise((resolve, reject) => {
104+
if (self.cm_ready) {
105+
resolve()
106+
} else {
107+
self.cm_resolve_ready = resolve
108+
}
109+
})
91110
const doc = await self.$matrix.createDocument(
92111
this.$route.params.room,
93112
this.$refs.editor.insert,

0 commit comments

Comments
 (0)