Code Monkey home page Code Monkey logo

obsidian-ics's People

Contributors

bvolkmer avatar fcwheat avatar goberomsu avatar muness avatar the1029 avatar topherman avatar zakkolar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

obsidian-ics's Issues

Failed to load plugin

Steps I took to get the above error:
I downloaded the release, unzipped your file and saved all the files from that to the ics folder within the plugins folder, as instructed in your readme. And then restarted the Obsidian app. I searched and found ICS plugin. Then I activated it. And I got the error "Failed to load plugin ics-plugin"

I am using Windows 10 on a PC.

Bug: Error loading calendar from https://calendar.google.com/

Hey, I am trying to add my private google iCal to the calendars list and receive following errors. I guess it's related to the contents of an event. Is there anything I can do to help to resolve the issue?

Error loading calendar from https://calendar.google.com/calendar/ical/..../basic.ics
eval @ plugin:obsidian-full-calendar:53137
fulfilled @ plugin:obsidian-full-calendar:53
ParserError {message: 'invalid line (no matching double quote) ";CUTYPE=I…ble to join the retro. :\\\\":mailto:[email protected]"', name: 'ParserError', stack: '    at new ParserError (plugin:obsidian-full-calen…dar:53134:22)\n    at Generator.next (<anonymous>)'}
eval @ plugin:obsidian-full-calendar:53138
fulfilled @ plugin:obsidian-full-calendar:53
Could not get calendar: There was an error loading a calendar. Check the console for full details. Error: Could not get calendar: There was an error loading a calendar. Check the console for full details.
    at eval (plugin:obsidian-full-calendar:53147:21)
    at Generator.next (<anonymous>)
    at fulfilled (plugin:obsidian-full-calendar:53:24)
eval @ plugin:obsidian-full-calendar:44276
wrappedFailure @ plugin:obsidian-full-calendar:42989

BUG: Fix release names

Releases are getting named a la refs/tags/0.9.17 instead of just 0.9.17 . Need to fix this before submitting to community.

Can this work without daily notes?

I don't use daily notes, preferring instead to make notes about ideas, but I do have a kind of "dashboard" note where this could be useful. Is it required to only work on a daily note? Could there be an alternative?

Allow setting for custom event prefix and suffix

Generalise the setting for what appears before/after the event time, so we can have output like:
- 08:00 Breakfast
- [ ] 08:00 Breakfast
08:00 Breakfast
**08:00 Breakfast**
## 08:00 Breakfast

templater and query using dataview format isn't showing dataview format

I used the templater example and modified it to also show endTime:

%* var events = await app.plugins.getPlugin('ics').getEvents(moment(tp.file.title,'YYYY-MM-DD')); events.sort((a,b) => a.utime - b.utime).forEach((e) => { tR+=- [ ] ${e.time} ${e.endTime} ${e.summary} ${e.location? e.location : ''}\n }) %>

but I get the following:

  • 00:00 00:00 Veterans Day (Observed) United States
  • 06:30 07:25 email handling

if I run the import events command manually I get:

  • [startTime:: 00:00] [endTime:: 00:00] Veterans Day (Observed) United States
  • [startTime:: 06:30] [endTime:: 07:25] email handling

I can, of course change the javascript, but think that if I enable dataview format e.time and e.endTime should be returned in dataview format.

Declined recurring events still appear in agenda

Sorry - one more observation as I was testing the fix for #12

I noticed a recurring event I declined still shows up when Obsidian imports my agenda even though it doesn't show up in my calendar.

Here are the specifics, if it helps with reproduction:

  • Event repeats every week on Wednesday
  • Someone else owns the event and invited me (this was a bit of user error on their part - I think they only meant to invite me to one occurrence, but they ended up inviting me to all future events)
  • I accepted initially, but then declined "this and all future events" starting the week after the occurrence I attended

(FR?) Weekly Note Usage

I did a search of issues and saw #16 , I use weekly notes. happy to specify that in this plugin or in periodic notes. Currently I have weekly notes specified in periodic notes and daily notes disabled.

It would be great if there was a way to use them. the thoughts I had were

  1. a command to print all weekly events or
  2. the same but following a template or
  3. a way to specify where in a weekly note template the ics events should print or
  4. a way to print events in the previous/next/current day the current day (probably the simplest?)

Calendar events are missing

When I import calendar events, some of them are always missing. It's not always the same ones. So for example, a recurring meeting that is there every day will appear yesterday, but not appear today. Running it again results in the same results.

The meetings do appear in the ICS file that is downloaded from Google Calendar with the correct date and time.

