fix(polish): address 3 review blockers + 1 security issue

1. ThemeSettings: change 'auto' radio value to 'system' to match
   the v5 settingsSchema enum. Storing 'auto' silently wipes all
   settings on next launch.
2. UpdateBanner: render an 'available' branch so users see a CTA
   when a new version is detected (the store already had this state,
   but the banner was silent). Added a test.
3. feed-config: remove the unused resolveFeedUrl / FEEDS exports.
   feedConfigFor is the actual implementation used by the IPC
   handler. Updated tests to match.
4. main/index.js: tighten app:open-external regex to https:// only.
This commit is contained in:
2026-06-08 07:35:54 +05:30
parent 1715e26e5f
commit c5d4b113bd
6 changed files with 25 additions and 68 deletions
+1 -32
View File
@@ -1,36 +1,5 @@
const { resolveFeedUrl, feedConfigFor, FEEDS } = require('../../../../src/main/updater/feed-config');
const { feedConfigFor } = require('../../../../src/main/updater/feed-config');
describe('feed-config', () => {
test('resolves github channel to GitHub Releases feed', () => {
const url = resolveFeedUrl('github', '5.0.2', 'mac');
expect(url).toBe('https://github.com/amitwh/markdown-converter/releases/download/v5.0.2/latest-mac.yml');
});
test('resolves concreteinfo channel to CI feed', () => {
const url = resolveFeedUrl('concreteinfo', '5.0.2', 'mac');
expect(url).toBe('https://updates.concreteinfo.co.in/v5/latest-mac.yml');
});
test('resolves windows platform correctly', () => {
const url = resolveFeedUrl('github', '5.0.2', 'windows');
expect(url).toContain('latest-windows.yml');
});
test('resolves linux platform correctly', () => {
const url = resolveFeedUrl('github', '5.0.2', 'linux');
expect(url).toContain('latest-linux.yml');
});
test('falls back to github on unknown channel', () => {
const url = resolveFeedUrl('something-weird', '5.0.2', 'mac');
expect(url).toContain('github.com');
});
test('exports both feeds as constants', () => {
expect(FEEDS.github).toBeDefined();
expect(FEEDS.concreteinfo).toBeDefined();
});
});
describe('feedConfigFor', () => {
test('returns github provider config for github channel', () => {
const config = feedConfigFor('github');