keybase / keybase/client

Chat API: Retrieving new messages without polling in a loop

Open
#10,432 2 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

The keybase chat command only allows me to check for new messages by polling my conversations repeatedly, which not only introduces a delay, but is also wasting resources at both the client and the server side. According to the example JS chat bot docs, there should be “a realtime stream in the API” “soon”. That was over a year ago. The example Go chat bot polls as well.

Is that API available already but just not in the client yet? How are the GUI apps doing it?

I’m interested in writing a terminal chat client for Keybase, probably as a WeeChat plugin, but I really don’t want to base this on polling. 🙁

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the keybase chat command and compare its message retrieval with the Go bot entry point kbchat/kbchat.go around line 282 and the linked JavaScript chat bot API example. Determine whether a realtime stream is available and define what client-facing change would let terminal clients receive new messages without polling.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.