Yanxin Lu
c66ccc4c44
calendar: add --alarm flag to send command for custom reminder triggers
...
Previously the send command hardcoded a 1-day VALARM. Now accepts
--alarm with duration format (e.g. 1h, 30m, 2d), defaulting to 1d.
2026-03-27 09:05:30 -07:00
11b3e39586
Daily backup 2026-03-27 00:00:08
2026-03-27 00:00:08 -07:00
Yanxin Lu
7227574b62
Merge branch 'main' of ssh://git.luyanxin.com:8103/lyx/youlu-openclaw-workspace
...
merge
2026-03-26 09:19:23 -07:00
Yanxin Lu
e1f1c0f334
calendar: add EXDATE support for cancelling single occurrences of recurring events
...
event delete on a recurring event previously deleted the entire .ics file,
killing the whole series. Now requires --date (adds EXDATE) or --all (deletes
series) for recurring events, refusing to act without either flag.
2026-03-26 09:19:02 -07:00
5e25f8d835
Daily backup 2026-03-26 00:00:03
2026-03-26 00:00:03 -07:00
Yanxin Lu
d2bc01f16c
calendar: dedup todo lookups, robust khal search, cleanup improvements
...
- Replace _find_todo_id and inline UID lookups with _find_todo in
complete/delete/edit (removes ~40 lines of duplicated logic)
- Handle khal search returning exit code 1 for no results
- Sync calendar before event list for fresh data
- Use shutil.rmtree for temp dir cleanup
- Use datetime.fromisoformat instead of manual format strings
2026-03-25 09:47:20 -07:00
Yanxin Lu
371209cf35
Merge branch 'main' of ssh://git.luyanxin.com:8103/lyx/youlu-openclaw-workspace
...
merge
2026-03-25 09:32:40 -07:00
Yanxin Lu
35f048dd83
calendar: add recurring events, event management, and safety rules
...
Add --rrule flag to send with DTSTART/BYDAY validation (RFC 5545).
Add event list (via khal) and event delete (safe single-event removal).
Document safety rules from 2026-03-25 incident: always dry-run recurring
events, never rm .ics files, space out SMTP sends.
2026-03-25 09:32:22 -07:00
ee7e5e39d7
Daily backup 2026-03-25 00:00:03
2026-03-25 00:00:03 -07:00
Yanxin Lu
810a9923f9
calendar: drop unnecessary --no-interactive flag from todo edit
...
todoman skips interactive mode automatically when changes are provided.
2026-03-24 21:58:52 -07:00
Yanxin Lu
734790a599
calendar: add todo edit command
...
Allow editing todo fields (due date, priority) in place via todoman,
instead of requiring delete + recreate. Updates all docs for consistency.
2026-03-24 21:56:23 -07:00
Yanxin Lu
20ee61498c
daily summary removed
2026-03-24 15:36:46 -07:00
Yanxin Lu
a39233a299
daily summary
2026-03-24 14:55:59 -07:00
Yanxin Lu
a77d4afb43
memory: replace duplicated user background with reference to USER.md
2026-03-24 14:42:03 -07:00
Yanxin Lu
f51b14f51b
remove avatar
2026-03-24 14:38:37 -07:00
Yanxin Lu
1b2db17967
user: update USER.md with context, partner info, and hobbies
2026-03-24 14:37:53 -07:00
Yanxin Lu
7630782553
resolve merge conflict in MEMORY.md: keep clean version
2026-03-24 12:48:54 -07:00
Yanxin Lu
9bfb620cea
docs: update MEMORY.md and TOOLS.md for cron fix and cleanup
...
- Update backup section to reflect systemEvent fix (2026-03-24)
- Remove ephemeral "今日处理" snapshot from MEMORY.md
- Remove dead News Digest section from TOOLS.md
- Add OpenClaw Cron reference section to TOOLS.md
2026-03-24 12:46:30 -07:00
8d416abfa0
docs: 修复备份任务记录 + 精简 TOOLS.md
2026-03-24 10:15:57 -07:00
df7cdffc13
Daily backup 2026-03-24 10:02:50
2026-03-24 10:02:50 -07:00
33f0dac248
Daily backup
2026-03-24 09:58:36 -07:00
Yanxin Lu
b2ff8effd4
calendar: fix stale docs and remove unnecessary METHOD from todo add
...
- Remove duplicate email rule in TOOLS.md
- Add todo mutations to sync description in TOOLS.md
- Remove METHOD:REQUEST from todo add ICS (no longer emailed)
- Update todo check description in SKILL.md
2026-03-23 14:48:05 -07:00
Yanxin Lu
ab9f7da592
calendar: remove self-notification emails (CalDAV sync replaces them)
...
Remove three redundant email flows since all devices sync via CalDAV:
- Auto-adding mail@luyx.org as attendee on outgoing invites
- Forwarding invites to mail@luyx.org on accept/tentative
- Emailing todos to mail@luyx.org on todo add
2026-03-23 14:27:28 -07:00
48e179c8de
Daily backup 2026-03-23 10:02:47
2026-03-23 10:02:47 -07:00
Yanxin Lu
13986aa3ab
cleanup: remove old reminder system and unused crontab files
...
Todo management now lives entirely in skills/calendar/ via VTODO + todoman.
2026-03-23 09:53:49 -07:00
Yanxin Lu
31efcffb19
calendar: fix completed field name from todoman --porcelain output
2026-03-22 16:09:45 -07:00
Yanxin Lu
4ef7b1e05b
calendar: use todoman --yes flag for delete instead of piping stdin
2026-03-22 16:03:12 -07:00
Yanxin Lu
912bcf53bd
calendar: fix _days_until to handle Unix timestamps from todoman --porcelain
2026-03-22 15:50:43 -07:00
Yanxin Lu
cf8158c7cc
calendar: update TESTING.md with todoman verification steps
2026-03-22 15:43:18 -07:00
Yanxin Lu
261544b50a
docs: update TOOLS.md and MEMORY.md for calendar+todoman migration
2026-03-22 15:02:01 -07:00
Yanxin Lu
383b33cc30
calendar: use todoman for VTODO list/complete/delete/check
...
Replaces custom .ics parsing with todoman CLI (--porcelain for JSON).
todo add still uses icalendar directly (needs ICS creation + email).
Updates MIGRATION.md with todoman install/config instructions.
2026-03-22 15:00:20 -07:00
Yanxin Lu
1750a0d921
calendar: add migration guide from reminder_check.py to VTODO
2026-03-22 14:39:59 -07:00
Yanxin Lu
44fbbea29b
VTODO skill
2026-03-22 14:10:54 -07:00
Yanxin Lu
ceb7af543b
VTODO
2026-03-22 14:10:41 -07:00
Yanxin Lu
da26f84947
Merge branch 'main' of ssh://git.luyanxin.com:8103/lyx/youlu-openclaw-workspace
...
merge
2026-03-20 18:59:19 -07:00
Yanxin Lu
71672b31ca
email-processor: fix concurrency bugs and several other issues
...
- Add fcntl file locking around read-modify-write cycles on both
decision_history.json and pending_emails.json to prevent data
corruption from parallel processes
- Pass --page-size 500 to himalaya envelope list to avoid silently
missing emails beyond the default first page
- Use ollama.Client(host=...) so the config.json host setting is
actually respected
- Fall back to sender-only matching in compute_confidence when LLM
returns no valid taxonomy tags, instead of always returning 50%
- Fix _format_address to return empty string instead of literal
"None" or "[]" for missing address fields
2026-03-20 18:58:13 -07:00
6bea16d391
Daily backup 2026-03-19 07:00 UTC
2026-03-19 00:00:47 -07:00
Yanxin Lu
4e3c6acab6
calendar-invite: strip METHOD from ICS before CalDAV storage
...
CalDAV servers (Migadu) reject ICS files with METHOD:REQUEST/REPLY
as it's an iTIP email concept, not a storage property. Strip it
when saving to local calendar, for both send and reply flows.
2026-03-18 14:54:33 -07:00
Yanxin Lu
b8ba4adec5
calendar-invite: add VALARM reminder, fix terminology, remove dead code
...
- Add 1-day reminder (VALARM) to all sent invites
- Fix datetime.utcnow() deprecation → datetime.now(timezone.utc)
- Rename "message ID" → "envelope ID" in SKILL.md for consistency
- Remove unused _himalaya() and _himalaya_with_account() helpers
2026-03-18 14:44:08 -07:00
Yanxin Lu
765825a8d1
using MIME instead of MML
2026-03-18 14:36:29 -07:00
c4125d1145
Merge branch 'main' of ssh://luyanxin.com:8103/lyx/youlu-openclaw-workspace
...
merge
2026-03-18 13:40:45 -07:00
0dea793b58
calendar sync
2026-03-18 13:40:04 -07:00
Yanxin Lu
de6528335c
calendar invite
2026-03-18 13:36:25 -07:00
Yanxin Lu
d35e7b1475
Merge branch 'main' of ssh://git.luyanxin.com:8103/lyx/youlu-openclaw-workspace
...
merge
2026-03-13 11:19:23 -07:00
Yanxin Lu
36143fcd93
Add digest command to email processor
...
Read-only summary of recent decisions, grouped by action with
[auto]/[user] markers. Supports --recent N for multi-day lookback.
2026-03-13 11:17:43 -07:00
65872775e3
cleanup: remove all pilates monitor references from config files
2026-03-12 11:44:34 -07:00
9448abc8ab
doc: remove deleted pilates monitor from MEMORY
2026-03-12 11:42:24 -07:00
d8191c9e86
doc: mark UCLA pilates monitor as deleted
2026-03-12 11:37:58 -07:00
17435aa7e4
doc: update backup config - remove workspace_backup.sh reference
2026-03-12 09:13:01 -07:00
c4b19b7664
Update: prune pilates monitor, update reminders, sync memory files
2026-03-12 09:10:56 -07:00