Files
nc_bot_webhooks/TODO.md
T
kyle 005f76701e docs: update documentation, add future tasks, and fix debug endpoint security
- **Documentation Overhaul**:
  - **README.md**: Restructured installation guide to align with Nextcloud 33+ paths (e.g., "Personal Settings → Security"), added curl examples, updated known limitations, and added a "Future Features" section.
  - **agent.md**: Updated architecture documentation to reflect `TalkService.php` growth (1138 to 1904 lines), updated constructor parameters, and corrected method documentation (e.g., `buildRichObject` now creates TYPE_ROOM shares, `postToRoom` uses query params).
  - **architecture.md**: Added notes regarding the admin gate for the debug endpoint.

- **New Files**:
  - Added `Future to-do.md` to track planned features (inbound messages, filtering, etc.).
  - Added `TODO.md` to track pending tasks and code cleanup.

- **Code Fixes**:
  - **lib/Controller/WebhookController.php**: Re-applied `#[AdminRequired]` attribute to the `debug()` method to enforce admin authentication.
  - **lib/Service/TalkService.php**: Updated docblock for `buildRichObject` to clarify it creates TYPE_ROOM shares.
  - **lib/Settings/Admin.php** & **templates/adminSettings.php**: Corrected bot password generation instructions to point to the correct Nextcloud settings path.

- **Configuration**:
  - **appinfo/info.xml**: Bumped version to 1.2.1 and updated `max-version` to 35.
2026-06-16 13:23:31 -07:00

43 lines
2.8 KiB
Markdown

# nc_bot_webhooks — Pending Tasks
## Debug Endpoint
- [x] Re-enable admin auth requirement for `/debug` endpoint (WebhookController.php)
- [x] Re-enable admin gate + update docs
- [ ] Add auto-disable timer (2-hour TTL) to prevent accidental prolonged exposure
## README / Documentation Fixes
- [x] Section 4: App password path — confirmed "Personal Settings → Security" is correct
- [x] Section 4 (FIXED): Template hint `templates/adminSettings.php:11` — confirmed correct path
- [x] Section 4: l10n string `lib/Settings/Admin.php:43` — confirmed correct path
- [x] Section 5: "Administration → Additional settings" → confirmed correct for current NC
- [x] Section 3: "Settings → Users" → confirmed correct for current NC
- [x] Security table: `allow_local_address: true` description — clarified wording
- [x] Image cleanup cron grep — already correct in README (`grep 'nc_bot_webhooks: purged'`)
- [x] Troubleshooting: `ncdiscordhook` app ID — not in README (only in agent.md, which is correct)
- [x] Payload Mapping: `mapPayload` title — confirmed bold formatting correct
- [x] Payload Mapping: `type` icon mapping — confirmed actual emojis listed
- [x] Home Assistant YAML: `message` vs `body``message` works via fallback, no change needed
- [x] Version: bumped to 1.2.1 (info.xml + agent.md updated)
- [x] NC max-version: docs say 33, info.xml says 35 — agent.md updated
## Code Documentation Fixes
- [x] `buildRichObject` docs describe public link shares; code uses TYPE_ROOM shares
- [x] `postToRoom` docs describe JSON body posting; code uses query params
- [x] `prependDisplayName` signature — already documents all 3 params including `$typeIcon`
- [x] `getRooms()` response schema missing `type`, `type_label`, `object_type`
- [x] `saveConfig` docs missing `disabled_rooms` field
- [x] `ensureBotParticipants` visibility — already documented as `private` with call context
- [x] `getBaseUrl()` resolution incompletely documented
- [x] TalkService constructor params: docs say 8, actual 17
- [x] TalkService.php size: docs say 1138 lines, actual 1904
- [ ] All line numbers in agent.md are stale
## Code Issues
- [ ] Room type filter `type IN (1,2,3)` misses type 6 (Note to self) and future types
## Cleanup
- [x] `config:app:delete nc_bot_webhooks routes` — removed from README (routes are defined in routes.php, not stored in DB)
- [ ] `composer.json` exists but migration plan says delete it (resolved — keep it for dev tooling, update migration plan)
- [x] agent.md dead references cleaned: `app (copy).svg`, `composer/autoload.php`, `composer/autoload_psr4.php` (removed from directory tree). `tests/`, `phpunit.xml.dist`, `.gitea/workflows/ci.yml` were not actually in agent.md (false positives)
- [x] `webhook-setup.md` — added clear label "Nextcloud Talk Native Bot Setup (bots-v1)" with note distinguishing from nc_bot_webhooks