fix: workover of the monaco update

This commit is contained in:
2026-07-02 14:14:31 +02:00
parent ef6c970654
commit c07ba9a4d8
27 changed files with 69078 additions and 245377 deletions

View File

@@ -88,6 +88,7 @@ defmodule BDS.AI.ChatStreamingTest do
setup do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(BDS.Repo)
Ecto.Adapters.SQL.Sandbox.mode(BDS.Repo, {:shared, self()})
Application.put_env(:bds, :chat_stream_test_pid, self())
Application.put_env(:bds, :chat_stream_scenario, :short)
@@ -101,6 +102,7 @@ defmodule BDS.AI.ChatStreamingTest do
)
on_exit(fn ->
Ecto.Adapters.SQL.Sandbox.mode(BDS.Repo, :manual)
Application.delete_env(:bds, :chat_stream_scenario)
case original_chat do

View File

@@ -325,6 +325,8 @@ defmodule BDS.AITest do
setup do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(BDS.Repo)
Ecto.Adapters.SQL.Sandbox.mode(BDS.Repo, {:shared, self()})
on_exit(fn -> Ecto.Adapters.SQL.Sandbox.mode(BDS.Repo, :manual) end)
:ok
end

View File

@@ -352,6 +352,7 @@ defmodule BDS.DesktopTest do
assert conn.resp_body =~ ~s(data-phx-main)
assert conn.resp_body =~ ~s(href="/assets/app.css")
assert conn.resp_body =~ ~s(href="/assets/monaco.css")
assert conn.resp_body =~ ~s(src="/assets/app.js")
refute conn.resp_body =~ ~s(src="/assets/live.js")
refute conn.resp_body =~ ~s(src="/vendor/phoenix/phoenix.min.js")
@@ -371,6 +372,31 @@ defmodule BDS.DesktopTest do
assert byte_size(js_conn.resp_body) > 0
end
test "desktop endpoint serves Monaco ESM bundle and worker assets" do
paths = [
"/assets/monaco.css",
"/assets/monaco.js",
"/assets/monaco/editor.worker.js",
"/assets/monaco/css.worker.js",
"/assets/monaco/html.worker.js",
"/assets/monaco/json.worker.js",
"/assets/monaco/ts.worker.js"
]
for path <- paths do
asset_conn = conn(:get, "#{path}?k=#{Desktop.Auth.login_key()}")
asset_conn = BDS.Desktop.Endpoint.call(asset_conn, BDS.Desktop.Endpoint.init([]))
assert asset_conn.status == 200
assert byte_size(asset_conn.resp_body) > 0
end
end
test "desktop automation launch scripts exist at the paths used by automation" do
assert File.regular?("/Users/gb/Projects/bDS2/scripts/desktop_automation_app.exs")
assert File.regular?("/Users/gb/Projects/bDS2/scripts/desktop_automation_runner.mjs")
end
test "desktop endpoint serves the live shell without extra router-side secret injection" do
conn = conn(:get, "/?k=#{Desktop.Auth.login_key()}")
conn = BDS.Desktop.Endpoint.call(conn, BDS.Desktop.Endpoint.init([]))

View File

@@ -358,6 +358,22 @@ defmodule BDS.UI.ShellTest do
assert File.exists?("/Users/gb/Projects/bDS2/assets/js/monaco/languages.js")
end
test "monaco ESM build config emits served worker bundles" do
mix_exs = File.read!("/Users/gb/Projects/bDS2/mix.exs")
config = File.read!("/Users/gb/Projects/bDS2/config/config.exs")
services = File.read!("/Users/gb/Projects/bDS2/assets/js/monaco/services.js")
update_task = File.read!("/Users/gb/Projects/bDS2/lib/mix/tasks/monaco.update.ex")
assert mix_exs =~ ~s("esbuild monaco --minify")
assert mix_exs =~ ~s("esbuild monaco_workers --minify")
assert config =~ "monaco_workers:"
assert config =~ "js/monaco_workers/editor.worker.js"
assert services =~ "globalThis.MonacoEnvironment"
assert services =~ "/assets/monaco/editor.worker.js"
assert update_task =~ ~S|run_esbuild(["monaco_workers", "--minify"])|
refute File.exists?("/Users/gb/Projects/bDS2/assets/js/error_reporter.js")
end
test "top level shell render uses utility classes for common layout" do
template = File.read!("/Users/gb/Projects/bDS2/lib/bds/desktop/shell_live/index.html.heex")