{"service":"tips","entries":[{"service":"tips","sha":"f5c07833650df19ce5fa58ffb86b5e29acca26eb","short":"f5c0783","subject":"The shared update system and one account UI, on the OpenVibe Frame (openvibe-shared 1.11.0, openvibe/frame): the home shows what shipped, /updates is the shared log and the footer links it; the shared navbar handles sign in and out…","author":"OpenVibers","committed_at":"2026-09-24T07:55:47Z","deployed_at":"2026-09-24T07:55:47.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/f5c07833650df19ce5fa58ffb86b5e29acca26eb","post_id":null},{"service":"tips","sha":"da7273bd089749af7f1437d5a6db8f98681ca508","short":"da7273b","subject":"CI calls the shared test workflow (Track Q): OpenVibe.Shared .github/workflows/test.yml@f5e7e73 (install, node --check over server/ and scripts/, npm test, openvibe-contracts-check) instead of a copy of those steps","author":"OpenVibers","committed_at":"2026-09-24T05:44:03Z","deployed_at":"2026-09-24T07:55:47.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/da7273bd089749af7f1437d5a6db8f98681ca508","post_id":null},{"service":"tips","sha":"fb110b9e266be6c60df4e950853c9fafc4c73262","short":"fb110b9","subject":"STATUS.json describes production: the running release and pins, what is deployed, the Live import that has run, and what is still owner-blocked","author":"OpenVibers","committed_at":"2026-09-24T05:24:57Z","deployed_at":"2026-09-24T07:55:47.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/fb110b9e266be6c60df4e950853c9fafc4c73262","post_id":null},{"service":"tips","sha":"847d22a7a0594881c3204b6aac48bacbfa6087ea","short":"847d22a","subject":"SECURITY.md: how to report a vulnerability (contact@openvibe.network, 7-day reply, scope, supported versions)","author":"OpenVibers","committed_at":"2026-09-24T02:27:53Z","deployed_at":"2026-09-24T07:55:47.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/847d22a7a0594881c3204b6aac48bacbfa6087ea","post_id":null},{"service":"tips","sha":"3fb582e7e0bde1d3f48de69e6c49de4c0b6c9d84","short":"3fb582e","subject":"openvibe-shared v1.5.1, openvibe-contracts v0.33.0","author":"OpenVibers","committed_at":"2026-09-23T23:18:34Z","deployed_at":"2026-09-23T23:18:34.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/3fb582e7e0bde1d3f48de69e6c49de4c0b6c9d84","post_id":null},{"service":"tips","sha":"9acca6a2ad01b1430e7e6c197bc99d3bbfe28ec2","short":"9acca6a","subject":"openvibe-shared v1.5.0 (Track R release manifest), openvibe-contracts v0.32.0, openvibe-sdk v0.5.0","author":"OpenVibers","committed_at":"2026-09-23T22:17:15Z","deployed_at":"2026-09-23T22:17:15.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/9acca6a2ad01b1430e7e6c197bc99d3bbfe28ec2","post_id":null},{"service":"tips","sha":"f211c03ed01b58dd52d104bda8b07ce1a82da2db","short":"f211c03","subject":"The creator page's Watch on OpenVibe.Live link goes to the channel, /@<handle> (it linked to /<handle>, which is not a page on Live)","author":"OpenVibers","committed_at":"2026-09-23T21:22:34Z","deployed_at":"2026-09-23T21:22:34.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/f211c03ed01b58dd52d104bda8b07ce1a82da2db","post_id":null},{"service":"tips","sha":"fdb1657ba29a877acc4acb54bd79d5c874e70b8d","short":"fdb1657","subject":"Threat review (docs/threat-review.md) and the gaps it closed","author":"OpenVibers","committed_at":"2026-09-23T20:44:30Z","deployed_at":"2026-09-23T20:44:30.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/fdb1657ba29a877acc4acb54bd79d5c874e70b8d","post_id":null},{"service":"tips","sha":"c428a28341def62fd829421234dd3c4124d31680","short":"c428a28","subject":"Moderation: the creator's word filter before anything is shown or read; the creator and their moderators hide and show paid messages without touching the money","author":"OpenVibers","committed_at":"2026-09-23T20:39:29Z","deployed_at":"2026-09-23T20:39:29.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/c428a28341def62fd829421234dd3c4124d31680","post_id":null},{"service":"tips","sha":"2e79f741a985f171d8683a3fcc0bdc3c3ca76fa2","short":"2e79f74","subject":"Privacy controls: supporters choose what the public sees, creators what their pages show, supporters export and erase their tips","author":"OpenVibers","committed_at":"2026-09-23T20:29:00Z","deployed_at":"2026-09-23T20:29:00.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/2e79f741a985f171d8683a3fcc0bdc3c3ca76fa2","post_id":null},{"service":"tips","sha":"e042cba803f114f1ab6f0948bcc84e650ba4aa63","short":"e042cba","subject":"openvibe-contracts v0.30.2: the tips.* event payload schemas; test/contracts.test.js validates every envelope and payload Tips produces against them","author":"OpenVibers","committed_at":"2026-09-23T20:20:16Z","deployed_at":"2026-09-23T20:20:16.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/e042cba803f114f1ab6f0948bcc84e650ba4aa63","post_id":null},{"service":"tips","sha":"9a3a186182df7d150780b31d191ea1eb99c95962","short":"9a3a186","subject":"CI: run the shared security workflow (gitleaks secret scan + dependency audit, Track Q)","author":"OpenVibers","committed_at":"2026-09-23T19:33:56Z","deployed_at":"2026-09-23T19:33:56.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/9a3a186182df7d150780b31d191ea1eb99c95962","post_id":null},{"service":"tips","sha":"15bfc12fa3d1df9f61c4490ed6919556339d3aa9","short":"15bfc12","subject":"Track O: /metrics for direct loopback callers and a truthful /api/ready (openvibe-shared v1.3.0)","author":"OpenVibers","committed_at":"2026-09-23T18:53:12Z","deployed_at":"2026-09-23T18:53:12.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/15bfc12fa3d1df9f61c4490ed6919556339d3aa9","post_id":null},{"service":"tips","sha":"6d14574503bf0d7ba86375911873635e7579c28f","short":"6d14574","subject":"EXTERNAL PowerChat tips from Billing: consume billing.receipt.external (a tip on a creator's own PowerChat, announced by Billing once it receives the PowerChat webhook) and celebrate it the way Live's webhook did: recorded once by…","author":"OpenVibers","committed_at":"2026-09-23T18:46:10Z","deployed_at":"2026-09-23T18:46:10.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/6d14574503bf0d7ba86375911873635e7579c28f","post_id":null},{"service":"tips","sha":"86304cd8c87718e8d5fe139d2a9ec451c15c187e","short":"86304cd","subject":"Docs: STATUS.json and README match production (2026-09-23)","author":"OpenVibers","committed_at":"2026-09-23T18:33:32Z","deployed_at":"2026-09-23T18:33:32.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/86304cd8c87718e8d5fe139d2a9ec451c15c187e","post_id":null},{"service":"tips","sha":"854920cc0ef03d39fe8929192e2996686258f0b4","short":"854920c","subject":"Import: read Live's chat_messages time from its timestamp column (created_at on older snapshots); the fixture now mirrors Live's schema — the production dry run failed on it","author":"OpenVibers","committed_at":"2026-09-23T18:31:09Z","deployed_at":"2026-09-23T18:31:09.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/854920cc0ef03d39fe8929192e2996686258f0b4","post_id":null},{"service":"tips","sha":"435f32b4045d2fb9c6eff0b7aec4e66b629aa7dc","short":"435f32b","subject":"Events webhook requires signature v2 (replay window); openvibe-sdk v0.4.0","author":"OpenVibers","committed_at":"2026-09-23T17:03:10Z","deployed_at":"2026-09-23T17:03:10.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/435f32b4045d2fb9c6eff0b7aec4e66b629aa7dc","post_id":null},{"service":"tips","sha":"bea09960b47c97232f2383b7c1c4198aa43192b0","short":"bea0996","subject":"nginx: client address headers only from $remote_addr (realip). X-Forwarded-For was appended to and CF-Connecting-IP passed through from the client, so a request reaching the origin without Cloudflare (DNS-only host or the bare IP) chose…","author":"OpenVibers","committed_at":"2026-09-23T16:14:26Z","deployed_at":"2026-09-23T16:14:26.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/bea09960b47c97232f2383b7c1c4198aa43192b0","post_id":null},{"service":"tips","sha":"53c0a04f0a9b77e60e2bc932002c08415defce1a","short":"53c0a04","subject":"openvibe-contracts v0.15.0 (tips capabilities and manifest released); contracts check is blocking","author":"OpenVibers","committed_at":"2026-09-23T02:28:48Z","deployed_at":"2026-09-23T02:28:48.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/53c0a04f0a9b77e60e2bc932002c08415defce1a","post_id":null},{"service":"tips","sha":"e79904a18991888a6994fe95e5ddaab824a3f4f2","short":"e79904a","subject":"OpenVibe.Tips W9: tip interactions on top of Billing, goals, paid messages/TTS/media requests, overlays, SSR pages, events, Live import","author":"OpenVibers","committed_at":"2026-09-23T02:27:25Z","deployed_at":"2026-09-23T02:27:25.000Z","major":false,"url":"https://github.com/OpenVibers/OpenVibe.Tips/commit/e79904a18991888a6994fe95e5ddaab824a3f4f2","post_id":null}],"next":"MjAyNi0wOS0yM1QwMjoyNzoyNS4wMDBafDczNw","latest_post":{"id":"pst_01M39313D833G8QVPQ9FGEEF5E","title":"Patch notes: 120 changes across 18 sites","url":"https://openvibe.blog/@openvibe/patch-notes-120-changes-across-18-sites","published_at":1790232792495,"entries":120},"posts":[{"id":"pst_01M39313D833G8QVPQ9FGEEF5E","title":"Patch notes: 120 changes across 18 sites","url":"https://openvibe.blog/@openvibe/patch-notes-120-changes-across-18-sites","published_at":1790232792495,"entries":120}]}