Repository navigation
Commit b5a2e83
committed
feat(desktop): ship the native local-file tools on Windows
read_local_file, import_local_files, and background imports now run on
Windows through a Node fs backend behind the same openNativeFile seam the
POSIX native module serves on macOS and Linux. Node has no
descriptor-relative open on Windows, so the backend checks the grant root's
identity, requires the resolved path to be canonical beneath the grant (no
symlink or junction component), matches the opened handle's identity to the
path's, and re-checks path and root after the open; a listing must leave the
path naming the opened handle. Entries that Windows enumerates as reparse
points are classified by lstat, so junctions list as links and OneDrive
placeholders as files. Caps, errors, and the handle shape match the POSIX
module, and both backends run the local-files suite where they can.
The handle now owns readDirectory, isWithinRoot moves to its own module so
both backends share it, platform-features turns localFiles on for win32, and
the Windows test leg runs local-files.test.ts and the background-import suite.1 parent bb5a1bb commit b5a2e83
13 files changed
Lines changed: 672 additions & 213 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
192 | 192 | | |
193 | 193 | | |
194 | 194 | | |
195 | | - | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
196 | 198 | | |
197 | 199 | | |
198 | 200 | | |
| |||
205 | 207 | | |
206 | 208 | | |
207 | 209 | | |
208 | | - | |
| 210 | + | |
209 | 211 | | |
210 | 212 | | |
211 | 213 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
156 | 177 | | |
157 | | - | |
| 178 | + | |
158 | 179 | | |
159 | | - | |
| 180 | + | |
160 | 181 | | |
161 | 182 | | |
162 | | - | |
| 183 | + | |
163 | 184 | | |
164 | 185 | | |
165 | 186 | | |
166 | 187 | | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
| 188 | + | |
171 | 189 | | |
172 | | - | |
173 | 190 | | |
174 | | - | |
175 | 191 | | |
176 | 192 | | |
177 | 193 | | |
| |||
191 | 207 | | |
192 | 208 | | |
193 | 209 | | |
194 | | - | |
| 210 | + | |
195 | 211 | | |
196 | 212 | | |
197 | 213 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
228 | 228 | | |
229 | 229 | | |
230 | 230 | | |
231 | | - | |
232 | | - | |
| 231 | + | |
| 232 | + | |
233 | 233 | | |
234 | | - | |
235 | | - | |
| 234 | + | |
| 235 | + | |
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
240 | 240 | | |
241 | | - | |
| 241 | + | |
242 | 242 | | |
243 | 243 | | |
244 | 244 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
375 | 375 | | |
376 | 376 | | |
377 | 377 | | |
378 | | - | |
379 | 378 | | |
380 | 379 | | |
381 | 380 | | |
| |||
388 | 387 | | |
389 | 388 | | |
390 | 389 | | |
391 | | - | |
| 390 | + | |
392 | 391 | | |
393 | 392 | | |
394 | 393 | | |
395 | 394 | | |
396 | 395 | | |
| 396 | + | |
397 | 397 | | |
398 | 398 | | |
399 | 399 | | |
| |||
0 commit comments