From 8843b2763f123db597a8ffbef9ff486a0c844bd9 Mon Sep 17 00:00:00 2001 From: "Leon.Schmidt" Date: Wed, 19 Aug 2026 00:46:41 +0200 Subject: [PATCH] FIX - load memos/notes before phone; guard darkchat Add a contract test to ensure bootstrap data providers (memos/notes) are initialized before phone startup. Reorder fxmanifest.lua so source/server/memos.lua and source/server/notes.lua load prior to phone.lua. Fix lb_phone_migration.lua dark chat migration to avoid indexing missing usernames by only resolving profiles when a channel has exactly two members, preventing nil lookups and incorrect comparisons. --- frontend/src/serverStartup.contract.test.ts | 11 +++++++++++ sky_phone/fxmanifest.lua | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/frontend/src/serverStartup.contract.test.ts b/frontend/src/serverStartup.contract.test.ts index 0f6ddfa..2e80b49 100644 --- a/frontend/src/serverStartup.contract.test.ts +++ b/frontend/src/serverStartup.contract.test.ts @@ -35,6 +35,17 @@ describe('server startup contracts', () => { ) }) + it('initializes bootstrap data providers before phone startup', () => { + const phoneIndex = manifest.indexOf("'source/server/phone.lua'") + + expect(manifest.indexOf("'source/server/notes.lua'")).toBeLessThan( + phoneIndex, + ) + expect(manifest.indexOf("'source/server/memos.lua'")).toBeLessThan( + phoneIndex, + ) + }) + it('queues early opens until the resource has fully started', () => { expect(phoneServer).toContain( 'AddEventHandler("onServerResourceStart", function(resource_name)', diff --git a/sky_phone/fxmanifest.lua b/sky_phone/fxmanifest.lua index 8cb8e0e..afb4c8c 100644 --- a/sky_phone/fxmanifest.lua +++ b/sky_phone/fxmanifest.lua @@ -70,6 +70,8 @@ server_scripts { 'source/server/media_metadata.lua', 'source/server/companies.lua', 'source/server/sim.lua', + 'source/server/memos.lua', + 'source/server/notes.lua', 'source/server/phone.lua', 'source/server/db_migrate.lua', 'source/server/lb_phone_migration.lua', @@ -83,11 +85,9 @@ server_scripts { 'source/server/weazel_news.lua', 'source/server/citywarn.lua', 'source/server/messages.lua', - 'source/server/memos.lua', 'source/server/easyshare.lua', 'source/server/darkchat.lua', 'source/server/flare.lua', - 'source/server/notes.lua', 'source/server/mail.lua', 'source/server/banking.lua', 'source/server/crypto.lua',