@peers-app/peers-ui 0.7.0 → 0.7.2

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.
@@ -189,6 +189,10 @@ function CreateGroupModal({ colorMode, userContext, onClose, onGroupCreated }) {
189
189
  signature: '', // Will be signed by save()
190
190
  });
191
191
  await (0, peers_sdk_1.Groups)(groupDataContext).save(newGroup);
192
+ // Auto-install peers-core for the new group
193
+ await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(peers_sdk_1.peersCorePackageId, { dataContextId: groupId }).catch((err) => {
194
+ console.error('Error auto-installing peers-core for group:', err);
195
+ });
192
196
  // Notify parent
193
197
  onGroupCreated(newGroup.groupId);
194
198
  }
package/dist/globals.js CHANGED
@@ -121,7 +121,7 @@ async function loadGlobals() {
121
121
  exports.me = await (0, peers_sdk_1.getMe)();
122
122
  await peers_sdk_1.reloadPackagesOnPageRefresh.loadingPromise;
123
123
  if ((0, peers_sdk_1.reloadPackagesOnPageRefresh)()) {
124
- await peers_sdk_1.rpcServerCalls.installOrUpdatePackage('all');
124
+ await peers_sdk_1.rpcServerCalls.addOrUpdatePackage('updateAll');
125
125
  }
126
126
  await Promise.all([
127
127
  (0, peers_sdk_1.Groups)().list().then(exports.groups),
@@ -144,6 +144,10 @@ function GroupList() {
144
144
  signature: '', // calling save will sign
145
145
  });
146
146
  await (0, peers_sdk_1.Groups)(groupDataContext).save(group);
147
+ // Auto-install peers-core for the new group
148
+ await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(peers_sdk_1.peersCorePackageId, { dataContextId: groupId }).catch((err) => {
149
+ console.error('Error auto-installing peers-core for group:', err);
150
+ });
147
151
  (0, globals_1.mainContentPath)(`groups/${group.groupId}`);
148
152
  return group;
149
153
  }
@@ -30,7 +30,7 @@ const PackageDetails = (props) => {
30
30
  {
31
31
  label: 'Reload Package',
32
32
  onClick: async () => {
33
- await peers_sdk_1.rpcServerCalls.installOrUpdatePackage(pkg.packageId);
33
+ await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(pkg.packageId, { update: true });
34
34
  await pkg.load();
35
35
  window.location.reload();
36
36
  }
@@ -43,8 +43,7 @@ const PackageDetails = (props) => {
43
43
  onClick: async () => {
44
44
  if (confirm(`Create a remote repository from this local one: ${pkg.name}`)) {
45
45
  try {
46
- await peers_sdk_1.rpcServerCalls.linkRemoteRepo(pkg.packageId);
47
- await peers_sdk_1.rpcServerCalls.installOrUpdatePackage(pkg.packageId);
46
+ await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(pkg.packageId, { linkRemote: true, update: true });
48
47
  refresh(Date.now());
49
48
  }
50
49
  catch (err) {
@@ -91,7 +91,7 @@ const PackageList = () => {
91
91
  return;
92
92
  try {
93
93
  addingPackage(true);
94
- const packageId = await peers_sdk_1.rpcServerCalls.addRemotePackage(name);
94
+ const packageId = await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(name);
95
95
  const pkg = await (0, peers_sdk_1.Packages)().get(packageId);
96
96
  if (pkg) {
97
97
  (0, globals_1.mainContentPath)(`packages/${packageId}`);
@@ -110,14 +110,9 @@ const PackageList = () => {
110
110
  }
111
111
  if (!confirm(`Create or import local package: ${searchText}`))
112
112
  return;
113
- let packageFolderName = name;
114
- packageFolderName = packageFolderName.replace(/[^a-zA-Z0-9]/g, ' ');
115
- packageFolderName = packageFolderName.replace(/\s+/g, ' ').trim();
116
- packageFolderName = (0, peers_sdk_1.camelCaseToHyphens)(packageFolderName);
117
- const packageLocationDefault = (0, peers_sdk_1.packagesRootDir)() + '/' + packageFolderName;
118
113
  try {
119
114
  addingPackage(true);
120
- const packageId = await peers_sdk_1.rpcServerCalls.createLocalPackage(name, packageLocationDefault);
115
+ const packageId = await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(name);
121
116
  const pkg = await (0, peers_sdk_1.Packages)().get(packageId);
122
117
  if (pkg) {
123
118
  (0, globals_1.mainContentPath)(`packages/${packageId}`);
@@ -57,7 +57,9 @@ const PackageNewLocal = () => {
57
57
  };
58
58
  const createLocalPackage = async () => {
59
59
  try {
60
- const packageId = await peers_sdk_1.rpcServerCalls.createLocalPackage(packageName, packageLocation || packageLocationDefault);
60
+ const packageId = await peers_sdk_1.rpcServerCalls.addOrUpdatePackage(packageName, {
61
+ packageLocation: packageLocation || packageLocationDefault
62
+ });
61
63
  const pkg = await (0, peers_sdk_1.Packages)().get(packageId);
62
64
  if (pkg) {
63
65
  (0, globals_1.mainContentPath)(`packages/${packageId}`);
@@ -56,6 +56,11 @@ const SetupUser = () => {
56
56
  const _userId = (0, peers_sdk_1.newid)();
57
57
  // Call setUserIdAndSecretKey
58
58
  await peers_sdk_1.rpcServerCalls.setUserIdAndSecretKey(_userId, keys.secretKey);
59
+ // Auto-install peers-core for the new user - waits for user creation to finish
60
+ peers_sdk_1.rpcServerCalls.addOrUpdatePackage(peers_sdk_1.peersCorePackageId, { dataContextId: _userId }).catch((err) => {
61
+ console.error('Error auto-installing peers-core for group:', err);
62
+ });
63
+ await (0, peers_sdk_1.sleep)(200); // give time for call to get to server before reloading
59
64
  // Success - reload the app
60
65
  window.location.reload();
61
66
  }
@@ -78,7 +83,7 @@ const SetupUser = () => {
78
83
  setIsValidating(true);
79
84
  try {
80
85
  // Validate secret key
81
- const keys = (0, peers_sdk_1.loadKeys)(secretKey);
86
+ const keys = (0, peers_sdk_1.hydrateKeys)(secretKey);
82
87
  const msg = (0, peers_sdk_1.newid)();
83
88
  const msgSigned = (0, peers_sdk_1.signMessageWithSecretKey)(msg, keys.secretKey);
84
89
  const msgOpened = (0, peers_sdk_1.openMessageWithPublicKey)(msgSigned, keys.publicKey);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peers-app/peers-ui",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/peers-app/peers-ui.git"
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "peerDependencies": {
29
29
  "bootstrap": "^5.3.3",
30
- "@peers-app/peers-sdk": "^0.7.0",
30
+ "@peers-app/peers-sdk": "^0.7.2",
31
31
  "react": "^18.0.0",
32
32
  "react-dom": "^18.0.0"
33
33
  },
@@ -57,7 +57,7 @@
57
57
  "jest": "^29.7.0",
58
58
  "jest-environment-jsdom": "^30.0.5",
59
59
  "path-browserify": "^1.0.1",
60
- "@peers-app/peers-sdk": "0.7.0",
60
+ "@peers-app/peers-sdk": "0.7.2",
61
61
  "react": "^18.0.0",
62
62
  "react-dom": "^18.0.0",
63
63
  "string-width": "^7.1.0",
@@ -1,4 +1,4 @@
1
- import { getMe, getUserContext, Groups, IGroup, newid, newKeys, TrustLevel, UserContext, Users } from "@peers-app/peers-sdk";
1
+ import { getMe, getUserContext, Groups, IGroup, newid, newKeys, peersCorePackageId, rpcServerCalls, TrustLevel, UserContext, Users } from "@peers-app/peers-sdk";
2
2
  import React, { useEffect, useState } from 'react';
3
3
  import { usePromise } from '../hooks';
4
4
 
@@ -250,6 +250,11 @@ function CreateGroupModal({ colorMode, userContext, onClose, onGroupCreated }: C
250
250
  });
251
251
 
252
252
  await Groups(groupDataContext).save(newGroup);
253
+
254
+ // Auto-install peers-core for the new group
255
+ await rpcServerCalls.addOrUpdatePackage(peersCorePackageId, { dataContextId: groupId }).catch((err: any) => {
256
+ console.error('Error auto-installing peers-core for group:', err);
257
+ });
253
258
 
254
259
  // Notify parent
255
260
  onGroupCreated(newGroup.groupId);
package/src/globals.tsx CHANGED
@@ -131,7 +131,7 @@ export async function loadGlobals() {
131
131
  me = await getMe();
132
132
  await reloadPackagesOnPageRefresh.loadingPromise;
133
133
  if (reloadPackagesOnPageRefresh()) {
134
- await rpcServerCalls.installOrUpdatePackage('all');
134
+ await rpcServerCalls.addOrUpdatePackage('updateAll');
135
135
  }
136
136
  await Promise.all([
137
137
  Groups().list().then(groups),
@@ -1,4 +1,4 @@
1
- import { getMe, getUserContext, Groups, ICursorIterable, IGroup, newid, newKeys, observable, rpcServerCalls, TrustLevel, Users } from "@peers-app/peers-sdk";
1
+ import { getMe, getUserContext, Groups, ICursorIterable, IGroup, newid, newKeys, observable, peersCorePackageId, rpcServerCalls, TrustLevel, Users } from "@peers-app/peers-sdk";
2
2
  import React, { useEffect, useState } from 'react';
3
3
  import { Input } from '../../components/input';
4
4
  import { LazyList } from '../../components/lazy-list';
@@ -117,6 +117,11 @@ export function GroupList() {
117
117
  });
118
118
  await Groups(groupDataContext).save(group);
119
119
 
120
+ // Auto-install peers-core for the new group
121
+ await rpcServerCalls.addOrUpdatePackage(peersCorePackageId, { dataContextId: groupId }).catch((err: any) => {
122
+ console.error('Error auto-installing peers-core for group:', err);
123
+ });
124
+
120
125
  mainContentPath(`groups/${group.groupId}`);
121
126
  return group;
122
127
  }
@@ -34,7 +34,7 @@ export const PackageDetails = (props: IProps) => {
34
34
  {
35
35
  label: 'Reload Package',
36
36
  onClick: async () => {
37
- await rpcServerCalls.installOrUpdatePackage(pkg.packageId);
37
+ await rpcServerCalls.addOrUpdatePackage(pkg.packageId, { update: true });
38
38
  await pkg.load();
39
39
  window.location.reload();
40
40
  }
@@ -47,9 +47,7 @@ export const PackageDetails = (props: IProps) => {
47
47
  onClick: async () => {
48
48
  if (confirm(`Create a remote repository from this local one: ${pkg.name}`)) {
49
49
  try {
50
-
51
- await rpcServerCalls.linkRemoteRepo(pkg.packageId);
52
- await rpcServerCalls.installOrUpdatePackage(pkg.packageId);
50
+ await rpcServerCalls.addOrUpdatePackage(pkg.packageId, { linkRemote: true, update: true });
53
51
  refresh(Date.now());
54
52
  } catch (err) {
55
53
  alert(`Error linking remote repo: ${err}`);
@@ -1,4 +1,4 @@
1
- import { camelCaseToHyphens, ICursorIterable, IPackage, observable, Packages, packagesRootDir, rpcServerCalls } from "@peers-app/peers-sdk";
1
+ import { ICursorIterable, IPackage, observable, Packages, packagesRootDir, rpcServerCalls } from "@peers-app/peers-sdk";
2
2
  import React, { useEffect, useState } from 'react';
3
3
  import { Input } from "../../components/input";
4
4
  import { LazyList } from "../../components/lazy-list";
@@ -57,7 +57,7 @@ export const PackageList = () => {
57
57
  if (!confirm(`Add remote package: ${name}`)) return;
58
58
  try {
59
59
  addingPackage(true);
60
- const packageId = await rpcServerCalls.addRemotePackage(name);
60
+ const packageId = await rpcServerCalls.addOrUpdatePackage(name);
61
61
  const pkg = await Packages().get(packageId);
62
62
  if (pkg) {
63
63
  mainContentPath(`packages/${packageId}`);
@@ -76,15 +76,9 @@ export const PackageList = () => {
76
76
 
77
77
  if (!confirm(`Create or import local package: ${searchText}`)) return;
78
78
 
79
- let packageFolderName = name;
80
- packageFolderName = packageFolderName.replace(/[^a-zA-Z0-9]/g, ' ');
81
- packageFolderName = packageFolderName.replace(/\s+/g, ' ').trim();
82
- packageFolderName = camelCaseToHyphens(packageFolderName);
83
- const packageLocationDefault = packagesRootDir() + '/' + packageFolderName;
84
-
85
79
  try {
86
80
  addingPackage(true);
87
- const packageId = await rpcServerCalls.createLocalPackage(name, packageLocationDefault);
81
+ const packageId = await rpcServerCalls.addOrUpdatePackage(name);
88
82
  const pkg = await Packages().get(packageId);
89
83
  if (pkg) {
90
84
  mainContentPath(`packages/${packageId}`);
@@ -29,7 +29,9 @@ export const PackageNewLocal = () => {
29
29
 
30
30
  const createLocalPackage = async () => {
31
31
  try {
32
- const packageId = await rpcServerCalls.createLocalPackage(packageName, packageLocation || packageLocationDefault);
32
+ const packageId = await rpcServerCalls.addOrUpdatePackage(packageName, {
33
+ packageLocation: packageLocation || packageLocationDefault
34
+ });
33
35
  const pkg = await Packages().get(packageId);
34
36
  if (pkg) {
35
37
  mainContentPath(`packages/${packageId}`);
@@ -1,4 +1,4 @@
1
- import { IPublicPrivateKeys, isid, loadKeys, newid, newKeys, openMessageWithPublicKey, rpcServerCalls, signMessageWithSecretKey } from "@peers-app/peers-sdk";
1
+ import { hydrateKeys, isid, newid, newKeys, openMessageWithPublicKey, peersCorePackageId, rpcServerCalls, signMessageWithSecretKey, sleep } from "@peers-app/peers-sdk";
2
2
  import React, { useState } from "react";
3
3
  import { useObservable } from "../hooks";
4
4
  import { colorMode } from "./settings/color-mode-dropdown";
@@ -28,6 +28,12 @@ export const SetupUser = () => {
28
28
  // Call setUserIdAndSecretKey
29
29
  await rpcServerCalls.setUserIdAndSecretKey(_userId, keys.secretKey);
30
30
 
31
+ // Auto-install peers-core for the new user - waits for user creation to finish
32
+ rpcServerCalls.addOrUpdatePackage(peersCorePackageId, { dataContextId: _userId }).catch((err: any) => {
33
+ console.error('Error auto-installing peers-core for group:', err);
34
+ });
35
+ await sleep(200); // give time for call to get to server before reloading
36
+
31
37
  // Success - reload the app
32
38
  window.location.reload();
33
39
  } catch (err) {
@@ -54,7 +60,7 @@ export const SetupUser = () => {
54
60
 
55
61
  try {
56
62
  // Validate secret key
57
- const keys = loadKeys(secretKey);
63
+ const keys = hydrateKeys(secretKey);
58
64
  const msg = newid();
59
65
  const msgSigned = signMessageWithSecretKey(msg, keys.secretKey);
60
66
  const msgOpened = openMessageWithPublicKey(msgSigned, keys.publicKey);