forked from spolu/breach_core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NOTES
100 lines (77 loc) · 3 KB
/
NOTES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/******************************************************************************/
/* TODO */
/******************************************************************************/
>>>v0.x<<<
TODO(spolu): Session Management (when not logged)
TODO(spolu): Onboarding (Networked, no module yet)
TODO(spolu): InMemory Sessions (default modules?)
TODO(spolu): Two phase initialization for modules (`init`, then `start`)
TODO(spolu): Session Management API (to expose to modules)
DONE:
>>v0.3<<
- GiG.fs 0.3x integration / local table only (alpha)
- Basic Web Interface for Modules (Install, Remove)
- Splash Screen (loading state + link to module manager)
- `core_ui` for all things UI-related of `core` (serving pages)
- Integrate GiG.fs w/ `module_manager`
- Build Session Management on top of GiG.fs
>>v0.2<<
- Expose core API and Implement Stack as a module
- FMA
+ Core RPC-CALL Broadcast
+ Name-based communication for modules
+ Module management API
+ Module retrieval (local)
+ Add running status to module list
+ Command Line interface for module Management (Dev)
- Remove factory -> common
- ExoBrowser: Run nodeJS only
- ExoBrowser: Merge 1700 and fix DevTools
- Rename repo into `breach_core`
>>>v0.1.4<<
- Connect to free port (multiple instances)
- Find in Page feedback Impl
>>v0.1<<
- Sessions
- Basic local CookieStore
- :exit
- NProgress
- Keyboard shortcuts MacOSX
- More conventional Keyboard shortcuts
- Design (flatter + lighter)
- Box get emptied while pages are loading (#3)
/******************************************************************************/
/* MODULES WORK */
/******************************************************************************/
TODO(spolu): Authentication
TODO(spolu): Distributed Storage
TODO(spolu): Inspector ?
TODO(spolu): Flash ?
/******************************************************************************/
/* FMA MODULE DEFINITION */
/******************************************************************************/
A module is identified by its location. Module may be:
- local: `local:~/src/breach/mod_stack`
- retrieved from github: `github:breach/mod_test#v0.5.2`
The branch part of github modules is optional and is automatically replaced
by latest version or #master if not specified.
breach --module install github:breach/mod_test#v0.2.1
breach --module remove github:breach/mod_test
breach --module list
breach --module info github.com/breach/mod_test
Then modules are referenced by names. Two modules with the same name cannot
be installed at the same time.
/******************************************************************************/
/* NOTES(spolu) */
/******************************************************************************/
- Hooks in startup process?
- Hooks in cookie storage?
- Module should advertise their interfaces?
- How does module collaborate to provide an interface?
- Existing examples?
- advertise `id`
- rpc_call + reconciliation
CORE_MODULE
> maintains a list of frames for a given browser window
> has a notion of identity
> exposes distributed storage