T5 products in the client's inventory
CI / build (push) Successful in 25s

The inventory's product list (test.showInventory) gets the community products the person has: local packs, and
hub products in their library. Hiding one is answered by the proxy (and removes a hub product from the library).
When the library changes, the client is told to load its inventory again, with the server event IMVU sends
after a purchase. A product whose revision or info changes gets a new local ID, since the client keeps product
info for good; names lose characters the client's pages could take as HTML.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
dhkatzandClaude Opus 5.5 committed 2026-10-29 18:59:52 -07:00
1 parent c281fb572c
commit ca7a86ce89
8 files changed
+225 -5

No files matched your search

+15
View File
@@ -374,3 +374,18 @@ func copyFlushing(w http.ResponseWriter, body io.Reader) (int64, error) {
func since(t time.Time) string {
return time.Since(t).Round(time.Millisecond).String()
}
// Interceptors runs several Interceptors in order, stopping at the first that answers the request itself.
type Interceptors []Interceptor
func (is Interceptors) Intercept(x *Exchange) error {
for _, i := range is {
if err := i.Intercept(x); err != nil {
return err
}
if x.Response != nil {
return nil
}
}
return nil
}