You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Web UI/i18n: add German (`de`) locale support and auto-render language options from supported locale constants in Overview settings. (#28495) thanks @dsantoreis.
10
+
- Web UI/Cron i18n: localize cron page labels, filters, form help text, and validation/error messaging in English and zh-CN. (#29315)
10
11
- Discord/Thread bindings: replace fixed TTL lifecycle with inactivity (`idleHours`, default 24h) plus optional hard `maxAgeHours` lifecycle controls, and add `/session idle` + `/session max-age` commands for focused thread-bound sessions. (#27845) Thanks @osolmaz.
11
12
- Android/Nodes: add `camera.list`, `device.permissions`, `device.health`, and `notifications.actions` (`open`/`dismiss`/`reply`) on Android nodes, plus first-class node-tool actions for the new device/notification commands. (#28260) Thanks @obviyus.
12
13
- Android/Nodes parity: add `system.notify`, `photos.latest`, `contacts.search`/`contacts.add`, `calendar.events`/`calendar.add`, and `motion.activity`/`motion.pedometer`, with motion sensor-aware command gating and improved activity sampling reliability. (#29398) Thanks @obviyus.
channelHelp: "Choose which connected channel receives the summary.",
246
+
webhookHelp: "Send run summaries to a webhook endpoint.",
247
+
to: "To",
248
+
toPlaceholder: "+1555... or chat id",
249
+
toHelp: "Optional recipient override (chat id, phone, or user id).",
250
+
advanced: "Advanced",
251
+
advancedHelp:
252
+
"Optional overrides for delivery guarantees, schedule jitter, and model controls.",
253
+
deleteAfterRun: "Delete after run",
254
+
deleteAfterRunHelp: "Best for one-shot reminders that should auto-clean up.",
255
+
clearAgentOverride: "Clear agent override",
256
+
clearAgentHelp: "Force this job to use the gateway default assistant.",
257
+
exactTiming: "Exact timing (no stagger)",
258
+
exactTimingHelp: "Run on exact cron boundaries with no spread.",
259
+
staggerWindow: "Stagger window",
260
+
staggerUnit: "Stagger unit",
261
+
staggerPlaceholder: "30",
262
+
seconds: "Seconds",
263
+
model: "Model",
264
+
modelPlaceholder: "openai/gpt-5.2",
265
+
modelHelp: "Start typing to pick a known model, or enter a custom one.",
266
+
thinking: "Thinking",
267
+
thinkingPlaceholder: "low",
268
+
thinkingHelp: "Use a suggested level or enter a provider-specific value.",
269
+
bestEffortDelivery: "Best effort delivery",
270
+
bestEffortHelp: "Do not fail the job if delivery itself fails.",
271
+
cantAddYet: "Can't add job yet",
272
+
fillRequired: "Fill the required fields below to enable submit.",
273
+
fixFields: "Fix {count} field to continue.",
274
+
fixFieldsPlural: "Fix {count} fields to continue.",
275
+
saving: "Saving...",
276
+
saveChanges: "Save changes",
277
+
addJob: "Add job",
278
+
cancel: "Cancel",
279
+
},
280
+
jobList: {
281
+
allJobs: "all jobs",
282
+
selectJob: "(select a job)",
283
+
enabled: "enabled",
284
+
disabled: "disabled",
285
+
edit: "Edit",
286
+
clone: "Clone",
287
+
disable: "Disable",
288
+
enable: "Enable",
289
+
run: "Run",
290
+
history: "History",
291
+
remove: "Remove",
292
+
},
293
+
jobDetail: {
294
+
system: "System",
295
+
prompt: "Prompt",
296
+
delivery: "Delivery",
297
+
agent: "Agent",
298
+
},
299
+
jobState: {
300
+
status: "Status",
301
+
next: "Next",
302
+
last: "Last",
303
+
},
304
+
runEntry: {
305
+
noSummary: "No summary.",
306
+
runAt: "Run at",
307
+
openRunChat: "Open run chat",
308
+
next: "Next {rel}",
309
+
due: "Due {rel}",
310
+
},
311
+
errors: {
312
+
nameRequired: "Name is required.",
313
+
scheduleAtInvalid: "Enter a valid date/time.",
314
+
everyAmountInvalid: "Interval must be greater than 0.",
315
+
cronExprRequired: "Cron expression is required.",
316
+
staggerAmountInvalid: "Stagger must be greater than 0.",
317
+
systemTextRequired: "System text is required.",
318
+
agentMessageRequired: "Agent message is required.",
319
+
timeoutInvalid: "If set, timeout must be greater than 0 seconds.",
320
+
webhookUrlRequired: "Webhook URL is required.",
321
+
webhookUrlInvalid: "Webhook URL must start with http:// or https://.",
0 commit comments