Aupajo / almanack

Aggregate iCal and Google Calendar events. Pluggable or standalone app. UI optional and 100% customisable.
MIT License
54 stars 25 forks source link

system down? #39

Closed steveb85 closed 4 years ago

steveb85 commented 4 years ago

Hey Pete, seems that my calendar which has been stable for months has gone down for the last few days, occasionally it's gone down for a hour or two but not like this. I redeployed to no avail.
https://pacific-basin-36167.herokuapp.com

has anything changed / updated? or should i be looking at individual events again?

Steve

Aupajo commented 4 years ago

Hi @steveb85. Does your calendar rely on Meetup by any chance? Unfortunately, Meetup killed off free support to their API and changed the authentication process (see #36).

If not, check your logs with herkou logs --tail -a pacific-basin-36167.

steveb85 commented 4 years ago

no meetup.

There is some error in the logs, I'll copy below, Not sure what could have happened, it was stable for months, perhaps something external?

2019-12-19T23:49:26.283712+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:64:in `separate_line'
2019-12-19T23:49:26.283715+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:74:in `next_separated_line'
2019-12-19T23:49:26.283717+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:99:in `from_parser'
2019-12-19T23:49:26.283720+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:123:in `parse_one'
2019-12-19T23:49:26.283722+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:135:in `parse_subcomponent'
2019-12-19T23:49:26.283724+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:140:in `process_line'
2019-12-19T23:49:26.283726+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:98:in `from_parser'
2019-12-19T23:49:26.283728+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:121:in `parse_one'
2019-12-19T23:49:26.283730+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:102:in `parse'
2019-12-19T23:49:26.283732+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:83:in `parse'
2019-12-19T23:49:26.283734+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:89:in `parse_string'
2019-12-19T23:49:26.283736+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:49:in `entities'
2019-12-19T23:49:26.283739+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:53:in `each_event'
2019-12-19T23:49:26.283741+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:29:in `occurrences_between'
2019-12-19T23:49:26.283743+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `each'
2019-12-19T23:49:26.283745+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `map'
2019-12-19T23:49:26.283747+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `events_between'
2019-12-19T23:49:26.283749+00:00 app[web.1]: from /app/vendor/ruby-2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `events_between'
2019-12-19T23:49:26.283751+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23:in `block (2 levels) in events_between'
2019-12-19T23:49:26.475307+00:00 app[web.1]: 2019-12-19 23:49:26 - RuntimeError - Invalid parameter value "X-ADDRESS=":
2019-12-19T23:49:26.475310+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:27:in `block in parse_params'
2019-12-19T23:49:26.475312+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `each'
2019-12-19T23:49:26.475314+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `inject'
2019-12-19T23:49:26.475315+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `parse_params'
2019-12-19T23:49:26.475320+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:57:in `params_and_value'
2019-12-19T23:49:26.475322+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:64:in `separate_line'
2019-12-19T23:49:26.475326+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:74:in `next_separated_line'
2019-12-19T23:49:26.475328+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:99:in `from_parser'
2019-12-19T23:49:26.475330+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:123:in `parse_one'
2019-12-19T23:49:26.475331+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:135:in `parse_subcomponent'
2019-12-19T23:49:26.475333+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:140:in `process_line'
2019-12-19T23:49:26.475335+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:98:in `from_parser'
2019-12-19T23:49:26.475336+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:121:in `parse_one'
2019-12-19T23:49:26.475338+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:102:in `parse'
2019-12-19T23:49:26.475340+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:83:in `parse'
2019-12-19T23:49:26.475341+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:89:in `parse_string'
2019-12-19T23:49:26.475343+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:49:in `entities'
2019-12-19T23:49:26.475345+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:53:in `each_event'
2019-12-19T23:49:26.475347+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:29:in `occurrences_between'
2019-12-19T23:49:26.475348+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `each'
2019-12-19T23:49:26.475350+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `map'
2019-12-19T23:49:26.475352+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `events_between'
2019-12-19T23:49:26.475353+00:00 app[web.1]: /app/vendor/ruby-2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `events_between'
2019-12-19T23:49:26.475355+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23:in `block (2 levels) in events_between'
2019-12-19T23:49:26.480158+00:00 heroku[router]: at=info method=GET path="/feed.ics" host=pacific-basin-36167.herokuapp.com request_id=af6e221d-e450-4484-ae3c-cfde7ac0509b fwd="184.75.45.138" dyno=web.1 connect=0ms service=330ms status=500 bytes=1025 protocol=https
2019-12-19T23:49:53.643282+00:00 heroku[router]: at=info method=GET path="/" host=pacific-basin-36167.herokuapp.com request_id=318a4623-24dd-4f9f-89d6-ffaa2ba5f81c fwd="184.75.45.138" dyno=web.1 connect=0ms service=6ms status=401 bytes=225 protocol=https
2019-12-19T23:49:53.672468+00:00 heroku[router]: at=info method=GET path="/" host=pacific-basin-36167.herokuapp.com request_id=b008d44b-978b-4a7f-aa7d-8f9d23958713 fwd="184.75.45.138" dyno=web.1 connect=0ms service=6ms status=401 bytes=225 protocol=https
2019-12-19T23:49:54.136448+00:00 heroku[router]: at=info method=GET path="/" host=pacific-basin-36167.herokuapp.com request_id=209c5567-2bde-4263-ab3d-bad23dedf01d fwd="184.75.45.138" dyno=web.1 connect=0ms service=2ms status=401 bytes=225 protocol=https
2019-12-19T23:49:54.347299+00:00 app[web.1]: #<Thread:0x00007f00c01bcc78@/app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23 run> terminated with exception (report_on_exception is true):
2019-12-19T23:49:54.347336+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:27:in `block in parse_params': Invalid parameter value "X-ADDRESS=" (RuntimeError)
2019-12-19T23:49:54.347340+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `each'
2019-12-19T23:49:54.347342+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `inject'
2019-12-19T23:49:54.347343+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `parse_params'
2019-12-19T23:49:54.347351+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:57:in `params_and_value'
2019-12-19T23:49:54.347352+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:64:in `separate_line'
2019-12-19T23:49:54.347354+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:74:in `next_separated_line'
2019-12-19T23:49:54.347356+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:99:in `from_parser'
2019-12-19T23:49:54.347357+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:123:in `parse_one'
2019-12-19T23:49:54.347359+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:135:in `parse_subcomponent'
2019-12-19T23:49:54.347360+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:140:in `process_line'
2019-12-19T23:49:54.347362+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:98:in `from_parser'
2019-12-19T23:49:54.347364+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:121:in `parse_one'
2019-12-19T23:49:54.347368+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:102:in `parse'
2019-12-19T23:49:54.347370+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:83:in `parse'
2019-12-19T23:49:54.347371+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:89:in `parse_string'
2019-12-19T23:49:54.347373+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:49:in `entities'
2019-12-19T23:49:54.347375+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:53:in `each_event'
2019-12-19T23:49:54.347381+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:29:in `occurrences_between'
2019-12-19T23:49:54.347383+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `each'
2019-12-19T23:49:54.347384+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `map'
2019-12-19T23:49:54.347386+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `events_between'
2019-12-19T23:49:54.347388+00:00 app[web.1]: from /app/vendor/ruby-2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `events_between'
2019-12-19T23:49:54.347389+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23:in `block (2 levels) in events_between'
2019-12-19T23:49:54.480335+00:00 app[web.1]: 2019-12-19 23:49:54 - RuntimeError - Invalid parameter value "X-ADDRESS=":
2019-12-19T23:49:54.480340+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:27:in `block in parse_params'
2019-12-19T23:49:54.480343+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `each'
2019-12-19T23:49:54.480345+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `inject'
2019-12-19T23:49:54.480347+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `parse_params'
2019-12-19T23:49:54.480349+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:57:in `params_and_value'
2019-12-19T23:49:54.480350+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:64:in `separate_line'
2019-12-19T23:49:54.480352+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:74:in `next_separated_line'
2019-12-19T23:49:54.480354+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:99:in `from_parser'
2019-12-19T23:49:54.480355+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:123:in `parse_one'
2019-12-19T23:49:54.480357+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:135:in `parse_subcomponent'
2019-12-19T23:49:54.480359+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:140:in `process_line'
2019-12-19T23:49:54.480360+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:98:in `from_parser'
2019-12-19T23:49:54.480362+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:121:in `parse_one'
2019-12-19T23:49:54.480364+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:102:in `parse'
2019-12-19T23:49:54.480365+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:83:in `parse'
2019-12-19T23:49:54.480367+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:89:in `parse_string'
2019-12-19T23:49:54.480368+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:49:in `entities'
2019-12-19T23:49:54.480370+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:53:in `each_event'
2019-12-19T23:49:54.480372+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:29:in `occurrences_between'
2019-12-19T23:49:54.480373+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `each'
2019-12-19T23:49:54.480375+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `map'
2019-12-19T23:49:54.480376+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `events_between'
2019-12-19T23:49:54.480378+00:00 app[web.1]: /app/vendor/ruby-2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `events_between'
2019-12-19T23:49:54.480379+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23:in `block (2 levels) in events_between'
2019-12-19T23:49:54.481817+00:00 heroku[router]: at=info method=GET path="/" host=pacific-basin-36167.herokuapp.com request_id=08852a47-499f-48d6-8d41-98f4e6dc66fc fwd="184.75.45.138" dyno=web.1 connect=0ms service=263ms status=500 bytes=1062 protocol=https
2019-12-19T23:49:54.724533+00:00 heroku[router]: at=info method=GET path="/stylesheets/calendar.css" host=pacific-basin-36167.herokuapp.com request_id=0a66e0f3-35bb-4f05-ba01-101327214db8 fwd="184.75.45.138" dyno=web.1 connect=1ms service=69ms status=200 bytes=2847 protocol=https
2019-12-19T23:53:29.387888+00:00 heroku[router]: at=info method=GET path="/feed.ics" host=pacific-basin-36167.herokuapp.com request_id=2285b921-caf1-46d4-9cc8-f6607bd27144 fwd="184.75.45.138" dyno=web.1 connect=0ms service=2ms status=401 bytes=225 protocol=https
2019-12-19T23:53:29.625283+00:00 app[web.1]: #<Thread:0x00007f00c038f410@/app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23 run> terminated with exception (report_on_exception is true):
2019-12-19T23:53:29.625427+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:27:in `block in parse_params': Invalid parameter value "X-ADDRESS=" (RuntimeError)
2019-12-19T23:53:29.625453+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `each'
2019-12-19T23:53:29.625475+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `inject'
2019-12-19T23:53:29.625510+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `parse_params'
2019-12-19T23:53:29.625512+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:57:in `params_and_value'
2019-12-19T23:53:29.625517+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:64:in `separate_line'
2019-12-19T23:53:29.625519+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:74:in `next_separated_line'
2019-12-19T23:53:29.625520+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:99:in `from_parser'
2019-12-19T23:53:29.625523+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:123:in `parse_one'
2019-12-19T23:53:29.625525+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:135:in `parse_subcomponent'
2019-12-19T23:53:29.625528+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:140:in `process_line'
2019-12-19T23:53:29.625531+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:98:in `from_parser'
2019-12-19T23:53:29.625550+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:121:in `parse_one'
2019-12-19T23:53:29.625551+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:102:in `parse'
2019-12-19T23:53:29.625555+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:83:in `parse'
2019-12-19T23:53:29.625557+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:89:in `parse_string'
2019-12-19T23:53:29.625560+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:49:in `entities'
2019-12-19T23:53:29.625563+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:53:in `each_event'
2019-12-19T23:53:29.625567+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:29:in `occurrences_between'
2019-12-19T23:53:29.625584+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `each'
2019-12-19T23:53:29.625585+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `map'
2019-12-19T23:53:29.625589+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `events_between'
2019-12-19T23:53:29.625592+00:00 app[web.1]: from /app/vendor/ruby-2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `events_between'
2019-12-19T23:53:29.625595+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23:in `block (2 levels) in events_between'
2019-12-19T23:53:29.770448+00:00 app[web.1]: 2019-12-19 23:53:29 - RuntimeError - Invalid parameter value "X-ADDRESS=":
2019-12-19T23:53:29.770458+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:27:in `block in parse_params'
2019-12-19T23:53:29.770461+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `each'
2019-12-19T23:53:29.770463+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `inject'
2019-12-19T23:53:29.770465+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `parse_params'
2019-12-19T23:53:29.770467+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:57:in `params_and_value'
2019-12-19T23:53:29.770470+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:64:in `separate_line'
2019-12-19T23:53:29.770472+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:74:in `next_separated_line'
2019-12-19T23:53:29.770474+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:99:in `from_parser'
2019-12-19T23:53:29.770476+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:123:in `parse_one'
2019-12-19T23:53:29.770479+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:135:in `parse_subcomponent'
2019-12-19T23:53:29.770481+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:140:in `process_line'
2019-12-19T23:53:29.770483+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:98:in `from_parser'
2019-12-19T23:53:29.770485+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:121:in `parse_one'
2019-12-19T23:53:29.770487+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:102:in `parse'
2019-12-19T23:53:29.770490+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:83:in `parse'
2019-12-19T23:53:29.770492+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:89:in `parse_string'
2019-12-19T23:53:29.770494+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:49:in `entities'
2019-12-19T23:53:29.770496+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:53:in `each_event'
2019-12-19T23:53:29.770502+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:29:in `occurrences_between'
2019-12-19T23:53:29.770504+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `each'
2019-12-19T23:53:29.770506+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `map'
2019-12-19T23:53:29.770509+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `events_between'
2019-12-19T23:53:29.770511+00:00 app[web.1]: /app/vendor/ruby-2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `events_between'
2019-12-19T23:53:29.770513+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23:in `block (2 levels) in events_between'
2019-12-19T23:53:29.772270+00:00 heroku[router]: at=info method=GET path="/feed.ics" host=pacific-basin-36167.herokuapp.com request_id=bd677325-c260-4b95-9b1f-0f763dda8761 fwd="184.75.45.138" dyno=web.1 connect=0ms service=267ms status=500 bytes=1025 protocol=https
2019-12-19T23:56:26.227503+00:00 heroku[router]: at=info method=GET path="/" host=pacific-basin-36167.herokuapp.com request_id=43ee3345-4bfe-4f4c-b1b2-c9355241ccf9 fwd="184.75.45.138" dyno=web.1 connect=0ms service=2ms status=401 bytes=225 protocol=https
2019-12-19T23:56:26.448870+00:00 app[web.1]: #<Thread:0x00007f00c0035738@/app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23 run> terminated with exception (report_on_exception is true):
2019-12-19T23:56:26.448941+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:27:in `block in parse_params': Invalid parameter value "X-ADDRESS=" (RuntimeError)
2019-12-19T23:56:26.448947+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `each'
2019-12-19T23:56:26.448949+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `inject'
2019-12-19T23:56:26.448954+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `parse_params'
2019-12-19T23:56:26.448957+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:57:in `params_and_value'
2019-12-19T23:56:26.448961+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:64:in `separate_line'
2019-12-19T23:56:26.448964+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:74:in `next_separated_line'
2019-12-19T23:56:26.448968+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:99:in `from_parser'
2019-12-19T23:56:26.448973+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:123:in `parse_one'
2019-12-19T23:56:26.448978+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:135:in `parse_subcomponent'
2019-12-19T23:56:26.448980+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:140:in `process_line'
2019-12-19T23:56:26.448985+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:98:in `from_parser'
2019-12-19T23:56:26.448990+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:121:in `parse_one'
2019-12-19T23:56:26.448993+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:102:in `parse'
2019-12-19T23:56:26.448998+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:83:in `parse'
2019-12-19T23:56:26.449003+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:89:in `parse_string'
2019-12-19T23:56:26.449007+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:49:in `entities'
2019-12-19T23:56:26.449083+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:53:in `each_event'
2019-12-19T23:56:26.449087+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:29:in `occurrences_between'
2019-12-19T23:56:26.449089+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `each'
2019-12-19T23:56:26.449095+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `map'
2019-12-19T23:56:26.449097+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `events_between'
2019-12-19T23:56:26.449099+00:00 app[web.1]: from /app/vendor/ruby-2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `events_between'
2019-12-19T23:56:26.449104+00:00 app[web.1]: from /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23:in `block (2 levels) in events_between'
2019-12-19T23:56:26.593481+00:00 app[web.1]: 2019-12-19 23:56:26 - RuntimeError - Invalid parameter value "X-ADDRESS=":
2019-12-19T23:56:26.593485+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:27:in `block in parse_params'
2019-12-19T23:56:26.593488+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `each'
2019-12-19T23:56:26.593490+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `inject'
2019-12-19T23:56:26.593492+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:25:in `parse_params'
2019-12-19T23:56:26.593495+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:57:in `params_and_value'
2019-12-19T23:56:26.593497+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:64:in `separate_line'
2019-12-19T23:56:26.593499+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:74:in `next_separated_line'
2019-12-19T23:56:26.593501+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:99:in `from_parser'
2019-12-19T23:56:26.593503+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:123:in `parse_one'
2019-12-19T23:56:26.593506+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:135:in `parse_subcomponent'
2019-12-19T23:56:26.593510+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:140:in `process_line'
2019-12-19T23:56:26.593512+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/component.rb:98:in `from_parser'
2019-12-19T23:56:26.593515+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:121:in `parse_one'
2019-12-19T23:56:26.593517+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal/parser.rb:102:in `parse'
2019-12-19T23:56:26.593519+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:83:in `parse'
2019-12-19T23:56:26.593521+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/ri_cal-0.8.8/lib/ri_cal.rb:89:in `parse_string'
2019-12-19T23:56:26.593524+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:49:in `entities'
2019-12-19T23:56:26.593526+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:53:in `each_event'
2019-12-19T23:56:26.593528+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:29:in `occurrences_between'
2019-12-19T23:56:26.593530+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `each'
2019-12-19T23:56:26.593533+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `map'
2019-12-19T23:56:26.593535+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/event_source/ical.rb:11:in `events_between'
2019-12-19T23:56:26.593537+00:00 app[web.1]: /app/vendor/ruby-2.6.3/lib/ruby/2.6.0/forwardable.rb:230:in `events_between'
2019-12-19T23:56:26.593539+00:00 app[web.1]: /app/vendor/bundle/ruby/2.6.0/gems/almanack-1.1.3/lib/almanack/calendar.rb:23:in `block (2 levels) in events_between'
2019-12-19T23:56:26.597735+00:00 heroku[router]: at=info method=GET path="/" host=pacific-basin-36167.herokuapp.com request_id=c7992868-8091-46b9-a0c6-bac3b8745014 fwd="184.75.45.138" dyno=web.1 connect=0ms service=281ms status=500 bytes=1062 protocol=https
2019-12-19T23:56:26.599203+00:00 heroku[router]: at=info method=GET path="/stylesheets/calendar.css" host=pacific-basin-36167.herokuapp.com request_id=596f744e-b4fb-4a26-8e16-d7ac0e9074de fwd="184.75.45.138" dyno=web.1 connect=0ms service=262ms status=200 bytes=2847 protocol=https
Aupajo commented 4 years ago

@steveb85 Hmm, looks like an issue with the underlying iCalendar feed. Is it a publicly URL I can take a look at?

steveb85 commented 4 years ago

@Aupajo Thanks webcal://p21-caldav.icloud.com/published/2/MTMyMzgzODk1MTMyMzgzOHM4DxLGbnPhWAnU2qmTcVxT8EvOnyQvqFL9rxGZ6q4mQoanZwt95UOV56byEREBqan3sonFReTDYKo6RPgS4eg

webcal://p21-caldav.icloud.com/published/2/MTMyMzgzODk1MTMyMzgzOHM4DxLGbnPhWAnU2qmTcVx0YiebjMxRZrgoTso-Vs56AAXQ4HDg_i5TUXNvaMLclzdf4-BXKxgQhb1dYDqqFB0

using 2 ical, plus a google cal & an exchange

Aupajo commented 4 years ago

Thanks @steveb85. The second feed is the problem.

There are a couple of standards that govern the iCalendar format: RFC 2445, released in 1998, and RFC 5545, released in 2009. These are very complex standards, and so I'm using a library dedicated to the job: RiCal, which is using the earlier standard and is (probably correctly) raising this error as an invalid 2445 iCalendar feed.

However, it does appear to be valid by the later standard. If I replace the calendar parsing implementation from RiCal to icalendar, I think I can get this to parse correctly. Let me see what I can do…

Aupajo commented 4 years ago

@steveb85 I've shipped a release candidate that I think should fix your problem. Try it out and let me know if it works:

Find the gem "almanack" line in your Gemfile and change it to:

gem "almanack", "~> 1.3.0.rc1"

Then run:

bundle update
git add Gemfile*
git ci -m "Update almanack to 1.3.0.rc1"
git push heroku master

Let me know if that fixes it, and I'll turn RC1 into version 1.3.0.

steveb85 commented 4 years ago

@Aupajo You're the man! Worked like a charm. I had to install ffi -v '1.11.3' to make the bundler work, but likely because i had at some point recently un-installed Xcode tools to save some space for another project. Anyway it works great now! thanks Steve