Skip to content

Latest commit

 

History

History
103 lines (78 loc) · 3.97 KB

TODO.md

File metadata and controls

103 lines (78 loc) · 3.97 KB

General

  • [DONE] Rely upon MultiJson for JSON encoding and decoding

  • Support thread-safe streams

    A single stream used in several threads to perform several simultaneous actions like consuming the stream while changing its rules.

    It's currently impossible due to EventMachine. A transition to Celluloid::IO and http.rb is required to be thread-friendly.

Rules

  • [DONE] Check rule size
  • [DONE] Add 1 or more rules to a stream
  • [DONE] Delete some rules from the stream
  • [DONE] Get all existing rules for a stream
  • [DONE] Rules equality and usage in hash as keys
  • Rule encoding (UTF-8 enforcement ?)
  • Double check a rule supports all the syntactical and semantic restrictions as defined by GNIP PowerTrack Rules reference documentation
  • Support evolution of rules in terms of addition, removal and updates.

Real-time PowerTrack

Compliance activities

See Honoring user intent on Twitter and Compliance Activities.

  • [DROPPED] Add a comply method to PowerTrack::API ? The compliance activities are broadcasted on a specific compliance stream.
  • Support the Compliance Firehose stream Compliance Firehose Reference

Account

  • Protect / Unprotect account
  • Delete account
  • Scrub geo
  • Suspend account
  • Withhold account

Status

  • Delete status
  • Withhold status

Data formats

See Data format

Disconnections

See Managing disconnections

  • [DONE] Reconnect after disconnect. See Disconnections & Reconnecting
  • [DONE] Reconnect using an exponential backoff pattern.
  • [DONE] Support Backfill (v1)
  • [DONE] Support Replay (v1)
  • Reconnect when there's a GNIP server issue signaled by the 503 HTTP response status

Other features

  • [DONE] Support test and development streams
  • [DONE] Support Replay mode (5-days back history)
  • Support status dashboard
  • Support Historical PowerTrack

PowerTrack v2

See Migration Guide and PowerTrack API v2.

  • [DONE] Support both v1 and v2 with the same interface/class
  • [DONE] Support new endpoint URLs
  • Support rule validator
  • Support new operators and quoted tweet filtering. Double-check with tests that the gem does not prevent their usage
  • [DONE] Support new backfill behavior
    • [DONE] Support fixed backfill period used at first connection
    • [DONE] Support fixed backfill period used at each reconnect
    • Support dynamic backfill period at each reconnect, calibrated according to the number of minutes the stream was disconnected. Emit a warning if the stream was disconnected more than 5 minutes (tweets were probably lost)
  • [DONE] Use HTTP POST verb (instead of DELETE) for rule deletions
  • [DONE] Fallback to v1 when Replay mode wants to use v2. Emit a warning.
  • [DONE] Support Replay v2 Replay API 2.0 Reference