{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":171188548,"defaultBranch":"v2","name":"open-tbm","ownerLogin":"n0099","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-02-18T00:23:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13030387?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1718706336.0","currentOid":""},"activityList":{"items":[{"before":"b5d7d3933f7cb82f3b9da0a58d4c1bec858de7ca","after":"17c77e4fa65696bf00e9f2fcef6fc50076fc3f19","ref":"refs/heads/v2","pushedAt":"2024-06-28T14:34:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* migrate component references to nuxt preferred naming when auto importing with its path structure as prefix\n@ fe","shortMessageHtmlLink":"* migrate component references to nuxt preferred naming when auto imp…"}},{"before":"3a57a91cc2fa352b6b8eb7680251605413da0df4","after":"b5d7d3933f7cb82f3b9da0a58d4c1bec858de7ca","ref":"refs/heads/v2","pushedAt":"2024-06-28T14:32:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* migrate component references to nuxt preferred naming when auto importing with its path structure as prefix\n@ fe","shortMessageHtmlLink":"* migrate component references to nuxt preferred naming when auto imp…"}},{"before":"400bbab0b61245769a33e6de94865f44419e2184","after":"3a57a91cc2fa352b6b8eb7680251605413da0df4","ref":"refs/heads/v2","pushedAt":"2024-06-28T14:27:28.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* migrate component references to nuxt preferred naming when auto importing with its path structure as prefix\n@ fe","shortMessageHtmlLink":"* migrate component references to nuxt preferred naming when auto imp…"}},{"before":"4b48cd07fd452bcdf5af35d030a7890685d43126","after":"400bbab0b61245769a33e6de94865f44419e2184","ref":"refs/heads/v2","pushedAt":"2024-06-28T14:20:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* migrate component references to nuxt preferred naming when auto importing with its path structure as prefix\n@ fe","shortMessageHtmlLink":"* migrate component references to nuxt preferred naming when auto imp…"}},{"before":"1bf575f6481f29290df8b7dbd9687bbe7132cbc1","after":"4b48cd07fd452bcdf5af35d030a7890685d43126","ref":"refs/heads/v2","pushedAt":"2024-06-28T14:13:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* migrate component references to nuxt preferred naming when auto importing with its path structure as prefix\n@ fe","shortMessageHtmlLink":"* migrate component references to nuxt preferred naming when auto imp…"}},{"before":"407685a70b385e092631ea2d2caf5338118cea3c","after":"1bf575f6481f29290df8b7dbd9687bbe7132cbc1","ref":"refs/heads/v2","pushedAt":"2024-06-28T13:41:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"$ yarn remove @nuxt/kit @vueuse/core ofetch pinia @stylistic/eslint-plugin{,-migrate} eslint-plugin-{import-x,unicorn,vue} vue-eslint-parser # since they already installed by other nuxt packages aka hoisted ghost/phantom/extraneous dependencies, partial revert b26570989882091b479496f29aac8c48a06c49bf\n$ yarn remove eslint-import-resolver-vite tsx # no longer using them since previous commit\n* disable rule `import-x/no-extraneous-dependencies` @ eslint.config.js\n@ fe","shortMessageHtmlLink":"$ yarn remove @nuxt/kit @vueuse/core ofetch pinia @stylistic/eslint-p…"}},{"before":"4452a4f2501a5589385c1c9cdbdd893c67d6e785","after":"407685a70b385e092631ea2d2caf5338118cea3c","ref":"refs/heads/v2","pushedAt":"2024-06-28T11:57:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* now compatible with `enabled: (query) => boolean` that introduced in https://github.com/TanStack/query/pull/7566 @ `useApi*()`\n* now typing `queryKey` of `UseInfiniteQueryOptions` @ `useApiWithCursor()`\n@ api/index.ts\n\n* fix now showing user `displayName` when its name is `null`, introduced in 62e1a5efa9a6087380fb238e32d22c71ba8a7a6c @ ``\n* fix hydration node mistmatch in `` when switching from query with empty param to non-empty @ pages/posts.vue\n@ fe","shortMessageHtmlLink":"* now compatible with enabled: (query) => boolean that introduced in "}},{"before":"e50081f1b08cc1aecb2ab49b1246b52c08b0b5a7","after":"4452a4f2501a5589385c1c9cdbdd893c67d6e785","ref":"refs/heads/v2","pushedAt":"2024-06-28T04:58:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"$ yarn upgrade-interactive\n@ fe","shortMessageHtmlLink":"$ yarn upgrade-interactive"}},{"before":"368f6c9e6a0a008f47994c15e2435b45e37f0d92","after":"e50081f1b08cc1aecb2ab49b1246b52c08b0b5a7","ref":"refs/heads/v2","pushedAt":"2024-06-27T16:22:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* fix never passing response status code of the prefetch to the SSR response since `flush: sync` is required to watch instant chanegs over refs returned by `useApi*()`\n* replace the watcher with `flush: sync` back to `watchSyncEffect()` like 57bd1a519994753aaa945229b4d440d6dfeecb5a\n@ pages/posts.vue\n\n* move parts of passing response status code of prop `errror` to the response of SSR from `` to `responseWithError()` in `utils/index.ts`\n@ fe","shortMessageHtmlLink":"* fix never passing response status code of the prefetch to the SSR r…"}},{"before":"c035e1038a570ae8f337be7b02c27ab2f1d321f1","after":"368f6c9e6a0a008f47994c15e2435b45e37f0d92","ref":"refs/heads/v2","pushedAt":"2024-06-27T10:37:40.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* fix passing attributes from the root component instead of `` itself through it onto `` @ ``\n* fix `Directive \"viewer\" has already been registered in target app.`: https://github.com/nuxt/nuxt/issues/13382#issuecomment-2192801116 @ plugins/directive.server.ts\n* replace `!client` with `server` when testing `isHydratingOrSSR()` @ stores/hydration.ts\n* fix cannot clone the updating param in `clearParamDefaultValue()`, regression of 78e9e04bab791c72934a17f1db83ebc08ef0b767 @ useQueryForm.ts\n@ fe","shortMessageHtmlLink":"* fix passing attributes from the root component instead of `<DefineU…"}},{"before":"9046c3304b2d6fdeb62b2cbff9bf916988a83bfd","after":"c035e1038a570ae8f337be7b02c27ab2f1d321f1","ref":"refs/heads/v2","pushedAt":"2024-06-25T03:39:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* fix `tippy.setDefaultProps` not exists on nitro ssr server @ plugins/tippy.ts\n* fix `[plugin vite:reporter] node_modules/nprogress/nprogress.js is dynamically imported by ... but also statically imported by ..., dynamic import will not move module into another chunk.` while `yarn nuxt build` @ app.vue\n* rename default import from `nprogress` to `nProgress` to match with its internal name\n+ `plugins/directive.server.ts` following https://github.com/nuxt/nuxt/issues/13382#issuecomment-1541610910\n* disable experimental feature `writeEarlyHints` as nginx doesn't support HTTP 103: https://forum.nginx.org/read.php?10,293049 @ nuxt.config.ts\n@ fe","shortMessageHtmlLink":"* fix tippy.setDefaultProps not exists on nitro ssr server @ plugin…"}},{"before":"9603fafe8f1f623b7fb2803bdd4ee6cad699e2a6","after":"9046c3304b2d6fdeb62b2cbff9bf916988a83bfd","ref":"refs/heads/v2","pushedAt":"2024-06-25T01:36:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* replace navigation guard `onBeforeRouteUpdate()` with deep watcher to fix the timing of query cannot get the `fetchedPage` as route hasn't changed at that time\n+ `queryStartedAtSSR` & `isQueriedBySSR` to fix not timing from the point of fetch started while SSR\n* rename variable `startTime` to `queryStartedAt`, const `isCached` to `isQueryCached`, `(network|render)Time` to `-Duration`\n- ref `isRouteNewQuery` as moved scrolling to top from watcher of query timing to waterch of route\n@ pages/posts.vue\n\n* fix ref of `data.pages` fetched from `useInfiniteQuery()` may contain nesting refs at root level: https://github.com/TanStack/query/pull/6657 @ ``\n* using media query in css instead of js before hydrate like 9603fafe8f1f623b7fb2803bdd4ee6cad699e2a6 for noscript user @ ``\n\n* partial revert 8283197dae59103130f09255aa1989b8111d18f1 as only scroll to `savedPosition` when it's not scrolling to top\n* fix regression of `isPathsFirstDirectorySame()` from d5fcc95c2d2f323b64f6fe3feedf4a2f3b73624d\n@ app/router.options.ts\n@ fe","shortMessageHtmlLink":"* replace navigation guard onBeforeRouteUpdate() with deep watcher …"}},{"before":"1925d52e076559a767fd0842a3bb2e7ff20504ba","after":"9603fafe8f1f623b7fb2803bdd4ee6cad699e2a6","ref":"refs/heads/v2","pushedAt":"2024-06-24T20:49:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* merge two variants for SSR & CSR of component `` into one, partial revert 842283adc40e7ea42b8b32acf8ec028c1005342c\n* using native css media query to `togglePostNavExpanded()` for noscript user @ ``\n@ fe\n\n+ some commits that mainly compose by `eslint --fix` @ .git-blame-ignore-revs","shortMessageHtmlLink":"* merge two variants for SSR & CSR of component <BadgePostTimeView>…"}},{"before":"a0c52b72e398d7849d4fe54e81263000f7ca522a","after":"1925d52e076559a767fd0842a3bb2e7ff20504ba","ref":"refs/heads/v2","pushedAt":"2024-06-24T20:06:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* merge two variants for SSR & CSR of component `` into one, partial revert 842283adc40e7ea42b8b32acf8ec028c1005342c\n@ fe\n\n+ some commits that mainly compose by `eslint --fix` @ .git-blame-ignore-revs","shortMessageHtmlLink":"* merge two variants for SSR & CSR of component <BadgePostTimeView>…"}},{"before":"8b0772258b435d29dacec632e061c96c64311c8b","after":"a0c52b72e398d7849d4fe54e81263000f7ca522a","ref":"refs/heads/v2","pushedAt":"2024-06-24T19:48:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"$ mv {utils,plugins}/tippy.ts # to replace attribute `data-tippy-content` with global directive `v-tippy` and render its value as the `title` attr while SSR for noscript users\n* replace xhtml/xml compatible self-closing tag `
` with html 4/5 variant `
`\n@ fe","shortMessageHtmlLink":"$ mv {utils,plugins}/tippy.ts # to replace attribute `data-tippy-cont…"}},{"before":"1fef0265f135fa7731da9c4cf040d56d7a281115","after":"8b0772258b435d29dacec632e061c96c64311c8b","ref":"refs/heads/v2","pushedAt":"2024-06-24T06:05:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* currify with param `component: () => Promise` for `withCursorRoute()` to fix `[Vue Router warn]: Record with path \"...\" is either missing a \"component(s)\" or \"children\" property.` @ app/router.options.ts\n* fix implicitly unwrapping refs in template make typing of props more complicate to compatible with props of `` @ ``\n* skip type checking for `components/User/*` & `pages/users.vue`\n@ fe","shortMessageHtmlLink":"* currify with param component: () => Promise<Component> for `withC…"}},{"before":"8cc6b93cb5b8cdb01b4535b8435fb9bf516ea0f6","after":"1fef0265f135fa7731da9c4cf040d56d7a281115","ref":"refs/heads/v2","pushedAt":"2024-06-24T06:02:51.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"* currify with param `component: () => Promise` for `withCursorRoute()` to fix `[Vue Router warn]: Record with path \"...\" is either missing a \"component(s)\" or \"children\" property.` @ app/router.options.ts\n* fix implicitly unwrapping refs in template make typing of props more complicate to compatible with props of `` @ ``\n@ fe","shortMessageHtmlLink":"* currify with param component: () => Promise<Component> for `withC…"}},{"before":"842283adc40e7ea42b8b32acf8ec028c1005342c","after":"8cc6b93cb5b8cdb01b4535b8435fb9bf516ea0f6","ref":"refs/heads/v2","pushedAt":"2024-06-24T05:13:12.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"n0099","name":"n0099","path":"/n0099","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13030387?s=80&v=4"},"commit":{"message":"+ prop `nextPageRoute` to replace native `