fix: thread not reload after reply

This commit is contained in:
reya 2024-11-02 08:26:46 +07:00
parent f346282c3c
commit 26a6ec954c
5 changed files with 58 additions and 43 deletions

16
src-tauri/Cargo.lock generated
View File

@ -3481,7 +3481,7 @@ checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
[[package]]
name = "nostr"
version = "0.35.0"
source = "git+https://github.com/rust-nostr/nostr#7587fba8ee72041689aa46c1436ecfa73d75d381"
source = "git+https://github.com/rust-nostr/nostr#497c72f5a255c3d0cdf2a837e85c24be3d162fc0"
dependencies = [
"aes",
"async-trait",
@ -3512,7 +3512,7 @@ dependencies = [
[[package]]
name = "nostr-connect"
version = "0.35.0"
source = "git+https://github.com/rust-nostr/nostr#7587fba8ee72041689aa46c1436ecfa73d75d381"
source = "git+https://github.com/rust-nostr/nostr#497c72f5a255c3d0cdf2a837e85c24be3d162fc0"
dependencies = [
"async-trait",
"async-utility",
@ -3526,7 +3526,7 @@ dependencies = [
[[package]]
name = "nostr-database"
version = "0.35.0"
source = "git+https://github.com/rust-nostr/nostr#7587fba8ee72041689aa46c1436ecfa73d75d381"
source = "git+https://github.com/rust-nostr/nostr#497c72f5a255c3d0cdf2a837e85c24be3d162fc0"
dependencies = [
"async-trait",
"flatbuffers",
@ -3540,7 +3540,7 @@ dependencies = [
[[package]]
name = "nostr-lmdb"
version = "0.35.0"
source = "git+https://github.com/rust-nostr/nostr#7587fba8ee72041689aa46c1436ecfa73d75d381"
source = "git+https://github.com/rust-nostr/nostr#497c72f5a255c3d0cdf2a837e85c24be3d162fc0"
dependencies = [
"heed",
"nostr",
@ -3553,7 +3553,7 @@ dependencies = [
[[package]]
name = "nostr-relay-pool"
version = "0.35.0"
source = "git+https://github.com/rust-nostr/nostr#7587fba8ee72041689aa46c1436ecfa73d75d381"
source = "git+https://github.com/rust-nostr/nostr#497c72f5a255c3d0cdf2a837e85c24be3d162fc0"
dependencies = [
"async-utility",
"async-wsocket",
@ -3571,7 +3571,7 @@ dependencies = [
[[package]]
name = "nostr-sdk"
version = "0.35.0"
source = "git+https://github.com/rust-nostr/nostr#7587fba8ee72041689aa46c1436ecfa73d75d381"
source = "git+https://github.com/rust-nostr/nostr#497c72f5a255c3d0cdf2a837e85c24be3d162fc0"
dependencies = [
"async-utility",
"atomic-destructor",
@ -3590,7 +3590,7 @@ dependencies = [
[[package]]
name = "nostr-zapper"
version = "0.35.0"
source = "git+https://github.com/rust-nostr/nostr#7587fba8ee72041689aa46c1436ecfa73d75d381"
source = "git+https://github.com/rust-nostr/nostr#497c72f5a255c3d0cdf2a837e85c24be3d162fc0"
dependencies = [
"async-trait",
"nostr",
@ -3734,7 +3734,7 @@ dependencies = [
[[package]]
name = "nwc"
version = "0.35.0"
source = "git+https://github.com/rust-nostr/nostr#7587fba8ee72041689aa46c1436ecfa73d75d381"
source = "git+https://github.com/rust-nostr/nostr#497c72f5a255c3d0cdf2a837e85c24be3d162fc0"
dependencies = [
"async-trait",
"async-utility",

View File

@ -31,6 +31,7 @@ import { Route as ColumnsLayoutStoriesIdImport } from './routes/columns/_layout/
import { Route as ColumnsLayoutNewsfeedIdImport } from './routes/columns/_layout/newsfeed.$id'
import { Route as ColumnsLayoutInterestsIdImport } from './routes/columns/_layout/interests.$id'
import { Route as ColumnsLayoutGroupsIdImport } from './routes/columns/_layout/groups.$id'
import { Route as ColumnsLayoutEventsIdImport } from './routes/columns/_layout/events.$id'
import { Route as ColumnsLayoutCreateNewsfeedUsersImport } from './routes/columns/_layout/create-newsfeed.users'
import { Route as ColumnsLayoutCreateNewsfeedF2fImport } from './routes/columns/_layout/create-newsfeed.f2f'
@ -75,9 +76,6 @@ const ColumnsLayoutNotificationIdLazyImport = createFileRoute(
const ColumnsLayoutLaunchpadIdLazyImport = createFileRoute(
'/columns/_layout/launchpad/$id',
)()
const ColumnsLayoutEventsIdLazyImport = createFileRoute(
'/columns/_layout/events/$id',
)()
// Create/Update Routes
@ -326,14 +324,6 @@ const ColumnsLayoutLaunchpadIdLazyRoute =
import('./routes/columns/_layout/launchpad.$id.lazy').then((d) => d.Route),
)
const ColumnsLayoutEventsIdLazyRoute = ColumnsLayoutEventsIdLazyImport.update({
id: '/events/$id',
path: '/events/$id',
getParentRoute: () => ColumnsLayoutRoute,
} as any).lazy(() =>
import('./routes/columns/_layout/events.$id.lazy').then((d) => d.Route),
)
const ColumnsLayoutStoriesIdRoute = ColumnsLayoutStoriesIdImport.update({
id: '/stories/$id',
path: '/stories/$id',
@ -366,6 +356,14 @@ const ColumnsLayoutGroupsIdRoute = ColumnsLayoutGroupsIdImport.update({
import('./routes/columns/_layout/groups.$id.lazy').then((d) => d.Route),
)
const ColumnsLayoutEventsIdRoute = ColumnsLayoutEventsIdImport.update({
id: '/events/$id',
path: '/events/$id',
getParentRoute: () => ColumnsLayoutRoute,
} as any).lazy(() =>
import('./routes/columns/_layout/events.$id.lazy').then((d) => d.Route),
)
const ColumnsLayoutCreateNewsfeedUsersRoute =
ColumnsLayoutCreateNewsfeedUsersImport.update({
id: '/users',
@ -580,6 +578,13 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof ColumnsLayoutCreateNewsfeedUsersImport
parentRoute: typeof ColumnsLayoutCreateNewsfeedImport
}
'/columns/_layout/events/$id': {
id: '/columns/_layout/events/$id'
path: '/events/$id'
fullPath: '/columns/events/$id'
preLoaderRoute: typeof ColumnsLayoutEventsIdImport
parentRoute: typeof ColumnsLayoutImport
}
'/columns/_layout/groups/$id': {
id: '/columns/_layout/groups/$id'
path: '/groups/$id'
@ -608,13 +613,6 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof ColumnsLayoutStoriesIdImport
parentRoute: typeof ColumnsLayoutImport
}
'/columns/_layout/events/$id': {
id: '/columns/_layout/events/$id'
path: '/events/$id'
fullPath: '/columns/events/$id'
preLoaderRoute: typeof ColumnsLayoutEventsIdLazyImport
parentRoute: typeof ColumnsLayoutImport
}
'/columns/_layout/launchpad/$id': {
id: '/columns/_layout/launchpad/$id'
path: '/launchpad/$id'
@ -691,11 +689,11 @@ interface ColumnsLayoutRouteChildren {
ColumnsLayoutOnboardingLazyRoute: typeof ColumnsLayoutOnboardingLazyRoute
ColumnsLayoutSearchLazyRoute: typeof ColumnsLayoutSearchLazyRoute
ColumnsLayoutTrendingLazyRoute: typeof ColumnsLayoutTrendingLazyRoute
ColumnsLayoutEventsIdRoute: typeof ColumnsLayoutEventsIdRoute
ColumnsLayoutGroupsIdRoute: typeof ColumnsLayoutGroupsIdRoute
ColumnsLayoutInterestsIdRoute: typeof ColumnsLayoutInterestsIdRoute
ColumnsLayoutNewsfeedIdRoute: typeof ColumnsLayoutNewsfeedIdRoute
ColumnsLayoutStoriesIdRoute: typeof ColumnsLayoutStoriesIdRoute
ColumnsLayoutEventsIdLazyRoute: typeof ColumnsLayoutEventsIdLazyRoute
ColumnsLayoutLaunchpadIdLazyRoute: typeof ColumnsLayoutLaunchpadIdLazyRoute
ColumnsLayoutNotificationIdLazyRoute: typeof ColumnsLayoutNotificationIdLazyRoute
ColumnsLayoutRelaysUrlLazyRoute: typeof ColumnsLayoutRelaysUrlLazyRoute
@ -715,11 +713,11 @@ const ColumnsLayoutRouteChildren: ColumnsLayoutRouteChildren = {
ColumnsLayoutOnboardingLazyRoute: ColumnsLayoutOnboardingLazyRoute,
ColumnsLayoutSearchLazyRoute: ColumnsLayoutSearchLazyRoute,
ColumnsLayoutTrendingLazyRoute: ColumnsLayoutTrendingLazyRoute,
ColumnsLayoutEventsIdRoute: ColumnsLayoutEventsIdRoute,
ColumnsLayoutGroupsIdRoute: ColumnsLayoutGroupsIdRoute,
ColumnsLayoutInterestsIdRoute: ColumnsLayoutInterestsIdRoute,
ColumnsLayoutNewsfeedIdRoute: ColumnsLayoutNewsfeedIdRoute,
ColumnsLayoutStoriesIdRoute: ColumnsLayoutStoriesIdRoute,
ColumnsLayoutEventsIdLazyRoute: ColumnsLayoutEventsIdLazyRoute,
ColumnsLayoutLaunchpadIdLazyRoute: ColumnsLayoutLaunchpadIdLazyRoute,
ColumnsLayoutNotificationIdLazyRoute: ColumnsLayoutNotificationIdLazyRoute,
ColumnsLayoutRelaysUrlLazyRoute: ColumnsLayoutRelaysUrlLazyRoute,
@ -786,11 +784,11 @@ export interface FileRoutesByFullPath {
'/columns/trending': typeof ColumnsLayoutTrendingLazyRoute
'/columns/create-newsfeed/f2f': typeof ColumnsLayoutCreateNewsfeedF2fRoute
'/columns/create-newsfeed/users': typeof ColumnsLayoutCreateNewsfeedUsersRoute
'/columns/events/$id': typeof ColumnsLayoutEventsIdRoute
'/columns/groups/$id': typeof ColumnsLayoutGroupsIdRoute
'/columns/interests/$id': typeof ColumnsLayoutInterestsIdRoute
'/columns/newsfeed/$id': typeof ColumnsLayoutNewsfeedIdRoute
'/columns/stories/$id': typeof ColumnsLayoutStoriesIdRoute
'/columns/events/$id': typeof ColumnsLayoutEventsIdLazyRoute
'/columns/launchpad/$id': typeof ColumnsLayoutLaunchpadIdLazyRoute
'/columns/notification/$id': typeof ColumnsLayoutNotificationIdLazyRoute
'/columns/relays/$url': typeof ColumnsLayoutRelaysUrlLazyRoute
@ -825,11 +823,11 @@ export interface FileRoutesByTo {
'/columns/trending': typeof ColumnsLayoutTrendingLazyRoute
'/columns/create-newsfeed/f2f': typeof ColumnsLayoutCreateNewsfeedF2fRoute
'/columns/create-newsfeed/users': typeof ColumnsLayoutCreateNewsfeedUsersRoute
'/columns/events/$id': typeof ColumnsLayoutEventsIdRoute
'/columns/groups/$id': typeof ColumnsLayoutGroupsIdRoute
'/columns/interests/$id': typeof ColumnsLayoutInterestsIdRoute
'/columns/newsfeed/$id': typeof ColumnsLayoutNewsfeedIdRoute
'/columns/stories/$id': typeof ColumnsLayoutStoriesIdRoute
'/columns/events/$id': typeof ColumnsLayoutEventsIdLazyRoute
'/columns/launchpad/$id': typeof ColumnsLayoutLaunchpadIdLazyRoute
'/columns/notification/$id': typeof ColumnsLayoutNotificationIdLazyRoute
'/columns/relays/$url': typeof ColumnsLayoutRelaysUrlLazyRoute
@ -867,11 +865,11 @@ export interface FileRoutesById {
'/columns/_layout/trending': typeof ColumnsLayoutTrendingLazyRoute
'/columns/_layout/create-newsfeed/f2f': typeof ColumnsLayoutCreateNewsfeedF2fRoute
'/columns/_layout/create-newsfeed/users': typeof ColumnsLayoutCreateNewsfeedUsersRoute
'/columns/_layout/events/$id': typeof ColumnsLayoutEventsIdRoute
'/columns/_layout/groups/$id': typeof ColumnsLayoutGroupsIdRoute
'/columns/_layout/interests/$id': typeof ColumnsLayoutInterestsIdRoute
'/columns/_layout/newsfeed/$id': typeof ColumnsLayoutNewsfeedIdRoute
'/columns/_layout/stories/$id': typeof ColumnsLayoutStoriesIdRoute
'/columns/_layout/events/$id': typeof ColumnsLayoutEventsIdLazyRoute
'/columns/_layout/launchpad/$id': typeof ColumnsLayoutLaunchpadIdLazyRoute
'/columns/_layout/notification/$id': typeof ColumnsLayoutNotificationIdLazyRoute
'/columns/_layout/relays/$url': typeof ColumnsLayoutRelaysUrlLazyRoute
@ -909,11 +907,11 @@ export interface FileRouteTypes {
| '/columns/trending'
| '/columns/create-newsfeed/f2f'
| '/columns/create-newsfeed/users'
| '/columns/events/$id'
| '/columns/groups/$id'
| '/columns/interests/$id'
| '/columns/newsfeed/$id'
| '/columns/stories/$id'
| '/columns/events/$id'
| '/columns/launchpad/$id'
| '/columns/notification/$id'
| '/columns/relays/$url'
@ -947,11 +945,11 @@ export interface FileRouteTypes {
| '/columns/trending'
| '/columns/create-newsfeed/f2f'
| '/columns/create-newsfeed/users'
| '/columns/events/$id'
| '/columns/groups/$id'
| '/columns/interests/$id'
| '/columns/newsfeed/$id'
| '/columns/stories/$id'
| '/columns/events/$id'
| '/columns/launchpad/$id'
| '/columns/notification/$id'
| '/columns/relays/$url'
@ -987,11 +985,11 @@ export interface FileRouteTypes {
| '/columns/_layout/trending'
| '/columns/_layout/create-newsfeed/f2f'
| '/columns/_layout/create-newsfeed/users'
| '/columns/_layout/events/$id'
| '/columns/_layout/groups/$id'
| '/columns/_layout/interests/$id'
| '/columns/_layout/newsfeed/$id'
| '/columns/_layout/stories/$id'
| '/columns/_layout/events/$id'
| '/columns/_layout/launchpad/$id'
| '/columns/_layout/notification/$id'
| '/columns/_layout/relays/$url'
@ -1098,11 +1096,11 @@ export const routeTree = rootRoute
"/columns/_layout/onboarding",
"/columns/_layout/search",
"/columns/_layout/trending",
"/columns/_layout/events/$id",
"/columns/_layout/groups/$id",
"/columns/_layout/interests/$id",
"/columns/_layout/newsfeed/$id",
"/columns/_layout/stories/$id",
"/columns/_layout/events/$id",
"/columns/_layout/launchpad/$id",
"/columns/_layout/notification/$id",
"/columns/_layout/relays/$url",
@ -1193,6 +1191,10 @@ export const routeTree = rootRoute
"filePath": "columns/_layout/create-newsfeed.users.tsx",
"parent": "/columns/_layout/create-newsfeed"
},
"/columns/_layout/events/$id": {
"filePath": "columns/_layout/events.$id.tsx",
"parent": "/columns/_layout"
},
"/columns/_layout/groups/$id": {
"filePath": "columns/_layout/groups.$id.tsx",
"parent": "/columns/_layout"
@ -1209,10 +1211,6 @@ export const routeTree = rootRoute
"filePath": "columns/_layout/stories.$id.tsx",
"parent": "/columns/_layout"
},
"/columns/_layout/events/$id": {
"filePath": "columns/_layout/events.$id.lazy.tsx",
"parent": "/columns/_layout"
},
"/columns/_layout/launchpad/$id": {
"filePath": "columns/_layout/launchpad.$id.lazy.tsx",
"parent": "/columns/_layout"

View File

@ -183,7 +183,6 @@ function ReplyList() {
"event",
async (data) => {
const event = LumeEvent.from(data.payload.raw, data.payload.parsed);
console.log(event);
await queryClient.setQueryData(
["replies", id],
@ -200,6 +199,16 @@ function ReplyList() {
};
}, []);
useEffect(() => {
const unlisten = getCurrentWindow().listen(id, async () => {
await queryClient.invalidateQueries({ queryKey: ["replies", id] });
});
return () => {
unlisten.then((f) => f());
};
}, []);
return (
<div className="px-3">
<div className="flex items-center text-sm font-semibold h-14 text-neutral-600 dark:text-white/30">

View File

@ -0,0 +1,9 @@
import { commands } from "@/commands.gen";
import { createFileRoute } from "@tanstack/react-router";
export const Route = createFileRoute("/columns/_layout/events/$id")({
beforeLoad: async () => {
const accounts = await commands.getAccounts();
return { accounts };
},
});

View File

@ -8,6 +8,7 @@ import type { Metadata } from "@/types";
import { CaretDown } from "@phosphor-icons/react";
import { createLazyFileRoute, useAwaited } from "@tanstack/react-router";
import { Menu, MenuItem } from "@tauri-apps/api/menu";
import { getCurrentWindow } from "@tauri-apps/api/window";
import { message } from "@tauri-apps/plugin-dialog";
import {
useCallback,
@ -170,9 +171,7 @@ function Screen() {
setText("");
setIsPublish(true);
await queryClient.invalidateQueries({
queryKey: ["replies", reply_to],
});
await getCurrentWindow().emit(reply_to, {});
} else {
setError(res.error);
}