cicy-desktop 2.1.213 → 2.1.214

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cicy-desktop",
3
- "version": "2.1.213",
3
+ "version": "2.1.214",
4
4
  "description": "CiCy - AI-powered operating system browser",
5
5
  "main": "src/main.js",
6
6
  "bin": {
@@ -166,6 +166,22 @@ function normalizePrivateChromeEntry(profileKey, accountIdx, entry) {
166
166
  };
167
167
  }
168
168
 
169
+ // resolveGmail derives a profile's Google identity. The `account` CLI / UI now
170
+ // records identities in the `accounts` map (accounts.gmail / accounts.google),
171
+ // so read from there FIRST and only fall back to the legacy top-level `gmail`
172
+ // field (which was only ever set at `add --gmail` time). This is why gmail/login
173
+ // info showed empty: it was recorded into accounts.* but everything read the
174
+ // top-level gmail field.
175
+ function resolveGmail(normalized) {
176
+ const a = (normalized && normalized.accounts) || {};
177
+ return (
178
+ (a.gmail && a.gmail.account) ||
179
+ (a.google && a.google.account) ||
180
+ (normalized && normalized.gmail) ||
181
+ ""
182
+ );
183
+ }
184
+
169
185
  function normalizeEffectiveChromeProfile(accountIdx, effectiveChromeProfile) {
170
186
  const parsed = injectedChromeProfileSchema.parse(effectiveChromeProfile || {});
171
187
  const gmail = typeof parsed.gmail === "string" ? parsed.gmail : "";
@@ -507,7 +523,7 @@ function registerChromeTools(registerTool) {
507
523
  views.push({
508
524
  profileKey,
509
525
  accountIdx,
510
- gmail: normalized.gmail,
526
+ gmail: resolveGmail(normalized),
511
527
  note: normalized.note,
512
528
  orgPath: normalized.orgPath,
513
529
  rpaDir: normalized.rpaDir,
@@ -515,6 +531,9 @@ function registerChromeTools(registerTool) {
515
531
  proxy: normalized.proxyUrl,
516
532
  proxyRaw: normalized.proxy,
517
533
  platform: normalized.platform,
534
+ // The service→credentials map (accounts.gmail / .github / …) — the panel
535
+ // reads identities from here, so it must travel with the list view.
536
+ accounts: normalized.accounts,
518
537
  // parity with electron_list_profiles so the panel renders the same row
519
538
  ipInfo: profileStore.normalizeIpInfo(entry.ipInfo),
520
539
  logins: (Array.isArray(entry.logins) ? entry.logins : []).map(profileStore.normalizeLogin),
@@ -537,7 +556,7 @@ function registerChromeTools(registerTool) {
537
556
  async ({ includeHidden } = {}) => {
538
557
  const entries = listPrivateChromeEntries({ includeHidden: !!includeHidden });
539
558
  const gmails = entries
540
- .map(({ profileKey, accountIdx, entry }) => normalizePrivateChromeEntry(profileKey, accountIdx, entry).gmail)
559
+ .map(({ profileKey, accountIdx, entry }) => resolveGmail(normalizePrivateChromeEntry(profileKey, accountIdx, entry)))
541
560
  .filter(Boolean);
542
561
  return toToolResult({ gmails });
543
562
  },
@@ -555,12 +574,13 @@ function registerChromeTools(registerTool) {
555
574
  const accounts = entries.map(({ profileKey, accountIdx, entry }) => {
556
575
  const normalized = normalizePrivateChromeEntry(profileKey, accountIdx, entry);
557
576
  const gh = normalized.platform?.github || {};
577
+ const ghAcct = (normalized.accounts && normalized.accounts.github) || {};
558
578
  return {
559
579
  profileKey,
560
580
  accountIdx,
561
- gmail: normalized.gmail,
562
- email: gh.email || "",
563
- username: gh.username || "",
581
+ gmail: resolveGmail(normalized),
582
+ email: gh.email || ghAcct.email || "",
583
+ username: gh.username || ghAcct.account || "",
564
584
  };
565
585
  });
566
586
  return toToolResult({ githubAccounts: accounts });