this repo has no description

fix jetstream not reconnecting

Akshay fd32a54f fca46802

Changed files
+11 -3
appview
state
knotserver
+1
appview/state/state.go
··· 467 ksResp, err := ksClient.AddMember(memberIdent.DID.String()) 468 if err != nil { 469 log.Printf("failed to make request to %s: %s", domain, err) 470 } 471 472 if ksResp.StatusCode != http.StatusNoContent {
··· 467 ksResp, err := ksClient.AddMember(memberIdent.DID.String()) 468 if err != nil { 469 log.Printf("failed to make request to %s: %s", domain, err) 470 + return 471 } 472 473 if ksResp.StatusCode != http.StatusNoContent {
+8 -1
knotserver/jetstream.go
··· 47 jc := &JetstreamClient{ 48 cfg: cfg, 49 client: client, 50 - reconnectCh: make(chan struct{}), 51 } 52 53 h.jc = jc ··· 78 } 79 } 80 } 81 } 82 83 func (j *JetstreamClient) UpdateDids(dids []string) {
··· 47 jc := &JetstreamClient{ 48 cfg: cfg, 49 client: client, 50 + reconnectCh: make(chan struct{}, 1), 51 } 52 53 h.jc = jc ··· 78 } 79 } 80 } 81 + } 82 + 83 + func (j *JetstreamClient) AddDid(did string) { 84 + j.mu.Lock() 85 + j.cfg.WantedDids = append(j.cfg.WantedDids, did) 86 + j.mu.Unlock() 87 + j.reconnectCh <- struct{}{} 88 } 89 90 func (j *JetstreamClient) UpdateDids(dids []string) {
+2 -2
knotserver/routes.go
··· 484 return 485 } 486 487 - h.jc.UpdateDids([]string{did}) 488 if err := h.e.AddMember(ThisServer, did); err != nil { 489 l.Error("adding member", "error", err.Error()) 490 writeError(w, err.Error(), http.StatusInternalServerError) ··· 520 writeError(w, err.Error(), http.StatusInternalServerError) 521 return 522 } 523 - h.jc.UpdateDids([]string{data.Did}) 524 525 repoName := filepath.Join(ownerDid, repo) 526 if err := h.e.AddRepo(data.Did, ThisServer, repoName); err != nil {
··· 484 return 485 } 486 487 + h.jc.AddDid(did) 488 if err := h.e.AddMember(ThisServer, did); err != nil { 489 l.Error("adding member", "error", err.Error()) 490 writeError(w, err.Error(), http.StatusInternalServerError) ··· 520 writeError(w, err.Error(), http.StatusInternalServerError) 521 return 522 } 523 + h.jc.AddDid(data.Did) 524 525 repoName := filepath.Join(ownerDid, repo) 526 if err := h.e.AddRepo(data.Did, ThisServer, repoName); err != nil {