diff --git a/content/dst/ift/2026q4-dst-tooling.md b/content/dst/ift/2026q4-dst-tooling.md index 2b9cd768c4..9b63dc2bc2 100644 --- a/content/dst/ift/2026q4-dst-tooling.md +++ b/content/dst/ift/2026q4-dst-tooling.md @@ -52,5 +52,6 @@ Should be made general when possible. - [iftech/10ksim#442](https://github.com/iftech/10ksim/pull/442) Fix cleanup wait and CronJob cleanup - [iftech/dst-libp2p-test-node#63](https://github.com/iftech/dst-libp2p-test-node/pull/63) Shadow build for the two-binary regression node - [iftech/10ksim#444](https://github.com/iftech/10ksim/pull/444) Fix the Shadow log pull and the exit code of a failed Shadow run + - [iftech/10ksim#453](https://github.com/iftech/10ksim/pull/453) Fail a run that published off its configured rate - Reports: - Other: diff --git a/content/dst/ift/2026q4-libp2p-evaluation.md b/content/dst/ift/2026q4-libp2p-evaluation.md index be4e8426fc..2c51bb6b12 100644 --- a/content/dst/ift/2026q4-libp2p-evaluation.md +++ b/content/dst/ift/2026q4-libp2p-evaluation.md @@ -49,6 +49,7 @@ and ensure they don't happen again. - Code: - [iftech/10ksim#418](https://github.com/iftech/10ksim/pull/418) Connection cap and bootstrap image options for the nim-libp2p nodes - [iftech/10ksim#419](https://github.com/iftech/10ksim/pull/419) Partition analysis: phases from each message's publish record + - [iftech/10ksim#420](https://github.com/iftech/10ksim/pull/420) Partition cut scenario: cut a formed network in two and heal it - Reports: - Tested Kademlia liveness-loop and bucket-rotation changes and updated the [nim-libp2p v2.4.0 regression report](https://app.notion.com/p/3dd8f96fb65c81c194b8ce51ea753a52). - Other: @@ -79,9 +80,9 @@ different implementations. * fully qualified name: `ift-ts:dst:ift:2026q4-libp2p-evaluation:automatic-reporting` * owner: Alan -* status: in progress (80%) +* status: done * start-date: 2026/10/01 -* end-date: 2026/12/31 +* end-date: 2026/11/03 #### Description Make use of the main tools available in the main repository to perform automatic analysis and reporting for @@ -95,4 +96,5 @@ libp2p team, either by commit, each X amount of time or triggered manually. - [iftech/10ksim#446](https://github.com/iftech/10ksim/pull/446) run-nodes: allow count 0 to skip a group - [iftech/10ksim#447](https://github.com/iftech/10ksim/pull/447) run-nodes: name log files after nodes and reword the summary - [iftech/10ksim#448](https://github.com/iftech/10ksim/pull/448) run-nodes: optional tag that replaces every group's image tag + - [iftech/10ksim#456](https://github.com/iftech/10ksim/pull/456) Run nodes: attach every node's logs to every run - Reports: diff --git a/content/dst/logos/2026q4-messaging-evaluation.md b/content/dst/logos/2026q4-messaging-evaluation.md index 2ff0bae061..c6c8be693d 100644 --- a/content/dst/logos/2026q4-messaging-evaluation.md +++ b/content/dst/logos/2026q4-messaging-evaluation.md @@ -53,7 +53,7 @@ and ensure they don't happen again. ### Messaging API — General Availability * fully qualified name: `ift-ts:dst:logos:2026q4-messaging-evaluation:messaging-api` * owner: Alan -* status: in progress (50%) +* status: in progress (70%) * start-date: 2026/10/19 * end-date: 2026/10/30 @@ -69,7 +69,13 @@ regression reports. - [iftech/10ksim#450](https://github.com/iftech/10ksim/pull/450) logos-messaging: post-run analysis - [iftech/pod-api-requester#12](https://github.com/iftech/pod-api-requester/pull/12) Messaging send route for the logos delivery Messaging API - [iftech/pod-api-requester#11](https://github.com/iftech/pod-api-requester/pull/11) Send no body on GET when params are empty + - [iftech/10ksim#455](https://github.com/iftech/10ksim/pull/455) logos-messaging: standard mesh size readiness probe after a one-time subscription check + - [iftech/10ksim#452](https://github.com/iftech/10ksim/pull/452) logos-messaging: scrape metrics and draw the standard plots over the sending window + - [logos-messaging/logos-delivery#4651](https://github.com/logos-messaging/logos-delivery/issues/4651) Increase in CPU usage + - [logos-messaging/logos-delivery#4652](https://github.com/logos-messaging/logos-delivery/issues/4652) Fix incorrect health report for relay or core mode + - Extended the Messaging API experiment to Store and Edge nodes and completed an initial small run. - Reports: + - Added 1,000-node runs varying settling time, full-mesh readiness, and CPU limits to the [Messaging API baseline report](https://app.notion.com/p/4008f96fb65c81f9a5edd2818ffb766b). - Other: - Ran Messaging API baseline experiments with 100 and 1,000 nodes. diff --git a/content/dst/logos/2026q4-storage-evaluation.md b/content/dst/logos/2026q4-storage-evaluation.md index a17253ef38..6c9262bbd9 100644 --- a/content/dst/logos/2026q4-storage-evaluation.md +++ b/content/dst/logos/2026q4-storage-evaluation.md @@ -52,7 +52,7 @@ filesharing client implementation under heavy/big workloads. > *Note*: This needs more input from project * fully qualified name: `ift-ts:dst:logos:2026q4-storage-evaluation:filesharing-client-mix` * owner: Alberto -* status: in progress (25%) +* status: in progress (50%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -66,3 +66,4 @@ filesharing client implementation under heavy/big workloads using mix protocol. - Related PRs if apply: - [Storage and Mix experiment](https://github.com/iftech/10ksim/tree/Alberto/storage). - Refactored [pod-api-requester](https://github.com/iftech/pod-api-requester) to provide utilities for the Storage scenario. + - [iftech/10ksim#454](https://github.com/iftech/10ksim/pull/454) Storage experiment diff --git a/content/dst/status/2026q4-status-evaluation.md b/content/dst/status/2026q4-status-evaluation.md index 37f3cfe066..168469f309 100644 --- a/content/dst/status/2026q4-status-evaluation.md +++ b/content/dst/status/2026q4-status-evaluation.md @@ -25,7 +25,7 @@ TBD * fully qualified name: `ift-ts:dst:status:2026q4-status-evaluation:reliability` * owner: Alberto -* status: in progress (85%) +* status: in progress (95%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -39,7 +39,11 @@ Compare results with old status-go. - Adapted and redeployed Status benchmark utilities in the lab. - [iftech/status-benchmarks#45](https://github.com/iftech/status-benchmarks/pull/45) Updates - [iftech/status-benchmarks#47](https://github.com/iftech/status-benchmarks/pull/47) Add plots + - [Status analysis branch](https://github.com/status-im/status-go/tree/dst-analysis). - Documents: + - Identified a light-node rate-limiter timing mismatch causing valid messages to remain pending in MVDS and arrive minutes late. + - Identified a feedback loop in which delayed processing delays acknowledgements, triggers MVDS retransmissions, and increases the processing backlog. + - [Status delay investigation](https://discord.com/channels/1210237582470807632/1555207381355597915/1565418895873941606). ### Logos delivery integration diff --git a/content/monthly/2026-10.md b/content/monthly/2026-10.md new file mode 100644 index 0000000000..2c703c5d1f --- /dev/null +++ b/content/monthly/2026-10.md @@ -0,0 +1,186 @@ +--- +title: 2026-10 Vac monthly +tags: + - vac-monthly +date: 2026-10-30 +draft: false +--- + +### BI + +#### highlights + +- Upgraded the Status Engagement Bot SDK and improved the bot structure. +- Created a Status SDK command-line interface for Hermes integration. +- Worked on cross-chain swaps in the Status wallet. +- Updated the Logos communication funnel dashboard from feedback. +- Worked on adding missing Element data to the communication funnel dashboard. +- Worked on improving YouTube data extraction. +- Updated Logos Circle CRM from Movement Team feedback and advanced its dashboard. +- Worked on adding Keycard crypto payment data to the dashboard. +- Extracted and analysed Keycard OpenAI ads data. +- Advanced GitHub extraction migration to the new Airbyte Kubernetes environment. +- Worked on a dashboard to monitor data transformations. + +### DST + +#### highlights + +- Investigated unstable Status one-to-one and group delivery through expanded benchmarks and latency plots. +- Found a Status rate-limiter timing mismatch that rejects valid light-node messages and delays delivery. +- Identified a feedback loop where delayed acknowledgements trigger retransmissions and further message-processing delays. +- Confirmed that a lower publish rate explained the nim-libp2p 2.3.0 bandwidth gap. +- Repeated full Logos Delivery tests at the configured publish rate. +- Fixed benchmark publish rates when the Kubernetes API is slow. +- Enabled P2P to trigger lab runs from GitHub using configurations in their own repository. +- Improved lab-run summaries and attached every node's logs to each run. +- Built a Logos Storage experiment using Mix and merged its experiment code. +- Ran Logos Delivery Messaging API baselines with 100 and 1,000 nodes. +- Extended Messaging API experiments to Store and Edge nodes, identifying a potential Edge-node health-reporting issue. +- Merged a network partition-and-recovery scenario for regression testing. +- Fixed Shadow runs to support two binaries and report failures correctly. + +### Infra + +#### highlights + +- Completed the Rocketpool oDAO smartnode migration from AWS to OVH on NixOS. +- Deployed additional Lido CMv2 validator keys and the CSM 0x02 Hoodi testnet operator. +- Rolled out Nimbus upgrades and monitoring for the Sepolia Glamsterdam fork. +- Improved website health checks to detect failures that still return HTTP 200. +- Deployed the Attic Nix binary cache and tested Nimbus repository uploads. +- Completed the Vault upgrade to 1.21.4 across all cluster hosts. +- Advanced fixes for the LEZ 0.3.1 testnet release. +- Fixed slow website loads caused by an Nginx cache misconfiguration. +- Upgraded Jenkins controllers to address vulnerabilities. +- Added an OAuth proxy to secure Airbyte login. +- Fixed Nimbus builds and node resyncing on macOS. +- Restored the compromised Nimbus blog and secured its Ghost instance. +- Enabled store-sync on Status production fleet nodes. +- Fixed macOS Status App builds in Jenkins CI. +- Completed ERE file generation for mainnet and the Hoodi testnet. +- Deployed proxy hosts and a load balancer to improve website access. + +### Nim + +#### highlights + +- Released Nimble 0.26.1 with command-injection and dependency-resolution fixes, followed by Nimble 0.26.2. +- Added the PubGrub solver option and separated Nimble dependency-resolution modules. +- Fixed Nimble discovery of newer untagged versions hidden by cached results. +- Fixed NimScript dependency paths and bootstrap exception handling. +- Added Nimble canary checks comparing release and nightly versions on important repositories. +- Released Nim langserver 1.16.0 with its new transport. +- Reduced nimsuggest query overhead by up to 250 milliseconds. +- Fixed nimlangserver workspace races and stale results from earlier file edits. +- Fixed nimlangserver project resolution and nimsuggest lifecycle handling. +- Added faster hexadecimal conversion and UTF-8 validation to nim-stew. +- Fixed a nim-taskpools regression affecting garbage-collected task results. +- Built the second nim-lint prototype with per-line disabling and a GitHub Action. +- Updated Nim Docker images. + +### P2P + +#### highlights + +- Released nim-lsquic 0.11.2 and advanced it to 0.11.3. +- Added early muxer negotiation and optimistic protocol selection to nim-libp2p. +- Integrated shared RLN proofs into native Logos Delivery routing. +- Added Mix packet-authentication checks. +- Added GossipSub topic-stream transport, lifecycle handling and interoperability tests. +- Fixed QUIC connections closing when no streams are open. +- Fixed duplicate DNS responses in nim-libp2p. +- Improved nim-libp2p certificate renewal. +- Completed scheduled network-lab runs that open issues when nodes fail. +- Added 48-hour Nimbus health checks on the Hoodi fleet for labelled PRs. +- Advanced experimental Waggle dissemination, Rust interoperability and recovery tests in open PRs. +- Added the Kademlia record-store interface; storage implementations remain in open PRs. +- Fixed Kademlia automatic mode restarting from current network reachability. +- Fixed binary payload delivery in the Logos libp2p module by using base64. +- Fixed nim-ffi caller-thread initialization and listener removal during callbacks. + +### QA + +#### highlights + +- Merged nightly Logos Delivery testing and issue reporting into Status CI. +- Expanded Basecamp tests for UI-plugin reloads, module inspection and repository management. +- Ran Basecamp 0.3.0 release checks on macOS and Linux. +- Added LEZ sequencer-registration tests. +- Completed the Logos Execution Zone specification audit run, reporting seven high-severity findings. +- Added composed code audits, findings history and Notion support to the source-level QA prototype. +- Reported Logos Blockchain's missing signature-validation check. +- Added Logos Delivery reproduction tests for message-size and store-sync failures. +- Reported Logos Delivery peer-discovery, filtering and lifecycle issues. +- Added Status desktop NFT-transfer, onchain-friend and payment-request tests. +- Added Status desktop bridge, swap, language-switching and group-chat mention tests. +- Added Status desktop community-token and QR-code scanning tests. +- Added status-go community-token and thread-permission tests. +- Got the Status mobile end-to-end gate running on iOS; accessibility failures remain. +- Investigated a Status mobile iOS upgrade blocker. +- Checked Status mobile 2.39.2 swaps and bridges on iOS; both passed. +- Found 13 Keycard scenarios missing end-to-end coverage. +- Built an Android end-to-end test gate triggered by PR comments. + +### Security + +#### highlights + +- Closed the macOS CI incident after reinstall verification, firewall hardening and a clean indicator sweep. +- Triaged 16 audit findings and continued vulnerability-backlog reviews. +- Updated treasury incident runbooks after the first live secure-multisig-signer signing. +- Ran a finance signer-unavailable exercise with backup signatories. +- Reported an unauthenticated Logos Blockchain node wallet API. +- Reported four Logos Blockchain findings, including one high-severity issue. +- Subsequently confirmed six Logos Blockchain fixes and reported nine new findings, including two high-severity issues. +- Reported 11 Logos Chat and 24 Logos Delivery security findings. +- Reported five Logos Storage security findings. +- Followed up Logos Messaging audit findings; fixes remained outstanding in the reported update. +- Prepared the LEZ external-audit scope document. +- Recommended replacing the LEZ referral program's trusted oracle with an on-chain vote. +- Reported seven new LEZ security findings, including one critical issue. +- Enrolled multiple repositories in Anthropic's OSS scanner program. +- Trialled Greptile code review on 23 PRs across 15 repositories. +- Flagged the go-sqlcipher branch pin during security review. +- Reviewed Keycard master-key export fixes. + +### TKE + +#### highlights + +- Simplified the Logos token buyback-and-make model and collected value-accrual data. +- Created the token-unit precision specification PR and addressed feedback. +- Researched liquidity programmes on other blockchains. +- Formalized a project-management approach for the liquidity working group. +- Presented liquidity-budget work to IFT. +- Worked on framing liquidity as a constrained-optimization problem. +- Reviewed community-node validator incentives and proposed a solution. +- Proposed a decay rate for indirect validator referrals. +- Completed and presented work on culture incentives. +- Finalized privacy-model parameters with the Blockchain team. +- Worked on LEZ sequencer-economics simulations. +- Advanced liquid-staking prioritization and reviewed proposed parameters. +- Modelled liquid-staking attack vectors in Logos and presented the economic-modelling work to IFT. + +### Web + +#### highlights + +- Completed the Basecamp landing-page renewal with responsive layouts and platform-aware installation links. +- Added searchable Logos articles and moved article and podcast listings under media. +- Added the Logos media calendar. +- Added the Logos zine catalogue with PDF readers and print guidance. +- Completed redirects from blog.logos.co to logos.co/media. +- Promoted 18 approved Waku articles to production, preserving article content and metadata. +- Added the Museum of Civil Liberties exhibit submission form. +- Added the museum submission API with email delivery, request limits and origin checks. +- Advanced Developer Programmes and Lambda Prize pages in an open PR. +- Patched security advisories affecting the Logos and Status websites. +- Advanced admin-acid security hardening in an open PR. +- Added newsletter signup rules and deployed local-event emails to city subscribers. +- Added font-size and colour controls to the email editor. +- Merged AI review and documentation tools into a shared monorepo. +- Fixed AI documentation synchronization review requests. +- Fixed the Status website release banner to accept titles with or without a version prefix. +- Fixed the Status mobile news feed to serve article markup. +- Added a local Logos website Playwright suite; it remains uncommitted and under testing. diff --git a/content/nim/ift/2026q4-nim-core-libs.md b/content/nim/ift/2026q4-nim-core-libs.md index cce626aaff..7fa1ca5889 100644 --- a/content/nim/ift/2026q4-nim-core-libs.md +++ b/content/nim/ift/2026q4-nim-core-libs.md @@ -64,12 +64,14 @@ Triage issues, address regressions and compatibility problems, support downstrea - [status-im/nim-taskpools#77](https://github.com/status-im/nim-taskpools/pull/77) Workaround data race in `example` thread join - [status-im/nimbus-common-workflow#37](https://github.com/status-im/nimbus-common-workflow/pull/37) Add `nim/doc` & `nim/tools` to cache - [status-im/nim-chronos#730](https://github.com/status-im/nim-chronos/pull/730) Fix doc examples. +- [status-im/nim-chronos#742](https://github.com/status-im/nim-chronos/pull/742) Add missing `asyncengine` nimdoc symbols +- [docker-library/official-images#22631](https://github.com/docker-library/official-images/pull/22631) Add Nim 2.4.0 and 2.2.14. ### Nimlangserver improvements * fully qualified name: `ift-ts:nim:ift:2026q4-nim-core-libs:nimlangserver` * owner: Juan/Esteban/Constantine -* status: in progress (30%) +* status: in progress (50%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -114,6 +116,21 @@ Use the nim-web3 approach as the model for the LSP implementation: - [nim-lang/langserver#495](https://github.com/nim-lang/langserver/pull/495) Fix restart nimsuggest on configuration changes - [nim-lang/langserver#494](https://github.com/nim-lang/langserver/pull/494) Await workspace configuration - [nim-lang/langserver#493](https://github.com/nim-lang/langserver/pull/493) Avoid showing chk file result for an old file edit +- [nim-lang/langserver#513](https://github.com/nim-lang/langserver/pull/513) Stop only closed files Nimsuggests +- [nim-lang/langserver#512](https://github.com/nim-lang/langserver/pull/512) Get Nimsuggest without opening files in tools +- [nim-lang/langserver#511](https://github.com/nim-lang/langserver/pull/511) Remove get Nimsuggest retries +- [nim-lang/langserver#510](https://github.com/nim-lang/langserver/pull/510) Mark a file unsaved only when it differs from the disk +- [nim-lang/langserver#509](https://github.com/nim-lang/langserver/pull/509) Track the last used nimsuggest by project file +- [nim-lang/langserver#508](https://github.com/nim-lang/langserver/pull/508) Avoid project file open on `didOpenFile` +- [nim-lang/langserver#507](https://github.com/nim-lang/langserver/pull/507) Reuse nimsuggest only if file is known +- [nim-lang/langserver#506](https://github.com/nim-lang/langserver/pull/506) Enforce the nimsuggest cap for mapped projects +- [nim-lang/langserver#505](https://github.com/nim-lang/langserver/pull/505) Fix reuse nimsuggest right project +- [nim-lang/langserver#504](https://github.com/nim-lang/langserver/pull/504) Make `shutdownNimsuggest` reentrant +- [nim-lang/langserver#503](https://github.com/nim-lang/langserver/pull/503) Avoid `nimble dump` on shutdown +- [nim-lang/langserver#502](https://github.com/nim-lang/langserver/pull/502) Fix project resolve for dirs outside `srcDir` +- [nim-lang/langserver#501](https://github.com/nim-lang/langserver/pull/501) Fix failed `nimble dump` handling +- [nim-lang/langserver#499](https://github.com/nim-lang/langserver/pull/499) Log nimsuggest stderr immediately +- [nim-lang/langserver#498](https://github.com/nim-lang/langserver/pull/498) Lazy nimble project resolve ### Nimlangserver and nimsuggest support for IFT projects @@ -159,7 +176,7 @@ Aim to benefit from incremental compilation and other applicable Nimony-related * fully qualified name: `ift-ts:nim:ift:2026q4-nim-core-libs:nim-lint` * owner: Constantine -* status: in progress (25%) +* status: in progress (60%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -171,3 +188,6 @@ Provide initial rules for IFT projects, such as flagging `asyncSpawn`, with seve #### Deliverables - Linter engine, initial rules, and documentation for adding rules and integrating checks into CI. - Wrote the second nim-lint specification after feedback on the first prototype. +- Implemented a prototype based on the reviewed second nim-lint specification. +- Implemented per-line lint disabling. +- Implemented a GitHub Action for nim-lint. diff --git a/content/nim/ift/2026q4-nimble.md b/content/nim/ift/2026q4-nimble.md index eefd6bd685..fd37f30db7 100644 --- a/content/nim/ift/2026q4-nimble.md +++ b/content/nim/ift/2026q4-nimble.md @@ -48,6 +48,15 @@ Add regression coverage for fixes and update usage documentation when behavior c - [nim-lang/nimble#1890](https://github.com/nim-lang/nimble/pull/1890) Keep lock file pins within one PubGrub solve instead of trying them one by one - [nim-lang/nimble#1887](https://github.com/nim-lang/nimble/pull/1887) Fix nimlangserver tests - [nim-lang/nimble#1886](https://github.com/nim-lang/nimble/pull/1886) Prefer the system Nim within one PubGrub solve instead of pinning and re-solving +- [nim-lang/nimble#1916](https://github.com/nim-lang/nimble/pull/1916) CI: install Mercurial on Linux and allow Windows 3 hours +- [nim-lang/nimble#1915](https://github.com/nim-lang/nimble/pull/1915) List binaries' sources in nimble dump's entryPoints (fixes #1911, #1912, #1913) +- [nim-lang/nimble#1914](https://github.com/nim-lang/nimble/pull/1914) Read INI-format .nimble files with the INI reader +- [nim-lang/nimble#1909](https://github.com/nim-lang/nimble/pull/1909) Accept HTTP response headers up to 64 KB (fixes #1903) +- [nim-lang/nimble#1908](https://github.com/nim-lang/nimble/pull/1908) a failed Nim download says why, not that the version doesn't exist (#1903) +- [nim-lang/nimble#1907](https://github.com/nim-lang/nimble/pull/1907) Add Nim community packages to the canary +- [nim-lang/nimble#1906](https://github.com/nim-lang/nimble/pull/1906) Reorders repositories to speed up the CI +- [nim-lang/nimble#1902](https://github.com/nim-lang/nimble/pull/1902) bump 0.26.2 +- [nim-lang/nimble#1900](https://github.com/nim-lang/nimble/pull/1900) Add a canary comparing release and nightly nimble on important repos ### CI integration review diff --git a/content/p2p/ift/2026q4-dst-automated-workflow.md b/content/p2p/ift/2026q4-dst-automated-workflow.md index e68198f7bc..53ac4e432a 100644 --- a/content/p2p/ift/2026q4-dst-automated-workflow.md +++ b/content/p2p/ift/2026q4-dst-automated-workflow.md @@ -24,9 +24,9 @@ issue automatically in the nim-libp2p repository for triage. * fully qualified name: `ift-ts:p2p:ift:2026q4-dst-automated-workflow:deployment-tests` * owner: Vlado -* status: in progress (53%) +* status: done * start-date: 2026/10/01 -* end-date: 2026/12/31 +* end-date: 2026/11/03 #### Description @@ -43,6 +43,10 @@ and results so failures can be reproduced. - [iftech/nim-libp2p-network-lab#2](https://github.com/iftech/nim-libp2p-network-lab/pull/2) improvements - [iftech/nim-libp2p-network-lab#1](https://github.com/iftech/nim-libp2p-network-lab/pull/1) add project structure with initial nodes - Completed scheduled workflow runs for the network lab. +- [iftech/nim-libp2p-network-lab#19](https://github.com/iftech/nim-libp2p-network-lab/pull/19) chore: 100 msg rounds +- [iftech/nim-libp2p-network-lab#16](https://github.com/iftech/nim-libp2p-network-lab/pull/16) chore: more improvements +- [iftech/nim-libp2p-network-lab#10](https://github.com/iftech/nim-libp2p-network-lab/pull/10) feat: gossipsub regression experiment +- [iftech/nim-libp2p-network-lab#11](https://github.com/iftech/nim-libp2p-network-lab/pull/11) chore: varius improvments ### Automatic Regression Issues diff --git a/content/p2p/ift/2026q4-logos-core-consulting.md b/content/p2p/ift/2026q4-logos-core-consulting.md index 9d9347936c..87a72d7a3c 100644 --- a/content/p2p/ift/2026q4-logos-core-consulting.md +++ b/content/p2p/ift/2026q4-logos-core-consulting.md @@ -22,7 +22,7 @@ TBD * fully qualified name: `ift-ts:p2p:ift:2026q4-logos-core-consulting:consulting` * owner: Gabe -* status: in progress (20%) +* status: in progress (35%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -35,3 +35,5 @@ TBD - [logos-co/logos-libp2p-module#115](https://github.com/logos-co/logos-libp2p-module/pull/115) feat(kad): add kadWaitBootstrap to wait for the DHT bootstrap after start - [logos-co/logos-libp2p-module#122](https://github.com/logos-co/logos-libp2p-module/pull/122) fix: newPrivateKey without creating the node - [logos-co/logos-libp2p-module#123](https://github.com/logos-co/logos-libp2p-module/pull/123) fix: close a dialed stream before releasing it +- [logos-co/logos-libp2p-module#125](https://github.com/logos-co/logos-libp2p-module/pull/125) fix(gossipsub)!: deliver binary payloads as base64 +- [logos-co/logos-libp2p-module#124](https://github.com/logos-co/logos-libp2p-module/pull/124) fix(stream): send the read timeout to Nim diff --git a/content/p2p/ift/2026q4-logos-delivery-consulting.md b/content/p2p/ift/2026q4-logos-delivery-consulting.md index 80c3f69409..b8bbee8e70 100644 --- a/content/p2p/ift/2026q4-logos-delivery-consulting.md +++ b/content/p2p/ift/2026q4-logos-delivery-consulting.md @@ -28,7 +28,7 @@ as requirements and priorities become clearer during Q4. * fully qualified name: `ift-ts:p2p:ift:2026q4-logos-delivery-consulting:consulting` * owner: Gabe -* status: in progress (27%) +* status: in progress (35%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -54,3 +54,4 @@ as it is agreed. - [logos-storage/logos-storage-nim#1519](https://github.com/logos-storage/logos-storage-nim/pull/1519) feat(library): generate the C bindings with nim-ffi - [logos-messaging/nim-ffi#249](https://github.com/logos-messaging/nim-ffi/pull/249) fix: skip a listener removed during its dispatch - [logos-messaging/nim-ffi#250](https://github.com/logos-messaging/nim-ffi/pull/250) fix: destroy from inside a callback fails fast +- [logos-storage/logos-storage-nim#1555](https://github.com/logos-storage/logos-storage-nim/pull/1555) feat(library): on_download_done event, nim-ffi and chronos bump diff --git a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams.md b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams.md index 291320f132..c096b18677 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams.md +++ b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams.md @@ -26,9 +26,9 @@ behind an explicit opt-in or compile flag. * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-topic-streams:stream-lifecycle` * owner: Richard -* status: in progress (90%) +* status: done * start-date: 2026/10/01 -* end-date: 2026/12/31 +* end-date: 2026/11/03 #### Description @@ -45,6 +45,7 @@ including subscription changes and peer disconnects. - [iftech/nim-libp2p#3273](https://github.com/iftech/nim-libp2p/pull/3273) feat(gossipsub): harden topic stream lifecycle - [iftech/nim-libp2p#3271](https://github.com/iftech/nim-libp2p/pull/3271) feat(gossipsub): add topic stream transport - [iftech/nim-libp2p#3272](https://github.com/iftech/nim-libp2p/pull/3272) feat(gossipsub): integrate topic streams +- [iftech/nim-libp2p#3327](https://github.com/iftech/nim-libp2p/pull/3327) test(gossipsub): add topic streams interoperability ### Delivery And Resource Budgets diff --git a/content/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode.md b/content/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode.md index 631f64f6fb..87353ad77e 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode.md +++ b/content/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode.md @@ -75,7 +75,7 @@ including loss of the last confirmed address in v2. * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-auto-mode:lifecycle` * owner: Gabe -* status: in progress (20%) +* status: in progress (30%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -93,3 +93,5 @@ subscriptions. Fix defects identified by these tests. - Tests for fixed client/server modes under changing reachability - Auto-mode stop/restart tests covering pending-transition cancellation, subscriptions, and role state - Fixes and regression coverage for lifecycle defects found during validation +- [iftech/nim-libp2p#3351](https://github.com/iftech/nim-libp2p/pull/3351) fix(kad): auto mode ignores verdicts while stopped and restarts from current reachability +- [iftech/nim-libp2p#3329](https://github.com/iftech/nim-libp2p/pull/3329) test(kad): fixed modes ignore reachability changes diff --git a/content/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage.md b/content/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage.md index de90f220fe..60dd6ef8a1 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage.md +++ b/content/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage.md @@ -25,7 +25,7 @@ operations, expiration, and iteration. * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-provider-storage:interface` * owner: Gabe -* status: in progress (15%) +* status: in progress (30%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -41,13 +41,14 @@ semantics, adding other operations only where existing DHT behavior requires the - Documented expiration and iteration semantics - [iftech/nim-libp2p#3288](https://github.com/iftech/nim-libp2p/pull/3288) refactor(kad): distinct RecordKey type for value records - [iftech/nim-libp2p#3318](https://github.com/iftech/nim-libp2p/pull/3318) fix(kad): cap provider records per peer +- [iftech/nim-libp2p#3350](https://github.com/iftech/nim-libp2p/pull/3350) feat(kad): define the record store interface ### Integration And Backend Validation * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-provider-storage:integration` -* owner: not assigned yet -* status: not started +* owner: Gabe +* status: in progress (30%) * start-date: 2026/10/01 * end-date: 2026/12/31 diff --git a/content/p2p/ift/2026q4-nimlibp2p-maintenance.md b/content/p2p/ift/2026q4-nimlibp2p-maintenance.md index 93aff2b5a3..1c5df9ae7f 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-maintenance.md +++ b/content/p2p/ift/2026q4-nimlibp2p-maintenance.md @@ -29,7 +29,7 @@ ensuring that nim-libp2p remains functional and usable for its primary users — * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-maintenance:maintenance` * owner: Richard/Vlado/Gabe -* status: in progress (27%) +* status: in progress (35%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -153,3 +153,15 @@ as issues arise during the quarter. - [iftech/nim-libp2p#3315](https://github.com/iftech/nim-libp2p/pull/3315) fix(identify): cap addresses and protocols per message - [iftech/nim-libp2p#3312](https://github.com/iftech/nim-libp2p/pull/3312) fix(switch): restore listen addresses after a failed start - [iftech/nim-libp2p#3317](https://github.com/iftech/nim-libp2p/pull/3317) perf(zeroqueue): copy partial reads in place +- [iftech/nim-libp2p#3354](https://github.com/iftech/nim-libp2p/pull/3354) refactor(protocol): move setup into constructors +- [iftech/nim-libp2p#3297](https://github.com/iftech/nim-libp2p/pull/3297) fix(gossipsub): normalize bandwidth timing estimates +- [logos-co/nim-libp2p-mix#65](https://github.com/logos-co/nim-libp2p-mix/pull/65) fix(tag-manager): fail closed at replay cache capacity +- [logos-co/nim-libp2p-mix#66](https://github.com/logos-co/nim-libp2p-mix/pull/66) fix(mix): correct codec decoding and reply lifecycle +- [iftech/nim-libp2p#3338](https://github.com/iftech/nim-libp2p/pull/3338) chore: deprecated compile warnings to error +- [iftech/nim-libp2p#3340](https://github.com/iftech/nim-libp2p/pull/3340) chore: remove copilot-instructions.md +- [iftech/nim-libp2p#3330](https://github.com/iftech/nim-libp2p/pull/3330) fix(autonat): cancel and await in-flight probes on stop +- [iftech/nim-libp2p#3316](https://github.com/iftech/nim-libp2p/pull/3316) fix(rdv): replace a repeat registration in place +- [iftech/nim-libp2p#3333](https://github.com/iftech/nim-libp2p/pull/3333) fix(cbind): time out stream reads and allow one read per stream +- [iftech/nim-libp2p#3328](https://github.com/iftech/nim-libp2p/pull/3328) fix: four flaky CI tests and a silent nasm install failure +- [iftech/nim-libp2p#3332](https://github.com/iftech/nim-libp2p/pull/3332) chore(kad): store provider expiry as wall-clock time +- [iftech/nim-libp2p#3331](https://github.com/iftech/nim-libp2p/pull/3331) fix(autonat): reset reachability state on stop diff --git a/content/qa/ift/2026q4-nim-libp2p-testing.md b/content/qa/ift/2026q4-nim-libp2p-testing.md index 08c6c8f5d1..977cbeb74c 100644 --- a/content/qa/ift/2026q4-nim-libp2p-testing.md +++ b/content/qa/ift/2026q4-nim-libp2p-testing.md @@ -5,7 +5,7 @@ tags: - "qa" - "ift" draft: false -description: Add dial ranking and backoff coverage and maintain nim-libp2p test reliability. +description: Validate new nim-libp2p protocol features, assess Logos module coverage, move reusable interop tests to unified-testing, and maintain test reliability. --- `ift-ts:qa:ift:2026q4-nim-libp2p-testing` @@ -14,6 +14,7 @@ description: Add dial ranking and backoff coverage and maintain nim-libp2p test Continue nim-libp2p QA with coverage for opt-in dial ranking and backoffs carried over from Q3. Maintain existing tests as the library evolves and investigate regressions and flaky scenarios. +Cover the protocol features below and move reusable interoperability tests into unified-testing. ## Task List @@ -52,3 +53,115 @@ Handle issue-driven validation that does not require a separate feature-specific - [iftech/nim-libp2p#3237](https://github.com/iftech/nim-libp2p/issues/3237) gossipsub: no IHAVE for a subscribed topic once PRUNE empties its mesh - [iftech/nim-libp2p#3236](https://github.com/iftech/nim-libp2p/issues/3236) gossipsub: a peer that restarts within pruneBackoff is penalised for its GRAFT and kept out of the mesh - [iftech/nim-libp2p#3238](https://github.com/iftech/nim-libp2p/pull/3238) test: bug reproductions for #3236 and #3237 + +### GossipSub Topic Streams + +* fully qualified name: `ift-ts:qa:ift:2026q4-nim-libp2p-testing:gossipsub-topic-streams` +* owner: Radek +* status: not started +* start-date: 2026/11/03 +* end-date: 2026/12/31 + +#### Description + +Test GossipSub topic streams ([stack 3274](https://github.com/iftech/nim-libp2p/stack/3274)). + +#### Deliverables + +- PRs adding topic-stream tests. + +### GossipSub Byte Queues + +* fully qualified name: `ift-ts:qa:ift:2026q4-nim-libp2p-testing:gossipsub-byte-queues` +* owner: Radek +* status: not started +* start-date: 2026/11/03 +* end-date: 2026/12/31 + +#### Description + +Test GossipSub byte queues and queue limits ([PR 3255](https://github.com/iftech/nim-libp2p/pull/3255)). + +#### Deliverables + +- PRs adding byte-queue tests. + +### Waggle + +* fully qualified name: `ift-ts:qa:ift:2026q4-nim-libp2p-testing:waggle` +* owner: Radek +* status: not started +* start-date: 2026/11/03 +* end-date: 2026/12/31 + +#### Description + +Test Waggle protocol behavior and interoperability ([stack 3352](https://github.com/iftech/nim-libp2p/stack/3352)). + +#### Deliverables + +- PRs adding Waggle tests. + +### Early Negotiation and Optimistic Protocol Selection + +* fully qualified name: `ift-ts:qa:ift:2026q4-nim-libp2p-testing:early-negotiation-and-optimistic-selection` +* owner: Radek +* status: not started +* start-date: 2026/11/03 +* end-date: 2026/12/31 + +#### Description + +Test early negotiation and optimistic protocol selection ([PR 3216](https://github.com/iftech/nim-libp2p/pull/3216), [PR 3225](https://github.com/iftech/nim-libp2p/pull/3225)). + +#### Deliverables + +- PRs adding negotiation and protocol-selection tests. + +### Logos Libp2p Module Coverage Assessment + +* fully qualified name: `ift-ts:qa:ift:2026q4-nim-libp2p-testing:logos-libp2p-module-coverage` +* owner: Radek +* status: not started +* start-date: 2026/11/03 +* end-date: 2026/12/31 + +#### Description + +Identify missing test coverage in [logos-libp2p-module](https://github.com/logos-co/logos-libp2p-module). + +#### Deliverables + +- A coverage-gap report and follow-up issues. + +### Unified Testing Migration + +* fully qualified name: `ift-ts:qa:ift:2026q4-nim-libp2p-testing:unified-testing-migration` +* owner: Radek +* status: not started +* start-date: 2026/11/03 +* end-date: 2026/12/31 + +#### Description + +Move reusable test code from test-plans into unified-testing. + +#### Deliverables + +- PRs migrating tests and updating CI references. + +### Focused Unit and In-Memory Test Refactoring + +* fully qualified name: `ift-ts:qa:ift:2026q4-nim-libp2p-testing:focused-test-refactoring` +* owner: Radek +* status: not started +* start-date: 2026/11/03 +* end-date: 2026/12/31 + +#### Description + +Replace unnecessary network setup with unit or in-memory tests ([issue 3326](https://github.com/iftech/nim-libp2p/issues/3326)). + +#### Deliverables + +- PRs simplifying tests while preserving coverage. diff --git a/content/qa/logos/2026q4-lez-fuzz-testing.md b/content/qa/logos/2026q4-lez-fuzz-testing.md index 1a517c44f7..4183c0e900 100644 --- a/content/qa/logos/2026q4-lez-fuzz-testing.md +++ b/content/qa/logos/2026q4-lez-fuzz-testing.md @@ -38,3 +38,4 @@ Keep targets compatible with upstream changes and preserve useful corpus handlin - [logos-blockchain/lez-fuzzing#38](https://github.com/logos-blockchain/lez-fuzzing/pull/38) chore: sync with LEZ removal of token/AMM/ATA programs and block producer signature - [logos-blockchain/lez-fuzzing#39](https://github.com/logos-blockchain/lez-fuzzing/pull/39) chore: automated weekly corpus update - [logos-blockchain/lez-fuzzing#40](https://github.com/logos-blockchain/lez-fuzzing/pull/40) chore: automated weekly corpus update +- [logos-blockchain/lez-fuzzing#41](https://github.com/logos-blockchain/lez-fuzzing/pull/41) chore: automated weekly corpus update diff --git a/content/qa/logos/2026q4-messaging-testing.md b/content/qa/logos/2026q4-messaging-testing.md index 8a52e36b13..c63b028fa3 100644 --- a/content/qa/logos/2026q4-messaging-testing.md +++ b/content/qa/logos/2026q4-messaging-testing.md @@ -43,7 +43,7 @@ Port the remaining scenarios to the repository's E2E workflow, preserve relevant * fully qualified name: `ift-ts:qa:logos:2026q4-messaging-testing:maintenance` * owner: Radek -* status: in progress (25%) +* status: in progress (50%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -106,3 +106,8 @@ Update tests for messaging component changes, investigate failing or flaky tests - [logos-co/logos-logoscore-py#35](https://github.com/logos-co/logos-logoscore-py/pull/35) feat(logosctl): a docker smoke image for LogosctlDockerDaemon - [logos-messaging/logos-delivery#4610](https://github.com/logos-messaging/logos-delivery/issues/4610) bug: a node with an RLN plugin dials its static nodes only once the host answers the startup membership check - [logos-messaging/logos-delivery#4612](https://github.com/logos-messaging/logos-delivery/pull/4612) test: reproduction for #4610 +- [logos-co/logos-delivery-module#170](https://github.com/logos-co/logos-delivery-module/pull/170) test(e2e): nodes with RLN on, tests without membership +- [logos-messaging/logos-delivery#4615](https://github.com/logos-messaging/logos-delivery/pull/4615) test: refactor anvil setup +- [logos-messaging/logos-delivery#4614](https://github.com/logos-messaging/logos-delivery/pull/4614) test(e2e): cleanup old rln code +- [logos-messaging/logos-delivery#4616](https://github.com/logos-messaging/logos-delivery/pull/4616) test(e2e): bump python bindings +- [logos-co/logos-logoscore-py#37](https://github.com/logos-co/logos-logoscore-py/issues/37) LogosctlDockerDaemon.start(): a host port picked before docker run can be taken by another container diff --git a/content/qa/logos/2026q4-source-code-level-qa.md b/content/qa/logos/2026q4-source-code-level-qa.md index 39949e07db..bce655a7b0 100644 --- a/content/qa/logos/2026q4-source-code-level-qa.md +++ b/content/qa/logos/2026q4-source-code-level-qa.md @@ -22,7 +22,7 @@ Generate proofs or exploit reproductions for high-severity issues and regression * fully qualified name: `ift-ts:qa:logos:2026q4-source-code-level-qa:system-prototype` * owner: Roman -* status: in progress (75%) +* status: in progress (80%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -56,3 +56,19 @@ Prototype an AI code analysis workflow covering: - [iftech/bork#5](https://github.com/iftech/bork/pull/5) feat: per-session model and an effort knob - [logos-blockchain/logos-blockchain#3911](https://github.com/logos-blockchain/logos-blockchain/issues/3911) Validation rule "ZkSignature by `public_key` over `mantle_txhash`" is never checked. (F-dd99b3f2) - Added concurrent Bork input consoles and jobs; tested two consoles and two jobs, limited by available hardware. +- [logos-blockchain/logos-execution-zone#1027](https://github.com/logos-blockchain/logos-execution-zone/issues/1027) Store-drained deposit skips the restricted-account guard and halts block production (F-b8196b2e) +- [logos-blockchain/logos-execution-zone#1028](https://github.com/logos-blockchain/logos-execution-zone/issues/1028) A deposit naming a clock or fee account wedges block production zone-wide (F-2f1373ff) +- [logos-blockchain/logos-execution-zone#1029](https://github.com/logos-blockchain/logos-execution-zone/issues/1029) A staked small-order key panics the channel-config update on every sequencer (F-af620781) +- [logos-blockchain/logos-execution-zone#1030](https://github.com/logos-blockchain/logos-execution-zone/issues/1030) getTransactionsByAccount: unchecked offset+limit panics and over-allocates (F-3f6d2668) +- [logos-blockchain/logos-execution-zone#1031](https://github.com/logos-blockchain/logos-execution-zone/issues/1031) Indexer retry gate reset on parking lets a duplicate block hold the slot forever (F-4ccadfb6) +- [logos-blockchain/logos-execution-zone#1032](https://github.com/logos-blockchain/logos-execution-zone/issues/1032) Followers accept forged-shape bridge Deposits with no L1 check (F-b96deac2) +- [logos-blockchain/logos-execution-zone#1033](https://github.com/logos-blockchain/logos-execution-zone/issues/1033) No discriminant between ProgramHeader and ProgramSegment lets WriteSegment forge a header (F-582d225e) +- Ran a Devin security scan of logos-execution-zone and sent the findings for review. +- Ran Devin security scans on status-app and status-go and reported findings privately as security advisories. +- Moved per-session model and effort selection to the brief. +- Implemented two-round finding triage, with human decisions for disagreements between advisor and console agent. +- Added idle-volume build-cache cleanup through `bork clean --cache`. +- Scheduled briefs rejected at capacity for a later cron tick. +- Made Ship select the worker-image variant from the brief. +- Added per-task prompt-cache hit share to Top. +- Completed all 35 parts of the [Logos Execution Zone specification audit](https://app.notion.com/p/v0-3-1-40c8f96fb65c801baaeee0f9ebaecb9a), reporting 7 high, 22 medium, and 41 low findings. diff --git a/content/qa/status/2026q4-status-go-functional-testing.md b/content/qa/status/2026q4-status-go-functional-testing.md index 39e0674f30..0f3ac3a485 100644 --- a/content/qa/status/2026q4-status-go-functional-testing.md +++ b/content/qa/status/2026q4-status-go-functional-testing.md @@ -69,3 +69,5 @@ Select concrete scenarios from the existing backlog and issues found during desk - [status-im/status-go#7976](https://github.com/status-im/status-go/issues/7976) communitytokens: owner and master token deploy can keep placeholder addresses (receipt applied before rows exist) - [status-im/status-go#7977](https://github.com/status-im/status-go/issues/7977) test: `make test-unit-race` is red on develop, so it cannot catch new races - [status-im/status-go#7978](https://github.com/status-im/status-go/issues/7978) test(functional): run_functional_tests.sh does not wait for the Foundry contract deployment +- [status-im/status-go#7956](https://github.com/status-im/status-go/pull/7956) test(functional): functional tests thread RPCs +- [status-im/status-go#7969](https://github.com/status-im/status-go/pull/7969) test(functional): cover thread permission, reaction control and participants diff --git a/content/qa/status/2026q4-status-qa-desktop.md b/content/qa/status/2026q4-status-qa-desktop.md index 29bc1ea624..26e0751b3c 100644 --- a/content/qa/status/2026q4-status-qa-desktop.md +++ b/content/qa/status/2026q4-status-qa-desktop.md @@ -40,6 +40,8 @@ Report bugs and release risks and verify fixes with the Status team. - [status-im/status-app#22905](https://github.com/status-im/status-app/issues/22905) Deterministic handling of community token deploy receipts (remove retry race) - [status-im/status-app#22875](https://github.com/status-im/status-app/pull/22875) chore(@qml): fix http stats test - [status-im/status-app#22863](https://github.com/status-im/status-app/issues/22863) Erase all notifications and delete individual notification in Activity Centre +- [status-im/status-app#22993](https://github.com/status-im/status-app/pull/22993) chore: update status-go version +- [status-im/status-go#7980](https://github.com/status-im/status-go/pull/7980) feat(bridge): support float for bridge quotes ### Maintenance @@ -72,6 +74,10 @@ Assist developers with test changes in pull requests. - [status-im/status-app#22930](https://github.com/status-im/status-app/pull/22930) chore(@e2e): fix benchmarks script to correctly push to repo - [status-im/status-app#22916](https://github.com/status-im/status-app/pull/22916) chore(@e2e): fix network selection - [status-im/status-app#22890](https://github.com/status-im/status-app/pull/22890) test(e2e): align emoji reads with StatusEmoji and pick from catalog +- [status-im/status-app#22995](https://github.com/status-im/status-app/pull/22995) tests: move settings sync view verifications to QML +- [status-im/status-app#22978](https://github.com/status-im/status-app/pull/22978) chore(@e2e): network selector regression fix +- [status-im/status-app#22954](https://github.com/status-im/status-app/pull/22954) chore(@e2e): fix for nightly failures +- [status-im/status-app#22959](https://github.com/status-im/status-app/pull/22959) chore(@e2e): benchmark tests fixes ### Performance tests for desktop application on Windows @@ -116,6 +122,7 @@ Choose scenarios as feature scope and the automation backlog are clarified with - [status-im/status-app#22717](https://github.com/status-im/status-app/pull/22717) tests(@e2e): bridge and swap scenarios - [status-im/status-app#22904](https://github.com/status-im/status-app/pull/22904) test(e2e): add spell check tests - [status-im/status-app#22828](https://github.com/status-im/status-app/pull/22828) tests(@e2e): community token actions +- [status-im/status-app#22951](https://github.com/status-im/status-app/pull/22951) tests(@e2e): scan qr code from image ### Performance tests for desktop application on Mac diff --git a/content/qa/status/2026q4-status-qa-mobile.md b/content/qa/status/2026q4-status-qa-mobile.md index b80743e69e..637f04ae35 100644 --- a/content/qa/status/2026q4-status-qa-mobile.md +++ b/content/qa/status/2026q4-status-qa-mobile.md @@ -22,7 +22,7 @@ Maintain the performance suite and extend measurements to a loaded existing acco * fully qualified name: `ift-ts:qa:status:2026q4-status-qa-mobile:release-testing` * owner: Magnus -* status: in progress (25%) +* status: in progress (50%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -67,6 +67,12 @@ Perform exploratory and regression testing, test new features in each release, a - [status-im/status-app#22527](https://github.com/status-im/status-app/issues/22527) [QA - Mobile & Desktop] Threads: what to test in 2.40 - [status-im/status-app#22936](https://github.com/status-im/status-app/issues/22936) [QA - Mobile] Share screen lists chats by the user's last send, not by the latest message - Checked Status 2.39.2 on iOS: swap and bridge tests passed. +- [status-im/status-app#23000](https://github.com/status-im/status-app/issues/23000) [QA - Mobile & Desktop] Keycard applet 4.x: what to test in 2.40 +- [status-im/status-app#23001](https://github.com/status-im/status-app/issues/23001) [QA - Mobile & Desktop] Keycard applet 4.x: dev tests +- [status-im/status-app#23002](https://github.com/status-im/status-app/issues/23002) [QA - Mobile & Desktop] Keycard applet 4.x: status-backend tests +- [status-im/status-app#22999](https://github.com/status-im/status-app/issues/22999) [Keycard] Confirm the production CA keys for card certificates before the 2.40 release +- [status-im/status-app#22967](https://github.com/status-im/status-app/issues/22967) [QA - Mobile & Desktop] Spell check: what to test in 2.40 +- Checked Keycard end-to-end coverage against the specification and identified 13 scenarios without tests. ### Maintenance @@ -85,6 +91,8 @@ Address flaky tests and assist developers with test changes in pull requests as - [status-im/status-app#22504](https://github.com/status-im/status-app/pull/22504) test(e2e_appium): press only a message that is on screen - Verified the logos-qt-mcp Qt inspector prototype on Status desktop and Android. - [status-im/status-app#22752](https://github.com/status-im/status-app/pull/22752) test(e2e_appium): open the nav drawer with a drag that moves at once +- Traced nightly failures 318–320 to message locators rather than message delivery. +- Built the `/e2e-android` PR-comment trigger for the Android end-to-end gate. ### Coverage for existing features diff --git a/content/web/ift/2026q4-admin-acid.md b/content/web/ift/2026q4-admin-acid.md index 5b3502fcf1..ac62b9c9cd 100644 --- a/content/web/ift/2026q4-admin-acid.md +++ b/content/web/ift/2026q4-admin-acid.md @@ -82,3 +82,7 @@ Create a dedicated roadmap task when a request grows into a substantial project. - [acid-info/admin-acid.logos.co#81](https://github.com/acid-info/admin-acid.logos.co/issues/81) feat(newsletters): only subscribe real cities to the Regional Newsletter - [acid-info/admin-acid.logos.co#86](https://github.com/acid-info/admin-acid.logos.co/pull/86) feat(newsletters): only subscribe real cities to the Regional Newsletter - [acid-info/admin-acid.logos.co#89](https://github.com/acid-info/admin-acid.logos.co/pull/89) fix(local-events): paginate Ghost labels and newsletters +- [acid-info/admin-acid.logos.co#97](https://github.com/acid-info/admin-acid.logos.co/pull/97) Added the museum exhibit submission API with validated email delivery, request limits and origin checks +- [acid-info/admin-acid.logos.co#99](https://github.com/acid-info/admin-acid.logos.co/pull/99) Allowed Logos web Vercel preview origins for museum submissions, with hostname validation and regression coverage +- [acid-info/admin-acid.logos.co#95](https://github.com/acid-info/admin-acid.logos.co/pull/95) feat(local-events): add copy list emailed for every event +- [acid-info/admin-acid.logos.co#92](https://github.com/acid-info/admin-acid.logos.co/pull/92) docs(repo): split docs into README, AGENTS.md and docs/- #92 diff --git a/content/web/ift/2026q4-ai-tooling.md b/content/web/ift/2026q4-ai-tooling.md index e2829a7c44..68d6b6aa69 100644 --- a/content/web/ift/2026q4-ai-tooling.md +++ b/content/web/ift/2026q4-ai-tooling.md @@ -39,7 +39,7 @@ Consolidate ai-review and ai-docs-sync in [acid-info/ai-tools](https://github.co * fully qualified name: `ift-ts:web:ift:2026q4-ai-tooling:ai-review` * owner: JulesFiliot -* status: in progress (45%) +* status: in progress (60%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -123,3 +123,4 @@ Finish [acid-info/ai-docs-sync](https://github.com/acid-info/ai-docs-sync), whic - [logos-co/logos-web#243](https://github.com/logos-co/logos-web/pull/243) docs(repo): rewrite docs for humans and agents - [status-im/status-web#1334](https://github.com/status-im/status-web/pull/1334) docs(repo): restructure docs for docs-sync - [status-im/status-web#1335](https://github.com/status-im/status-web/pull/1335) docs(repo): rewrite docs for humans and agents +- [acid-info/ai-tools#23](https://github.com/acid-info/ai-tools/pull/23) fix(ai-docs-sync): skip the pr author when requesting reviewers diff --git a/content/web/ift/2026q4-e2e-testing.md b/content/web/ift/2026q4-e2e-testing.md index 43740410db..5aff0b72c0 100644 --- a/content/web/ift/2026q4-e2e-testing.md +++ b/content/web/ift/2026q4-e2e-testing.md @@ -22,8 +22,8 @@ Playwright is the proposed runner since it covers both browsers; reuse the exist ### status.app E2E suite * fully qualified name: `ift-ts:web:ift:2026q4-e2e-testing:status-app` -* owner: Jinho/JulesFiliot -* status: not started +* owner: Jules +* status: in progress (20%) * start-date: 2026/10/05 * end-date: 2026/10/30 @@ -40,8 +40,8 @@ Check that each page loads without errors, that key elements (navigation, hero, ### logos.co E2E suite * fully qualified name: `ift-ts:web:ift:2026q4-e2e-testing:logos-co` -* owner: Jinho/JulesFiliot -* status: not started +* owner: Jules +* status: in progress (20%) * start-date: 2026/10/19 * end-date: 2026/11/20 diff --git a/content/web/ift/2026q4-maintenance.md b/content/web/ift/2026q4-maintenance.md index 9535382c14..e336aeae4b 100644 --- a/content/web/ift/2026q4-maintenance.md +++ b/content/web/ift/2026q4-maintenance.md @@ -42,3 +42,4 @@ Resolve shared infrastructure or tooling failures, coordinate with Infra where n - [Status app store French translation — Apple doc](https://docs.google.com/document/d/199SNFI-fFA4pTaG8Xp-y26um6HAQf42mcp8PFB08CwQ/edit?tab=t.tkqt8nea3kvv) - [Status app store French translation — Google Play doc](https://docs.google.com/document/d/199SNFI-fFA4pTaG8Xp-y26um6HAQf42mcp8PFB08CwQ/edit?tab=t.ghept0o2oy0u) - [status-im/infra-sites#175](https://github.com/status-im/infra-sites/issues/175) Request a security-patched MediaWiki test instance for the Logos wiki, including the PHP RCE patches disclosed on 21 October +- Translated Status mobile app advertising content into French for Volo ([translation sheet](https://docs.google.com/spreadsheets/d/1WyA7Zhl552E51EPxVjzt731NuPIqN1_ZnW6VHC1MLbs/edit?gid=19218066#gid=19218066)). diff --git a/content/web/logos/2026q4-logos-media-migration.md b/content/web/logos/2026q4-logos-media-migration.md index 670955b781..2398ca7e8b 100644 --- a/content/web/logos/2026q4-logos-media-migration.md +++ b/content/web/logos/2026q4-logos-media-migration.md @@ -140,7 +140,7 @@ Keep the query string on every redirect. Do not redirect CMS preview, API, or as - fully qualified name: `ift-ts:web:logos:2026q4-logos-media-migration:legacy-retirement` - owner: Jinho -- status: not started +- status: in progress (10%) - start-date: 2026/11/09 - end-date: 2026/12/04 @@ -158,6 +158,7 @@ When logs and workflow checks show that the legacy frontend is no longer require - Traffic or request-log evidence that no required consumer still uses the legacy frontend. - Legacy blog frontend decommissioned by Infra, with Strapi and other retained content services explicitly excluded. - Post-decommission checks covering production pages, builds, previews, feeds, search, and redirects. +- [status-im/infra-sites#168](https://github.com/status-im/infra-sites/issues/168) Followed up with Infra on retiring the old blog after the redirects were configured; waiting for confirmation from the Comms team before requesting shutdown ### Monitor SEO, content integrity, and operational health diff --git a/content/web/logos/2026q4-logos-website.md b/content/web/logos/2026q4-logos-website.md index b7404335e6..a58ac278ba 100644 --- a/content/web/logos/2026q4-logos-website.md +++ b/content/web/logos/2026q4-logos-website.md @@ -56,6 +56,11 @@ Investigate production failures and ship necessary hotfixes, coordinating shared - [logos-co/logos-web#235](https://github.com/logos-co/logos-web/pull/235) fix(web): UK Debt signup posts to dead API route - [logos-co/logos-web#247](https://github.com/logos-co/logos-web/pull/247) fix(ci): refresh deployment ref before publishing - [logos-co/logos-web#237](https://github.com/logos-co/logos-web/pull/237) chore: prepare offline OSS Scanner build +- [logos-co/logos-web#251](https://github.com/logos-co/logos-web/pull/251) fix(web): fall back to article cover for invalid OG images +- [logos-co/logos-web#260](https://github.com/logos-co/logos-web/pull/260) fix(web): align Basecamp copy across public pages +- [logos-co/logos-web#257](https://github.com/logos-co/logos-web/issues/257) Website copy update part II +- [logos-co/logos-web#258](https://github.com/logos-co/logos-web/pull/258) chore(web): update hacktivist copy +- Reconciled develop and production branch histories after the Waku promotion ([commit](https://github.com/logos-co/logos-web/commit/39fb67d9f99c62d0faa047deef33764253cae9ad)). ### Past Present Future: content update and migration @@ -108,6 +113,7 @@ Before implementation, collect the final PDF, approved copy and assets, and a de - [logos-co/logos-web#233](https://github.com/logos-co/logos-web/pull/233) feat(web): add Logos zine catalogue and PDF readers - [logos-co/logos-web#246](https://github.com/logos-co/logos-web/pull/246) fix(web): make zine generation independent of system fonts - Published the [Logos zine catalogue and PDF readers](https://logos.co/zines). +- [logos-co/logos-web#254](https://github.com/logos-co/logos-web/pull/254) fix(web): update LAN 02 with corrected PDF ### Node Program landing page @@ -132,9 +138,9 @@ This is a large page, so kick off requirements, copy, and design with the Comms - fully qualified name: `ift-ts:web:logos:2026q4-logos-website:basecamp-lp` - owner: Jinho -- status: in progress (80%) +- status: done - start-date: 2026/10/01 -- end-date: 2026/10/31 +- end-date: 2026/11/03 #### Description @@ -148,12 +154,14 @@ Make the page more explanatory, expand its content, and focus it on conversion. - A rebuilt, responsive Basecamp page with conversion events tracked in Umami. - [logos-co/logos-web#112](https://github.com/logos-co/logos-web/issues/112) Install Basecamp is throught web wrongly implemented - [logos-co/logos-web#238](https://github.com/logos-co/logos-web/pull/238) feat(web): renew Basecamp landing page +- [logos-co/logos-web#253](https://github.com/logos-co/logos-web/pull/253) fix(web): use full-resolution Basecamp build screenshot +- [logos-co/logos-web#259](https://github.com/logos-co/logos-web/pull/259) fix(web): clarify Basecamp participation copy ### RFP and Lambda Prize landing page updates - fully qualified name: `ift-ts:web:logos:2026q4-logos-website:rfp-lambda-prize-lp` -- owner: Jinho/JulesFiliot -- status: not started +- owner: Jinho +- status: in progress (90%) - start-date: 2026/11/01 - end-date: 2026/11/30 @@ -249,3 +257,9 @@ Create dedicated roadmap tasks when a request grows into a substantial project. - [logos-co/logos-web#224](https://github.com/logos-co/logos-web/pull/224) feat(web): local events newsletter signup rules - [logos-co/logos-web#248](https://github.com/logos-co/logos-web/pull/248) fix(web): load calendar events dynamically - [logos-co/logos-web#241](https://github.com/logos-co/logos-web/pull/241) feat: city autocomplete in the footer and funnel forms +- [logos-co/logos-web#261](https://github.com/logos-co/logos-web/issues/261) Migrate Waku blog posts to Logos Articles +- [logos-co/logos-web#262](https://github.com/logos-co/logos-web/pull/262) feat(web): migrate Waku articles for staging review +- [logos-co/logos-web#265](https://github.com/logos-co/logos-web/pull/265) fix(web): correct Waku article duplication and MDX rendering +- [logos-co/logos-web#266](https://github.com/logos-co/logos-web/pull/266) feat(web): publish approved Waku articles on Logos Media +- [logos-co/logos-web#250](https://github.com/logos-co/logos-web/pull/250) feat(web): add museum exhibit submission modal +- [logos-co/logos-web#264](https://github.com/logos-co/logos-web/issues/264) Build a Logos community forum with modern tech stacks diff --git a/content/web/status/2026q4-status-wallet-extension.md b/content/web/status/2026q4-status-wallet-extension.md index 26dfb680b4..b87d0c94ce 100644 --- a/content/web/status/2026q4-status-wallet-extension.md +++ b/content/web/status/2026q4-status-wallet-extension.md @@ -21,10 +21,10 @@ Select concrete work with stakeholders as needs arise and record scope and accep ### Maintenance * fully qualified name: `ift-ts:web:status:2026q4-status-wallet-extension:maintenance` -* owner: Jinho/JulesFiliot -* status: not started +* owner: Jules +* status: done * start-date: 2026/10/01 -* end-date: 2026/12/31 +* end-date: 2026/11/03 #### Description @@ -37,6 +37,7 @@ Investigate production failures reported by users or stakeholders and ship hotfi - PRs in `status-im/status-web` for upkeep, dependency updates, and production hotfixes. - Published extension releases on the [Chrome Web Store](https://chromewebstore.google.com/detail/status-portfolio-wallet-b/opkfeajbclhjdneghppfnfiannideafj), with release notes and coordination threads linked. - Tracked issues for production failures, with reproduction steps and resolution notes. +- [status-im/status-web#1339](https://github.com/status-im/status-web/pull/1339) fix(wallet): show plain-text personal_sign messages as text ### Ad hoc requests diff --git a/content/web/status/2026q4-status-website.md b/content/web/status/2026q4-status-website.md index 1c30f2d37d..de8643faa4 100644 --- a/content/web/status/2026q4-status-website.md +++ b/content/web/status/2026q4-status-website.md @@ -40,6 +40,8 @@ Investigate production failures and ship necessary hotfixes, coordinating shared - [status-im/status-web#1329](https://github.com/status-im/status-web/pull/1329) fix(community-dapp): install forge directly in vercel build - [status-im/status-web#1332](https://github.com/status-im/status-web/pull/1332) chore: prepare OSS Scanner enrollment - [status-im/status-web#1337](https://github.com/status-im/status-web/pull/1337) chore(community-subgraph): remove dead subgraph package +- [status-im/status-app#22975](https://github.com/status-im/status-app/issues/22975) [News message pop-up] bullet points are shown as a paragraph plus the image is cut on the right and left +- [status-im/status-web#1340](https://github.com/status-im/status-web/pull/1340) fix(status.app): serve markup in the mobile news v2 feed ### Website revamp: UI design and copy update diff --git a/content/weeklies/2026-11-02.md b/content/weeklies/2026-11-02.md new file mode 100644 index 0000000000..fe753a0504 --- /dev/null +++ b/content/weeklies/2026-11-02.md @@ -0,0 +1,372 @@ +--- +title: 2026-11-02 IFT-TS weekly +tags: + - vac-updates +date: 2026-11-02 +lastmod: 2026-11-02 +draft: false +--- + +## IFT-TS 2026/11/02 + +### top highlights + +- NIM team released Nimble 0.26.2. +- P2P team advanced nim-lsquic to 0.11.3. +- WEB team completed the Basecamp landing-page renewal. + +### team highlights + +- DST: Found a Status rate-limiter timing mismatch that rejects valid light-node messages and delays delivery. +- DST: Extended Messaging API experiments to Store and Edge nodes. +- DST: Added a network partition-and-recovery scenario to regression testing. +- NIM: Released Nimble 0.26.2. +- NIM: Fixed nimlangserver project resolution and nimsuggest lifecycle handling. +- NIM: Built the second nim-lint prototype with a GitHub Action. +- P2P: Advanced nim-lsquic to 0.11.3. +- P2P: Added GossipSub topic-stream interoperability tests. +- P2P: Advanced Waggle interoperability and recovery tests in open PRs. +- P2P: Added the Kademlia record-store interface; storage implementations remain in open PRs. +- P2P: Fixed Kademlia automatic mode restarting from current network reachability. +- P2P: Fixed binary payload delivery in the Logos libp2p module by using base64. +- QA: Completed the Logos Execution Zone specification audit run, reporting seven high-severity findings. +- QA: Added status-go thread permission, reaction and participant tests. +- QA: Added Status desktop QR-code scanning tests. +- QA: Found 13 Keycard scenarios missing end-to-end coverage. +- QA: Built an Android end-to-end test gate triggered by PR comments. +- SEC: Confirmed fixes for six Logos Blockchain issues and reported nine new findings, including two high-severity issues. +- SEC: Reported seven new LEZ security findings, including one critical issue. +- SEC: Trialled Greptile code review on 23 PRs across 15 repositories. +- SEC: Reviewed Keycard master-key export fixes. +- WEB: Completed the Basecamp landing-page renewal. +- WEB: Advanced Developer Programmes and Lambda Prize pages in an open PR. +- WEB: Promoted 18 approved Waku articles to production. +- WEB: Added the Museum of Civil Liberties exhibit submission form. +- WEB: Fixed the Status mobile news feed to serve article markup. +- WEB: Added a local Logos website Playwright suite; it remains uncommitted and under testing. + +### ift-ts:dst: + +- `other notes` + - Task tracking and reviews +- [`ift-ts:dst:logos:2026q4-storage-evaluation:filesharing-client-mix`](/dst/logos/2026q4-storage-evaluation#filesharing-client--mix) + - Merged the Storage experiment and opened the requester PR to improve the scenario. + - [Storage experiment #454](https://github.com/iftech/10ksim/pull/454) (merged) + - [Storage #13](https://github.com/iftech/pod-api-requester/pull/13) (open) +- [`ift-ts:dst:status:2026q4-status-evaluation:reliability`](/dst/status/2026q4-status-evaluation#reliability) + - Found Status rate-limiter timing mismatch for light nodes + - Messages were being rejected when they shouldn't. + - Rejected messages remained pending in MVDS and appeared minutes late. + - Found a message-processing feedback loop. + - Delayed processing delayed acknowledgements, triggering MVDS retransmissions and further increasing the processing backlog. + - [Discord Thread](https://discord.com/channels/1210237582470807632/1555207381355597915/1565418895873941606) + - [Github branch: dst-analysis](https://github.com/status-im/status-go/tree/dst-analysis) +- [`ift-ts:dst:logos:2026q4-messaging-evaluation:messaging-api`](/dst/logos/2026q4-messaging-evaluation#messaging-api--general-availability) + - Ran more 1000 nodes Messaging API runs: with time to settle before sending; with readiness waiting for a full mesh; and with a higher CPU limit. Added them as follow-ups to the [Messaging API baseline report](https://app.notion.com/p/4008f96fb65c81f9a5edd2818ffb766b). + - Nodes now count as ready once they are subscribed and their mesh is full, using the standard Waku check. + - [Github PR: logos-messaging: standard mesh size readiness probe after a one-time subscription check](https://github.com/iftech/10ksim/pull/455) (merged) + - Merged the standard plots for the Messaging API analysis and the GET fix in pod-api-requester. + - [Github PR: logos-messaging: scrape metrics and draw the standard plots over the sending window](https://github.com/iftech/10ksim/pull/452) (merged) + - [Github PR: Send no body on GET when params are empty](https://github.com/iftech/pod-api-requester/pull/11) (merged) + - Ongoing communication with the messaging team on the [CPU increase](https://github.com/logos-messaging/logos-delivery/issues/4651). + - The [node health issue](https://github.com/logos-messaging/logos-delivery/issues/4652) found in our runs is now fixed for Core nodes. + - Extended the Messaging API experiment with Store and Edge nodes and did a first small run. + - Found a potential issue with how Edge nodes report their health. +- [`ift-ts:dst:ift:2026q4-libp2p-evaluation:automatic-reporting`](/dst/ift/2026q4-libp2p-evaluation#automatic-reporting) + - Every run now attaches all node logs, as the P2P team asked. + - [Github PR: Run nodes: attach every node's logs to every run](https://github.com/iftech/10ksim/pull/456) (merged) +- [`ift-ts:dst:ift:2026q4-libp2p-evaluation:regression-testing`](/dst/ift/2026q4-libp2p-evaluation#regression-testing-recurring) + - Got the partition cut scenario merged. + - [Github PR: Partition cut scenario: cut a formed network in two and heal it](https://github.com/iftech/10ksim/pull/420) (merged) +- [`ift-ts:dst:ift:2026q4-dst-tooling:general-tooling`](/dst/ift/2026q4-dst-tooling#general-tooling-recurring) + - A run now fails when it publishes off its configured rate. + - [Github PR: Fail a run that published off its configured rate](https://github.com/iftech/10ksim/pull/453) (merged) + +### ift-ts:nim: + +- [`ift-ts:nim:ift:2026q4-nimble:nimble-1.0.0`](/nim/ift/2026q4-nimble#nimble-development) + - Merged: CI: install Mercurial on Linux and allow Windows 3 hours ([nim-lang/nimble#1916](https://github.com/nim-lang/nimble/pull/1916)) + - Merged: List binaries' sources in nimble dump's entryPoints (fixes #1911, #1912, #1913) ([nim-lang/nimble#1915](https://github.com/nim-lang/nimble/pull/1915)) + - Merged: Read INI-format .nimble files with the INI reader ([nim-lang/nimble#1914](https://github.com/nim-lang/nimble/pull/1914)) + - Merged: Accept HTTP response headers up to 64 KB (fixes #1903) ([nim-lang/nimble#1909](https://github.com/nim-lang/nimble/pull/1909)) + - Fix windows + - Merged: a failed Nim download says why, not that the version doesn't exist (#1903) ([nim-lang/nimble#1908](https://github.com/nim-lang/nimble/pull/1908)) + - Merged: Add Nim community packages to the canary ([nim-lang/nimble#1907](https://github.com/nim-lang/nimble/pull/1907)) + - Merged: Reorders repositories to speed up the CI ([nim-lang/nimble#1906](https://github.com/nim-lang/nimble/pull/1906)) + - Merged: bump 0.26.2 ([nim-lang/nimble#1902](https://github.com/nim-lang/nimble/pull/1902)) + - Use bearssl 0.2.15 to keep Nim 1.6 support + - Merged: Add a canary comparing release and nightly nimble on important repos ([nim-lang/nimble#1900](https://github.com/nim-lang/nimble/pull/1900)) + - Released Nimble 0.26.2. + - Reviewed community PRs. +- [`ift-ts:nim:ift:2026q4-nim-core-libs:nimlangserver`](/nim/ift/2026q4-nim-core-libs#nimlangserver-improvements) + - Merged: [nim-lang/langserver#513](https://github.com/nim-lang/langserver/pull/513) Stop only closed files Nimsuggests + - Merged: [nim-lang/langserver#512](https://github.com/nim-lang/langserver/pull/512) Get Nimsuggest without opening files in tools + - Merged: [nim-lang/langserver#511](https://github.com/nim-lang/langserver/pull/511) Remove get Nimsuggest retries + - Merged: [nim-lang/langserver#510](https://github.com/nim-lang/langserver/pull/510) Mark a file unsaved only when it differs from the disk + - Merged: [nim-lang/langserver#509](https://github.com/nim-lang/langserver/pull/509) Track the last used nimsuggest by project file + - Merged: [nim-lang/langserver#508](https://github.com/nim-lang/langserver/pull/508) Avoid project file open on `didOpenFile` + - Merged: [nim-lang/langserver#507](https://github.com/nim-lang/langserver/pull/507) Reuse nimsuggest only if file is known + - Merged: [nim-lang/langserver#506](https://github.com/nim-lang/langserver/pull/506) Enforce the nimsuggest cap for mapped projects + - Merged: [nim-lang/langserver#505](https://github.com/nim-lang/langserver/pull/505) Fix reuse nimsuggest right project + - Merged: [nim-lang/langserver#504](https://github.com/nim-lang/langserver/pull/504) Make `shutdownNimsuggest` reentrant + - Merged: [nim-lang/langserver#503](https://github.com/nim-lang/langserver/pull/503) Avoid `nimble dump` on shutdown + - Merged: [nim-lang/langserver#502](https://github.com/nim-lang/langserver/pull/502) Fix project resolve for dirs outside `srcDir` + - Merged: [nim-lang/langserver#501](https://github.com/nim-lang/langserver/pull/501) Fix failed `nimble dump` handling + - Merged: [nim-lang/langserver#499](https://github.com/nim-lang/langserver/pull/499) Log nimsuggest stderr immediately + - Merged: [nim-lang/langserver#498](https://github.com/nim-lang/langserver/pull/498) Lazy nimble project resolve + - Open: [nim-lang/langserver#500](https://github.com/nim-lang/langserver/pull/500) Fix MCP `nimFindSymbols` and `nimCheckProject` take a file uri + - Open: [nim-lang/Nim#26494](https://github.com/nim-lang/Nim/pull/26494) nimsuggest2: thin proxy that runs each query as a one-shot IC process (PoC) +- [`ift-ts:nim:ift:2026q4-nim-core-libs:maintenance`](/nim/ift/2026q4-nim-core-libs#maintenance) + - Merged: [status-im/nim-chronos#742](https://github.com/status-im/nim-chronos/pull/742) Add missing `asyncengine` nimdoc symbols + - Open: [nim-lang/Nim#26571](https://github.com/nim-lang/Nim/pull/26571) `isRelativeTo`: fix for paths on different drive or network on Windows +- [`ift-ts:nim:ift:2026q4-nim-core-libs:nim-lint`](/nim/ift/2026q4-nim-core-libs#nim-lint) + - Got spec v2 reviewed + - Implemented a prototype based on v2 spec + - Implemented per-line linting disabling + - Implemented GitHub Action + - Ported linting rules from nim-libp2p + - Open: [iftech/nim-libp2p#3355](https://github.com/iftech/nim-libp2p/pull/3355) +- `other notes` + - Updated Nim Docker images + - Merged: [docker-library/official-images#22631](https://github.com/docker-library/official-images/pull/22631) + +### ift-ts:p2p: + +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-waggle`](/p2p/ift/2026q4-nimlibp2p-maintenance#general-maintenance) + - Open: [iftech/nim-libp2p#3347](https://github.com/iftech/nim-libp2p/pull/3347) test(waggle): add pinned Rust wire interoperability (7/9) + - Open: [iftech/nim-libp2p#3348](https://github.com/iftech/nim-libp2p/pull/3348) test(waggle): verify Rust reconciliation and relay convergence (8/9) + - Open: [iftech/nim-libp2p#3349](https://github.com/iftech/nim-libp2p/pull/3349) test(waggle): verify Rust reconnect and queue-pressure recovery (9/9) + - Open: [iftech/nim-libp2p#3346](https://github.com/iftech/nim-libp2p/pull/3346) feat(waggle): expire object state and complete lifecycle cleanup (6/9) + - Open: [iftech/nim-libp2p#3345](https://github.com/iftech/nim-libp2p/pull/3345) feat(waggle): publish and forward reconciled object pieces (5/9) + - Open: [iftech/nim-libp2p#3344](https://github.com/iftech/nim-libp2p/pull/3344) feat(waggle): attach managed subscriptions to Switch (4/9) + - Open: [iftech/nim-libp2p#3343](https://github.com/iftech/nim-libp2p/pull/3343) feat(waggle): add bounded object reconciliation state (3/9) + - Open: [iftech/nim-libp2p#3342](https://github.com/iftech/nim-libp2p/pull/3342) feat(waggle): bound connection-aware stream lifecycles (2/9) + - Open: [iftech/nim-libp2p#3341](https://github.com/iftech/nim-libp2p/pull/3341) feat(waggle): add wire messages and direct topic streams (1/9) +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-topic-streams`](/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams) + - Merged: [iftech/nim-libp2p#3327](https://github.com/iftech/nim-libp2p/pull/3327) test(gossipsub): add topic streams interoperability +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-maintenance`](/p2p/ift/2026q4-nimlibp2p-maintenance) + - Merged: [iftech/nim-libp2p#3354](https://github.com/iftech/nim-libp2p/pull/3354) refactor(protocol): move setup into constructors + - Merged: [iftech/nim-libp2p#3297](https://github.com/iftech/nim-libp2p/pull/3297) fix(gossipsub): normalize bandwidth timing estimates + - Merged: [logos-co/nim-libp2p-mix#65](https://github.com/logos-co/nim-libp2p-mix/pull/65) fix(tag-manager): fail closed at replay cache capacity + - Merged: [logos-co/nim-libp2p-mix#66](https://github.com/logos-co/nim-libp2p-mix/pull/66) fix(mix): correct codec decoding and reply lifecycle + - Merged: [iftech/nim-lsquic#186](https://github.com/iftech/nim-lsquic/pull/186) chore(lsquic): update upstream and bump version to 0.11.3 + - Merged: [iftech/nim-libp2p#3334](https://github.com/iftech/nim-libp2p/pull/3334) test: remove superfluous tests and fix tests that could not fail + - Merged: [iftech/nim-libp2p#3338](https://github.com/iftech/nim-libp2p/pull/3338) chore: deprecated compile warnings to error + - Merged: [iftech/nim-libp2p#3340](https://github.com/iftech/nim-libp2p/pull/3340) chore: remove copilot-instructions.md + - Merged: [iftech/nim-libp2p#3336](https://github.com/iftech/nim-libp2p/pull/3336) chore: delete .opencodereview/rule.json + - Open: [iftech/nim-libp2p#3360](https://github.com/iftech/nim-libp2p/pull/3360) fix(nat): mount the relay client that hole punching uses + - Open: [iftech/nim-libp2p#3358](https://github.com/iftech/nim-libp2p/pull/3358) fix(relay): reject reservations that expire more than 24 h ahead + - Merged: [iftech/nim-libp2p#3330](https://github.com/iftech/nim-libp2p/pull/3330) fix(autonat): cancel and await in-flight probes on stop + - Merged: [iftech/nim-libp2p#3316](https://github.com/iftech/nim-libp2p/pull/3316) fix(rdv): replace a repeat registration in place + - Merged: [iftech/nim-libp2p#3333](https://github.com/iftech/nim-libp2p/pull/3333) fix(cbind): time out stream reads and allow one read per stream + - Merged: [iftech/nim-libp2p#3328](https://github.com/iftech/nim-libp2p/pull/3328) fix: four flaky CI tests and a silent nasm install failure + - Merged: [iftech/nim-libp2p#3332](https://github.com/iftech/nim-libp2p/pull/3332) chore(kad): store provider expiry as wall-clock time + - Merged: [iftech/nim-libp2p#3331](https://github.com/iftech/nim-libp2p/pull/3331) fix(autonat): reset reachability state on stop + - Merged: [iftech/nim-libp2p#3322](https://github.com/iftech/nim-libp2p/pull/3322) fix(tests): define accept retry tests with a template for Nim devel +- [`ift-ts:p2p:ift:2026q4-dst-automated-workflow`](/p2p/ift/2026q4-dst-automated-workflow) + - Merged: [iftech/nim-libp2p-network-lab#19](https://github.com/iftech/nim-libp2p-network-lab/pull/19) chore: 100 msg rounds + - Merged: [iftech/nim-libp2p-network-lab#16](https://github.com/iftech/nim-libp2p-network-lab/pull/16) chore: more improvements + - Merged: [iftech/nim-libp2p-network-lab#10](https://github.com/iftech/nim-libp2p-network-lab/pull/10) feat: gossipsub regression experiment + - Merged: [iftech/nim-libp2p-network-lab#11](https://github.com/iftech/nim-libp2p-network-lab/pull/11) chore: varius improvments + - Merged: [iftech/nim-libp2p-network-lab#6](https://github.com/iftech/nim-libp2p-network-lab/pull/6) chore: better dummy experiments +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-provider-storage`](/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage) + - Open: [iftech/nim-libp2p#3363](https://github.com/iftech/nim-libp2p/pull/3363) feat(kad): store provider records and provided keys in KadStore + - Open: [iftech/nim-libp2p#3362](https://github.com/iftech/nim-libp2p/pull/3362) feat(kad): store value records in KadStore + - Open: [iftech/nim-libp2p#3361](https://github.com/iftech/nim-libp2p/pull/3361) feat(kad): KadStore evicts at the provider and provided caps + - Open: [iftech/nim-libp2p#3359](https://github.com/iftech/nim-libp2p/pull/3359) feat(kad): in-memory store for provided keys + - Open: [iftech/nim-libp2p#3356](https://github.com/iftech/nim-libp2p/pull/3356) feat(kad): in-memory store for provider records + - Merged: [iftech/nim-libp2p#3350](https://github.com/iftech/nim-libp2p/pull/3350) feat(kad): define the record store interface + - Open: [iftech/nim-libp2p#3357](https://github.com/iftech/nim-libp2p/pull/3357) test(kad): store contract cases for prune capacity and paging across a delete +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-auto-mode`](/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode) + - Merged: [iftech/nim-libp2p#3351](https://github.com/iftech/nim-libp2p/pull/3351) fix(kad): auto mode ignores verdicts while stopped and restarts from current reachability + - Merged: [iftech/nim-libp2p#3329](https://github.com/iftech/nim-libp2p/pull/3329) test(kad): fixed modes ignore reachability changes +- [`ift-ts:p2p:ift:2026q4-logos-core-maintenance`](/p2p/ift/2026q4-logos-core-consulting#consulting) + - Merged: [logos-co/logos-libp2p-module#125](https://github.com/logos-co/logos-libp2p-module/pull/125) fix(gossipsub)!: deliver binary payloads as base64 + - Merged: [logos-co/logos-libp2p-module#124](https://github.com/logos-co/logos-libp2p-module/pull/124) fix(stream): send the read timeout to Nim +- [`ift-ts:p2p:ift:2026q4-nimffi-maintenance`](/p2p/ift/2026q4-logos-delivery-consulting#consulting) + - Open: [logos-messaging/nim-ffi#256](https://github.com/logos-messaging/nim-ffi/pull/256) fix: build with --ic:on on Nim 2.4 + - Open: [logos-messaging/nim-ffi#252](https://github.com/logos-messaging/nim-ffi/pull/252) fix: a failed callback-mode ctor gives its pool slot back + - Open: [logos-messaging/nim-ffi#253](https://github.com/logos-messaging/nim-ffi/pull/253) fix: keep C++ and Rust listener handlers alive while a callback can run + - Merged: [logos-storage/logos-storage-nim#1555](https://github.com/logos-storage/logos-storage-nim/pull/1555) feat(library): on_download_done event, nim-ffi and chronos bump + - Open: [logos-co/logos-storage-module#83](https://github.com/logos-co/logos-storage-module/pull/83) feat: build against the nim-ffi generated libstorage bindings + +### ift-ts:qa: + +- [`ift-ts:qa:logos:2026q4-source-code-level-qa:system-prototype`](/qa/logos/2026q4-source-code-level-qa#system-prototype) + - Per-session model and effort move onto the brief, none in the workflow file + - Changed triage for findings to work in two rounds. It is decided by a human only when there is a dispute between advisor and console agent. + - bork clean --cache drops build outputs on idle orgs' volumes + - Ship schedules a brief refused at capacity for the cron tick + - Ship takes the worker image variant from the brief + - Top shows the prompt cache hit share per task + - Deepseek-v4.1-flash:1017 (Ollama) trial run for 1 brief - only 2/7 findings were discovered in comparison to Opus 5.5(max). + - Logos Execution Zone `audit-spec` run - [35/35 parts](https://app.notion.com/p/v0-3-1-40c8f96fb65c801baaeee0f9ebaecb9a) completed. Reported 7 high, 22 medium and 41 low findings: + - Open: [Store-drained deposit skips the restricted-account guard and halts block production (F-b8196b2e)](https://github.com/logos-blockchain/logos-execution-zone/issues/1027) + - Open: [A deposit naming a clock or fee account wedges block production zone-wide (F-2f1373ff)](https://github.com/logos-blockchain/logos-execution-zone/issues/1028) + - Open: [A staked small-order key panics the channel-config update on every sequencer (F-af620781)](https://github.com/logos-blockchain/logos-execution-zone/issues/1029) + - Open: [getTransactionsByAccount: unchecked offset+limit panics and over-allocates (F-3f6d2668)](https://github.com/logos-blockchain/logos-execution-zone/issues/1030) + - Open: [Indexer retry gate reset on parking lets a duplicate block hold the slot forever (F-4ccadfb6)](https://github.com/logos-blockchain/logos-execution-zone/issues/1031) + - Open: [Followers accept forged-shape bridge Deposits with no L1 check (F-b96deac2)](https://github.com/logos-blockchain/logos-execution-zone/issues/1032) + - Open: [No discriminant between ProgramHeader and ProgramSegment lets WriteSegment forge a header (F-582d225e)](https://github.com/logos-blockchain/logos-execution-zone/issues/1033) + - Ran a Devin security scan of logos-execution-zone; findings sent for review +- [`ift-ts:qa:logos:2026q4-logos-basecamp:mcp-tests`](/qa/logos/2026q4-logos-basecamp#mcp-tests) + - Open: [fix: Optimize A suite UI tests](https://github.com/logos-co/logos-basecamp/pull/524) +- [`ift-ts:qa:logos:2026q4-lez-sequencing:cucumber-tests`](/qa/logos/2026q4-lez-sequencing#cucumber-tests) + - Open: [test: Chained-caller and second-mover test prerequisites](https://github.com/logos-blockchain/logos-execution-zone/pull/792) +- [`ift-ts:qa:logos:2026q4-lez-fuzz-testing:framework-maintenance`](/qa/logos/2026q4-lez-fuzz-testing#framework-maintenance) + - Merged: [chore: automated weekly corpus update- #41](https://github.com/logos-blockchain/lez-fuzzing/pull/41) +- [`ift-ts:qa:logos:2026q4-messaging-testing:maintenance`](/qa/logos/2026q4-messaging-testing#maintenance) + - Merged: [logos-co/logos-delivery-module#170](https://github.com/logos-co/logos-delivery-module/pull/170) test(e2e): nodes with RLN on, tests without membership + - Open: [logos-co/logos-delivery-module#171](https://github.com/logos-co/logos-delivery-module/pull/171) test(e2e): tests with RLN membership + - Open: [logos-co/logos-delivery-module#175](https://github.com/logos-co/logos-delivery-module/pull/175) test(e2e): logosctl instead of logoscore + - Open: [logos-co/logos-delivery-module#177](https://github.com/logos-co/logos-delivery-module/pull/177) test(e2e): start RLN nodes from a new LEZ wallet at the chain tip + - Open: [logos-co/logos-delivery-module#178](https://github.com/logos-co/logos-delivery-module/pull/178) test(e2e): fleet tests with RLN + - Open: [logos-co/logos-delivery-module#179](https://github.com/logos-co/logos-delivery-module/pull/179) test(e2e): refactor node setup + - Open: [logos-co/logos-delivery-module#181](https://github.com/logos-co/logos-delivery-module/pull/181) test(e2e): service disco test via plugin + - Open: [logos-co/logos-delivery-module#182](https://github.com/logos-co/logos-delivery-module/pull/182) test(e2e): extend service disco tests + - Merged: [logos-messaging/logos-delivery#4612](https://github.com/logos-messaging/logos-delivery/pull/4612) test: reproduction for #4610 + - Merged: [logos-messaging/logos-delivery#4615](https://github.com/logos-messaging/logos-delivery/pull/4615) test: refactor anvil setup + - Merged: [logos-messaging/logos-delivery#4614](https://github.com/logos-messaging/logos-delivery/pull/4614) test(e2e): cleanup old rln code + - Merged: [logos-messaging/logos-delivery#4616](https://github.com/logos-messaging/logos-delivery/pull/4616) test(e2e): bump python bindings + - Open: [logos-messaging/logos-delivery#4650](https://github.com/logos-messaging/logos-delivery/pull/4650) ci: run every job in the nightly through ci.yml + - Open: [logos-co/logos-logoscore-py#37](https://github.com/logos-co/logos-logoscore-py/issues/37) LogosctlDockerDaemon.start(): a host port picked before docker run can be taken by another container +- `other notes` + - Ran Devin security scans on status-app and status-go; reported privately as security advisories + - Open: [glitchminer/status-app#1](https://github.com/glitchminer/status-app/pull/1) pilot: agent instructions and AI review workflow + - OOO: 1 CC days. +- [`ift-ts:qa:status:2026q4-status-qa-desktop:maintenance`](/qa/status/2026q4-status-qa-desktop#maintenance) + - Merged: [status-im/status-app#22995](https://github.com/status-im/status-app/pull/22995) tests: move settings sync view verifications to QML + - Merged: [status-im/status-app#22978](https://github.com/status-im/status-app/pull/22978) chore(@e2e): network selector regression fix + - Merged: [status-im/status-app#22954](https://github.com/status-im/status-app/pull/22954) chore(@e2e): fix for nightly failures + - Merged: [status-im/status-app#22959](https://github.com/status-im/status-app/pull/22959) chore(@e2e): benchmark tests fixes +- [`ift-ts:qa:status:2026q4-status-qa-desktop:release-testing`](/qa/status/2026q4-status-qa-desktop#release-testing) + - Merged: [status-im/status-app#22993](https://github.com/status-im/status-app/pull/22993) chore: update status-go version + - Merged: [status-im/status-go#7980](https://github.com/status-im/status-go/pull/7980) feat(bridge): support float for bridge quotes +- [`ift-ts:qa:status:2026q4-status-qa-desktop:new-tests`](/qa/status/2026q4-status-qa-desktop#new-tests) + - Merged: [status-im/status-app#22951](https://github.com/status-im/status-app/pull/22951) tests(@e2e): scan qr code from image + - Open: [status-im/status-app#22895](https://github.com/status-im/status-app/pull/22895) Tests/enable threads +- [`ift-ts:qa:status:2026q4-status-go-functional-testing:coverage`](/qa/status/2026q4-status-go-functional-testing#functional-test-coverage) + - Merged: [status-im/status-go#7956](https://github.com/status-im/status-go/pull/7956) test(functional): functional tests thread RPCs + - Merged: [status-im/status-go#7969](https://github.com/status-im/status-go/pull/7969) test(functional): cover thread permission, reaction control and participants +- [`ift-ts:qa:status:2026q4-status-go-functional-testing:maintenance`](/qa/status/2026q4-status-go-functional-testing#maintenance) + - Merged: [status-im/status-go#7965](https://github.com/status-im/status-go/pull/7965) fix(functional-tests): time out the backend health check +- [`ift-ts:qa:status:2026q4-status-qa-mobile:release-testing`](/qa/status/2026q4-status-qa-mobile#release-testing) + - Checked keycard e2e coverage against the specs: 13 scenarios have no test + - 5 of our bugs fixed: [#22800](https://github.com/status-im/status-app/issues/22800) [#22909](https://github.com/status-im/status-app/issues/22909) [#22943](https://github.com/status-im/status-app/issues/22943) [#22947](https://github.com/status-im/status-app/issues/22947) [#22950](https://github.com/status-im/status-app/issues/22950) + - Open: [status-im/status-app#23000](https://github.com/status-im/status-app/issues/23000) [QA - Mobile & Desktop] Keycard applet 4.x: what to test in 2.40 + - Open: [status-im/status-app#23001](https://github.com/status-im/status-app/issues/23001) [QA - Mobile & Desktop] Keycard applet 4.x: dev tests + - Open: [status-im/status-app#23002](https://github.com/status-im/status-app/issues/23002) [QA - Mobile & Desktop] Keycard applet 4.x: status-backend tests + - Open: [status-im/status-app#22999](https://github.com/status-im/status-app/issues/22999) [Keycard] Confirm the production CA keys for card certificates before the 2.40 release + - Open: [status-im/status-app#22967](https://github.com/status-im/status-app/issues/22967) [QA - Mobile & Desktop] Spell check: what to test in 2.40 +- [`ift-ts:qa:status:2026q4-status-qa-mobile:maintenance`](/qa/status/2026q4-status-qa-mobile#maintenance) + - Traced nightlies #318 to #320 to our message locators, not delivery + - Built `/e2e-android`: a comment on a status-app PR runs the Android e2e gate + - Open: [status-im/status-app#22973](https://github.com/status-im/status-app/pull/22973) test(e2e_appium): find chat messages after the WindowedView change + - Open: [status-im/status-app#22509](https://github.com/status-im/status-app/pull/22509) ci: one BrowserStack lane per concurrent Android e2e job +- [`ift-ts:qa:status:2026q4-status-qa-mobile:coverage`](/qa/status/2026q4-status-qa-mobile#coverage-for-existing-features) + - Ranked the next e2e tests to add; nine backend-peer tests first + +### ift-ts:sec: + +- `ift:2026q4-tr-wallet-security:treasury-multisig-review` + - Paused a pending [treasury Safe](https://app.safe.global/transactions/queue?safe=eth:0xDeb4A0e8d9a8dB30a9f53AF2dCc9Eb27060c6557) owner change to verify an unfamiliar address. Finance confirmed the address belonged to Jordan and the emailed summary contained a typo; cleared the change to proceed. +- `ift:2026q4-ir-vulma:security-incidents` + - Keystone leak follow-up for team hardware-wallet holders, treasury signers first + - forum.logos.co spam wave (2026-10-27): forum isn't ours to maintain; agreed with jakubgs on IP and email-domain blocks as the response +- `ift:2026q4-ssdlc:pr-security-reviews` + - **Greptile** AI code reviewer installed on the logos-co org (14-day trial, announced 2026-10-27). First week: comments on 23 PRs across 15 repos (10 merged, 12 open), most in [nim-libp2p-mix](https://github.com/logos-co/nim-libp2p-mix), plus logos-basecamp, logos-module-builder, logos-liblogos, logos-delivery-module, logos-logoscore-cli + - Reviewed: QR scanner ([#22846](https://github.com/status-im/status-app/pull/22846), [#22871](https://github.com/status-im/status-app/pull/22871)), client-side message rendering ([#22834](https://github.com/status-im/status-app/pull/22834)), community roster privacy ([#7932](https://github.com/status-im/status-go/pull/7932), [#7938](https://github.com/status-im/status-go/pull/7938)), threads in backups ([#7886](https://github.com/status-im/status-go/pull/7886)), puzzle-auth bearer ([#7952](https://github.com/status-im/status-go/pull/7952)), `wallet_getTransfers` ([#7951](https://github.com/status-im/status-go/pull/7951)), nim-sds pin ([#7877](https://github.com/status-im/status-go/pull/7877)) +- `ift:2026q4-ssdlc:keycard-vulnerability-reviews` + - Applet master-key export fix ([status-keycard#135](https://github.com/keycard-tech/status-keycard/pull/135)), Shell OpenPGP signing ([keycard-shell#227](https://github.com/keycard-tech/keycard-shell/pull/227)), hardware-integrity guide ([keycard-website#275](https://github.com/keycard-tech/keycard-website/pull/275)) +- `ift:2026q4-security-automation:threat-intel-alerting-and-news-sharing` + - Tracked and shared: poisoned Claude Code extension in the Cursor marketplace (up to ~5,000 developers), Binance probing a potential $5.8B theft, Polymarket breach claims, Linux kernel TCP flaw rated CVSS 9.8 ([The Hacker News](https://thehackernews.com/2026/10/linux-kernel-tcp-flaw-with-98-cvss.html)) +- `ift:2026q4-iam-operations:access-revalidation-and-cleanup` + - Access scope checked on the new private repos [bi-webhook-server](https://github.com/status-im/bi-webhook-server), [logos-ledger-ui](https://github.com/logos-co/logos-ledger-ui), [logos-rpg](https://github.com/logos-co/logos-rpg) +- `ift:2026q4-internal-audit:logos-blockchain-security-review` + - Reviewed open issues: Confirmed 6 issues were fixed. Closed. + - Started a plan for offensive testing (red teaming) + - Reported 3+6 findings (2 high, 7 medium): [#275](https://github.com/logos-co/audit-reports/issues/275) - [#283](https://github.com/logos-co/audit-reports/issues/283) +- `ift:2026q4-internal-audit:logos-execution-zone-security-review` + - Reviewed PR #464 in lez-program. + - Confirmed the findings from that review were fixed. + - Closed [#264](https://github.com/logos-co/audit-reports/issues/264) + - Reviewed open issues: Confirmed 11 issues were fixed. Closed. + - Reported 7 new security findings: + - 1 critical [#268](https://github.com/logos-co/audit-reports/issues/268), + - 3 high [#269](https://github.com/logos-co/audit-reports/issues/269), [#270](https://github.com/logos-co/audit-reports/issues/270), [#271](https://github.com/logos-co/audit-reports/issues/271), + - 3 medium: #272, #273, #274. +- `other notes` + - Reviewed security scanning tools: Claude-security (Anthropic), Devin (Cognition), and zkao (zksecurity). + +### ift-ts:web: + +- [`ift-ts:web:logos:2026q4-logos-website:basecamp-lp`](/web/logos/2026q4-logos-website#basecamp-landing-page-revamp) + - Completed and merged the Basecamp landing page renewal, including responsive layouts, interactive previews and platform-aware installation links: [PR](https://github.com/logos-co/logos-web/pull/238) + - Merged: Replaced the build section screenshot with the supplied full-resolution image: [PR](https://github.com/logos-co/logos-web/pull/253) + - Merged: Updated the participation copy to explain EmPoWering and receiving initial tokens through Proof-of-Work: [PR](https://github.com/logos-co/logos-web/pull/259) +- [`ift-ts:web:logos:2026q4-logos-website:rfp-lambda-prize-lp`](/web/logos/2026q4-logos-website#rfp-and-lambda-prize-landing-page-updates) + - Open: Added the Developer Programmes page and rebuilt Lambda Prize from the latest Figma v3 designs: [PR](https://github.com/logos-co/logos-web/pull/255) + - Implemented desktop and mobile layouts, expandable programme cards, comparison tables, prize listings and resource sections. + - Made page copy, images, statistics and link destinations editable through CMS Pages, with shared prize data across both pages. + - Moved RFP listing and detail URLs from `/builders-hub/rfps` to `/rfp` and `/rfp/`, updating navigation, CTAs, canonical URLs and sitemap references. + - Added static redirects from the previous RFP URLs, retaining query strings and anchors when JavaScript is available. +- [`ift-ts:web:logos:2026q4-logos-website:logos-zine`](/web/logos/2026q4-logos-website#logos-zine) + - Merged: Replaced LAN 02 with the corrected PDF, including the updated "Pooling Commitments" text, while preserving the download URL: [PR](https://github.com/logos-co/logos-web/pull/254) +- [`ift-ts:web:logos:2026q4-logos-website:ad-hoc-features`](/web/logos/2026q4-logos-website#ad-hoc-features) + - Open: Created the Waku article migration issue, covering content preservation, CMS migration, rendering, metadata and redirects: [Issue](https://github.com/logos-co/logos-web/issues/261) + - Merged: Migrated 18 English Waku articles into CMS drafts for staging review, preserving original text, images, authors, dates and code examples: [PR](https://github.com/logos-co/logos-web/pull/262) + - Merged: Fixed duplicated article content, legacy MDX formatting, image captions and malformed links: [PR](https://github.com/logos-co/logos-web/pull/265) + - Merged the production promotion for the 18 approved Waku articles, including article metadata, canonical URLs and sitemap entries: [PR](https://github.com/logos-co/logos-web/pull/266) + - Merged: Added the Museum of Civil Liberties exhibit submission modal, including responsive layouts, input validation, keyboard focus handling and submission feedback: [PR](https://github.com/logos-co/logos-web/pull/250) +- [`ift-ts:web:logos:2026q4-logos-website:maintenance`](/web/logos/2026q4-logos-website#maintenance) + - Merged: Fixed article sharing metadata to fall back to the article cover when the uploaded OG image is invalid: [PR](https://github.com/logos-co/logos-web/pull/251) + - Merged: Aligned Basecamp descriptions across the homepage, Get Started and Technology Stack pages, and fixed heading wrapping: [PR](https://github.com/logos-co/logos-web/pull/260) + - Reconciled the develop and production branch histories after the Waku promotion: [Commit](https://github.com/logos-co/logos-web/commit/39fb67d9f99c62d0faa047deef33764253cae9ad) + - Tackle [Website copy update part II](https://github.com/logos-co/logos-web/issues/257): Merged: [chore(web): update hacktivist copy](https://github.com/logos-co/logos-web/pull/258) +- [`ift-ts:web:ift:2026q4-admin-acid:ad-hoc-requests`](/web/ift/2026q4-admin-acid#ad-hoc-requests) + - Merged: Added the museum exhibit submission API with validated email delivery, request limits and origin checks: [PR](https://github.com/acid-info/admin-acid.logos.co/pull/97) + - Merged: Allowed Logos web Vercel preview origins for museum submissions, with hostname validation and regression coverage: [PR](https://github.com/acid-info/admin-acid.logos.co/pull/99) + - Open: Addressed review feedback on the security hardening and automated audit work: [PR](https://github.com/acid-info/admin-acid.logos.co/pull/90) + - Fixed input validation, newsletter queue recovery, unsubscribe consent and concurrent subscription handling. + - Integrated the latest develop changes, including museum submissions and newsletter copy lists. + - Expanded API regression coverage and reorganised security, testing and deployment documentation. + - Added an email list that receives every Luma event: [feat(local-events): add copy list emailed for every event](https://github.com/acid-info/admin-acid.logos.co/pull/95) + - Tested the features in these PRs after Infra added the environment variables to production ([infra-sites#00206153](https://github.com/status-im/infra-sites/commit/00206153)): + - Merged: [feat(local-events): city labels on Regional signups and backfill](https://github.com/acid-info/admin-acid.logos.co/pull/79) + - Merged: [feat(local-events): email new Luma events to city subscribers via Ghost](https://github.com/acid-info/admin-acid.logos.co/pull/82) + - Merged: [feat(newsletters): only subscribe real cities to the Regional Newsletter](https://github.com/acid-info/admin-acid.logos.co/pull/86) + - Merged: [fix(local-events): paginate Ghost labels and newsletters](https://github.com/acid-info/admin-acid.logos.co/pull/89) + - Merged: [feat(local-events): add copy list emailed for every event](https://github.com/acid-info/admin-acid.logos.co/pull/95) +- [`ift-ts:web:logos:2026q4-logos-media-migration:redirect-cutover`](/web/logos/2026q4-logos-media-migration#cut-over-bloglogosco-redirects-and-feeds) + - Followed up with Infra on retiring the old blog after the redirects were configured; waiting for confirmation from the Comms team before requesting shutdown: [Issue](https://github.com/status-im/infra-sites/issues/168) +- `other notes` + - Open: Created the Logos community forum issue, proposing a React/Node.js implementation in the monorepo in place of the earlier MediaWiki approach: [Issue](https://github.com/logos-co/logos-web/issues/264) + - Defined the initial scope for authentication, topics, replies, moderation, spam prevention and a protected test deployment. + - Korean translations for the Status app +- [`ift-ts:web:ift:2026q4-maintenance:maintenance`](/web/ift/2026q4-maintenance#maintenance) + - `status mobile app` + - Translated Status mobile app ads content to French for Volo: [Google sheets link](https://docs.google.com/spreadsheets/d/1WyA7Zhl552E51EPxVjzt731NuPIqN1_ZnW6VHC1MLbs/edit?gid=19218066#gid=19218066) + - `admin-acid.logos.co` + - Refactored `admin-acid.logos.co` docs: [docs(repo): split docs into README, AGENTS.md and docs/- #92](https://github.com/acid-info/admin-acid.logos.co/pull/92) + - Re-reviewed PR 90 ([security: harden application and add daily/weekly audits](https://github.com/acid-info/admin-acid.logos.co/pull/90)) fixes: flagged lock contention, slow batch member fetch, museum rate limits, calendar decimals and docs layout - [GH review here](https://github.com/acid-info/admin-acid.logos.co/pull/90#pullrequestreview-5685572033) +- [`ift-ts:web:ift:2026q4-ai-tooling:ai-docs-sync`](/web/ift/2026q4-ai-tooling#ai-docs-sync) + - Merged and tested: + - Merged: [feat(ai-docs-sync): write docs in the house style](https://github.com/acid-info/ai-tools/pull/17) + - Merged: [refactor(ai-docs-sync): drop dashes from the pr body](https://github.com/acid-info/ai-tools/pull/18) + - Merged: [docs(ai-review): apply the house style](https://github.com/acid-info/ai-tools/pull/16) + - Fixed review requests failing when the requested reviewer was the PR author (using a PAT): [fix(ai-docs-sync): skip the pr author when requesting reviewers](https://github.com/acid-info/ai-tools/pull/23) +- [`ift-ts:web:ift:2026q4-ai-tooling:ai-review`](/web/ift/2026q4-ai-tooling#ai-review-maintenance-and-tuning) + - Merged and tested: + - Merged: [refactor(ai-review): restyle the reviewer and synthesis prompts](https://github.com/acid-info/ai-tools/pull/13) + - Merged: [refactor(ai-review): drop dashes and emoji from posted reviews](https://github.com/acid-info/ai-tools/pull/15) + - Merged: [docs(ai-review): apply the house style](https://github.com/acid-info/ai-tools/pull/16) +- [`ift-ts:web:ift:2026q4-ai-tooling:monorepo`](/web/ift/2026q4-ai-tooling#shared-ai-tooling-monorepo) + - Merged and tested: [docs: apply the house style to the root docs](https://github.com/acid-info/ai-tools/pull/14) +- [`ift-ts:web:status:2026q4-status-website:maintenance`](/web/status/2026q4-status-website#maintenance) + - Fixed the mobile RSS feed issue reported by Jonathan ([GH issue comment](https://github.com/status-im/status-app/issues/22975#issuecomment-6476319915)): Merged: [fix(status.app): serve markup in the mobile news v2 feed](https://github.com/status-im/status-web/pull/1340) / [Mobile news feed](https://status.app/mobile-news/rss/v2) +- [`ift-ts:web:status:2026q4-status-wallet-extension:maintenance`](/web/status/2026q4-status-wallet-extension#maintenance) + - Reviewed and tested external contributor mmlado's merged PR: [fix(wallet): show plain-text personal_sign messages as text](https://github.com/status-im/status-web/pull/1339) +- [`ift-ts:web:ift:2026q4-e2e-testing:status-app`](/web/ift/2026q4-e2e-testing#statusapp-e2e-suite) + - Added a Playwright e2e suite for staging and production; local, not yet committed, still being tested. +- [`ift-ts:web:ift:2026q4-e2e-testing:logos-co`](/web/ift/2026q4-e2e-testing#logosco-e2e-suite) + - Added a Playwright e2e suite in a new `e2e/` workspace in `logos-web`, for staging and production; local, not yet committed, still being tested.