Fix: Remove duplicate sendMessageSlack imports#177
Merged
steipete merged 1 commit intoopenclaw:mainfrom Jan 4, 2026
Merged
Conversation
Remove duplicate import statements for sendMessageSlack that were causing TypeScript compilation errors in deps.ts and heartbeat-runner.ts Co-Authored-By: Warp <[email protected]>
Contributor
|
Hi George! For issues like that just hop on Discord, this project is still in early development so stuff like this happens - often takes me less time to type "fix" into codex than looking at these PRs. You defo don't wannna miss the fun we're having there! https://discord.com/invite/qkhbAGHRBT |
dgarson
referenced
this pull request
in dgarson/clawdbot
Feb 7, 2026
Closed
slathrop
referenced
this pull request
in slathrop/openclaw-js
Feb 11, 2026
Tasks completed: 1/1 - Port auth key normalization tests (commit #177, MISC-24) SUMMARY: .planning/phases/19-misc-fixes-cleanup/19-02-SUMMARY.md
This was referenced Feb 20, 2026
dgarson
referenced
this pull request
in dgarson/clawdbot
Feb 22, 2026
songliu0403-rgb
pushed a commit
to songliu0403-rgb/openclaw
that referenced
this pull request
Feb 26, 2026
cael-dandelion-cult
added a commit
to karmaterminal/openclaw
that referenced
this pull request
Mar 4, 2026
… comms discipline Phase 4 adds: - DELEGATE dispatch verification + attachment passthrough (openclaw#177) - Time-based self-continuation with agent-specified delay (openclaw#176) - Pre/post-compaction lifecycle hooks (openclaw#178) - Config hot-reload gap (openclaw#182) - Context-pressure canary confirmation (smaller model per figs) Updated issue tracking: openclaw#174 closed, openclaw#175 root cause found. Added Discord comms discipline section (Storm Lag Protocol + figs directives). Thomistic basis: Summa II-II Q47-Q53, prudentia survives forgetfulness via voluntas.
karmafeast
pushed a commit
to karmaterminal/openclaw
that referenced
this pull request
Mar 4, 2026
Add +Ns delay suffix to [[CONTINUE_DELEGATE: task +30s]] bracket syntax. When present, spawnSubagentDirect is called after a setTimeout delay, bounded by minDelayMs/maxDelayMs from continuation config. Marker event fires immediately so parent session knows delegation is pending. Timer does not survive gateway restart (v1 limitation, see openclaw#176). Changes: - tokens.ts: extend ContinuationSignal delegate variant with delayMs, parse +Ns suffix from bracket body - agent-runner.ts: extract doSpawn closure, wrap in setTimeout when delayMs > 0, fire delegate-pending event immediately - tokens.test.ts: 7 new tests for timed delegate parsing 57/57 token tests pass.
cael-dandelion-cult
added a commit
to karmaterminal/openclaw
that referenced
this pull request
Mar 4, 2026
… 136, debug logging assigned to Silas
heatherstew44-maker
pushed a commit
to heatherstew44-maker/openclaw
that referenced
this pull request
Mar 8, 2026
* feat(settings): add autostart toggle in advanced settings Enable users to configure autostart behavior through a new toggle in the advanced settings UI. The backend now checks user preferences on startup to enable or disable autostart accordingly, with the setting persisted and manageable via a new Tauri command. This provides better control over app initialization without affecting existing functionality. * immediate toggle effect? --------- Co-authored-by: CJ Pais <[email protected]>
venhi5282
pushed a commit
to venhi5282/openclaw
that referenced
this pull request
Mar 9, 2026
* Initial plan * fix(browser): 追踪原始端口映射以处理 EADDRINUSE 回退 移植上游 commit 8e55503 的修复: **问题**: 当请求的端口已被占用时(EADDRINUSE),Node.js 的 server.listen() 可能会自动分配一个不同的端口。但代码在 serversByPort Map 中使用 实际分配的端口作为键存储服务器,却在查找时使用原始请求的端口, 导致后续调用无法找到已存在的服务器实例。 **修复**: - 保存 originalPort(原始请求的端口) - 使用 originalPort 作为 serversByPort Map 的键 - 这样即使实际端口改变,也能正确查找和清理服务器实例 **验证**: - ✅ 构建通过 - ✅ 相关测试全部通过 (3/3) - ✅ 未修改用户可见文本(CDP 协议内部错误保持英文) Co-authored-by: jiulingyun <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: jiulingyun <[email protected]>
sdntsng
added a commit
to tryvinci/engram-openclaw
that referenced
this pull request
Mar 24, 2026
* feat(data-explorer): searchable icon-grid view of ingested connector data (openclaw#174) Closes openclaw#173 - Backend: GET /v1/connectors/data — paginated, filterable, searchable query over connector_data_index (one entry per source doc). Adds store.list_connector_index_entries() with regex text search, provider filter, and skip/limit pagination. - Frontend hook: useConnectorData(q, source, page) with abort-controlled fetch and debounce handled in the page. - Frontend page: /dashboard/data — Google Drive-style icon grid with per-provider icons (Slack, Notion, Drive, Fathom), debounced search bar, source filter pills, spring-animated detail drawer, pagination, and empty state. - Header: adds "Data" nav link with FolderSearch icon. Co-authored-by: Claude Sonnet 4.6 <[email protected]> * checkpoint (openclaw#177) * feat(memory): add admin debug endpoints * feat(memory): wire chat and slack publishers * feat(memory): make synthesis profiles pluggable * feat(frontend): add memory admin debug page * feat(backend): publish refresh outputs to memory * chore(dev): start memory with root dev loop * feat(memory): add postgres storage provider * feat(connectors): add slack memory sync observability * docs(memory): document technical orchestration * build(memory): generate and verify code mind map * fix(frontend): remove leftover connectors merge marker * docs(engram-chat): add connector migration matrix * feat(engram-chat): migrate connector oauth parity * feat(engram-chat): migrate connector sync to memory * feat(engram-chat): migrate fathom webhook ingest * docs(engram-chat): record remaining backend legacy surface * chore(repo): remove stray ds store files * refactor(routes): retire legacy backend chat surface * fix(engram-chat): expose connector sync state collection * feat(memory): include references in chat retrieval * feat(memory): tighten connector retrieval semantics * feat(engram-chat): add mongo-backed chat prompt configs * feat(engram-chat): compose chat prompts at runtime * docs(engram-chat): document prompt override workflow * fix(engram-chat): restrict prompt overrides to admins * feat(frontend): add prompt admin controls to memory page * feat(prompts): scope product prompt control to admins * build(dev): add oauth tunnel startup command * docs(engram-chat): document stable oauth callbacks * feat(engram-chat): add direct chat fallback for local runtime * feat(frontend): enrich memory admin prompt controls * feat(frontend): add admin workspace debug portal * feat(frontend): fold memory into brand brain experience * fix(memory): repair admin event and stats endpoints * fix(frontend): expose full prompt catalog and route to chat * feat(memory): add user-scoped memory steering * feat(frontend): add explicit brand team switcher * refactor(frontend): move prompt governance into admin portal * feat(frontend): streamline brand switcher and add new brand entry * fix(frontend): route team workspace to backend api * build(dev): mirror runtime logs to root file * fix(frontend): always open brand switcher menu * refactor(frontend): remove team and data from primary nav * feat(frontend): embed data explorer into connectors * feat(frontend): add connect and explore tabs to connectors * fix(frontend): load connector explorer data from backend * fix(chat): keep product context across follow-up turns * fix(chat): ground brand-scoped turns in profile context * fix(chat): add website identity to brand context * docs(traceability): capture aligned scope * feat(chat): trace sync runs and expose admin inspection * test(chat): add context regression harness * feat(chat): expose retrieval provenance in traces * feat(chat): trace streamed chat runs * feat(frontend): inspect chat traces from admin portal * feat(multi-brand): full multi-brand support — routing, access control, delete, refresh fix (openclaw#180) * feat(multi-brand): support multiple brands per user (openclaw#178) Backend: - Store: add list_brand_profiles_for_user (all owned+member brands), create_brand_profile (new insert), upsert_brand_profile_by_id (owner-only update by id) - Brand router: POST /v1/brand creates a new brand; GET /accessible now returns ALL owned and member brands via list_brand_profiles_for_user - Add _get_brand_for_user helper for consistent owner/member access control - Thread brand_id query param through /profile, /website-identity, /refresh, /refresh-status, /today, _trigger_refresh_task, _generate_daily_brief_task - POST /profile accepts ?brand_id= to update a specific brand (owner only) - Chat: ChatRequest.brand_id optional field; _get_context and run_content_pipeline tool respect active brand_id Frontend: - BrandContext: add createBrand(); saveTracking and setBrandThemeEnabled now pass ?brand_id= when activeBrandId is set - useDailyBrief: accept brandId option, thread through today/refresh/refresh-status/ website-identity API calls - Header BrandSwitcher: "New brand" inline form to create additional brands Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * fix(multi-brand): clear stale activeBrandId on 403/404 profile fetch If localStorage has a brand_id the user no longer has access to, the profile request returns 403. Clear the key and retry without it. Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * feat(header): always show brand dropdown with + Add brand button Removed the single-brand shortcut that rendered a plain link with no dropdown — the trigger now always opens the dropdown, giving every user access to the brand list and the inline "Add brand" form. Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * feat(multi-brand): add brand via website URL, not brand name POST /v1/brand now accepts website_url, derives a seed name from the domain, persists the new brand, then fires _trigger_refresh_task in the background — same extraction flow as first-brand onboarding. Frontend: createBrand() accepts a URL; Header "Add brand" input shows a Globe icon with placeholder "example.com" and a "Go" submit button. Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * chore: restore stashed session changes (brand delete, context ACL, team brand_id, store methods) Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * fix(multi-brand): correct brand routing across all pages and fix refresh crash - store: add get_brand_for_user() — single access-control resolver (owner or member) - brand.py: remove local _get_brand_for_user(), replace all 7 call sites with store method - chat.py: replace two inline access-control blocks with store.get_brand_for_user() - context.py: simplify _assert_brand_access() to use store.get_brand_for_user() - brand.py _synthesize_brief: fix NameError — bare brand_id → str(brand.id or "") - useDailyBrief: add brandId to useCallback dep arrays (fetchBrief, fetchWebsiteIdentity, fetchRefreshStatus) — was stale on brand switch - today/page: pass activeBrandId to useDailyBrief - brand-brain/page: pass brand_id param to /v1/brand/profile and /v1/brand/website-identity fetches - team/page: add useBrandProfile, pass brand_id to all 4 team API calls, add brandParam to fetchTeam deps Co-Authored-By: Claude Sonnet 4.6 <[email protected]> --------- Co-authored-by: Claude Sonnet 4.6 <[email protected]> * feat(backend): add agent web research endpoint * feat(chat): trigger web research from search intent * feat(chat): add search policy prompt section * feat(ux): show loading indicator when a new brand is being initialized - toast.loading/success/error pair in BrandSwitcher for full-lifecycle feedback - animated skeleton loading row appears in brand list while creation is in progress - all brand-switch and delete buttons disabled while creating to prevent race conditions - deferred setActiveBrandId until after fetchBrand resolves so the switcher does not flip to the new brand before its profile is ready Closes openclaw#181 Co-Authored-By: Claude Sonnet 4.6 <[email protected]> * fix(frontend): surface saved search data in explore * feat(chat): stream agent activity summaries * fix(frontend): soften technical thinking summaries * feat(chat): add langfuse tracing support * feat(admin): surface langfuse metadata in traces * speed up brand refresh * fix(openclaw): bind gateway to 0.0.0.0 on Render Render requires the service to listen on 0.0.0.0 for port detection. Add dockerCommand to override the Dockerfile CMD with --bind lan --port 8080, and remove the no-op OPENCLAW_GATEWAY_BIND env var (not read by the codebase). Co-Authored-By: Claude Sonnet 4.6 <[email protected]> --------- Co-authored-by: Claude Sonnet 4.6 <[email protected]> Co-authored-by: sdntsng <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes TypeScript compilation errors caused by duplicate import statements for
sendMessageSlackin two files.Changes
sendMessageSlackimport fromsrc/cli/deps.tssendMessageSlackimport fromsrc/infra/heartbeat-runner.tsImpact
pnpm buildTesting
pnpm build