politics-rewired/
Politics Rewired's fork of Spoke
USD raised
Recent activities
Add better support for when a text reaches the max message length
Notify admins about campaigns that have low delivery rates
UI adjustments for autoapprove actions
Prominently display estimated time to complete 10DLC registration in Spoke
campaign-exports: send one email per bulk export operation
Support viewing inbound MMS
Add Karla font family to Material UI theme
Allow multiple cells in contact CSV upload
Expand 10DLC warnings for organizations with multiple messaging services
Add a "Contact Support" button to Spoke
Bulk script editor is applied across the instance instead of limited to the organization
Use session-based Spoke Portal magic link
Allow filtering by campaign group in Message Review
Allow filtering by multiple campaigns in Message Review
Support creating a template from an existing campaign
Add a button for adding preselected tag to the texter UI
Add visibility to Spoke administrators on pricing plan applied
Disable automatic opt out by keyword for select instances
MMS support in Script Editor
Update HIDE_CAMPAIGN_STATE_VARS_ON_ARCHIVED_CAMPAIGNS to SHOW...
Restore fuction of updated_at timestamp in Message Review conversations
Convert array-type columns to dedicated tables
Write "how to run Spoke tests locally" documentation
Convert JSON fields from text to jsonb
Add custom tags sorting or quick-add button
NGP Integration that does the same thing as the VAN integration
Improve campaign archiving performance
Add unreplied conversations metric to autosending page
Prevent cursor from jumping to end of line in interaction script fields
Allow team-specific reply release
Distinguish between assignee and message sender filters in message review
[bug] texters cannot apply tags
Bulk script editor does not include special characters in replacement
Bulk script editor repeats replace phrase
Explicit consent from Spoke users to sign up for notifications
Assignment request form allows submission when fields are invalid
Set lower query timeout threshold
Disable MUI full library imports
Upgrade to Node v18 LTS
Campaign is not archived after clicking the archive button and waiting ~5-10 minutes (and longer)
Support canned response libraries
Allow starting autosending from the campaign builder page
Allow autosending scheduling
[draft] perf: split campaign_contact and message tables
Add brace style linting
spending estimate tools within spoke
Refactor GSScriptOptionsField
Automatic Reply Handling
Autosave assignment control rows
Add organization setting for preserving autoassign state when copying a campaign
Better instrument `sendMessage` calls for different types of error handling
[WIP] Design Doc: Script Editor
Disambiguate 'sending' message state
Add "canvassed" support for only messaged contacts
Add graphql-config
Reset Filter Landlines after contact list deleted
Ambiguous error shown when texting outside of contact hours from message review
Standardize task priorities
Allocate auto-send rate per-organization
Texter UI components not responsive on Android device
Replace standard-version
Update URL with correct organization ID when visiting campaign detail page
Spoke Sign Up form includes Teams To Join
Allow certain question responses to double as opt outs
Delete VAN integration
Use Rewired branding
Display auto-sending sign up documentation by default
Filter autosending page results by campaign group
Compartmentalize client / server directory
Refactor schema.js
ActBlue reporting integration
Bulk script editor groups script versions in FIND function
Unify front- and back-end approach to enums
Upgrade MUI popover to v4
Upgrade MUI color picker for v4
Upgrade MUI dropdown menus to v4
Upgrade MUI dialogs to v4
Upgrade MUI autocomplete to v4
Upgrade MUI muiThemeable() to v4
Upgrade MUI chip input to v4
Upgrade MUI stepper to v4
Upgrade MUI snackbar to v4
Upgrade MUI toggle to v4
Upgrade MUI avatars to v4
Upgrade MUI dividers to v4
Upgrade MUI TextField to v4
Upgrade MUI badges to v4
Upgrade MUI toolbars to v4
Upgrade MUI selects to v4
Switch to interface-based tasks API
Add default template campaigns
Campaign variables should populate in Interactions tab and Script Preview
"Unassign Texts for User" does not complete when suspending a user
Landline filtration has a long completion time
Contact list upload has a long completion time
Separate Redis caching into 4 tiers which can be independently enabled
Serve Javascript bundle from CDN
Support regex in bulk script editor campaign filter
Colorblind Mode
Bad "mark for P2" error messages on autosending campaigns
Add updated_at triggers to tables where it is missing
Upgrade knex to v2.x
Compress image attachments for MMS
Autosending contact limit configurable by campaign
Refactor Messaging Service selection in Campaign Builder
Trollbot should not require a webhook url
[Message Review] Manage tags select options load in the wrong area after first load
Contacts module shows "upload successful" message after "delete unmessaged" operation
Message Review Filters and Actions cards cannot be toggled using header
Filtering campaigns by ID in Message Review Filters does not work
TexterRequest UI can send invalid GraphQL request
Drop type exports from src/api/*.ts in favor of codegen types
Add messaging service management to client app
Support overriding VAN contact type
Multiple autosending campaigns can show as "sending"
Script Preview Populating with Campaign Variables
Standardize GraphQL error handling
Add user notifications for replies
Update pg-compose with latest graphile-worker
Upgrade graphile-worker to deal with some performance issues
Auto collapse interaction steps (organization setting)
Autosending has long page load time
Disable editing interactions and canned responses for supervolunteers
Add descriptive error message for sending from message review outside campaign texting hours
Limit autosend access
Spoke architecture meta ticket
UX is confusing for initial messages on overdue campaigns
Notify user when they change their information
Clear contact message status filter in message review by default
Enable next button after copying newest campaign
Simplify auto-assignment views
Message Review select fields do not allow typing to filter
Reenable `cookie.secure` option for express-session
Prompt enable autoassign at campaign launch
Slim mode
Copy block from script preview
Add name, email and external ID to Message Export columns
Add escalator's name in escalated messages
Upgrade MUI chips to v4
Replace MUI data tables with DataGrid
Upgrade MUI lists to v4
Upgrade MUI menus to v4
Upgrade MUI cards to v4
Upgrade MUI icons to v4
Switchboard authentication errors fail silently
Fix clipboard UX bug in Safari
Refactor Organization Settings
Display success message when creating new short link domain
Store the name of the uploaded CSV
Allow removing user from organization
Add "awaiting-approval" state to campaigns
Adding Error Codes to Campaign export file
Add organization setting for notifying on reply received for archived campaign
Prevent starting a campaign if invalid custom fields are present in script
Utilize query whitelisting
Disable introspection query
Rate limit vulnerable endpoints
Redirect navigation to screens for an invalid campaign or organization
Display of inbound images and emojis
Support bulk campaign creation
Support script import from word processor file
Switch to pgtyped for queries
Warn the user if their scripts contain large chunks of duplicate text
Improve performance of escalated conversations query
Fix typo of defaulTexterApprovalStatus property
Automatic opt-out for common opt-out language, e.g. "STOP"
A/B testing analysis for script versions
Add descriptive error message for copying an invalid campaign
Restrict initials assignment until replies are handled per campaign
Support Trollbot Trigger Import Across Organizations
Support sending MMS without an image
Script warning showed a short link warning instead of a long link warning
Add a search for archived campaigns
Update react-router to v6
Set page title based on active routing path
Copied campaign should retain basics and campaign group
add support for organization name in invite payload
Increase contrast of Current Question text from Texter
Timeouts fetching escalated conversations
Type pagination utilities
Add shortlink documentation link
Package Installation
Organization-wide dashboards
Support VAN "contact type"
Error code 22P02 when uploading contacts if using Nexmo as messaging service
Cancel active PG query on discard job
Proactive rather than reactive TrollBot scanning
Add option to rotate an organization's join link uuid
Add bio field to username/password signup
Allow configuring overflow assignment
Rethink Texters section for more than just initial messages
Screen wiped when adding a tag alongside Escalated tag
Spoke allows saving of duplicate canned response titles
Invert values and results in pie charts on campaign details page
Custom escalation tags should not require adding the team to campaigns
Add warning message when contact list does not include external ID
Support exporting multiple campaigns at once
Support CSV exclusion lists within Campaign Builder
Optionally block outbound segments containing Trollbot trigger words
Optionally require texters to finish replies before requesting new texts
Show confirmation when filtering landlines
Add internationalization/localization support
Add search to campaign list page
Preserve last 4 digits of VAN API Key in truncation
Darken the gray arrow for the response dropdown
Add broadcast/alert from admins in Texter Todos
schema.js
> If you're already pulling the business logic up and out of the resolver, I think it makes sense to move it to separate files. `schema.js` is just so bloated.
SAVE AND GO TO NEXT SECTION button is unresponsive
Support filtering by message status and error codes from Message Review
Display hyperlink to Script Preview after saving in Interactions
Add Script Preview link to assignment display in Texter Todos
Alert admins when drafted text uses non-GSM encoding
Extend Bulk Script Editor to Canned Responses
Support copying Canned Responses
Add hyperlink to Canned Responses to table of contents in Script Preview
Optionally allow Supervolunteers to unassign and reassign from Message Review
Display "Waiting for Replies" in Texter Todos after assignment is sent
Add "pause" option for campaign status
Exclude messages with status Needs First Message and First Message Sent as initial default in Message Review
Display campaign creator on detail page
VAN sync deadlocks
Support searching by name and email in People page
Bulk-fill missing VAN sync configs
Sync Tags back to VAN
Campaign exports get stuck
Refactor (and fix) Texters section of campaign builder
Allow auto-tagging from a canned response
Expose Phone Number within Message Review
Survey Option dropdown scroll bar disappears on window resize
Modal on escalated screen locks after first action
Escalated screen showing both escalated and non-escalated conversations
Incremental UI improvement to make mobile texting possible
Prevent double sending of initial via campaign_contact status checks
Update the Responding UI to be more responsive and efficient
organize campaigns by folder
Send email notification when texter has outstanding replies after a certain period of time
Add Redshift/PostgreSQL integration
Allow users to join organization from a list, not just invite link
Include script hash or initial message text in contacts export
View texter progress by % and by number of texts left
Confusing "No responses yet" text on campaign summary page
Support API Tokens
Improve core workflow, keyboard navigation and focus handling.
Webhook for assignment request approval notifications
Removing an opt out removes it from all organizations, regardless of ENV VAR setting
Add option for showing complete conversation history
Re-enable dynamic assignment
Clicking "SAVE" on the Account view doesn't appear to work
Complete contact details can be accessed via GraphQL
"New Assignment" notification sent for Sweeper replies
Auth0 links should bring you to the appropriate Auth0 tab
Auth0 redirect does not always work
Modify migrations to support running against many schemas
Mobile browser's bottom bar covers Texter buttons
Password reset does not work in Mozilla
Conversation list does not begin scrolled to most recent text
Script simulator
Script builder fields are not properly escaped
Texters should be able to record a question response without sending a text
Message text pre-processors should be an array of mutating functions
No pluralization on request text count
Campaign's archived state does not update after archiving from context menu
Add sort/filter options for campaign list
organization.currentAssignmentTargets returns multiple targets for each team
Support script defaults
Add date filter to Message Review
Add full text search to Message Review
Allow navigating to first or last page in Message Review
Sweeper Opt-Out button pushed off screen on small devices
Show Teams in Message Review
Message Review does not include the latest messages in some cases
Allow exporting campaign's Question tree
View-only version of Edit Campaign page
Unselecting filter options in Incoming Message review does reset to All
Auto-release conversations after sending
Send button is pushed off the edge of the screen on mobile during initials
Tag dropdown should show all tags after receiving focus
Error from improperly formatted zip-code is not surfaced to user
Add character/segment count to message composition field
Support management of Assemble Switchboard sending locations
Upgrade to material-ui@1.0.0-beta.47
Sweeper detail should have same functionality as Texter conversation view
Twilio headerValidation fails when it falls back to BASE_URL
Organization texting hours should always be enabled
Texter To-do list UI overflows on mobile
Validate delivery report payloads
Purge environment variables
Feature Request (Bug?) Update the UI to reflect changes (tag, responses) when viewed via the back button
Feature Request: Make sure texts don't get sent at wee hours
Feature Request: Streamline tagging for texters
OSDI Support
© 2019 BoostIO, Inc.