The meetings I have noticed are recurring meetings. But there may be others (which I'm now keeping an eye on).

Feat : Related to adding output format functionality

I'm using the plug-in very well Thank you.
I don't want to print out the name of the ics

Furthermore, what do you think of allowing the output format to be customized by the user?

  • The description of the Google calendar, etc

Feature Request: Run on Android

I have a template for my daily notes that automatically calls Obsidian-ICS and works great. However, it can't run on Android, so if I open Obsidian on my phone before I open it on my laptop on a given day it does not import.

FR: make time format compatible with Dataview Metadata / FullCalendar Daily Note Syntax

I want to be able to enter some surrounding text to the time that you create when you import the event. For example, I'd like to have 2 fields in the form

start format - [[ startTime:: HH:mm ]]
end format - [[ endTime:: HH:mm ]]

and have it create an event like:

  • [[ startTime:: 09:00]] [[ endTime:: 10:00 ]] title location

you basically look for the time spec and only replace that and pass through the rest. Would also be useful to have length used instead of end time.

Thanks for the plugin!

mod to your templater example

thought this might be of use. a mod to the templater example. puts the description in a callout. also, in MS365 an empty description has content. "\n" or is "", so added a check otherwise after each tasks I get a line with just an indented bullet

<%*
var events = await app.plugins.getPlugin('ics').getEvents(moment(tp.file.title,'YYYY-MM-DD'));
events.sort((a,b) => a.utime - b.utime).forEach((e) => {
const calendar = e.icsName.replace(" ","-");
const callUrl = e.callUrl? [${e.callType}](${e.callUrl}) : '';
const location = e.location? 📍 *(${e.location})* : '';
tR+=- [ ] ${e.time} ${e.endTime} **${e.summary}** ${location}${callUrl} \n
if (e.description && e.description != "" && e.description != "\n") {
const inlineDescription = e.description.replace(/(?:\r\n|\r|\n)/g," ").replace(/\s{2,}/g," ");
tR+=> [!INFO]-\n> - ${inlineDescription}\n
}
})
%>

Daylight Savings issue

Recurring events that were created prior to gaining an hour in the fall display as an hour earlier than they should when imported into Obsidian

Calendar events wrong time (timezone issues?)

When importing the calendar some events are appearing at the wrong times. These appear to be meetings created in a different timezone to my own.

Is there handling for this? And is there anything I can do troubleshoot and provide more info?

Cannot activate ICS

Plugin failure: ics-plugin Error: ENOENT: no such file or directory, open '/home/acw/works/obsidian/acw-thoughts/.obsidian/plugins/obsidian-ics/main.js

Windows / Office365 calendar: failure to import from ICS

When invoking the ICS: Import events command from the command palette from within a Daily Note, no new content appears in the note. The console error is as follows:

image

The structure of the Daily Note (created via the Daily notes: Open today's daily note command) is as follows:

---
tags:
---

[[2022-01-06 | << Yesterday]] | [[2022-01-08| Tomorrow >>]]

## Meetings
(add embeddings once created:)
+ [[2022-01-07_XX]]
+ [[2022-01-07_XX]]

## Tasks
### New
#todo
- [ ] task-for-self 
### Carried forward
- [ ] embedded-backlink-here

I have separately confirmed that the .ics link can be downloaded and imported into Outlook manually (outside of Obsidian).

v9.10 fails to load

Hey There, I have tried to do install the plugin, but the plugin fails to load.
I use windows 10
have downloaded the latest version
unpacked the folder as specified in the README file
placed it in obsidian/plugins and restarted as needed.

My other plugins:

  • advanced tables
  • calendar
  • excalidraw
  • periodic notes
  • reminder
  • rtl support
  • sliding panes
  • smart random note
  • workspaces plus

I really hope this could be solved, it would be a real game changer!
Thank you!

FR: Add events to dated notes in the future

I make my notes for the week at the beginning of the week. It would be great to have the plugin automatically add the events to each date, rather than me going and inserting them manually.

Cannot read property 'format' of null

Hello,

I have the following error when execute ICS: Import events.

Maybe because spanish format date?

Uncaught (in promise) TypeError: Cannot read property 'format' of null
at Object.callback (eval at (app.js:1), :18:6409)
at SR (app.js:1)
at e.onChooseItem (app.js:1)
at e.onChooseSuggestion (app.js:1)
at e.selectSuggestion (app.js:1)
at t.useSelectedItem (app.js:1)
at t.onSuggestionClick (app.js:1)
at HTMLDivElement.s (app.js:1)
callback @ VM236:18
SR @ app.js:1
e.onChooseItem @ app.js:1
e.onChooseSuggestion @ app.js:1
e.selectSuggestion @ app.js:1
t.useSelectedItem @ app.js:1
t.onSuggestionClick @ app.js:1
s @ app.js:1

Some recurring events appear with incorrect time

This may be Outlook 365-specific, but I have several recurring events whose times are being parsed incorrectly. I have a daily calendar block from 8:00 to 10:00am, which winds up appearing at 9:00am in my note. I also have a weekly call on Fridays at 10:00am that persists in appearing at 9:00am. I thought that latter error might have been due to my having created the event when I was located in Central time (I'm now in Eastern time), but that doesn't explain the first error.

In the event it's relevant, I'm using Templater code to pull events in on daily note creation, like so:

<%*
var events = await app.plugins.getPlugin('ics').getEvents(tp.file.title);
var mdArray = [];
events.sort((a,b) => a.utime - b.utime).forEach((e) => {
  const callUrl = e.callUrl? ` [${e.callType}](${e.callUrl})` : '';
  tR+=`- ${e.time} -- ${e.summary} ${callUrl}\n`
})
%>

getEvents("2023-08-21") not working

Evaluation Error: TypeError: Cannot read properties of null (reading 'getEvents')
    at eval (eval at <anonymous> (plugin:dataview), <anonymous>:1:110)
    at eval (eval at <anonymous> (plugin:dataview), <anonymous>:7:4)
    at DataviewInlineApi.eval (plugin:dataview:18404:16)
    at evalInContext (plugin:dataview:18405:7)
    at asyncEvalInContext (plugin:dataview:18412:16)
    at DataviewJSRenderer.render (plugin:dataview:18436:19)
    at DataviewJSRenderer.onload (plugin:dataview:18020:14)
    at e.load (app://obsidian.md/app.js:1:631421)
    at DataviewApi.executeJs (plugin:dataview:18954:18)
    at DataviewPlugin.dataviewjs (plugin:dataview:19559:18)

used the dataview example here: https://github.com/muness/obsidian-ics/pull/33

BUG: noisy logs

In 0.9.12 (and probably earlier too) I see lots of recurring events printed out in the log as objects. This is debugging from earlier.

Success criteria

  • Remove needless logging.

Is it supposed to work only with Google's ics?

Isn't .ics a standardized format?
Just tried to use it with Radicale a local DAV server which gives you .ics urls too and it doesn't work unfortunately.

Example .ics content below

VERSION:2.0
PRODID:-//PYVOBJECT//NONSGML Version 1//EN
X-WR-CALNAME;VALUE=TEXT:personal
BEGIN:VTIMEZONE
TZID:Europe/Warsaw
BEGIN:STANDARD
DTSTART:19790930T020000
RRULE:FREQ=YEARLY;UNTIL=19880925T030000;BYDAY=-1SU;BYMONTH=9
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:STANDARD
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:STANDARD
DTSTART:19770925T020000
RDATE:19770925T020000
RDATE:19781001T020000
RDATE:19870927T020000
RDATE:19890924T030000
RDATE:19900930T030000
RDATE:19910929T030000
RDATE:19920927T030000
RDATE:19930926T030000
RDATE:19940925T030000
RDATE:19950924T030000
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19770403T000000
RDATE:19770403T000000
TZNAME:CEST
TZOFFSETFROM:+0000
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:DAYLIGHT
DTSTART:19880327T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:DAYLIGHT
DTSTART:19780402T010000
RDATE:19780402T010000
RDATE:19790401T010000
RDATE:19800406T010000
RDATE:19810329T010000
RDATE:19820328T010000
RDATE:19830327T010000
RDATE:19840325T010000
RDATE:19850331T010000
RDATE:19860330T010000
RDATE:19870329T010000
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:f2ce6b4b-7952-4091-b16b-528ee11a3ef3
DTSTART;TZID=Europe/Warsaw:20210923T150000
DTEND;TZID=Europe/Warsaw:20210923T160000
CREATED:20210916T130051Z
DTSTAMP:20210916T130051Z
LAST-MODIFIED:20210916T130051Z
SUMMARY:wavem
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
UID:5e5510e2-57cb-4649-aa8e-b3008a75ce50
DTSTART;TZID=Europe/Warsaw:20210922T131501
DTEND;TZID=Europe/Warsaw:20210922T141501
CREATED:20210922T081601Z
DTSTAMP:20210922T081849Z
LAST-MODIFIED:20210922T081849Z
SEQUENCE:1
SUMMARY:lempe bempe
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
UID:d4824ade-a6f3-4e5f-932b-ce2e1d734d32
DTSTART;TZID=Europe/Warsaw:20210922T101500
DTEND;TZID=Europe/Warsaw:20210922T111500
CREATED:20210922T081548Z
DTSTAMP:20210922T081844Z
LAST-MODIFIED:20210922T081844Z
SEQUENCE:1
SUMMARY:parampa bamp
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

Recurring events duplicated on the first instance

Recurring events seem to get pulled in multiple times when you import events the first day they appear in your calendar. They show up once as a single event, and then get repeated one or more times with "(recurring)" at the end. It doesn't seem to be an issue after the first occurrence.

- [ ] 08:25 📅 Important meeting
- [ ] 08:25 📅 Important meeting (recurring)
- [ ] 08:50 📅 A less important meeting
- [ ] 10:30 📅 Brunch
- [ ] 12:00 📅 Get together
- [ ] 12:00 📅 Get together (recurring)
- [ ] 12:00 📅 Get together (recurring)
- [ ] 12:50 📅 Late lunch (recurring)

BUG: "Invalid time value" when pointing to a Nextcloud-powered ICS

Hi there. Thanks for the fantastic plugin! This is super useful.

I'm running into a scenario where I've added an additional ICS URL, that is generated by a Nextcloud server. However it throws "RngeError: Invalid time value" and then dies. It also then fails to handle the other calendar that I have configured, that the plugin is happy with.

Have you seen success with Nextcloud ICS URLs in the past? Thanks again!

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.