Full Calendar Remastered: The Local-First FOSS Calendar Hub (CalDAV, Google Calendar Sync, Tasks Backlog, & Activity Tracking)

Disclaimer

Is this project open source? Yes
Is this project completely free? Yes
Is this project vibe-coded beyond the author’s ability to comprehend how it works? No


Hi everyone!

I wanted to share a major update and open showcase for Full Calendar Remastered, build on top of the community loved Full Calendar plugin.

If you’ve been in the Obsidian ecosystem for a while, you probably remember the incredible original Full Calendar plugin developed by Davis Haupt. It was a game-changer for bringing a visual calendar interface into our local markdown vaults. However, as the ecosystem evolved, managing timezone shifts, multi-device mobile synchronization, and complex task integrations left many users wanting a more robust, actively maintained solution.

Full Calendar Remastered is a major community fork designed to turn your vault into a high-performance, local-first calendar and productivity hub. It bridges local-first markdown ownership with two-way cloud synchronization and advanced chronological analytics.


:rocket: Key Features

1. The Multi-Source Calendar Engine

FCR allows you to aggregate, display, and manage events from multiple distinct local and remote sources simultaneously :

  • Full Note Calendars: Every calendar event is stored as an individual Markdown note with extensible YAML frontmatter. You can write meeting minutes, link to other project notes, or append tags directly inside the event note.

  • Daily Note Calendars: Automatically parses and manages inline event lists structured inside your standard Daily Notes.

  • Two-Way Google Calendar Sync: Native OAuth-based synchronization to keep your Google Calendar fully aligned with your vault.

  • Two-Way CalDAV Sync: Connects seamlessly with Apple iCloud, Fastmail, or self-hosted CalDAV servers.

  • Local & Remote ICS: Load read-only internet calendars or local .ics files.

  • Tasks / TaskNotes plugin Integration: Integrate your favourite tasks plugin to see everything in one place.

2. Interactive Tasks & Backlog Drag-and-Drop

We have built a deep integration with the Obsidian Tasks plugin.

  • FCR automatically scans your vault for tasks.

  • Open the dedicated Tasks Backlog Sidebar to view unscheduled items.

  • Simply drag a task from the backlog and drop it onto a calendar time slot to schedule it instantly, updating your task’s metadata safely in plain text markdown.

3. Automated Activity Tracking (ActivityWatch Integration)

This is one of our most advanced features. FCR integrates directly with ActivityWatch to capture raw desktop application and browser usage.

  • It uses a specialized mathematical Best-Fit Finite State Machine (FSM) to filter background noise (like idle browser tabs) and map active, high-intent focus periods.

  • It automatically groups these raw desktop logs into clean, semantic chronological blocks (e.g., “30 mins of Coding” or “1 hour of Writing”) and displays them on your calendar.

4. Chrono Analyser Dashboard

The built-in Chrono Analyser provides an interactive productivity dashboard inside Obsidian. It visualizes your actual tracked time vs. your scheduled time, helping you analyze where your hours are going and optimize your weekly focus.


:hammer_and_wrench: Behind the Scenes: Hardening the Foundation

We didn’t just add features; we focused heavily on performance and reliability under the hood :

  • Staged Loading Architecture: Ensures that vaults with thousands of event notes load instantly without stalling Obsidian’s startup or UI threads.

  • Timezone & DST Hardening: Completely rewritten timezone layers prevent time-shifting and Daylight Saving Time rendering bugs across different operating systems.


:speech_balloon: We Need Your Feedback & Suggestions!

