vibora 9.5.1 → 9.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.html CHANGED
@@ -5,8 +5,8 @@
5
5
  <link rel="icon" type="image/png" href="/logo.png" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Vibora - Harness Attention. Ship.</title>
8
- <script type="module" crossorigin src="/assets/index-CIDCJjL_.js"></script>
9
- <link rel="stylesheet" crossorigin href="/assets/index-CYo_ATvM.css">
8
+ <script type="module" crossorigin src="/assets/index-D5n1jUcJ.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-BFg6RnDv.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibora",
3
- "version": "9.5.1",
3
+ "version": "9.7.0",
4
4
  "description": "Harness Attention. Orchestrate Agents. Ship.",
5
5
  "license": "PolyForm-Perimeter-1.0.0",
6
6
  "repository": {
package/server/index.js CHANGED
@@ -4884,9 +4884,17 @@ function updateSettingByPath(settingPath, value) {
4884
4884
  parsed = JSON.parse(fs2.readFileSync(settingsPath, "utf-8"));
4885
4885
  } catch {}
4886
4886
  }
4887
+ const oldValue = getNestedValue(parsed, settingPath);
4887
4888
  setNestedValue(parsed, settingPath, value);
4888
4889
  parsed._schemaVersion = CURRENT_SCHEMA_VERSION;
4889
4890
  fs2.writeFileSync(settingsPath, JSON.stringify(parsed, null, 2), "utf-8");
4891
+ const sensitiveKeys = ["linearApiKey", "githubPat", "cloudflareApiToken", "apiKey"];
4892
+ const isSensitive = sensitiveKeys.some((key) => settingPath.includes(key));
4893
+ const logValue = isSensitive ? "***" : value;
4894
+ const logOldValue = isSensitive ? "***" : oldValue;
4895
+ if (oldValue !== value) {
4896
+ log2.settings.info("Setting updated", { path: settingPath, from: logOldValue, to: logValue });
4897
+ }
4890
4898
  return getSettings();
4891
4899
  }
4892
4900
  function updateSettings(updates) {
@@ -4932,7 +4940,7 @@ function getNotificationSettings() {
4932
4940
  return DEFAULT_NOTIFICATION_SETTINGS;
4933
4941
  }
4934
4942
  return {
4935
- enabled: notifications.enabled ?? false,
4943
+ enabled: notifications.enabled ?? true,
4936
4944
  toast: { enabled: true, ...notifications.toast },
4937
4945
  desktop: { enabled: true, ...notifications.desktop },
4938
4946
  sound: { enabled: false, ...notifications.sound },
@@ -4965,6 +4973,31 @@ function updateNotificationSettings(updates) {
4965
4973
  };
4966
4974
  parsed.notifications = updated;
4967
4975
  fs2.writeFileSync(settingsPath, JSON.stringify(parsed, null, 2), "utf-8");
4976
+ const changes = {};
4977
+ if (updates.enabled !== undefined && updates.enabled !== current.enabled) {
4978
+ changes.enabled = { from: current.enabled, to: updates.enabled };
4979
+ }
4980
+ if (updates.toast?.enabled !== undefined && updates.toast.enabled !== current.toast.enabled) {
4981
+ changes["toast.enabled"] = { from: current.toast.enabled, to: updates.toast.enabled };
4982
+ }
4983
+ if (updates.desktop?.enabled !== undefined && updates.desktop.enabled !== current.desktop.enabled) {
4984
+ changes["desktop.enabled"] = { from: current.desktop.enabled, to: updates.desktop.enabled };
4985
+ }
4986
+ if (updates.sound?.enabled !== undefined && updates.sound.enabled !== current.sound.enabled) {
4987
+ changes["sound.enabled"] = { from: current.sound.enabled, to: updates.sound.enabled };
4988
+ }
4989
+ if (updates.slack?.enabled !== undefined && updates.slack.enabled !== current.slack.enabled) {
4990
+ changes["slack.enabled"] = { from: current.slack.enabled, to: updates.slack.enabled };
4991
+ }
4992
+ if (updates.discord?.enabled !== undefined && updates.discord.enabled !== current.discord.enabled) {
4993
+ changes["discord.enabled"] = { from: current.discord.enabled, to: updates.discord.enabled };
4994
+ }
4995
+ if (updates.pushover?.enabled !== undefined && updates.pushover.enabled !== current.pushover.enabled) {
4996
+ changes["pushover.enabled"] = { from: current.pushover.enabled, to: updates.pushover.enabled };
4997
+ }
4998
+ if (Object.keys(changes).length > 0) {
4999
+ log2.settings.info("Notification settings updated", { changes });
5000
+ }
4968
5001
  return updated;
4969
5002
  }
4970
5003
  function getClaudeSettingsPath() {