Ondřej Synáček
71ba9d8533
fix: use browser's timezone to reflect correct time and date
2021-01-02 20:17:21 +01:00
Ondřej Synáček
ae700330b9
fix: do not attempt to parse non-existent FB pages
...
When user enters something invalid (like number 123), it wuold still hit
FB webpage and return HTML. I do simple detection by looking at title
when it attempts to parse the DOM directly. When it contains "Content
Not Found", it is skipped.
Non-existent web pages cannot be parsed by using LDJSON parser and
looking at null data.
2020-12-26 21:03:03 +01:00
Ondřej Synáček
0683ef9666
fix: error due to inability to parse invalid unicode sequences
2020-12-26 20:57:19 +01:00
Ondřej Synáček
cfa7db4f9e
fix: handle errors on front-end when parsing event data & track them
...
(optionally)
2020-12-26 20:33:16 +01:00
Ondřej Synáček
f586a17296
feature: track chunk loading in UI
2020-12-25 14:47:58 +01:00
Ondřej Synáček
f052a66421
improvement: add a code split when event is fetched
...
The code for parsing HTML is isomorphic and runs on server as well.
Unfortunately it brings lot of dependencies and I will try to minimize
the initial load of the app.
2020-12-25 14:40:23 +01:00
Ondřej Synáček
5415daebc5
improvement: use original input value in case of error, clear input
...
after submission
2020-12-25 13:19:49 +01:00
Ondřej Synáček
c27b91cd06
fix: input form validation
2020-12-25 12:35:40 +01:00
Ondřej Synáček
579bde6c32
fix: sorting events by date
2020-12-25 10:18:27 +01:00
Ondřej Synáček
37d931f6ce
fix: validate input on submit
2020-12-25 10:15:28 +01:00
Ondřej Synáček
2d195fd48c
fix: improve styling for errors
2020-12-25 10:12:14 +01:00
Ondřej Synáček
a4c6d51bcc
fix: improve status legibility
2020-12-25 10:01:05 +01:00
Ondřej Synáček
7c831b76e2
improvement: disable input when request is pending
2020-12-25 09:59:13 +01:00
Ondřej Synáček
05473c13c1
fix: build process to support Svelte and service worker
2020-12-23 22:05:30 +01:00
Ondřej Synáček
8900474af7
refactor: completely remove existing javascript and use Svelte app
...
exclusively for rendering
2020-12-20 15:24:25 +01:00
Ondřej Synáček
377a4bcd80
fix: set up logger from Svelte app on app boot
2020-12-20 15:06:08 +01:00
Ondřej Synáček
29ad7fcf73
fix: extract service worker setup to Svelte app initialization
2020-12-20 15:00:00 +01:00
Ondřej Synáček
a5b9887fec
fix: bring back download prompt after fetching event data
2020-12-20 14:51:28 +01:00
Ondřej Synáček
df853d39af
fix: bring back persistence when fetching event data
2020-12-20 14:46:30 +01:00
Ondřej Synáček
514b2588df
feature: add parsing status to UI
2020-12-20 14:40:43 +01:00
Ondřej Synáček
290d7115d0
feature: create Svelte component for showing status UI
2020-12-20 14:29:21 +01:00
Ondřej Synáček
b28995aa1e
feature: convert form input to Svelte component and create module for
...
fetching event data & parsing it
2020-12-20 13:50:12 +01:00
Ondřej Synáček
128b03344b
feature: add store for tracking network request to API
2020-12-20 12:07:37 +01:00
Ondřej Synáček
4fad8e442d
refactor: remove duplicated CSS
2020-12-15 23:15:42 +01:00
Ondřej Synáček
0f21613e39
refactor: replace event list table with Svelte version
2020-12-15 23:12:13 +01:00
Ondřej Synáček
978662b55c
feature: use Svelte to render event list
2020-12-15 22:50:22 +01:00
Ondřej Synáček
470184aec0
fixup! feature: update event store contents from existing code
2020-12-15 22:42:43 +01:00
Ondřej Synáček
b86402a7ff
improvement: add record migration and correct state normalization in new code
2020-12-15 22:06:45 +01:00
Ondřej Synáček
e3917ee79a
feature: update event store contents from existing code
2020-12-15 22:00:45 +01:00
Ondřej Synáček
985b580d7d
feature: create event store in preparation of table component
...
replacement
2020-12-15 21:49:15 +01:00
Ondřej Synáček
e28b378e07
feature: sync multiple tabs using local storage
2020-12-15 21:49:15 +01:00
Ondřej Synáček
61985990d0
refactor: remove checks for JS features
...
Since I'm introducing Svelte framework and targeting modern browsers, I
think it does not make sense to check for browser features. I can always
choose to use polyfills for backwards compatibility.
I will make sure the form is still also rendered via HTML and works for
non-SPA use.
2020-12-15 21:49:15 +01:00
Ondřej Synáček
a89777b91a
feature: add Svelte framework to app, refactor tracking panel into Svelte component
2020-12-15 21:49:15 +01:00
Ondřej Synáček
a249a23ddd
feature: add UI for user approval of tracking
2020-12-12 13:54:59 +01:00
Ondřej Synáček
737620e2ca
feature: add endpoint for logging instrumentation
2020-12-12 13:19:34 +01:00
Ondřej Synáček
c6d85b8839
fix missing route handlers
2020-11-15 15:32:07 +01:00
Ondřej Synáček
a8c5d12a7b
fix issues with deployment due to winston logging getting in the way
2020-11-15 15:13:49 +01:00
Ondřej Synáček
0ad6bba142
move app routes to separate directory for better composition in
...
preparation of firebase integration
2020-11-01 13:08:48 +01:00
Ondřej Synáček
cfd939a668
normalize URL when parsing event number from HTML file
2020-07-23 17:23:04 +02:00
Ondřej Synáček
a661e54524
fix invalid function signature for event data extraction
...
Additionally fix specs
2020-07-19 08:14:35 +02:00
Ondřej Synáček
0c9a69d8ea
prettify console messages with browser logger
2020-07-19 08:14:35 +02:00
Ondřej Synáček
cf41deedd9
remove manual "no javascript" switch
...
This was a stupid checkbox made only as an experiment. The page can
still be loaded without JavaScript and works, no need to trigger it
manually.
2020-07-19 08:14:35 +02:00
Ondřej Synáček
f577fb6385
implement same parsing logic on server and frontend
...
Server now downloads the HTML file via new endpoint but the parsing logic now happens in
the browser. The reason for this is to have a way same code for both
environments.
If the JavaScript is disabled, it's still possible to call the previous
endpoint and download the file from the server.
2020-07-19 08:14:35 +02:00
Ondřej Synáček
410096398d
separate utilities for logs
2020-07-19 08:14:35 +02:00
Ondřej Synáček
b3321b2f90
use crawling logic as a service for ICS retrieval
2020-07-19 08:14:35 +02:00
Ondřej Synáček
0eda018113
create client side logger
2020-07-19 08:14:35 +02:00
Ondřej Synáček
6b7c0f8454
separate front end into modules for easier refactoring later
2020-07-19 08:14:35 +02:00
Ondřej Synáček
565354bcb6
add webpack for front end builds and serve the assets from backend
2020-07-19 08:14:35 +02:00
Ondřej Synáček
9da4c33ffd
remove URL requirement for DOM parser
2020-07-19 08:14:34 +02:00
Ondřej Synáček
456eaa1fbc
add specs for ICS retriever
2020-07-19 08:14:29 +02:00