merge: resolve v1.23.0 upstream conflicts, preserve custom git provider config

Resolved conflicts in 8 files by taking upstream refactored code:
- desktop.ts: re-export DesktopSettings from registry
- openchamberConfig.ts: simplified project setup client
- persistence.ts: registry-derived settings, add git provider hydration
- search.ts: upstream search entries + git provider entries
- useConfigStore.ts: loadDesktopSettings() path
- settings-helpers.js: add gitProviderId/gitModelId/gitProviders sanitization
- DOCUMENTATION.md: upstream walkthrough docs
- vite.config.ts: upstream SW glob patterns

Custom fork additions preserved:
- gitProviderId, gitModelId, gitProviders fields in settings registry
- Git provider domain store hydration in persistence.ts
- Git provider search entries in search.ts
- Git provider sanitization in settings-helpers.js
This commit is contained in:
2026-09-10 10:11:50 +00:00
559 changed files with 36139 additions and 9087 deletions
-38
View File
@@ -599,44 +599,6 @@
}, 10000);
</script>
<!-- CSS Font Loading API for reliable Nerd Font loading. The ~2 MB of
Nerd Fonts are only used by the terminal viewport, so they are no
longer downloaded on every cold start: the terminal requests them on
first mount through this idempotent hook. -->
<script>
(function() {
let nerdFontsPromise = null;
window.__openchamberEnsureNerdFonts = function() {
if (nerdFontsPromise) {
return nerdFontsPromise;
}
const fonts = [
{
name: 'JetBrainsMono Nerd Font',
url: 'https://cdn.jsdelivr.net/gh/mshaugh/nerdfont-webfonts@v3.3.0/build/fonts/JetBrainsMonoNerdFont-Regular.woff2'
},
{
name: 'FiraCode Nerd Font',
url: 'https://cdn.jsdelivr.net/gh/mshaugh/nerdfont-webfonts@v3.3.0/build/fonts/FiraCodeNerdFont-Regular.woff2'
}
];
const fontPromises = fonts.map(font => {
const fontFace = new FontFace(font.name, `url(${font.url}) format('woff2')`);
document.fonts.add(fontFace);
return fontFace.load().catch(err => {
console.warn(`Failed to load font: ${font.name}`, err);
});
});
nerdFontsPromise = Promise.allSettled(fontPromises).then(() => {
document.documentElement.classList.add('fonts-loaded');
});
return nerdFontsPromise;
};
})();
</script>
<!-- Polyfill for process before loading React -->
<script>
if (typeof process === 'undefined') {