Our goal is to keep making this the absolute best open-source, local-first calendar tool for the Obsidian community. We want to build what you actually use.

  • How do you currently plan your day in Obsidian? Are you a daily note scheduler, or do you prefer separate event notes?

  • What workflow integrations are we missing? We are looking to integrating more closely with other FOSS plugins like daily planning styles (like James Lynch’s/Ivan Lednev’s Day Planner or Callum Alpass’s TaskNotes). Would you like to see features like:

  • Computed Urgency Metatags (e.g., automatically calculating an urgency metric from task priority and time-to-deadline)?

  • Active Clock Timers (right-clicking an event to trigger an active stopwatch that writes back to your YAML)?

  • Shorthand autotext capture panels?

  • What are your thoughts on calendar-based time-blocking? How can we make the transition from a messy list of tasks to a beautifully blocked calendar day smoother?

Let us know what you think, report any bugs you encounter, and share your feature ideas!

:inbox_tray: How to Install

Happy planning!

2 Likes

very good plugin, Thank you~

1 Like

This is going to be an awesome plugin (already is on desktop), very excited about TaskNotes integration, lots of goodies!

Unfortunately I can’t use it at this point, as the month view on iOS is still broken and not really useable. Looks great on the desktop though. Most of my calendar interactions is on mobile, so I’ll have to wait for the mobile (iOS) interface to improve.

Thanks for this, I am keeping an eye on it with great expectations!

1 Like

Ahha I see so #225 didnt fix it?

Could you please reopen it and add some ideas on how you suggest it to look like? Unfortunately I dont use Obsidian on my Phone so I have no idea (but I can definitely make it happen). Users did suggest NLP for ease of adding note on Phone #252 which now exists, but I never got a reviews on mobile view so I have no idea.

Hi, after #225 it was fine for awhile, but at some point an update or something broke it again. As a complete non-developer type person who don’t know coding from my elbow, I think the problem might be with the way Obsidian itself draws stuff, because the tasknotes calendar is also a bit broken on iOS at the moment. Over the weekend I’ll make some screenshots and open a new request.

Thanks for your time and the work you put into this, we all appreciate it!

Sure please do. I will also probably release this live preview feature in the next update. So that will allow you to add any view into any random note and sort of style it in some basic ways (adjust some basic colors, height width, etc). So hopefully that would also be somehow helpful for view problems. Let’s see.

That looks awesome!

Thanks!

1 Like

This is already an excellent calendar app - thanks for the Would love the ability to see all of my remote calendar events listed in the daily note as well so I have a complete overview of the day. Right now, if I switch the event calendar from Google to Daily, I lose it on my gcal.

1 Like

Am I correct in believing that w cannot mark Google Calendar events as “hidden” or “background?” It keeps saying it Failed to update the event.

I guess what I want is a sort of mash-up of Full Note and Google Calendar. I do keep events in my vault as Full Notes (and add to them in Obsidian) – I just manually import them from Google Calendar. I was hoping this would eliminate the need for the manual import.

1 Like

That’s right. Remote events are stored remotely (we don’t download them, we just stream it realtime) and these events don’t have a “display” option in the remote server to save it.

Workaround would be:

  1. Convert GCal event into FullNote: Open the event in FCR and flip the “In Calendar” to a Full Calendar you have and it should get deleted in the GCal and added to Full Note. After that you can hide it etc.
  2. Have the events in separate GCalendar: Within the Google Calendar Environment move the events you want to hide into a separate Gcalendar and then link that calendar as well in FCR, use it together with workspaces which can selectively hide calendar providers.

Thank you for these suggestions! I really appreciate the response.

I am not sure either would achieve what I am aiming for (not the plugin’s fault – just my use-case):

  1. Keep the events in my “normal” Google Calendar, so I can see them in the Google Calendar app, I can share my calendar with my partner, I can invite people to the events, etc.
    1. I think Suggestion 1 would remove them from my Google Calendar, right? As opposed to just making a Full Note of the event?
  2. Have the events present in Obsidian as a Full Note so that I can add my notes into the body.
  3. But not every single event requires a Full Note. For example – my upcoming day off work. It’s in my Google Calendar, and it needs to stay there, but it does not need a Full Note in Obsidian. I don’t need it in my Obsidian at all – it’s not really an “event” (IMO).
    1. That’s the type of thing that I would hide.