Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
db49af3
feat: expose connection options
khawarizmus Sep 24, 2025
a5656f8
feat: expose connection options and connector in AbstractPowerSyncDat…
khawarizmus Sep 25, 2025
9a1b28f
Added react-native-background-sync demo
dean-journeyapps Sep 29, 2025
eeb352b
Added necessary work space dependencies
dean-journeyapps Sep 29, 2025
066d607
Fixed .env copy command
dean-journeyapps Sep 29, 2025
c75877a
Renamed demo project to react-native.-supabase-background-sync
dean-journeyapps Sep 30, 2025
0a6af1c
feat: Added support for a "token" query parameter in diag tool. (#728)
Chriztiaan Oct 2, 2025
76ea89c
Version Packages (#730)
github-actions[bot] Oct 2, 2025
ac42343
Version Packages (#718)
github-actions[bot] Sep 29, 2025
9a959f0
Sync streams demo (#721)
simolus3 Sep 29, 2025
d193c18
docs: document the connector getter
Oct 2, 2025
d549b41
docs: documented the connection option getter
Oct 2, 2025
c2bc2c1
feat: expose connection and connection options in connect()
Oct 2, 2025
d1f8396
Merge branch 'main' into expose-connection-params
Oct 2, 2025
3008dbc
Allow using `syncStream()` instances with hooks (#729)
simolus3 Oct 2, 2025
86f3c1d
Merge pull request #726 from powersync-ja/expose-connection-params
khawarizmus Oct 2, 2025
0c94c40
Rename diagnostics app to be more specific (#731)
benitav Oct 3, 2025
949a7d8
Version Packages (#732)
github-actions[bot] Oct 3, 2025
e549509
chore: update Angular demo build (#738)
stevensJourney Oct 20, 2025
ac82680
fix: diagnostics app dynamic schema (#737)
stevensJourney Oct 20, 2025
9c818dc
Version Packages (#739)
github-actions[bot] Oct 20, 2025
688265f
Node: Support using node:sqlite and encryption (#690)
simolus3 Oct 20, 2025
aa90aa0
[Node.js] Bundle PowerSync Core (#733)
stevensJourney Oct 21, 2025
63bdf9d
Version Packages
github-actions[bot] Oct 21, 2025
2f8b30c
feat: expose table name in schema props (#741)
stevensJourney Oct 28, 2025
b00e1ec
[Node.js] Prevent database is locked errors (#749)
stevensJourney Oct 30, 2025
a6e3db4
Capacitor Community SQLite (#708)
stevensJourney Oct 31, 2025
1e2213a
[Chore] Fix Capacitor SDK Versioning (#751)
stevensJourney Nov 3, 2025
bc4eb49
Version Packages (#747)
github-actions[bot] Nov 3, 2025
27f5cd9
[Docs] Add Capacitor Entry (#755)
stevensJourney Nov 3, 2025
fe71006
Update Capacitor README (#756)
stevensJourney Nov 4, 2025
5ba7d33
[Demo] TanStack DB (#754)
stevensJourney Nov 6, 2025
58cf447
Capacitor Android CMakeLists Fix (#759)
stevensJourney Nov 6, 2025
a1d7e79
Version Packages (#757)
github-actions[bot] Nov 6, 2025
3e4a25c
Refactor build logic (#753)
simolus3 Nov 6, 2025
66f1076
Fix attachments build (#761)
rkistner Nov 6, 2025
d3808db
Debug node test failures (#762)
simolus3 Nov 10, 2025
14521c0
Fix release CI (#764)
simolus3 Nov 11, 2025
b7a150a
fix: Drizzle Read Connection Concurrency (#765)
stevensJourney Nov 12, 2025
1530190
Version Packages (#766)
github-actions[bot] Nov 12, 2025
66218b2
chore: Improve racy tests (#769)
stevensJourney Nov 13, 2025
4c66487
fix: capacitor readTransaction not allowed errors (#768)
stevensJourney Nov 13, 2025
3af4a2c
feat: operation_id for trigger based diffs (#770)
stevensJourney Nov 13, 2025
75d1595
chore: Fix typo in changeset (#772)
stevensJourney Nov 14, 2025
6e6db2a
Version Packages (#771)
github-actions[bot] Nov 14, 2025
d88fc5f
feat: Tanstack useQueries support (#642)
whygee-dev Nov 17, 2025
e88154e
fix: Potential Multitab Transaction Issues With IndexedDB (#775)
stevensJourney Nov 20, 2025
507197f
fix: Revert Web Vite Config Breaking changes (#776)
stevensJourney Nov 20, 2025
b4b393b
Version Packages (#774)
github-actions[bot] Nov 20, 2025
9b82867
fix: Syncing After Uploads when using Triggers (#781)
stevensJourney Nov 24, 2025
f9e2e9c
Version Packages (#782)
github-actions[bot] Nov 24, 2025
3f45e44
create scripts for managing demos
LucDeCaf Nov 26, 2025
810d3d8
add demos/**/package.json.bak to gitignore
LucDeCaf Nov 26, 2025
5bc741a
fix spelling
LucDeCaf Nov 26, 2025
f0b5c13
apply scripts to react-supabase-todolist + add tsconfig override
LucDeCaf Nov 26, 2025
b5e39dc
remove references from react-supabase-todolist/tsconfig.json
LucDeCaf Nov 26, 2025
d368c11
run use latest on react supabase todolist
LucDeCaf Nov 26, 2025
18a900f
add script to split references out of tsconfig
LucDeCaf Nov 26, 2025
74dd68b
cleanup
LucDeCaf Nov 26, 2025
95f2bc5
isolate example-node
LucDeCaf Nov 26, 2025
db5f592
add gitignore to example-node
LucDeCaf Nov 26, 2025
c5d22c9
isolate example-vite and example-vite-encryption
LucDeCaf Nov 26, 2025
7f664ee
isolate react-supabase-todolist family of demos
LucDeCaf Nov 26, 2025
8db8d07
gen overrides for react-supabase-todolist demos
LucDeCaf Nov 26, 2025
f0b6324
isolate example-webpack
LucDeCaf Nov 26, 2025
ddbbb94
isolate example-vue
LucDeCaf Nov 26, 2025
45f3b42
update scripts to work better with workspaces
LucDeCaf Nov 28, 2025
84d8c85
update tsconfigs and package.jsons
LucDeCaf Nov 28, 2025
34296fd
fix rn bundling not working properly
LucDeCaf Nov 28, 2025
3fc0d6e
fix react package test
LucDeCaf Nov 28, 2025
cb00fed
actually fix react test
LucDeCaf Nov 28, 2025
c373280
further debugging of this project
LucDeCaf Nov 28, 2025
181ecbb
update lockfiles and demo test script
LucDeCaf Nov 28, 2025
d217a1d
update script with more error logging
LucDeCaf Dec 1, 2025
b2dfc80
update scripts + update django demo + fix tsconfig.workspace.json han…
LucDeCaf Dec 1, 2025
f102635
consolidate tsconfig.workspace.jsons into toplevel tsconfig.demo.json
LucDeCaf Dec 1, 2025
b7ffcea
upgrade packages on demo test
LucDeCaf Dec 1, 2025
a546d55
specify cwd in pnpm upgrade
LucDeCaf Dec 1, 2025
341a5cc
update pnpm workspaces and isolated-demo-test script
LucDeCaf Dec 1, 2025
80d74c3
Update react tests to properly capture some errors
LucDeCaf Dec 1, 2025
3aefd18
update react-native-supabase-group-chat build config to match behavio…
LucDeCaf Dec 2, 2025
1c251e9
convert `demos-use-latest.ts` into `bump-demo-packages.ts`
LucDeCaf Dec 3, 2025
371fe71
Migrate old PowerChat demo to use newer package versions and features
LucDeCaf Dec 3, 2025
c670e18
Fix fonts breaking on android
LucDeCaf Dec 3, 2025
080f9b3
Update lockfile
LucDeCaf Dec 3, 2025
d6c361f
Formatting
LucDeCaf Dec 4, 2025
206833b
Clean up noise
LucDeCaf Dec 4, 2025
6a442a0
Expo doctor
LucDeCaf Dec 4, 2025
cc1757f
Final parity changes
LucDeCaf Dec 4, 2025
2bb871d
Use pnpm v9
LucDeCaf Dec 4, 2025
299c6dc
Update PowerSync SQLite Core Extension to v0.4.10 (#790)
stevensJourney Dec 8, 2025
f2fd930
Final changes
LucDeCaf Dec 8, 2025
f21dacd
Move lib to library, since Prettier was struggling to detect files
LucDeCaf Dec 8, 2025
056cf87
Merge branch 'isolate-demos' into 'chore/migrate-powerchat-demo' and …
LucDeCaf Dec 8, 2025
6def8e6
update lockfile post-merge
LucDeCaf Dec 8, 2025
94fbcbb
add dotenv as dedicated dev dependency and use async iterator polyfill
LucDeCaf Dec 8, 2025
6807713
Merge pull request #789 from powersync-ja/chore/migrate-powerchat-demo
LucDeCaf Dec 8, 2025
dc22c20
Update demo to work in new workspace config
LucDeCaf Dec 8, 2025
13205df
Update demo to work in new workspace config
LucDeCaf Dec 8, 2025
52a83fc
Update opsqlite demo proj to work better w/ monorepos
LucDeCaf Dec 9, 2025
71e5e5c
Merge branch 'isolate-demos' of github.com:powersync-ja/powersync-js …
LucDeCaf Dec 9, 2025
192aea7
Update ios dir to work in new workspace config
LucDeCaf Dec 9, 2025
be20288
Update ios script to install Pods before running
LucDeCaf Dec 9, 2025
4472b0c
Un-update install script, update readme
LucDeCaf Dec 9, 2025
e4512d6
Update README to include SQL Server support
benitav Dec 9, 2025
2ab36ee
Update package readme's with SQL Server too
benitav Dec 9, 2025
4d0703c
Add angular demo lockfile
LucDeCaf Dec 9, 2025
e350018
Add lockfiles and project configs for electron and capacitor demos
LucDeCaf Dec 9, 2025
18d39a7
Add lockfile + resolve phantom deps
LucDeCaf Dec 9, 2025
19f8b1b
Freeze tanstack db versions due to breaking API changes between minor…
LucDeCaf Dec 10, 2025
616c2a1
feat: Custom App Metadata (#783)
stevensJourney Dec 10, 2025
7e23c25
Merge pull request #793 from powersync-ja/mssql-readme
benitav Dec 10, 2025
53d83c9
Add lockfile
LucDeCaf Dec 10, 2025
9c262f3
Update READMEs to reflect new way of using demos
LucDeCaf Dec 10, 2025
317c748
fix(drizzle-driver): reorder export attributes preventing "Error: Def…
flochaz Dec 11, 2025
1b0b77c
Update example-electron-node README and pnpm config
LucDeCaf Dec 11, 2025
0267713
Merge branch 'main' into 'isolate-demos'
LucDeCaf Dec 11, 2025
34c2478
Update global lockfile post-merge
LucDeCaf Dec 11, 2025
595f01d
Update tests to install Playwright dependencies
LucDeCaf Dec 11, 2025
e088e7d
Remove demo lockfiles from Git tracking
LucDeCaf Dec 11, 2025
1c13ba3
Fix incorrectly resolved version changes
LucDeCaf Dec 12, 2025
981e150
Remove unneeded metro configs
LucDeCaf Dec 12, 2025
33c2884
Update scripts and use tsc instead of tsx
LucDeCaf Dec 12, 2025
ee6690a
Update demo script documentation and add `pnpm demos:update` script
LucDeCaf Dec 12, 2025
67c6a37
Add timeout to failing test
LucDeCaf Dec 12, 2025
9cfd183
Version Packages (#792)
github-actions[bot] Dec 12, 2025
80c3199
Merge branch 'main' into isolate-demos
LucDeCaf Dec 12, 2025
8bf5fd7
[Demo] Tanstack db demo update (#796)
stevensJourney Dec 12, 2025
ae64cc8
Fix reverted wa-sqlite versions
LucDeCaf Dec 12, 2025
c52715e
Fix reverted react-native-quick-sqlite versions
LucDeCaf Dec 12, 2025
50d8d99
Update lockfile
LucDeCaf Dec 12, 2025
8815270
Merge branch 'main' into isolate-demos
LucDeCaf Dec 12, 2025
c0f623d
Remove unneeded `pnpm upgrade` call
LucDeCaf Dec 12, 2025
98762d7
Revert accidental package version change
LucDeCaf Dec 12, 2025
b6a7ec9
Update demo packages and update script
LucDeCaf Dec 12, 2025
21fbf58
Final final touches
LucDeCaf Dec 12, 2025
b94c29f
Remove comment
LucDeCaf Dec 17, 2025
ff2da74
Update demo packages, update scripts
LucDeCaf Dec 17, 2025
6d87bd9
Update bump-demo-script.ts
LucDeCaf Dec 17, 2025
c37213c
Run changeset:version in Test Isolated Demos and update demo packages…
LucDeCaf Dec 18, 2025
9e83bdc
Automatically detect local packages
LucDeCaf Dec 18, 2025
e217513
Small optimisations
LucDeCaf Dec 18, 2025
84239b7
fix(node): load properly better-sqlite3 (#795)
flochaz Dec 22, 2025
c438980
Version Packages
github-actions[bot] Dec 22, 2025
17fec26
Add Neon demo
LucDeCaf Dec 23, 2025
a115d29
Formatting
LucDeCaf Dec 23, 2025
373ce1c
Update lockfile
LucDeCaf Dec 23, 2025
c987802
Rename demo to react-neon-tanstack-query-notes
LucDeCaf Dec 23, 2025
f50810b
Update lockfile
LucDeCaf Dec 23, 2025
723f68b
Add some generated files to prettierignore
LucDeCaf Dec 23, 2025
7845023
Add lib folder back to demo + update ignore files
LucDeCaf Dec 23, 2025
df2a7f5
Update README
LucDeCaf Dec 23, 2025
e1ff4fd
Merge pull request #801 from powersync-ja/neon-demo
LucDeCaf Dec 23, 2025
9c73420
Remove explicit '@powersync/common' dependencies
LucDeCaf Dec 29, 2025
d197196
Better checking for local packages
LucDeCaf Dec 29, 2025
0cd9b48
Merge branch 'main' into isolate-demos
LucDeCaf Dec 30, 2025
d83a2e7
Fix transitive deps missing from diagnostics-app
LucDeCaf Dec 30, 2025
4011dde
Merge pull request #784 from powersync-ja/isolate-demos
LucDeCaf Dec 30, 2025
d0c67b1
Avoid binding this when disposing table change listener (#806)
longfellowone Jan 3, 2026
133f376
fix: OPFS Multitab Deadlocks (#786)
Chriztiaan Jan 5, 2026
19ed7dd
Added react-native-background-sync demo
dean-journeyapps Sep 29, 2025
bae971f
Added necessary work space dependencies
dean-journeyapps Sep 29, 2025
9f48b98
Fixed .env copy command
dean-journeyapps Sep 29, 2025
8fb7a69
Renamed demo project to react-native.-supabase-background-sync
dean-journeyapps Sep 30, 2025
4d1b9a7
Update React Native demo configuration: set JS engine to JSC, disable…
bean1352 Jan 6, 2026
486be83
Merge branch 'expo-backgroundsync-demo' of https://github.com/powersy…
bean1352 Jan 6, 2026
77d7258
Remove unused Metro configuration file
bean1352 Jan 6, 2026
d096d36
Update configuration: switch JS engine to Hermes, remove unused pnpm …
bean1352 Jan 6, 2026
2c13125
Update package dependencies in react-native-supabase-background-sync …
bean1352 Jan 7, 2026
aea84e8
Removed repo root directory installation instructions
bean1352 Jan 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .changeset/fix-comlink-dispose-listener.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@powersync/web": patch
---

Avoid binding `this` when disposing table change listeners in the web adapter to prevent Comlink serialization errors on close.
5 changes: 5 additions & 0 deletions .changeset/neat-bears-listen.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@powersync/node': patch
---

DB operations will now throw a dedicated `ConnectionClosed` error when an attempt to perform an operation on a closed connection is made.
7 changes: 7 additions & 0 deletions .changeset/rare-windows-argue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@powersync/web': minor
---

- Fixed some edge cases where multiple tabs with OPFS can cause sync deadlocks.
- Fixed issue where calling `powerSync.close()` would cause a disconnect if using multiple tabs (the default should not be to disconnect if using multiple tabs)
- Improved shared sync implementation database delegation and opening strategy.
5 changes: 5 additions & 0 deletions .changeset/witty-steaks-worry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@powersync/common': minor
---

- Improved serializing of upload and download errors for SyncStatus events. Some JS `Error`s are not cloneable, the JSON representation of a SyncStatus should now always be cloneable.
3 changes: 3 additions & 0 deletions .github/workflows/build-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,6 @@ jobs:

- name: Build
run: pnpm build:packages

- name: Build (prod)
run: pnpm build:packages:prod
12 changes: 12 additions & 0 deletions .github/workflows/test-isolated.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ jobs:
with:
node-version-file: '.nvmrc'

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4

- uses: pnpm/action-setup@v2
name: Install pnpm
with:
Expand All @@ -43,6 +52,9 @@ jobs:
- name: Install
run: pnpm install

- name: Version Packages
run: pnpm changeset:version

- name: Build Packages
run: pnpm build:packages

Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ dist
.DS_STORE
.idea
.fleet

# Useful if running repository in VSCode dev container
.pnpm-store
__screenshots__

# Adds a lot of noise to commits
demos/**/pnpm-lock.yaml

# Useful for local development
demos/**/.pnpmfile.cjs
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,9 @@
**/assets/**
**/bin/**
**/ios/**
**/coverage/**
**/routeTree.gen.ts

demos/**/.pnpmfile.cjs

pnpm-lock.yaml
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<a href="https://www.powersync.com" target="_blank"><img src="https://github.com/powersync-ja/.github/assets/7372448/d2538c43-c1a0-4c47-9a76-41462dba484f"/></a>
</p>

_[PowerSync](https://www.powersync.com) is a sync engine for building local-first apps with instantly-responsive UI/UX and simplified state transfer. Syncs between SQLite on the client-side and Postgres, MongoDB or MySQL on the server-side._
_[PowerSync](https://www.powersync.com) is a sync engine for building local-first apps with instantly-responsive UI/UX and simplified state transfer. Syncs between SQLite on the client-side and Postgres, MongoDB, MySQL or SQL Server on the server-side._

# PowerSync JavaScript SDKs

Expand Down Expand Up @@ -36,7 +36,7 @@ _[PowerSync](https://www.powersync.com) is a sync engine for building local-firs

- [packages/attachments](./packages/attachments/README.md)

- Attachments helper package for React Native and JavaScript/TypeScript projects.
- Attachments helper package for React Native and JavaScript/TypeScript projects.

- [packages/kysely-driver](./packages/kysely-driver/README.md)

Expand Down Expand Up @@ -67,6 +67,7 @@ Demo applications are located in the [`demos/`](./demos/) directory. Also see ou
### Web

- [demos/react-supabase-todolist](./demos/react-supabase-todolist/README.md): A React to-do list example app using the PowerSync Web SDK and a Supabase backend.
- [demos/react-supabase-todolist-tanstackdb](./demos/react-supabase-todolist-tanstackdb/README.md): A React to-do list example app using the PowerSync Web SDK and a Supabase backend + [TanStackDB](https://tanstack.com/db/latest) collections.
- [demos/react-multi-client](./demos/react-multi-client/README.md): A React widget that illustrates how data flows from one PowerSync client to another.
- [demos/yjs-react-supabase-text-collab](./demos/yjs-react-supabase-text-collab/README.md): A React real-time text editing collaboration example app powered by [Yjs](https://github.com/yjs/yjs) CRDTs and [Tiptap](https://tiptap.dev/), using the PowerSync Web SDK and a Supabase backend.
- [demos/vue-supabase-todolist](./demos/vue-supabase-todolist/README.md): A Vue to-do list example app using the PowerSync Web SDK and a Supabase backend.
Expand Down
2 changes: 1 addition & 1 deletion demos/angular-supabase-todolist/extra-webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ module.exports = (config, options, targetOptions) => {
...config.plugins,
new webpack.DefinePlugin({
// Embed environment variables starting with `WEBPACK_PUBLIC_`
'process.env': JSON.stringify(
env: JSON.stringify(
Object.fromEntries(Object.entries(process.env).filter(([key]) => key.startsWith('WEBPACK_PUBLIC_')))
)
})
Expand Down
5 changes: 2 additions & 3 deletions demos/angular-supabase-todolist/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,15 @@
"private": true,
"dependencies": {
"@angular/animations": "^19.2.4",
"@angular/common": "^19.2.4",
"@angular/compiler": "^19.2.4",
"@angular/core": "^19.2.4",
"@angular/forms": "^19.2.4",
"@angular/platform-browser": "^19.2.4",
"@angular/platform-browser-dynamic": "^19.2.4",
"@angular/router": "^19.2.4",
"@angular/service-worker": "^19.2.4",
"@journeyapps/wa-sqlite": "^1.3.2",
"@powersync/web": "workspace:*",
"@journeyapps/wa-sqlite": "^1.4.1",
"@powersync/web": "^1.30.0",
"@supabase/supabase-js": "^2.44.4",
"rxjs": "~7.8.1",
"tslib": "^2.6.3",
Expand Down
2 changes: 2 additions & 0 deletions demos/angular-supabase-todolist/pnpm-workspace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
packages:
- .
8 changes: 0 additions & 8 deletions demos/angular-supabase-todolist/src/env.d.ts

This file was deleted.

6 changes: 3 additions & 3 deletions demos/angular-supabase-todolist/src/environment.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export const environment = {
supabaseUrl: process.env.WEBPACK_PUBLIC_SUPABASE_URL,
supabaseKey: process.env.WEBPACK_PUBLIC_SUPABASE_ANON_KEY,
powersyncUrl: process.env.WEBPACK_PUBLIC_POWERSYNC_URL
supabaseUrl: env.WEBPACK_PUBLIC_SUPABASE_URL,
supabaseKey: env.WEBPACK_PUBLIC_SUPABASE_ANON_KEY,
powersyncUrl: env.WEBPACK_PUBLIC_POWERSYNC_URL
};
12 changes: 12 additions & 0 deletions demos/angular-supabase-todolist/src/global.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Ambient declarations for webpack-injected environment variables.
// webpack's DefinePlugin injects `env` at build time.

declare global {
const env: {
WEBPACK_PUBLIC_SUPABASE_URL: string;
WEBPACK_PUBLIC_SUPABASE_ANON_KEY: string;
WEBPACK_PUBLIC_POWERSYNC_URL: string;
};
}

export {};
3 changes: 2 additions & 1 deletion demos/django-react-native-todolist/.npmrc
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
@journeyapps:registry=https://registry.npmjs.org/
@journeyapps:registry=https://registry.npmjs.org/
node-linker=hoisted
Loading
Loading