diff --git a/.gitea/workflows/build-iso.yml b/.gitea/workflows/build-iso.yml index 63c3a6ad..e225f6b0 100644 --- a/.gitea/workflows/build-iso.yml +++ b/.gitea/workflows/build-iso.yml @@ -22,7 +22,9 @@ jobs: cargo build --release --manifest-path core/Cargo.toml - name: Build frontend - run: cd neode-ui && npm ci && npm run build + run: | + rm -rf web/dist/neode-ui + cd neode-ui && npm ci && npm run build - name: Type check frontend run: cd neode-ui && npx vue-tsc -b --noEmit diff --git a/core/archipelago/src/api/rpc/middleware.rs b/core/archipelago/src/api/rpc/middleware.rs index 0470a855..c30250ef 100644 --- a/core/archipelago/src/api/rpc/middleware.rs +++ b/core/archipelago/src/api/rpc/middleware.rs @@ -11,11 +11,14 @@ pub(super) const UNAUTHENTICATED_METHODS: &[&str] = &[ "auth.setup", "auth.onboardingComplete", "health", + // Server readiness check (Login.vue polls this before showing form) + "server.echo", // Onboarding flow (before user has a session — DID creation, signing, backup) "node.did", "node.signChallenge", "node.nostr-pubkey", "node.createBackup", + "identity.create", "identity.verify", "identity.resolve-did", // Onboarding restore (before user account exists) diff --git a/neode-ui/src/views/Login.vue b/neode-ui/src/views/Login.vue index 4ab635a8..4893109d 100644 --- a/neode-ui/src/views/Login.vue +++ b/neode-ui/src/views/Login.vue @@ -53,6 +53,7 @@ id="setup-password" v-model="password" type="password" + autocomplete="new-password" class="w-full px-4 py-3 bg-transparent border border-white/20 rounded-lg text-white placeholder-white/40 focus:outline-none focus:border-white/40 focus:ring-1 focus:ring-white/20 transition-colors" :placeholder="t('login.enterPasswordSetup')" @keyup.enter="handleSetupWithSound" @@ -68,6 +69,7 @@ id="setup-confirm-password" v-model="confirmPassword" type="password" + autocomplete="new-password" class="w-full px-4 py-3 bg-transparent border border-white/20 rounded-lg text-white placeholder-white/40 focus:outline-none focus:border-white/40 focus:ring-1 focus:ring-white/20 transition-colors" :placeholder="t('login.confirmPasswordPlaceholder')" @keyup.enter="handleSetupWithSound" @@ -151,6 +153,7 @@ id="login-password" v-model="password" type="password" + autocomplete="current-password" class="w-full px-4 py-3 bg-transparent border border-white/20 rounded-lg text-white placeholder-white/40 focus:outline-none focus:border-white/40 focus:ring-1 focus:ring-white/20 transition-colors" :placeholder="t('login.enterPasswordPlaceholder')" @keyup.enter="handleLoginWithSound"