mirror of
https://github.com/fluencelabs/fluent-pad
synced 2025-04-25 08:52:14 +00:00
Bump sdk version
This commit is contained in:
parent
39c335d57c
commit
d4fb811054
12
client/package-lock.json
generated
12
client/package-lock.json
generated
@ -1206,9 +1206,9 @@
|
|||||||
"integrity": "sha512-XIgRgyVgPJXvXB3NuYHpSdJ0EFcFZ+K4uduGFf8PfnFii/bFs4F1n3MBB+b4D0y59HR4F9ZQUC4fXxcf6UCYWA=="
|
"integrity": "sha512-XIgRgyVgPJXvXB3NuYHpSdJ0EFcFZ+K4uduGFf8PfnFii/bFs4F1n3MBB+b4D0y59HR4F9ZQUC4fXxcf6UCYWA=="
|
||||||
},
|
},
|
||||||
"@fluencelabs/fluence": {
|
"@fluencelabs/fluence": {
|
||||||
"version": "0.8.0-big-refactoring.14",
|
"version": "0.8.0-big-refactoring.15",
|
||||||
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.8.0-big-refactoring.14.tgz",
|
"resolved": "https://registry.npmjs.org/@fluencelabs/fluence/-/fluence-0.8.0-big-refactoring.15.tgz",
|
||||||
"integrity": "sha512-C2VLnmgdT8dMSkpXracg4TXXewu6YZuJFfoEZTLb0Xq5sXfVwiXE2YGNBYsbjy5CR73HxR/ehPfRca+qGskuEQ==",
|
"integrity": "sha512-F09a97IWzeMi+e8iAwBI32796gN+Q4Q4Z3invl3o4F1MvrmfH7UpDsGF0vY/pPqkqqXpxLXsrSgo29L6ixw3cg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@fluencelabs/aquamarine-stepper": "0.0.30",
|
"@fluencelabs/aquamarine-stepper": "0.0.30",
|
||||||
"async": "3.2.0",
|
"async": "3.2.0",
|
||||||
@ -10596,9 +10596,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"streaming-iterables": {
|
"streaming-iterables": {
|
||||||
"version": "5.0.3",
|
"version": "5.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-5.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/streaming-iterables/-/streaming-iterables-5.0.4.tgz",
|
||||||
"integrity": "sha512-1AgrKjHTvaaK+iA+N3BuTXQWVb7Adyb6+v8yIW3SCTwlBVYEbm76mF8Mf0/IVo+DOk7hoeELOURBKTCMhe/qow=="
|
"integrity": "sha512-nEs6hBGIPsVz6uq6pscGGKfoPDQWrDQW0b0UHurtSDysekfKLmkPg7FQVRE2sj3Rad6yUo9E1sGTxOWyYsHQ/g=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fluencelabs/fluence": "0.8.0-big-refactoring.14",
|
"@fluencelabs/fluence": "0.8.0-big-refactoring.15",
|
||||||
"@fluencelabs/fluence-network-environment": "^1.0.5",
|
"@fluencelabs/fluence-network-environment": "^1.0.5",
|
||||||
"@testing-library/jest-dom": "^5.11.6",
|
"@testing-library/jest-dom": "^5.11.6",
|
||||||
"@testing-library/react": "^11.2.2",
|
"@testing-library/react": "^11.2.2",
|
||||||
|
@ -42,8 +42,6 @@ const throwIfError = (result: ServiceResult) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export type PeerId = string;
|
|
||||||
|
|
||||||
export const updateOnlineStatuses = async (client: FluenceClient) => {
|
export const updateOnlineStatuses = async (client: FluenceClient) => {
|
||||||
const particle = new Particle(
|
const particle = new Particle(
|
||||||
`
|
`
|
||||||
@ -75,8 +73,8 @@ export const updateOnlineStatuses = async (client: FluenceClient) => {
|
|||||||
{
|
{
|
||||||
userlistNode: userListNodePid,
|
userlistNode: userListNodePid,
|
||||||
userlist: userListServiceId,
|
userlist: userListServiceId,
|
||||||
myRelay: client.relayPeerID.toB58String(),
|
myRelay: client.relayPeerId,
|
||||||
myPeerId: client.selfPeerId.toB58String(),
|
myPeerId: client.selfPeerId,
|
||||||
fluentPadServiceId: fluentPadServiceId,
|
fluentPadServiceId: fluentPadServiceId,
|
||||||
notifyOnline: notifyOnlineFnName,
|
notifyOnline: notifyOnlineFnName,
|
||||||
},
|
},
|
||||||
@ -107,15 +105,15 @@ export const notifySelfAdded = (client: FluenceClient, name: string) => {
|
|||||||
{
|
{
|
||||||
userlistNode: userListNodePid,
|
userlistNode: userListNodePid,
|
||||||
userlist: userListServiceId,
|
userlist: userListServiceId,
|
||||||
myRelay: client.relayPeerID.toB58String(),
|
myRelay: client.relayPeerId,
|
||||||
myPeerId: client.selfPeerId.toB58String(),
|
myPeerId: client.selfPeerId,
|
||||||
fluentPadServiceId: fluentPadServiceId,
|
fluentPadServiceId: fluentPadServiceId,
|
||||||
notifyUserAdded: notifyUserAddedFnName,
|
notifyUserAdded: notifyUserAddedFnName,
|
||||||
myUser: [
|
myUser: [
|
||||||
{
|
{
|
||||||
name: name,
|
name: name,
|
||||||
peer_id: client.selfPeerId.toB58String(),
|
peer_id: client.selfPeerId,
|
||||||
relay_id: client.relayPeerID.toB58String(),
|
relay_id: client.relayPeerId,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
setOnline: true,
|
setOnline: true,
|
||||||
@ -142,8 +140,8 @@ export const getUserList = async (client: FluenceClient) => {
|
|||||||
{
|
{
|
||||||
userlistNode: userListNodePid,
|
userlistNode: userListNodePid,
|
||||||
userlist: userListServiceId,
|
userlist: userListServiceId,
|
||||||
myRelay: client.relayPeerID.toB58String(),
|
myRelay: client.relayPeerId,
|
||||||
myPeerId: client.selfPeerId.toB58String(),
|
myPeerId: client.selfPeerId,
|
||||||
fluentPadServiceId: fluentPadServiceId,
|
fluentPadServiceId: fluentPadServiceId,
|
||||||
notifyUserAdded: notifyUserAddedFnName,
|
notifyUserAdded: notifyUserAddedFnName,
|
||||||
immediately: true,
|
immediately: true,
|
||||||
@ -168,12 +166,12 @@ export const join = async (client: FluenceClient, nickName: string) => {
|
|||||||
)
|
)
|
||||||
`,
|
`,
|
||||||
{
|
{
|
||||||
myRelay: client.relayPeerID.toB58String(),
|
myRelay: client.relayPeerId,
|
||||||
myPeerId: client.selfPeerId.toB58String(),
|
myPeerId: client.selfPeerId,
|
||||||
user: {
|
user: {
|
||||||
name: nickName,
|
name: nickName,
|
||||||
peer_id: client.selfPeerId.toB58String(),
|
peer_id: client.selfPeerId,
|
||||||
relay_id: client.relayPeerID.toB58String(),
|
relay_id: client.relayPeerId,
|
||||||
},
|
},
|
||||||
userlist: userListServiceId,
|
userlist: userListServiceId,
|
||||||
userlistNode: userListNodePid,
|
userlistNode: userListNodePid,
|
||||||
@ -209,8 +207,8 @@ export const leave = async (client: FluenceClient) => {
|
|||||||
{
|
{
|
||||||
userlistNode: userListNodePid,
|
userlistNode: userListNodePid,
|
||||||
userlist: userListServiceId,
|
userlist: userListServiceId,
|
||||||
myRelay: client.relayPeerID.toB58String(),
|
myRelay: client.relayPeerId,
|
||||||
myPeerId: client.selfPeerId.toB58String(),
|
myPeerId: client.selfPeerId,
|
||||||
fluentPadServiceId: fluentPadServiceId,
|
fluentPadServiceId: fluentPadServiceId,
|
||||||
notifyUserRemoved: notifyUserRemovedFnName,
|
notifyUserRemoved: notifyUserRemovedFnName,
|
||||||
},
|
},
|
||||||
@ -237,8 +235,8 @@ export const getHistory = async (client: FluenceClient) => {
|
|||||||
)
|
)
|
||||||
`,
|
`,
|
||||||
{
|
{
|
||||||
myRelay: client.relayPeerID.toB58String(),
|
myRelay: client.relayPeerId,
|
||||||
myPeerId: client.selfPeerId.toB58String(),
|
myPeerId: client.selfPeerId,
|
||||||
userlist: userListServiceId,
|
userlist: userListServiceId,
|
||||||
history: historyServiceId,
|
history: historyServiceId,
|
||||||
userlistNode: userListNodePid,
|
userlistNode: userListNodePid,
|
||||||
@ -283,8 +281,8 @@ export const addEntry = async (client: FluenceClient, entry: string) => {
|
|||||||
entry: entry,
|
entry: entry,
|
||||||
userlist: userListServiceId,
|
userlist: userListServiceId,
|
||||||
history: historyServiceId,
|
history: historyServiceId,
|
||||||
myRelay: client.relayPeerID.toB58String(),
|
myRelay: client.relayPeerId,
|
||||||
myPeerId: client.selfPeerId.toB58String(),
|
myPeerId: client.selfPeerId,
|
||||||
fluentPadServiceId: fluentPadServiceId,
|
fluentPadServiceId: fluentPadServiceId,
|
||||||
notifyTextUpdate: notifyTextUpdateFnName,
|
notifyTextUpdate: notifyTextUpdateFnName,
|
||||||
},
|
},
|
||||||
|
@ -14,12 +14,9 @@ const App = () => {
|
|||||||
const [nickName, setNickName] = useState('');
|
const [nickName, setNickName] = useState('');
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const fn = async () => {
|
createClient(relayNode)
|
||||||
const c = await createClient(relayNode);
|
.then((client) => setClient(client))
|
||||||
|
.catch((err) => console.log('Client initialization failed', err));
|
||||||
setClient(c);
|
|
||||||
};
|
|
||||||
fn();
|
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const joinRoom = async () => {
|
const joinRoom = async () => {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { subscribeToEvent } from '@fluencelabs/fluence';
|
import { PeerIdB58, subscribeToEvent } from '@fluencelabs/fluence';
|
||||||
|
|
||||||
import { fluentPadServiceId, notifyTextUpdateFnName } from 'src/app/constants';
|
import { fluentPadServiceId, notifyTextUpdateFnName } from 'src/app/constants';
|
||||||
import { useFluenceClient } from '../app/FluenceClientContext';
|
import { useFluenceClient } from '../app/FluenceClientContext';
|
||||||
@ -30,8 +30,8 @@ export const CollaborativeEditor = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const unsub = subscribeToEvent(client, fluentPadServiceId, notifyTextUpdateFnName, (args, tetraplets) => {
|
const unsub = subscribeToEvent(client, fluentPadServiceId, notifyTextUpdateFnName, (args, tetraplets) => {
|
||||||
const [authorPeerId, changes, isAuthorized] = args as [api.PeerId, string, boolean];
|
const [authorPeerId, changes, isAuthorized] = args as [PeerIdB58, string, boolean];
|
||||||
if (authorPeerId === client.selfPeerId.toB58String()) {
|
if (authorPeerId === client.selfPeerId) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,11 +7,10 @@ import {
|
|||||||
} from 'src/app/constants';
|
} from 'src/app/constants';
|
||||||
import { useFluenceClient } from '../app/FluenceClientContext';
|
import { useFluenceClient } from '../app/FluenceClientContext';
|
||||||
import * as api from 'src/app/api';
|
import * as api from 'src/app/api';
|
||||||
import { subscribeToEvent } from '@fluencelabs/fluence';
|
import { PeerIdB58, subscribeToEvent } from '@fluencelabs/fluence';
|
||||||
import { PeerId } from 'src/app/api';
|
|
||||||
|
|
||||||
interface User {
|
interface User {
|
||||||
id: PeerId;
|
id: PeerIdB58;
|
||||||
name: string;
|
name: string;
|
||||||
isOnline: boolean;
|
isOnline: boolean;
|
||||||
shouldBecomeOnline: boolean;
|
shouldBecomeOnline: boolean;
|
||||||
@ -29,7 +28,7 @@ const refreshTimeoutMs = 2000;
|
|||||||
|
|
||||||
export const UserList = (props: { selfName: string }) => {
|
export const UserList = (props: { selfName: string }) => {
|
||||||
const client = useFluenceClient()!;
|
const client = useFluenceClient()!;
|
||||||
const [users, setUsers] = useState<Map<PeerId, User>>(new Map());
|
const [users, setUsers] = useState<Map<PeerIdB58, User>>(new Map());
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const listRefreshTimer = setInterval(() => {
|
const listRefreshTimer = setInterval(() => {
|
||||||
@ -53,7 +52,7 @@ export const UserList = (props: { selfName: string }) => {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
const isCurrentUser = u.peer_id === client.selfPeerId.toB58String();
|
const isCurrentUser = u.peer_id === client.selfPeerId;
|
||||||
|
|
||||||
result.set(u.peer_id, {
|
result.set(u.peer_id, {
|
||||||
name: u.name,
|
name: u.name,
|
||||||
@ -67,22 +66,20 @@ export const UserList = (props: { selfName: string }) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const unsub2 = subscribeToEvent(client, fluentPadServiceId, notifyUserRemovedFnName, (args, _) => {
|
const unsub2 = subscribeToEvent(client, fluentPadServiceId, notifyUserRemovedFnName, (args, _) => {
|
||||||
const [users] = args as [PeerId[]];
|
const [userLeft] = args as [PeerIdB58];
|
||||||
setUsers((prev) => {
|
setUsers((prev) => {
|
||||||
const result = new Map(prev);
|
const result = new Map(prev);
|
||||||
for (let u of users) {
|
result.delete(userLeft);
|
||||||
result.delete(u);
|
|
||||||
}
|
|
||||||
return result;
|
return result;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
const unsub3 = subscribeToEvent(client, fluentPadServiceId, notifyOnlineFnName, (args, _) => {
|
const unsub3 = subscribeToEvent(client, fluentPadServiceId, notifyOnlineFnName, (args, _) => {
|
||||||
const [users] = args as [PeerId[]];
|
const [userOnline] = args as [PeerIdB58[]];
|
||||||
setUsers((prev) => {
|
setUsers((prev) => {
|
||||||
const result = new Map(prev);
|
const result = new Map(prev);
|
||||||
|
|
||||||
for (let u of users) {
|
for (let u of userOnline) {
|
||||||
const toSetOnline = result.get(u);
|
const toSetOnline = result.get(u);
|
||||||
if (toSetOnline) {
|
if (toSetOnline) {
|
||||||
toSetOnline.shouldBecomeOnline = true;
|
toSetOnline.shouldBecomeOnline = true;
|
||||||
@ -115,7 +112,7 @@ export const UserList = (props: { selfName: string }) => {
|
|||||||
<ul>
|
<ul>
|
||||||
{usersArray.map((x) => (
|
{usersArray.map((x) => (
|
||||||
<li key={x.id}>
|
<li key={x.id}>
|
||||||
<span className={x.id === client.selfPeerId.toB58String() ? 'bold' : ''}>{x.name}</span>
|
<span className={x.id === client.selfPeerId ? 'bold' : ''}>{x.name}</span>
|
||||||
<span className={x.isOnline ? 'green' : 'red'}> ({x.isOnline ? 'online' : 'offline'})</span>
|
<span className={x.isOnline ? 'green' : 'red'}> ({x.isOnline ? 'online' : 'offline'})</span>
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user