Problem: the hexagonal refactor churns the backend tree for nine more phases; the UI delivery stack (web/ SPA, cmd/desktop Wails wrapper, compose/web image) must move to its own repo first so doc/layout rewrites land once on a backend-only tree. Change: - New repo git.hubris.network/dtoro/oikos-web (v0.33.0): web/, desktop/ (updateURL repointed to oikos-web releases), compose/, own CI (web + desktop jobs), own deploy script (CI-green gate, TOCTOU guard, version-tagged images, prune-to-3), own webhook receiver on :9798 + launchd unit, own compose project publishing the same 8091:80. - Cutover executed on mac-mini in order: oikos stack's web service stopped+removed, oikos-web project brought up on 8091; outer Caddy untouched (targets the published port) — serving + Authentik flow + /wails 404 quirk verified post-cutover. - Stripped from oikos: web/, cmd/desktop/, compose/web/, desktop CI workflow, ci.yml web job, Makefile ui/desktop/desktop-package/install targets, the compose web service, oikos-web from deploy.sh's fallback prune list; wails + go-keyring dropped from go.mod, vendor synced. - README / CONTRIBUTING / AGENTS.md / .agents dev+operations docs now point at the new repo; mbse + mascot design docs carry a path note. Risk: production SPA serving depends on the new pipeline now; rollback is versioned-image re-up of the old web service from a pre-split checkout (port 8091). Desktop builds installed before the split still check dtoro/oikos releases — one manual reinstall, noted in the oikos-web release notes. Verification: go vet, make test (race), make generate-check, golangci (no new findings; baseline down 400→365); post-cutover curls — localhost:8091 200, /wails/runtime.js 404, outer Caddy 302 Authentik.
208 lines
6.2 KiB
JavaScript
208 lines
6.2 KiB
JavaScript
import {
|
|
FILENAME,
|
|
active_effect,
|
|
active_reaction,
|
|
define_property,
|
|
hydrating,
|
|
queue_micro_task,
|
|
set_active_effect,
|
|
set_active_reaction,
|
|
teardown,
|
|
without_reactive_context
|
|
} from "./chunk-IFIY7NGJ.js";
|
|
import {
|
|
event_handler_invalid
|
|
} from "./chunk-QDDRZFWN.js";
|
|
|
|
// node_modules/svelte/src/internal/client/dom/elements/events.js
|
|
var event_symbol = Symbol("events");
|
|
var all_registered_events = /* @__PURE__ */ new Set();
|
|
var root_event_handles = /* @__PURE__ */ new Set();
|
|
function replay_events(dom) {
|
|
if (!hydrating) return;
|
|
dom.removeAttribute("onload");
|
|
dom.removeAttribute("onerror");
|
|
const event2 = dom.__e;
|
|
if (event2 !== void 0) {
|
|
dom.__e = void 0;
|
|
queueMicrotask(() => {
|
|
if (dom.isConnected) {
|
|
dom.dispatchEvent(event2);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function create_event(event_name, dom, handler, options = {}) {
|
|
function target_handler(event2) {
|
|
if (!options.capture) {
|
|
handle_event_propagation.call(dom, event2);
|
|
}
|
|
if (!event2.cancelBubble) {
|
|
return without_reactive_context(() => {
|
|
return handler == null ? void 0 : handler.call(this, event2);
|
|
});
|
|
}
|
|
}
|
|
if (event_name.startsWith("pointer") || event_name.startsWith("touch") || event_name === "wheel") {
|
|
queue_micro_task(() => {
|
|
dom.addEventListener(event_name, target_handler, options);
|
|
});
|
|
} else {
|
|
dom.addEventListener(event_name, target_handler, options);
|
|
}
|
|
return target_handler;
|
|
}
|
|
function on(element, type, handler, options = {}) {
|
|
var target_handler = create_event(type, element, handler, options);
|
|
return () => {
|
|
element.removeEventListener(type, target_handler, options);
|
|
};
|
|
}
|
|
function event(event_name, dom, handler, capture, passive) {
|
|
var options = { capture, passive };
|
|
var target_handler = create_event(event_name, dom, handler, options);
|
|
if (dom === document.body || // @ts-ignore
|
|
dom === window || // @ts-ignore
|
|
dom === document || // Firefox has quirky behavior, it can happen that we still get "canplay" events when the element is already removed
|
|
dom instanceof HTMLMediaElement) {
|
|
teardown(() => {
|
|
dom.removeEventListener(event_name, target_handler, options);
|
|
});
|
|
}
|
|
}
|
|
function delegated(event_name, element, handler) {
|
|
(element[event_symbol] ?? (element[event_symbol] = {}))[event_name] = handler;
|
|
}
|
|
function delegate(events) {
|
|
for (var i = 0; i < events.length; i++) {
|
|
all_registered_events.add(events[i]);
|
|
}
|
|
for (var fn of root_event_handles) {
|
|
fn(events);
|
|
}
|
|
}
|
|
var last_propagated_event = null;
|
|
function handle_event_propagation(event2) {
|
|
var _a, _b;
|
|
var handler_element = this;
|
|
var owner_document = (
|
|
/** @type {Node} */
|
|
handler_element.ownerDocument
|
|
);
|
|
var event_name = event2.type;
|
|
var path = ((_a = event2.composedPath) == null ? void 0 : _a.call(event2)) || [];
|
|
var current_target = (
|
|
/** @type {null | Element} */
|
|
path[0] || event2.target
|
|
);
|
|
last_propagated_event = event2;
|
|
var path_idx = 0;
|
|
var handled_at = last_propagated_event === event2 && event2[event_symbol];
|
|
if (handled_at) {
|
|
var at_idx = path.indexOf(handled_at);
|
|
if (at_idx !== -1 && (handler_element === document || handler_element === /** @type {any} */
|
|
window)) {
|
|
event2[event_symbol] = handler_element;
|
|
return;
|
|
}
|
|
var handler_idx = path.indexOf(handler_element);
|
|
if (handler_idx === -1) {
|
|
return;
|
|
}
|
|
if (at_idx <= handler_idx) {
|
|
path_idx = at_idx;
|
|
}
|
|
}
|
|
current_target = /** @type {Element} */
|
|
path[path_idx] || event2.target;
|
|
if (current_target === handler_element) return;
|
|
define_property(event2, "currentTarget", {
|
|
configurable: true,
|
|
get() {
|
|
return current_target || owner_document;
|
|
}
|
|
});
|
|
var previous_reaction = active_reaction;
|
|
var previous_effect = active_effect;
|
|
set_active_reaction(null);
|
|
set_active_effect(null);
|
|
try {
|
|
var throw_error;
|
|
var other_errors = [];
|
|
while (current_target !== null) {
|
|
if (current_target === handler_element) break;
|
|
try {
|
|
var delegated2 = (_b = current_target[event_symbol]) == null ? void 0 : _b[event_name];
|
|
if (delegated2 != null && (!/** @type {any} */
|
|
current_target.disabled || // DOM could've been updated already by the time this is reached, so we check this as well
|
|
// -> the target could not have been disabled because it emits the event in the first place
|
|
event2.target === current_target)) {
|
|
delegated2.call(current_target, event2);
|
|
}
|
|
} catch (error) {
|
|
if (throw_error) {
|
|
other_errors.push(error);
|
|
} else {
|
|
throw_error = error;
|
|
}
|
|
}
|
|
if (event2.cancelBubble) break;
|
|
path_idx++;
|
|
current_target = path_idx < path.length ? (
|
|
/** @type {Element} */
|
|
path[path_idx]
|
|
) : null;
|
|
}
|
|
if (throw_error) {
|
|
for (let error of other_errors) {
|
|
queueMicrotask(() => {
|
|
throw error;
|
|
});
|
|
}
|
|
throw throw_error;
|
|
}
|
|
} finally {
|
|
event2[event_symbol] = handler_element;
|
|
delete event2.currentTarget;
|
|
set_active_reaction(previous_reaction);
|
|
set_active_effect(previous_effect);
|
|
}
|
|
}
|
|
function apply(thunk, element, args, component, loc, has_side_effects = false, remove_parens = false) {
|
|
var _a, _b;
|
|
let handler;
|
|
let error;
|
|
try {
|
|
handler = thunk();
|
|
} catch (e) {
|
|
error = e;
|
|
}
|
|
if (typeof handler !== "function" && (has_side_effects || handler != null || error)) {
|
|
const filename = component == null ? void 0 : component[FILENAME];
|
|
const location = loc ? ` at ${filename}:${loc[0]}:${loc[1]}` : ` in ${filename}`;
|
|
const phase = ((_a = args[0]) == null ? void 0 : _a.eventPhase) < Event.BUBBLING_PHASE ? "capture" : "";
|
|
const event_name = ((_b = args[0]) == null ? void 0 : _b.type) + phase;
|
|
const description = `\`${event_name}\` handler${location}`;
|
|
const suggestion = remove_parens ? "remove the trailing `()`" : "add a leading `() =>`";
|
|
event_handler_invalid(description, suggestion);
|
|
if (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
handler == null ? void 0 : handler.apply(element, args);
|
|
}
|
|
|
|
export {
|
|
all_registered_events,
|
|
root_event_handles,
|
|
replay_events,
|
|
create_event,
|
|
on,
|
|
event,
|
|
delegated,
|
|
delegate,
|
|
handle_event_propagation,
|
|
apply
|
|
};
|
|
//# sourceMappingURL=chunk-RK6BZSGT.js.map
|