Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
See all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
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
{{ message }}
plotday
plot
Repository navigation
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
More
items
Slack: sync read state
- #356
#356
Merged
KrisBraun
merged 16 commits into
main
plotday/plot:main
from
slack-read-state-sync
plotday/plot:slack-read-state-sync
Copy head branch name to clipboard
Jul 31, 2026
Conversation
Commits
16
(16)
Checks
Files changed
Merged
Slack: sync read state
#356
KrisBraun
merged 16 commits into
main
plotday/plot:main
from
slack-read-state-sync
plotday/plot:slack-read-state-sync
Copy head branch name to clipboard
Commits
Commits on Jul 31, 2026
feat(slack): expose conversation and thread read cursors
KrisBraun
committed
9e9ade3
View commit details
Copy full SHA for 9e9ade3
Browse repository at this point
feat(slack): add read-state projection helpers
KrisBraun
committed
6da49cb
View commit details
Copy full SHA for 6da49cb
Browse repository at this point
feat(slack): mirror a thread's own read state into Plot
KrisBraun
committed
c4264f7
View commit details
Copy full SHA for c4264f7
Browse repository at this point
feat(slack): track which links still need read reconciliation
KrisBraun
committed
32ee4a4
View commit details
Copy full SHA for 32ee4a4
Browse repository at this point
fix(slack): don't leave a read anchor for an already-read DM sync
KrisBraun
committed
7fa7329
View commit details
Copy full SHA for 7fa7329
Browse repository at this point
feat(slack): reconcile Slack read state into Plot daily
KrisBraun
committed
52f1767
View commit details
Copy full SHA for 52f1767
Browse repository at this point
fix(slack): keep the read-state chain alive on unexpected errors
Show description for 4e54106
KrisBraun
committed
4e54106
View commit details
Copy full SHA for 4e54106
Browse repository at this point
feat(slack): mark direct conversations read in Slack
KrisBraun
committed
7281f11
View commit details
Copy full SHA for 7281f11
Browse repository at this point
fix(slack): flag reauth on genuinely dead tokens in onThreadRead
Show description for 5d4fe52
KrisBraun
committed
5d4fe52
View commit details
Copy full SHA for 5d4fe52
Browse repository at this point
docs(slack): document read-state sync
KrisBraun
committed
abb524e
View commit details
Copy full SHA for abb524e
Browse repository at this point
fix(slack): clear the read anchor once Plot's own read state changes
Show description for c8b223f
KrisBraun
and
claude
committed
c8b223f
View commit details
Copy full SHA for c8b223f
Browse repository at this point
fix(slack): gate the channel-thread read anchor write like the DM anchor
Show description for 5731852
KrisBraun
and
claude
committed
5731852
View commit details
Copy full SHA for 5731852
Browse repository at this point
fix(slack): harden the daily read-state sweep
Show description for b362bd7
KrisBraun
and
claude
committed
b362bd7
View commit details
Copy full SHA for b362bd7
Browse repository at this point
fix(slack): correct onChannelDisabled's read-anchor cleanup comment
Show description for 99c669a
KrisBraun
and
claude
committed
99c669a
View commit details
Copy full SHA for 99c669a
Browse repository at this point
fix(slack): abstain on a malformed Slack timestamp instead of asserting read
Show description for b960d2f
KrisBraun
and
claude
committed
b960d2f
View commit details
Copy full SHA for b960d2f
Browse repository at this point
fix(slack): preserve thread titles on the reconcile upsert
Show description for 3231766
KrisBraun
and
claude
committed
3231766
View commit details
Copy full SHA for 3231766
Browse repository at this point
You can’t perform that action at this time.