# ICS → Discourse Importer

**URL:** https://meta.discourse.org/t/ics-discourse-importer/381646
**Category:** Extras
**Tags:** events, rest-api
**Created:** [September 4, 2025, 9:53pm UTC](https://meta.discourse.org/t/ics-discourse-importer/381646 "2025-09-04T21:53:54Z")
**Posts on this page:** 1
**Showing post:** 20

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [April 26, 2026, 7:34am UTC](https://meta.discourse.org/t/ics-discourse-importer/381646/20 "2026-04-26T07:34:50Z")

</div>

### Behaviour nuance: `--time-only-dedupe` is not truly “time-only”

One subtle but important detail from further testing:

- With `--time-only-dedupe`, matching is not purely start/end
- It still requires locations to be “close enough” (via `close_enough_loc()`)

This leads to a useful behaviour:

- Minor location noise (formatting, duplication, etc.) → same topic updated
- Real location changes (e.g. C05 → C04) → new topic created

* * *

## Practical effect

This means:

- Room changes surface in Latest (new topic → visible to users)
- Feed noise stays invisible (quiet updates or no-op)

So the system ends up acting as a signal vs noise filter:

- Times define identity
- Location changes are treated as meaningful
- Description churn is ignored

---

_[View the full topic](https://meta.discourse.org/t/ics-discourse-importer/381646)._
