Skip to content

Commit a78dfbd

Browse files
committed
docs: update documentation for v2.1.0 features
- Add v2.1.0 section to README with new features - Update Next Meeting feature description with configurable duration - Update Configuration steps for new settings - Add v2.1.0 to changelog - Update copilot-instructions with flashOnMeetingStart default pattern - Add startup race condition and title duration to common issues table
1 parent 55ae2ea commit a78dfbd

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed

.github/copilot-instructions.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,11 @@ Checkboxes require specific HTML structure for SDPI styling:
145145
When checking boolean settings, handle `undefined` for backwards compatibility:
146146

147147
```typescript
148-
// undefined = true (default), false = false, true = true
149-
const setting = value === undefined ? true : Boolean(value);
148+
// excludeAllDay: undefined = true (default on), false = false, true = true
149+
const excludeAllDay = value === undefined ? true : Boolean(value);
150+
151+
// flashOnMeetingStart: undefined = false (default off), must explicitly be true
152+
const flashEnabled = settings.flashOnMeetingStart === true;
150153
```
151154

152155
## Common Issues
@@ -158,6 +161,8 @@ const setting = value === undefined ? true : Boolean(value);
158161
| Checkbox not visible | Wrong SDPI HTML structure | Use `type="checkbox"` on parent div, label with span |
159162
| Debug panel always showing | `display: block` hardcoded | Set `display: none`, show only when `isDebugMode` |
160163
| Outlook times wrong | Windows timezone not mapped | Check `timezone-service.ts` mapping |
164+
| Buttons stuck on "Loading" | Startup race condition | `waitForCacheAndStart` uses 500ms polling with `actionRef` fallback |
165+
| Title shows for too long | Duration multiplied twice | `getTitleDisplayDuration()` returns seconds, caller multiplies by 1000 |
161166

162167
## File Locations
163168

README.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ iCal Plugin for [elgato Stream Deck](https://www.elgato.com/en/gaming/stream-dec
66

77
This plugin is available on the Stream Deck store, you can also download [the last release](https://github.com/pedrofuentes/stream-deck-ical/releases) or build it yourself using the code on this repo.
88

9+
## ✨ New in v2.1
10+
11+
-**Configurable Title Display**: Choose how long meeting titles show (5, 10, 15, or 30 seconds)
12+
-**Meeting Start Flash**: Optional visual alert when meetings begin
13+
-**Improved Startup**: Faster button initialization with better status messages
14+
-**Better UX**: Shows "Please Setup" for unconfigured plugins
15+
916
## ✨ New in v2.0
1017

1118
-**Recurring Events Support**: Daily, weekly, monthly recurring events with RRULE
@@ -36,8 +43,10 @@ This plugin is available on the Stream Deck store, you can also download [the la
3643
### Next Meeting ###
3744
* Shows time left until next meeting starts
3845
* If the button is pushed it will show the title of the next meeting (scrolling marquee)
46+
* **Configurable duration**: Choose 5, 10, 15, or 30 seconds for title display
3947
* If the button is pushed while the text is showing it will go back to show the time left until the next meeting
4048
* At the end of the title animation, the button will go back to show the time left until the next meeting
49+
* **Optional flash alert** when meetings are about to start (disabled by default)
4150
* Changes icon color to orange when there are 5 minutes left for the next meeting to start
4251
* Changes icon color to red when there are 30 seconds left for the next meeting to start
4352

@@ -106,8 +115,10 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup instructions.
106115
3. Click "Settings" button
107116
4. Enter your iCal URL
108117
5. Choose time window (1, 3, 5, or 7 days)
109-
6. Optionally uncheck "Exclude All-Day Events" to show all-day events
110-
7. Click "Save Settings"
118+
6. Set title display duration (5, 10, 15, or 30 seconds)
119+
7. Optionally enable "Flash when meeting starts" for visual alerts
120+
8. Optionally uncheck "Exclude All-Day Events" to show all-day events
121+
9. Click "Save Settings"
111122

112123
## Troubleshooting
113124

@@ -155,6 +166,14 @@ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for:
155166

156167
## Changelog
157168

169+
### v2.1.0 (2026)
170+
-**Configurable Title Display Duration**: Choose 5, 10, 15, or 30 seconds (#20)
171+
-**Flash on Meeting Start**: Optional visual alert when meetings begin (#11)
172+
- 🐛 Fixed title display duration bug (was showing for minutes instead of seconds)
173+
- 🐛 Fixed startup race condition causing buttons to get stuck on "Loading"
174+
- 🐛 Improved status messages: Shows "Please Setup" for unconfigured plugins
175+
- ✅ Added 18 new regression tests for v2.1.0 features
176+
158177
### v2.0.0 (2026)
159178
-**Major Update**: Migrated to Node.js SDK v2
160179
- ✨ Added recurring events support (RRULE, EXDATE)

0 commit comments

Comments
 (0)