diff --git a/VERSION b/VERSION index fe04e7f..236c7ad 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.0.20 +0.0.21 diff --git a/src/nostr_bridge.c b/src/nostr_bridge.c index 1ce40b4..e3427ac 100644 --- a/src/nostr_bridge.c +++ b/src/nostr_bridge.c @@ -473,6 +473,7 @@ static const char *sovereign_page_css(void) { " border-radius: 4px; }\n" " .theme-toggle { position: fixed; top: 20px; right: 20px;\n" " display: flex; align-items: center; gap: 8px; cursor: pointer;\n" + " text-decoration: none; user-select: none;\n" " font-size: 12px; color: var(--muted); user-select: none;\n" " border: 1px solid var(--border); border-radius: var(--radius);\n" " padding: 4px 10px; background: var(--bg); z-index: 10; }\n" @@ -507,11 +508,10 @@ static char *sovereign_page_head(const char *title) { * Returns a newly-allocated string (g_free). */ static char *sovereign_page_foot(void) { return g_strdup_printf( - "
" - "%s ☀☾
\n" + "" + "%s\n" "\n", - settings_get()->theme_dark ? "Day" : "Night"); + settings_get()->theme_dark ? "Day Mode" : "Night Mode"); } /* ── Settings page ─────────────────────────────────────────────── */ @@ -585,35 +585,29 @@ static void handle_settings_page(WebKitURISchemeRequest *request) { /* Build the keyboard shortcuts section HTML. One row per action. */ GString *shortcuts_html = g_string_new(NULL); g_string_append(shortcuts_html, - "

Keyboard Shortcuts

\n" - "

Click Change then press the key combination " - "you want. Press Escape to cancel.

\n"); + "

Keyboard Shortcuts

\n"); for (int i = 0; i < SHORTCUT_COUNT; i++) { const shortcut_meta_t *m = shortcuts_meta((shortcut_action_t)i); const char *accel = shortcuts_get((shortcut_action_t)i); char *label_esc = g_markup_escape_text(m->label, -1); - char *desc_esc = g_markup_escape_text(m->desc, -1); char *accel_esc = g_markup_escape_text(accel ? accel : "", -1); g_string_append_printf(shortcuts_html, "
\n" - "
%s
\n" - "
%s
\n" + "
%s
\n" "
%s\n" " \n" "
\n" "
\n", m->id, accel ? accel : "", - label_esc, desc_esc, + label_esc, m->id, accel_esc, m->id, m->id); g_free(label_esc); - g_free(desc_esc); g_free(accel_esc); } g_string_append(shortcuts_html, "
" - "
Reset all shortcuts
" - "
Restore all bindings to defaults
" + "
Reset all shortcuts
" "
" "
\n"); @@ -627,29 +621,25 @@ static void handle_settings_page(WebKitURISchemeRequest *request) { "

Appearance

\n" "\n" "
\n" - "
Dark mode (Night)
\n" - "
Black background, white text. Toggle for Day mode.
\n" + "
Dark mode (Night)
\n" "
\n" "
\n" "\n" "

Tabs

\n" "\n" "
\n" - "
Restore session on startup
\n" - "
Reopen tabs from the previous session
\n" + "
Restore session on startup
\n" "
\n" "
\n" "\n" "
\n" - "
New tab URL
\n" - "
Page loaded when opening a new tab
\n" + "
New tab URL
\n" "
\n" "
\n" "
\n" "\n" "
\n" - "
Tab bar position
\n" - "
Where the tab strip appears
\n" + "
Tab bar position
\n" "
\n" "
\n" "
\n" @@ -695,38 +680,31 @@ static void handle_settings_page(WebKitURISchemeRequest *request) { "

Agent Server

\n" "\n" "
\n" - "
Enable agent server
\n" - "
MCP server for automation (takes effect on next launch)
\n" + "
Enable agent server
\n" "
\n" "
\n" "\n" "
\n" - "
Agent server port
\n" - "
TCP port for the MCP server (next launch)
\n" + "
Agent server port
\n" "
\n" "
\n" "
\n" "\n" "
\n" - "
Allowed origins
\n" - "
Comma-separated CORS origins (* for any)
\n" + "
Allowed origins
\n" "
\n" "
\n" "
\n" "\n" "
\n" - "
Login timeout (ms)
\n" - "
Wait for agent login before GTK dialog
\n" + "
Login timeout (ms)
\n" "
\n" "
\n" "
\n" "\n" "

Bootstrap Relays

\n" - "

Relays queried after login to fetch your profile (kind 0),\n" - "contacts (kind 3), and relay list (kind 10002). One wss:// URL per line.

\n" "
\n" - "
Relay URLs
\n" - "
One wss:// URL per line
\n" + "
Relay URLs
\n" "
\n" "
\n" "
\n" @@ -734,8 +712,7 @@ static void handle_settings_page(WebKitURISchemeRequest *request) { "

Search

\n" "\n" "
\n" - "
Search engine
\n" - "
Engine used when typing a query in the URL bar
\n" + "
Search engine
\n" "
\n" @@ -743,37 +720,29 @@ static void handle_settings_page(WebKitURISchemeRequest *request) { "
\n" "\n" "

Security

\n" - "

The 'reckless browser' thesis: identity and transport are handled\n" - "at a different layer (Nostr keys + FIPS mesh), so the browser's own security\n" - "sandbox is deliberately stripped. Toggle features on if you need them.

\n" "\n" "
\n" - "
Developer Tools (Inspector)
\n" - "
Enable WebKit Web Inspector for JS debugging
\n" + "
Developer Tools (Inspector)
\n" "
\n" "
\n" "\n" "
\n" - "
File Access from file://
\n" - "
Allow file:// pages to access other file:// resources
\n" + "
File Access from file://
\n" "
\n" "
\n" "\n" "
\n" - "
Universal Access from file://
\n" - "
Allow file:// pages to make cross-origin requests (needed for sovereign:// bridge)
\n" + "
Universal Access from file://
\n" "
\n" "
\n" "\n" "
\n" - "
CORS Enforcement
\n" - "
Block cross-origin requests without CORS headers (currently always off)
\n" + "
CORS Enforcement
\n" "
\n" "
\n" "\n" "
\n" - "
TLS Certificate Check
\n" - "
Reject invalid/self-signed certificates (currently always off — FIPS uses Noise IK)
\n" + "
TLS Certificate Check
\n" "
\n" "
\n" "\n" @@ -996,7 +965,8 @@ static void handle_settings_page(WebKitURISchemeRequest *request) { search_engine_options->str, dev_extras ? "on" : "off", file_access ? "on" : "off", - universal_access ? "on" : "off" + universal_access ? "on" : "off", + foot ); respond_html(request, html); diff --git a/src/settings.h b/src/settings.h index c2ed34c..b8eb445 100644 --- a/src/settings.h +++ b/src/settings.h @@ -15,7 +15,7 @@ extern "C" { #endif -#define SETTINGS_NEW_TAB_URL_DEFAULT "https://example.com" +#define SETTINGS_NEW_TAB_URL_DEFAULT "" #define SETTINGS_NEW_TAB_URL_MAX 512 #define SETTINGS_MAX_TABS_DEFAULT 50 #define SETTINGS_AGENT_PORT_DEFAULT 17777 diff --git a/src/version.h b/src/version.h index c78931a..6aa381d 100644 --- a/src/version.h +++ b/src/version.h @@ -11,9 +11,9 @@ #ifndef SOVEREIGN_BROWSER_VERSION_H #define SOVEREIGN_BROWSER_VERSION_H -#define SB_VERSION "v0.0.20" +#define SB_VERSION "v0.0.21" #define SB_VERSION_MAJOR 0 #define SB_VERSION_MINOR 0 -#define SB_VERSION_PATCH 20 +#define SB_VERSION_PATCH 21 #endif /* SOVEREIGN_BROWSER_VERSION_H */