experiments in a post-browser web
10
fork

Configure Feed

Select the types of activity you want to include in your feed.

move todo stuff to file

+259 -262
-262
README.md
··· 265 265 - look at web actions/intents/applets 266 266 - xml pipeline language 267 267 268 - ## Roadmap 269 - 270 - ### v0.1 - MVPOC 271 - 272 - minimum viable proof of concept. 273 - 274 - question: would i use this? 275 - 276 - Core moduluarization 277 - - [x] Modularize feature types, eyeing the extensibility model 278 - - [x] move settings window to features/settings 279 - 280 - App cleanup 281 - - [x] main window vs settings 282 - - [x] change settings shortcut from global+esc to opt+comma 283 - 284 - Window lifecycle 285 - - [x] modularize window open/close + hidden/visible 286 - - [x] update settings, peeks, slides, scripts 287 - - [x] hide/show window vs create fresh 288 - - [x] update slides impl to use openWindow (x, y) 289 - 290 - Minimal Electron + Maximal Web 291 - - [x] move features to all web code, with a couple special apis 292 - - [x] make globalShortcut an api like openWindow 293 - 294 - Create core app 295 - - [x] core settings 296 - - [x] registers other features 297 - 298 - Move all features to web implementation 299 - - [x] move all possible code from the electron file to the web app 300 - - [x] move to web implemented globalShortcut 301 - - [x] move to web implemented openWindow 302 - - [x] move settings re-use code to utils lib 303 - - [x] ability to add clickable links in settings panes 304 - - [x] add links to Settings app 305 - - [x] per-feature settings ui 306 - 307 - Core+settings 308 - - [x] move feature list and enablement to storage 309 - - [x] merge core + settings 310 - - [x] enable/disable features 311 - - [x] configurable default feature to load on app open (default to settings) 312 - - [x] wire up tray icon to pref 313 - - [x] tray click opens default app 314 - 315 - Core/Basic 316 - - [x] basic command bar to open pages 317 - - [x] fix setting layout wrapping issue 318 - 319 - Commands/messaging 320 - - [x] implement pubsub api 321 - - [x] way to tell feature to open default ui (if there is one) 322 - - [x] way tell feature to open its settings ui (if there is one) 323 - 324 - Features cleanup 325 - - [x] enable/disable individual slides, peeks 326 - - [x] enable/disable individual scripts 327 - 328 - Internal cleanup 329 - - [x] s/guid/id/ 330 - - [x] fix label names, match to pwa manifest 331 - - [x] put readable log labels back in 332 - 333 - ### v0.2 - MVCP (minimum viable concept preview) 334 - 335 - minimum viable concept preview. 336 - 337 - question: can others try this? 338 - 339 - Windows/system 340 - - [x] app showing in dock even tho disabled 341 - - [x] app not showing in tray, even tho enabled 342 - - [x] all api calls get source attached 343 - - [x] window cache s/custom/map/ 344 - - [x] window cache all windows not just persistent 345 - - [x] window cache - evaluate key approach (use-case: apps need to identify windows they open) 346 - - [x] always return window id, so apps can manage it 347 - - [x] reimplement keys, so much easier for callers than managing ids 348 - - [x] account for number of renderer processes (seems double?) 349 - 350 - redo window system to be more webby 351 - - [x] prototype window.open 352 - - [x] evaluate webContents.setWindowOpenHandler 353 - - [x] stop using openWindow to show pre-existing hidden windows? 354 - - [x] can track web windows locally 355 - - [x] can identify web windows on both sides (key/name) 356 - - [x] add new custom api for windows superpowers 357 - - [x] collapse window opening to span both approaches 358 - - [x] finish converting all openWindow to window.open 359 - 360 - Feature lifecycle (un/install and reloads) 361 - - [x] feature unload/reload - init/uninit whole feature and window 362 - - [x] all api calls have address accessible by preload 363 - - [x] close other windows of feature, not just background window 364 - 365 - Feature re-init/reload when toggled 366 - - [ ] track shortcuts by source, remove when unloaded 367 - - [ ] main: track window sources 368 - - [ ] main: close child windows when (before) closing source window 369 - 370 - Shortcut lifecycle 371 - - [x] main process should handle multiple registrations correctly 372 - - [x] send/track feature id/origin w/ each registration 373 - - [ ] unreg shortcuts on unload 374 - 375 - Window features 376 - - [x] add back in window features to window.open 377 - - [x] show/hide (keep alive) 378 - - [x] transparent 379 - - [ ] enable global window resize 380 - - [ ] add draggable as pref (draggable as default) 381 - 382 - Features clean themselves up for lifecycle events 383 - - [ ] load/unload peeks when enabled/disabled 384 - - [ ] load/unload slides when enabled/disabled 385 - - [ ] load/unload scripts when enabled/disabled 386 - 387 - Peeks/Slides 388 - - [x] only register shortcut and create window if a URL is configured 389 - - [ ] unreg shortcuts and close windows on peek un/configure 390 - - [ ] unreg shortcuts and close windows on slides un/configure 391 - 392 - Cmd 393 - - [ ] update to latest Cmd extension code 394 - - [ ] app-scoped multi-window pages open 395 - 396 - Settings 397 - - [x] fix window size 398 - - [x] transparency 399 - - [ ] core settings re-render on feature toggle, eg feature-settings link enabled 400 - - [ ] default position (size to screen) 401 - 402 - Daily driver blockers 403 - - [x] debug vs profile(s) for app dir 404 - - [x] fix ESC not working right 405 - - [x] fix ESC not working in web content 406 - - [x] fix ESC not working right over lil-gui 407 - - [ ] ESC not working when a page doesn't load for any reason 408 - 409 - Dev stuff 410 - - [x] figure out single devtools window if possible 411 - 412 - Deployment 413 - - [ ] app updates 414 - - [ ] icons 415 - - [ ] about page 416 - 417 - Demo reel 418 - - [ ] Peeks: translate, calendar, ai chat, currency conversion, everytimezone, tldraw 419 - - [ ] Slides: soundcloud, crypto prices, notepad, todo list 420 - - [ ] Scripts: eth price, weather change 421 - 422 - Survival 423 - - [ ] Settings feature to blow away local datastore 424 - - [ ] Schema versioning 425 - - [ ] Export config to file 426 - - [ ] Import config from file 427 - 428 - Tests 429 - - [ ] stacked defaults file 430 - - [ ] import file 431 - - [ ] run app-specific test suites (in app sub dir) 432 - - [ ] run full test suite 433 - 434 - ### v0.3 - extensibility / history 435 - 436 - Backburner wishlist 437 - - [ ] window switching order algo 438 - 439 - DX papercuts 440 - - [ ] why crashing on reload main 441 - - [ ] devtools stealing focus, put in backround 442 - - [ ] unified floating devtools 443 - 444 - Window features 445 - - [x] add transparency support to api 446 - - [ ] distentangle transparency and content-fit 447 - - [ ] add the rest of that shit 448 - 449 - App mgmt 450 - - [ ] uniform policy for feature id creation (lean on web/extensions) 451 - - [ ] collisions 452 - 453 - App dev 454 - - [ ] app model - web? extension? P/IWA? other? 455 - - [ ] shared libs, eg utils 456 - - [ ] language: call them feature or apps? other? extensions? mods? 457 - 458 - Focus vs not focused app mode 459 - - [ ] openWindow option to not close on escape (perma windows w/ controls) 460 - - [ ] app focus detection in shortcuts 461 - - [ ] separate global shortcuts from app shortcuts (eg quit) 462 - - [ ] all-window show/hide when doing global shortcuts while app unfocused 463 - 464 - Install/load/address features 465 - - [x] built-in feature loading from origin not file 466 - - [x] app protocol? webextension? pwa? wtf? 467 - - [ ] combine settings and background in built-in features? 468 - - eg, features can have default ui + bg services? 469 - - [ ] pull from manifest (load/install via manifest with special key?) 470 - - [ ] manifests for feature metadata 471 - - [ ] feature urls? eg peek://settings(/index.html) 472 - - [ ] feature metadata in manifest 473 - - [ ] move feature bg pages to iframes in core bg page? 474 - 475 - Settings 476 - - [ ] make it so start feature can be unset (eh) 477 - 478 - Navigation 479 - - [ ] make izui stack manager (part of window mgr?) 480 - - [ ] esc stack: from feature settings back to core settings 481 - - [ ] add to izui stack (and ix w/ history?) 482 - 483 - Window animations 484 - - [ ] add window open animation (to/from coords, time) to openWindow 485 - - [ ] update slides impl to use animation again 486 - 487 - Window controls/persistence/etc (after perma window) 488 - - [ ] window position persistence where it makes sense (settings, groups, cmd) and make configurable? 489 - - [ ] window size persistence where it makes sense (slides, peeks) and make configurable? 490 - - [ ] window controls 491 - - [ ] window resizers 492 - 493 - History 494 - - [ ] push navigations out through pubsub? 495 - - [ ] add history listener + storage to cmd 496 - - [ ] store central app action history 497 - - [ ] store content script data 498 - 499 - Feature level rpc? 500 - - [ ] how can other features query history vs store and query locally? 501 - - [ ] how to know what urls there are to open? publish paths in manifests? 502 - - [ ] discover + execute cmds? 503 - - [ ] need to be able to get/set properties from other "features"? 504 - 505 - Window layout 506 - - [ ] try with settings maybe? 507 - - [ ] tile/untile 508 - 509 - Web Platform 510 - - [ ] need a web loader that's not full BrowserWindow? 511 - - [ ] sandboxing 512 - - [ ] blocklist 513 - 514 - After that 515 - - [ ] schema migration 516 - - [ ] Extension model? 517 - - [ ] Ubiquity-like 518 - - [ ] Panorama-like 519 - - [ ] Tray 520 - - [ ] Scratchpad 521 - - [ ] Identity 522 - - [ ] Contacts 523 - - [ ] Collaboration 524 - 525 - Further 526 - - [ ] Implement the Firefox "awesomebar" scoring and search algorithm so that Peek *learns* you 527 - - [ ] Extension model designed for web user agent user interface experimentation 528 - - [ ] Infinite lossless personal encrypted archive of web history 529 - 530 268 ## Contribution 531 269 532 270 - in proto stage
+259
TODO.md
··· 1 + # Roadmap 2 + 3 + ## v0.2 - MVCP (minimum viable concept preview) 4 + 5 + minimum viable concept preview. 6 + 7 + question: can others try this? 8 + 9 + Windows/system 10 + - [x] app showing in dock even tho disabled 11 + - [x] app not showing in tray, even tho enabled 12 + - [x] all api calls get source attached 13 + - [x] window cache s/custom/map/ 14 + - [x] window cache all windows not just persistent 15 + - [x] window cache - evaluate key approach (use-case: apps need to identify windows they open) 16 + - [x] always return window id, so apps can manage it 17 + - [x] reimplement keys, so much easier for callers than managing ids 18 + - [x] account for number of renderer processes (seems double?) 19 + 20 + redo window system to be more webby 21 + - [x] prototype window.open 22 + - [x] evaluate webContents.setWindowOpenHandler 23 + - [x] stop using openWindow to show pre-existing hidden windows? 24 + - [x] can track web windows locally 25 + - [x] can identify web windows on both sides (key/name) 26 + - [x] add new custom api for windows superpowers 27 + - [x] collapse window opening to span both approaches 28 + - [x] finish converting all openWindow to window.open 29 + 30 + Feature lifecycle (un/install and reloads) 31 + - [ ] feature unload/reload - init/uninit whole feature and window 32 + - [ ] track shortcuts by source, remove when unloaded 33 + - [ ] main: track window sources 34 + - [ ] main: close child windows when (before) closing source window 35 + - [ ] all features correctly load/unload from settings toggle 36 + 37 + Shortcut lifecycle 38 + - [x] main process should handle multiple registrations correctly 39 + - [x] send/track feature id/origin w/ each registration 40 + - [ ] unreg shortcuts on unload 41 + 42 + Window features 43 + - [x] add back in window features to window.open 44 + - [x] show/hide (keep alive) 45 + - [x] transparent 46 + - [ ] enable global window resize 47 + - [ ] add draggable as pref (draggable as default) 48 + 49 + Features clean themselves up for lifecycle events 50 + - [ ] load/unload peeks when enabled/disabled 51 + - [ ] load/unload slides when enabled/disabled 52 + - [ ] load/unload scripts when enabled/disabled 53 + 54 + Peeks/Slides 55 + - [x] only register shortcut and create window if a URL is configured 56 + - [ ] unreg shortcuts and close windows on peek un/configure 57 + - [ ] unreg shortcuts and close windows on slides un/configure 58 + 59 + Cmd 60 + - [ ] update to latest Cmd extension code 61 + - [ ] app-scoped multi-window pages open 62 + 63 + Settings 64 + - [x] fix window size 65 + - [x] transparency 66 + - [ ] core settings re-render on feature toggle, eg feature-settings link enabled 67 + - [ ] default position (size to screen) 68 + 69 + Daily driver blockers 70 + - [x] debug vs profile(s) for app dir 71 + - [x] fix ESC not working right 72 + - [x] fix ESC not working in web content 73 + - [x] fix ESC not working right over lil-gui 74 + - [ ] ESC not working when a page doesn't load for any reason 75 + 76 + Dev stuff 77 + - [x] figure out single devtools window if possible 78 + 79 + Deployment 80 + - [ ] app updates 81 + - [ ] icons 82 + - [ ] about page 83 + 84 + Demo reel 85 + - [ ] Peeks: translate, calendar, ai chat, currency conversion, everytimezone, tldraw 86 + - [ ] Slides: soundcloud, crypto prices, notepad, todo list 87 + - [ ] Scripts: eth price, weather change 88 + 89 + Survival 90 + - [ ] Settings feature to blow away local datastore 91 + - [ ] Schema versioning 92 + - [ ] Export config to file 93 + - [ ] Import config from file 94 + 95 + Tests 96 + - [ ] stacked defaults file 97 + - [ ] import file 98 + - [ ] run app-specific test suites (in app sub dir) 99 + - [ ] run full test suite 100 + 101 + ## Unprioritized future 102 + 103 + Backburner wishlist 104 + - [ ] window switching order algo 105 + 106 + DX papercuts 107 + - [ ] why crashing on reload main 108 + - [ ] devtools stealing focus, put in backround 109 + - [ ] unified floating devtools 110 + 111 + Window features 112 + - [x] add transparency support to api 113 + - [ ] distentangle transparency and content-fit 114 + - [ ] add the rest of that shit 115 + 116 + App mgmt 117 + - [ ] uniform policy for feature id creation (lean on web/extensions) 118 + - [ ] collisions 119 + 120 + App dev 121 + - [ ] app model - web? extension? P/IWA? other? 122 + - [ ] shared libs, eg utils 123 + - [ ] language: call them feature or apps? other? extensions? mods? 124 + 125 + Focus vs not focused app mode 126 + - [ ] openWindow option to not close on escape (perma windows w/ controls) 127 + - [ ] app focus detection in shortcuts 128 + - [ ] separate global shortcuts from app shortcuts (eg quit) 129 + - [ ] all-window show/hide when doing global shortcuts while app unfocused 130 + 131 + Install/load/address features 132 + - [x] built-in feature loading from origin not file 133 + - [x] app protocol? webextension? pwa? wtf? 134 + - [ ] combine settings and background in built-in features? 135 + - eg, features can have default ui + bg services? 136 + - [ ] pull from manifest (load/install via manifest with special key?) 137 + - [ ] manifests for feature metadata 138 + - [ ] feature urls? eg peek://settings(/index.html) 139 + - [ ] feature metadata in manifest 140 + - [ ] move feature bg pages to iframes in core bg page? 141 + 142 + Settings 143 + - [ ] make it so start feature can be unset (eh) 144 + 145 + Navigation 146 + - [ ] make izui stack manager (part of window mgr?) 147 + - [ ] esc stack: from feature settings back to core settings 148 + - [ ] add to izui stack (and ix w/ history?) 149 + 150 + Window animations 151 + - [ ] add window open animation (to/from coords, time) to openWindow 152 + - [ ] update slides impl to use animation again 153 + 154 + Window controls/persistence/etc (after perma window) 155 + - [ ] window position persistence where it makes sense (settings, groups, cmd) and make configurable? 156 + - [ ] window size persistence where it makes sense (slides, peeks) and make configurable? 157 + - [ ] window controls 158 + - [ ] window resizers 159 + 160 + History 161 + - [ ] push navigations out through pubsub? 162 + - [ ] add history listener + storage to cmd 163 + - [ ] store central app action history 164 + - [ ] store content script data 165 + 166 + Feature level rpc? 167 + - [ ] how can other features query history vs store and query locally? 168 + - [ ] how to know what urls there are to open? publish paths in manifests? 169 + - [ ] discover + execute cmds? 170 + - [ ] need to be able to get/set properties from other "features"? 171 + 172 + Window layout 173 + - [ ] try with settings maybe? 174 + - [ ] tile/untile 175 + 176 + Web Platform 177 + - [ ] need a web loader that's not full BrowserWindow? 178 + - [ ] sandboxing 179 + - [ ] blocklist 180 + 181 + After that 182 + - [ ] schema migration 183 + - [ ] Extension model? 184 + - [ ] Ubiquity-like 185 + - [ ] Panorama-like 186 + - [ ] Tray 187 + - [ ] Scratchpad 188 + - [ ] Identity 189 + - [ ] Contacts 190 + - [ ] Collaboration 191 + 192 + Further 193 + - [ ] Implement the Firefox "awesomebar" scoring and search algorithm so that Peek *learns* you 194 + - [ ] Extension model designed for web user agent user interface experimentation 195 + - [ ] Infinite lossless personal encrypted archive of web history 196 + 197 + ## ✅ v0.1 - MVPOC 198 + 199 + minimum viable proof of concept. 200 + 201 + question: would i use this? 202 + 203 + Core moduluarization 204 + - [x] Modularize feature types, eyeing the extensibility model 205 + - [x] move settings window to features/settings 206 + 207 + App cleanup 208 + - [x] main window vs settings 209 + - [x] change settings shortcut from global+esc to opt+comma 210 + 211 + Window lifecycle 212 + - [x] modularize window open/close + hidden/visible 213 + - [x] update settings, peeks, slides, scripts 214 + - [x] hide/show window vs create fresh 215 + - [x] update slides impl to use openWindow (x, y) 216 + 217 + Minimal Electron + Maximal Web 218 + - [x] move features to all web code, with a couple special apis 219 + - [x] make globalShortcut an api like openWindow 220 + 221 + Create core app 222 + - [x] core settings 223 + - [x] registers other features 224 + 225 + Move all features to web implementation 226 + - [x] move all possible code from the electron file to the web app 227 + - [x] move to web implemented globalShortcut 228 + - [x] move to web implemented openWindow 229 + - [x] move settings re-use code to utils lib 230 + - [x] ability to add clickable links in settings panes 231 + - [x] add links to Settings app 232 + - [x] per-feature settings ui 233 + 234 + Core+settings 235 + - [x] move feature list and enablement to storage 236 + - [x] merge core + settings 237 + - [x] enable/disable features 238 + - [x] configurable default feature to load on app open (default to settings) 239 + - [x] wire up tray icon to pref 240 + - [x] tray click opens default app 241 + 242 + Core/Basic 243 + - [x] basic command bar to open pages 244 + - [x] fix setting layout wrapping issue 245 + 246 + Commands/messaging 247 + - [x] implement pubsub api 248 + - [x] way to tell feature to open default ui (if there is one) 249 + - [x] way tell feature to open its settings ui (if there is one) 250 + 251 + Features cleanup 252 + - [x] enable/disable individual slides, peeks 253 + - [x] enable/disable individual scripts 254 + 255 + Internal cleanup 256 + - [x] s/guid/id/ 257 + - [x] fix label names, match to pwa manifest 258 + - [x] put readable log labels back in 259 +