Blog · GitLab (User) Created at 2018-1-30 15:53:37 Updated at 2018-2-7 09:34:44 Tomas Hubelbauer
Fix JavaScript bracket merge fail


A mobile application serving a personal assistant web application to devices on the same network.

Agenda is a mobile application that launches a server on a local network serving a web application used to manage personal data. The mobile application server is the main data storage and the web application clients synchronize with it using a real-time connection.


Prerequisite Minimal Version Optimal Version Justification
NodeJS 9.0? 9.4.3 --experimental-modules
Yarn ? 1.3.2 npm sucks

Build and run the mobile application in src, it will serve www automatically on the phone.

Run the web application on the computer using yarn start to connect to the phone. This will allow you to iterate on it without rebuilding the mobile application for each change. The live version of the web application is on Bloggo.

You won't be able to use this application on the phone due to CORS, so you need to mock the server. This issue is being worked on.


I recommend opening the repository in XCode for Swift editing and in VS Code for JavaScript editing. Deploy both the mobile application including the bundled web application changes from XCode.

In case a JavaScript error is encountered in a non-interactive flow of the web application, attaching the Web Inspector to the iPhone Safari tab will show empty console and refreshing doesn't seem to work (it probably crashes or stalls the mobile application), so its best to keep the web application's index.html opened as a local file in Mac Safari to watch out for syntax error etc.



See development plan and development log.

Changes (38)
2018-2-7 09:34:44 Tomas Hubelbauer
Fix JavaScript bracket merge fail
2018-2-7 09:28:13 Tomáš Hübelbauer
Fix conflict
2018-2-3 21:26:04 Tomas Hubelbauer
Reply to the initial client data channel message
2018-2-3 21:25:47 Tomas Hubelbauer
Lock the zoom level to avoid skipping around
2018-2-2 20:39:47 Tomas Hubelbauer
Display received message text in XCode
2018-2-2 20:37:54 Tomas Hubelbauer
Advance connection establishement
2018-2-2 18:14:56 Tomas Hubelbauer
Add info about error logging and spread
2018-2-2 12:17:58 Tomáš Hübelbauer
Remove completed task
2018-2-2 10:20:14 Tomáš Hübelbauer
Add basic audit message reporting
2018-2-2 09:00:00 Tomáš Hübelbauer
Add URLProtocol idea
2018-2-1 22:14:41 Tomas Hubelbauer
Stub WebRTC peer connection initiation
2018-2-1 21:58:39 Tomas Hubelbauer
Send WebSocket welcome message
2018-2-1 21:50:53 Tomas Hubelbauer
Add a todo cleanup task
2018-2-1 21:49:54 Tomas Hubelbauer
Update readme, tasks and notes
2018-2-1 21:35:39 Tomas Hubelbauer
Serve www as bundle from the app
2018-2-1 21:35:01 Tomas Hubelbauer
Rename agenda files to index
2018-2-1 21:34:15 Tomas Hubelbauer
Serve www as a command from new location
2018-2-1 21:08:45 Tomas Hubelbauer
Move the sole iOS app to src
2018-2-1 21:06:13 Tomas Hubelbauer
Rename to www and move to root of the repository
2018-2-1 21:05:26 Tomas Hubelbauer
Add more info on web debugging
2018-2-1 20:57:12 Tomas Hubelbauer
Add a task to serve web as app bundle
2018-2-1 20:55:38 Tomas Hubelbauer
Make responsive and point at Mac local IP
2018-2-1 20:40:28 Tomas Hubelbauer
Add local web app server for debugging
2018-2-1 20:30:07 Tomas Hubelbauer
Add fetch alert to verify server connection
2018-2-1 20:28:08 Tomas Hubelbauer
Fix URL and add WebSocket server delegates
2018-2-1 20:23:51 Tomas Hubelbauer
Open the web app on Bloggo in Safari
2018-2-1 20:21:31 Tomas Hubelbauer
Remove IndexedDB experiments
2018-2-1 20:21:05 Tomas Hubelbauer
Move web to its own directory
2018-2-1 20:19:30 Tomas Hubelbauer
Add a task to use Bonjour with Telegraph
2018-2-1 20:19:20 Tomas Hubelbauer
Install WebRTC through Carthage and disable bitcode for it
2018-2-1 20:08:23 Tomas Hubelbauer
Start server and serve Hello World to Safari
2018-2-1 19:59:07 Tomas Hubelbauer
Add Telegraph embedded binaries
2018-2-1 19:57:55 Tomas Hubelbauer
Ignore Mac temporary files
2018-2-1 19:55:12 Tomas Hubelbauer
Add Telegraph and Carthage info
2018-2-1 19:35:49 Tomas Hubelbauer
Clean up generated files
2018-2-1 19:33:24 Tomas Hubelbauer
Scaffold a new Swift single view app
2018-1-30 16:54:23 Tomáš Hübelbauer
Post on Bloggo
2018-1-30 16:53:34 Tomáš Hübelbauer
Stub IndexedDB code
Comments E-mail me!