Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stage main v14 (WIP) #8

Merged
merged 155 commits into from
Jul 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
4914bbc
Removes required fields for Twilio
Arique1104 Aug 8, 2022
ec053d9
Changes default service into required variable.
Arique1104 Aug 8, 2022
194a6c6
Provides explicit instruction to enter bandwidth or twilio.
Arique1104 Aug 8, 2022
73af231
Update Auth0 Lock
crayolakat Nov 29, 2022
80e675c
readmestaging20180902 removed
SshibamDebnathh Nov 29, 2022
afa9dcf
Default passportStrategy to auth0
crayolakat Nov 29, 2022
cc576e0
Add tests
crayolakat Nov 30, 2022
bbde745
Update uuid code
crayolakat Nov 30, 2022
fb3b16c
Bump decode-uri-component from 0.2.0 to 0.2.2
dependabot[bot] Dec 8, 2022
41e5b32
Bulk send implementation for US and improvements
crayolakat Dec 16, 2022
0469048
Add documentation
crayolakat Dec 16, 2022
0beec12
Bump jsonwebtoken from 8.5.1 to 9.0.0
dependabot[bot] Jan 5, 2023
a0cd0d5
Merge branch 'main' into kathy_bulk_send
crayolakat Sep 22, 2023
dcf4ea0
Add height to submit buttons
KarimAl-Rashdan Sep 27, 2023
18756c7
Add styling to topContainer for responsiveness
KarimAl-Rashdan Sep 27, 2023
295b744
Add media queries for larger phones in StyleControls
KarimAl-Rashdan Sep 27, 2023
9616fa1
Merge branch 'main' into dependabot/npm_and_yarn/jsonwebtoken-9.0.0
crayolakat Sep 28, 2023
b02118b
Update StyleControls.js
KarimAl-Rashdan Oct 2, 2023
5ea0df3
Update StyleControls.js
KarimAl-Rashdan Oct 2, 2023
c361089
updates heroku pipeline structure
Arique1104 Oct 5, 2023
2a02583
updates redis addon to mini
Arique1104 Oct 5, 2023
f411993
Updates heroku addons for successful deployment
Arique1104 Oct 5, 2023
622c618
Reverts changes
Arique1104 Oct 5, 2023
494313c
Removes required fields for Twilio
crayolakat Oct 6, 2023
f69f342
Merge remote-tracking branch 'origin/heroku_twilio_bug' into stage-ma…
crayolakat Oct 6, 2023
f0af43b
Merge branch 'kathy_bulk_send' into stage-main-13.1.0
crayolakat Oct 6, 2023
bd4425e
Update RELEASE_NOTES.md
crayolakat Oct 6, 2023
68a313f
Merge remote-tracking branch 'origin/kathy_update_auth0_lock' into st…
crayolakat Oct 6, 2023
b06e78d
Update RELEASE_NOTES.md
crayolakat Oct 6, 2023
438e7e0
Merge remote-tracking branch 'origin/kathy_auth0_issue' into stage-ma…
crayolakat Oct 6, 2023
2b21f88
Update RELEASE_NOTES.md
crayolakat Oct 6, 2023
b81d911
Merge remote-tracking branch 'SshibamDebnathh/deleted_the_readmestagi…
crayolakat Oct 6, 2023
427754c
Update RELEASE_NOTES.md
crayolakat Oct 6, 2023
54ea60b
Merge remote-tracking branch 'origin/dependabot/npm_and_yarn/decode-u…
crayolakat Oct 6, 2023
24a54d5
Update RELEASE_NOTES.md
crayolakat Oct 6, 2023
5bf91a0
Merge branch 'dependabot/npm_and_yarn/jsonwebtoken-9.0.0' into stage-…
crayolakat Oct 6, 2023
76571fe
Revert yarn.lock
crayolakat Oct 9, 2023
440ad05
Update yarn.lock
crayolakat Oct 9, 2023
c7521b7
Merge branch 'van-fix-cherry-pick-II' into stage-main-13.1.0
crayolakat Oct 9, 2023
cd581d2
Update RELEASE_NOTES.md
crayolakat Oct 9, 2023
a22c2ea
Merge remote-tracking branch 'KarimAl-Rashdan/mobile-compatible-chat'…
crayolakat Oct 9, 2023
51e306d
Update RELEASE_NOTES.md
crayolakat Oct 9, 2023
7d8253c
Merge remote-tracking branch 'origin/heroku-update' into stage-main-1…
crayolakat Oct 9, 2023
ffa6386
Update RELEASE_NOTES.md
crayolakat Oct 9, 2023
2915b4d
Merge pull request #2303 from MoveOnOrg/stage-main-13.1.0
crayolakat Oct 27, 2023
e2da4a2
Adds node update to package.json and .nvmrc file
Arique1104 Nov 9, 2023
4e153d3
Edits dockerfile to new version update.
Arique1104 Nov 9, 2023
a0af92b
Removes TravisCI from readme
Arique1104 Nov 19, 2023
aef1c7c
Updates readme
Arique1104 Nov 19, 2023
396a07f
updates MoveOnOrg to StateVoicesNational
Arique1104 Nov 19, 2023
eba154e
Merge pull request #2315 from StateVoicesNational/travis-removal
Arique1104 Nov 19, 2023
6e3de31
Updates app.json to contain SV uri
Arique1104 Dec 5, 2023
790d2eb
Updates Contributing.md to contain SV uri
Arique1104 Dec 5, 2023
06b2089
Updates package.json to contain SV uri
Arique1104 Dec 5, 2023
6d52dda
Updates pull request template to contain SV uri
Arique1104 Dec 5, 2023
b4d47f6
Updates githubworkflow to have statevoicesnational uri
Arique1104 Dec 5, 2023
72125c1
Updates line 12 to reflect sv uri
Arique1104 Dec 5, 2023
8a917d2
Updates test extension actionhandler to contain sv uri
Arique1104 Dec 5, 2023
abce3e9
Updates test server api campaign test to have correct sv uri
Arique1104 Dec 5, 2023
032f64f
Updates dev guide uri's to StateVoicesNational
Arique1104 Dec 5, 2023
5bdd2c6
Updates Azure Deploy to contain statevoices uri
Arique1104 Dec 5, 2023
5db2bac
Updates how to buy numbers to contain sv uri
Arique1104 Dec 5, 2023
471208d
Updates code review document uri's to sv
Arique1104 Dec 5, 2023
a7a584d
Updates dev local set up to contain sv uri
Arique1104 Dec 5, 2023
ac1126d
Updates heroku deployment to have sv uri
Arique1104 Dec 5, 2023
d1d6a53
Updates zapier documentation to point to sv uri
Arique1104 Dec 5, 2023
677e788
Updates twilio amazon set up doc with sv uri
Arique1104 Dec 5, 2023
81436d8
Updates extending spoke doc to contain sv uri
Arique1104 Dec 5, 2023
20e6b92
Updates how to scale spoke document to contain sv uri
Arique1104 Dec 5, 2023
9f86702
Texter sideboxes doc updated to contain sv uri
Arique1104 Dec 5, 2023
04e00b0
Updates best practices doc to contain sv uri
Arique1104 Dec 5, 2023
1177820
Updates read me doc to contain sv uri
Arique1104 Dec 5, 2023
a9ba910
Updates env variable ref doc to have sv uri
Arique1104 Dec 5, 2023
96b6bf3
Updates all release notes uris to point to sv
Arique1104 Dec 5, 2023
a3649be
Lower case sv uri update on release notes
Arique1104 Dec 5, 2023
e21c070
Updates admin script import to contain sv uri
Arique1104 Dec 5, 2023
ddfb2f7
updates jobs to contain sv uri
Arique1104 Dec 5, 2023
e217a97
Merge pull request #2322 from StateVoicesNational/adds-sv-uri
dwbond Dec 5, 2023
3eb1d18
Update node from v18.18 to v20.11.1
mau11 Mar 7, 2024
6c198f4
node 20 updates / re (#2351)
engelhartrueben Mar 22, 2024
9ce35a1
node 20 updates (#2349)
mau11 Mar 22, 2024
41784e6
Merge branch 'main' into new-node-20-branch
mau11 Mar 22, 2024
f94d03b
Update docker image names
mau11 Mar 22, 2024
93d72d0
Add yarn.lock updates
mau11 Mar 22, 2024
e986194
fix tests and other tweaks related to node 20 (#2353)
lperson Mar 25, 2024
d98eafa
update actions to work with node 20
lperson Mar 25, 2024
f6940fe
Merge pull request #2354 from lperson/new-node-20-branch
lperson Mar 25, 2024
33b573c
downgrade axios to the latest v0 release to allow cypress tests to run
lperson Mar 25, 2024
c96e3b3
Merge pull request #2355 from lperson/new-node-20-branch
lperson Mar 25, 2024
1107595
Add vm-browserify fallback
mau11 Mar 25, 2024
3c21079
Fixed bug where batchSize and responseWindow were passed as strings i…
engelhartrueben Mar 28, 2024
301289c
Resolving cypress tests (#2356)
mau11 Mar 29, 2024
2d182af
my local configs
lperson Mar 30, 2024
4dc940e
redis updates WIP
lperson Mar 30, 2024
ca70027
updated redis port
lperson Mar 30, 2024
9d5f620
Replace HGET with HSET where it changed erroneously; HMSET deprecated
lperson Mar 31, 2024
8c98b51
update some dependencies
lperson Mar 31, 2024
f0c0cf4
put back the ports
lperson Mar 31, 2024
74eae0a
make people.test.js run
lperson Mar 31, 2024
8581d7f
Use core-js to bring back setImmediate, which the redis client uses
lperson Mar 31, 2024
c9fa8ed
Don't include UI tests in rediscache tests
lperson Mar 31, 2024
1427fcf
Close redis after each test suite
lperson Mar 31, 2024
c18ce7d
not sure why TextEncoder is not found, try this
lperson Mar 31, 2024
d0a1ee8
use quit to close the connection
lperson Apr 1, 2024
9f08e42
only import redis if we need it
lperson Apr 1, 2024
b8b3ca7
try another way to make the pg import not barf
lperson Apr 1, 2024
76c3211
python on the brain
lperson Apr 1, 2024
fa43856
only do the TextEncoder and TextDecoder replacement if we need to
lperson Apr 1, 2024
f1ebfd6
Update assignment.test.js
lperson Apr 2, 2024
569e105
Update containers/AssignmentTexterContact.test.js
lperson Apr 3, 2024
0304ebb
Update workers/jobs.test.js
lperson Apr 3, 2024
cde874c
New node 20 branch texter side boxes (#2360)
engelhartrueben Apr 5, 2024
50ad058
remove sorting method on tag object that was causing loading issues
engelhartrueben Apr 23, 2024
951c8df
more tests pass with redis
lperson Apr 28, 2024
ab862e5
make question-resonse.test pass with redis
lperson Apr 28, 2024
255fb9c
all tests pass locally now!
lperson Apr 28, 2024
b704770
increase timeout for redis tests
lperson Apr 28, 2024
3fbe2b1
refactor and hopefully optimize FLUSHDB
lperson Apr 28, 2024
ed4399e
All tests pass again. Maybe prevent test timeout.
lperson Apr 28, 2024
ef7e210
debug around redis.quit
lperson Apr 28, 2024
1ac96a7
try bumping timeout
lperson Apr 29, 2024
a226e7f
maybe we don't care about open handles in tests; maybe this will make…
lperson Apr 29, 2024
2ea8cb1
get rid of unused import
lperson Apr 29, 2024
569716e
update nock
lperson Apr 29, 2024
82a8075
and update the lock file
lperson Apr 29, 2024
56f5cd9
don't detect open handles for redis tests
lperson Apr 29, 2024
e030aee
set some redis options
lperson Apr 29, 2024
6468d7d
maybe clean up nock preemptively?
lperson Apr 29, 2024
1050240
adjust jest.timeout from 15000ms to 25000ms
engelhartrueben Apr 30, 2024
a02a61e
a hail mary to try to get redis tests to succeed
lperson May 5, 2024
b91d72c
Try using host redis instead of 127.0.0.1
lperson May 5, 2024
1a95a3a
restore package.json and thinky.js and add debug logging
lperson May 5, 2024
e8e4cab
try localhost
lperson May 6, 2024
2f2f1e0
another try to get redis to work in GHA
lperson May 6, 2024
066f865
🎉 REDIS TESTS PASS 🎉
lperson May 11, 2024
577a636
Merge remote-tracking branch 'sv/new-node-20-branch' into redis-updates
lperson May 11, 2024
b7932fc
Merge pull request #2359 from lperson/redis-updates
lperson May 11, 2024
c736418
Documentation for ComposeV2 (#2367)
engelhartrueben May 23, 2024
1b76bee
Fix Google Docs Integration (#2368)
engelhartrueben May 28, 2024
a80622e
MoveOn > StateVoices :: reflecting repo transfer to SV
engelhartrueben May 29, 2024
d0af24d
remove MoveOn survey link
engelhartrueben May 29, 2024
4e1fa30
change who to ping to SV staff
engelhartrueben May 29, 2024
51ba4be
MoveOn > StateVoices :: clarify release process
engelhartrueben May 29, 2024
90c10b6
remove merge party links :: add transfer to history
engelhartrueben May 29, 2024
bfc30e8
preemptively link / state latest version
engelhartrueben May 29, 2024
b61d8fa
MoveOn >> StateVoices :: change demo texts
engelhartrueben May 29, 2024
ba026a9
Moveon >> StateVoices :: reference
engelhartrueben May 29, 2024
aa9e0cd
adjust version to 14.0
engelhartrueben Jun 4, 2024
a74953e
adjust heroku deployment to deploy on 14.0.0
engelhartrueben Jun 4, 2024
bcb8865
Merge remote-tracking branch 'upstream/new-node-20-branch' into stage…
engelhartrueben Jun 6, 2024
1743b74
adjust render-index test to reflect Dispatch favicon rather than defa…
engelhartrueben Jun 6, 2024
a7d76ae
add necessary backslashes + close out link tag
engelhartrueben Jun 6, 2024
024254d
add v14 release notes
engelhartrueben Jun 27, 2024
7d509ec
Merge remote-tracking branch 'upstream/new-node-20-branch' into stage…
engelhartrueben Jun 27, 2024
19ad2a9
changes june to july
engelhartrueben Jul 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ TWILIO_MESSAGE_VALIDITY_PERIOD=
DST_REFERENCE_TIMEZONE='US/Eastern'
PASSPORT_STRATEGY=local
TEXTER_SIDEBOXES=celebration-gif,default-dynamicassignment,default-releasecontacts,contact-reference,tag-contact,freshworks-widget,default-editinitial,take-conversations,hide-media,texter-feedback,contact-notes
DYNAMICASSIGNMENT_BATCHES=finished-replies-tz,vetted-texters,finished-replies
OWNER_CONFIGURABLE=ALL
NGP_VAN_API_KEY=
NGP_VAN_APP_NAME=
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: docker/metadata-action@v3
with:
images: |
ghcr.io/moveonorg/spoke
ghcr.io/statevoicesnational/spoke
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/cypress-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,13 @@ jobs:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Cypress run
uses: cypress-io/github-action@v4
env:
env:
DEBUG: '@cypress/github-action'
NODE_ENV: test
PORT: 3001
Expand Down
41 changes: 32 additions & 9 deletions .github/workflows/jest-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
timeout-minutes: 10
strategy:
matrix:
node-version: [14.x, 15.x, 16.x]
node-version: [14.x, 15.x, 16.x, 18.x, 20.x]
services:
redis:
image: redis
Expand All @@ -24,11 +24,14 @@ jobs:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
Expand All @@ -47,6 +50,11 @@ jobs:
image: redis
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
postgres:
image: postgres:10
env:
Expand All @@ -57,11 +65,14 @@ jobs:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
Expand All @@ -80,6 +91,11 @@ jobs:
image: redis
ports:
- 6379:6379
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
postgres:
image: postgres:10
env:
Expand All @@ -90,11 +106,14 @@ jobs:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
Expand All @@ -114,11 +133,15 @@ jobs:
ports:
- 6379:6379
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20

- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
16.18.0
20.11.1
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ If you see someone who is making an extra effort to ensure our community is welc

Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.

Any community member asked to stop unacceptable behavior is expected to comply immediately. If the member fails to comply immediately, the community organizers may take any action they deem appropriate, up to and including [blocking users from collaboration with MoveOn Github repositories](https://help.github.com/en/articles/blocking-a-user-from-your-organization) and/or temporarily banning or permanently expelling the non-complying member from the community without warning (and without refund in the case of a paid event).
Any community member asked to stop unacceptable behavior is expected to comply immediately. If the member fails to comply immediately, the community organizers may take any action they deem appropriate, up to and including [blocking users from collaboration with StateVoices Github repositories](https://help.github.com/en/articles/blocking-a-user-from-your-organization) and/or temporarily banning or permanently expelling the non-complying member from the community without warning (and without refund in the case of a paid event).

## Our Responsibilities

Expand Down
21 changes: 10 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ many important organizations!
- Please fill out the Join form there, and once you are on-boarded, we can chat live!
- ProgCode has community guidelines
- We have a weekly(ish) working group at [Progressive HackNight](https://progressivehacknight.org) that organizes in the #wg-spoke_p2p_sms_tool channel in the slack
- Feel free to [create an issue or comment on an existing issue](https://github.com/MoveOnOrg/Spoke/issues) -- Every time we hear from the outside progressive developer community, we do a little dance.
- We also welcome reaching out on our [MoveOn Spoke interest form](https://act.moveon.org/survey/spoke-project/) with questions, etc.
- Feel free to [create an issue or comment on an existing issue](https://github.com/StateVoicesNational/Spoke/issues) -- Every time we hear from the outside progressive developer community, we do a little dance.

In all forums we affirm the [Progressive Coder Community Guidelines](https://docs.google.com/document/d/1coMHvuGf6x6Qn_73SEhOXi_QaoRBM__3Zj6_5TyrmWs/edit#heading=h.ab96v3qhdgk9)

Expand All @@ -26,19 +25,19 @@ gratitude and appreciation of everyone's time and work.
Generally, the first steps are:

- Fork this repository and clone it on your local. Our main branch is called `main`.
- Get a working development environment (see the [ENVIRONMENT](https://github.com/MoveOnOrg/Spoke/blob/main/docs/HOWTO_DEVELOPMENT_LOCAL_SETUP.md) to onboard and [DEVELOPMENT TIPS](https://github.com/MoveOnOrg/Spoke/blob/main/docs/EXPLANATION-development-guidelines.md) which is included in the explanation section [docs/](https://github.com/MoveOnOrg/Spoke/tree/main/docs))-- reach out through our communication channels (above) if you have issues.
- Get a working development environment (see the [ENVIRONMENT](https://github.com/StateVoicesNational/Spoke/blob/main/docs/HOWTO_DEVELOPMENT_LOCAL_SETUP.md) to onboard and [DEVELOPMENT TIPS](https://github.com/StateVoicesNational/Spoke/blob/main/docs/EXPLANATION-development-guidelines.md) which is included in the explanation section [docs/](https://github.com/StateVoicesNational/Spoke/tree/main/docs))-- reach out through our communication channels (above) if you have issues.

### Picking an issue

- We mark issues that are good first issues with the [`good first issue` tag](https://github.com/MoveOnOrg/Spoke/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). We have these set aside for first contributions to make it more accessible to get started.
- We mark issues that are good first issues with the [`good first issue` tag](https://github.com/StateVoicesNational/Spoke/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). We have these set aside for first contributions to make it more accessible to get started.
- Comment on the issue and tell us that you're working on it. Feel free to ask any clarifying questions that you have.
- If you have an idea, then create an issue and if possible discuss with us on slack (see communication channels). If it's a big project, please use the [project proposal template](https://github.com/MoveOnOrg/Spoke/issues/new?assignees=&labels=idea+%28underspec%27d%29&template=architecture-proposal.md&title=RFC%3A+%3Cyour-proposal-title%3E). We might follow up to try to arrange a call or video chat to make sure we're all on the same page.
- If you have an idea, then create an issue and if possible discuss with us on slack (see communication channels). If it's a big project, please use the [project proposal template](https://github.com/StateVoicesNational/Spoke/issues/new?assignees=&labels=idea+%28underspec%27d%29&template=architecture-proposal.md&title=RFC%3A+%3Cyour-proposal-title%3E). We might follow up to try to arrange a call or video chat to make sure we're all on the same page.
- If you reach out to us, on github or slack we'll generally try to respond within 1 business day. If you haven't heard from us, please ping us again.

### Working on an issue

- Depending on the part of the codebase you are working on read relevant parts of [EXPLANATION-development-guidelines.md](./docs/EXPLANATION-development-guidelines.md) for some context and common gotchas.
- While working on an issue, run existing tests to make sure they still work (see [How To Run Tests](https://github.com/MoveOnOrg/Spoke/blob/main/docs/HOWTO-run_tests.md) documentation).
- While working on an issue, run existing tests to make sure they still work (see [How To Run Tests](https://github.com/StateVoicesNational/Spoke/blob/main/docs/HOWTO-run_tests.md) documentation).
- Please try adding a test

### Submitting your Pull Request
Expand All @@ -53,11 +52,11 @@ Generally, the first steps are:
Welcome to the project! Once you've completed that first contribution, there are so many different areas of Spoke that you can jump in to work on and it can be overwhelming to know how to continue your journey.

### Finding issues
- All issues that are up for grabs and mostly (if not fully) planned are listed under the [help wanted](https://github.com/MoveOnOrg/Spoke/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) label. This is a great place to start if you don't feel attached to any particular issue and just want to keep helping out.
- All issues that are up for grabs and mostly (if not fully) planned are listed under the [help wanted](https://github.com/StateVoicesNational/Spoke/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) label. This is a great place to start if you don't feel attached to any particular issue and just want to keep helping out.
- We use our [Area labels](docs/EXPLANATION-labels.md) to categorize issues into which code feature areas they belong in. Feel free to sort by an area you're interested in.
- We use our [Organization labels](docs/EXPLANATION-labels.md) to categorize issues by which organizations are prioritizing them. You can sort by your favorite org and help out there.
- More broadly, there are all sort of different [labels](https://github.com/MoveOnOrg/Spoke/labels) we use to filter the issues down and you can leverage that to help you find work.
- Lastly, you can always ping a project maintainer (@ibrand, and @schuyler1d) to get a read on what's on our radar right now.
- More broadly, there are all sort of different [labels](https://github.com/StateVoicesNational/Spoke/labels) we use to filter the issues down and you can leverage that to help you find work.
- Lastly, you can always ping a project maintainer (@mau11 and @engelhartrueben) to get a read on what's on our radar right now.

### Claiming issues
- Like for your first issue, comment on the issue and tell us that you're working on it. Feel free to ask any clarifying questions that you have.
Expand All @@ -70,7 +69,7 @@ Welcome to the project! Once you've completed that first contribution, there are
- Remember to write tests with your contribution!

### Becoming a regular
Spoke has a concept of [Access Groups](https://github.com/MoveOnOrg/Spoke/wiki/Spoke-Access-Groups) meant to give extra repo privileges to recurring contributors. Access Groups honor community members who are contributing through their issue authorship and also those who contribute code. If you continue to contribute to Spoke, there are pathways towards larger projects and community involvement.
Spoke has a concept of [Access Groups](https://github.com/StateVoicesNational/Spoke/wiki/Spoke-Access-Groups) meant to give extra repo privileges to recurring contributors. Access Groups honor community members who are contributing through their issue authorship and also those who contribute code. If you continue to contribute to Spoke, there are pathways towards larger projects and community involvement.

### Release Process

Expand All @@ -83,7 +82,7 @@ The actual process:
- We create a new stage-main branch at least twice a month:
- The stage-main branch includes the latest approved pull requests in one merged branch
- This ensures that PRs will not contain anything that breaks deployment and also will allow us to see if any PRs negatively interact with each other before they end up merged to main. Why bother with this step? It's helpful to have a separate "release candidate" on the stage-main branch because in earlier testing rounds people weren't sure what had been deployed to staging and having a separate branch makes this explicit and clear.
- After stage-main is created, we deploy it to MoveOn's staging instance. We have a small set of QA volunteers who then run through a list of [QA steps](https://github.com/MoveOnOrg/Spoke/blob/main/docs/HOWTO_QA_GUIDE.md) in order to find bugs and test new features.
- After stage-main is created, we deploy it to StateVoices staging instance. We have a small set of QA volunteers who then run through a list of [QA steps](https://github.com/StateVoicesNational/Spoke/blob/main/docs/HOWTO_QA_GUIDE.md) in order to find bugs and test new features.
- After QA is completed, and volunteers haven't identified any bugs, we deploy stage-main to production.
- We let stage-main run in production for at least a day, before merging stage-main into the main branch.
- We never roll code directly to prod without first testing on staging.
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ARG BUILDER_IMAGE=node:16.18
ARG RUNTIME_IMAGE=node:16.18-alpine
ARG BUILDER_IMAGE=node:20.11.1
ARG RUNTIME_IMAGE=node:20.11.1-alpine
ARG PHONE_NUMBER_COUNTRY=US

FROM ${BUILDER_IMAGE} as builder
Expand Down
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
[![Build Status](https://travis-ci.org/MoveOnOrg/Spoke.svg?branch=main)](https://travis-ci.org/MoveOnOrg/Spoke)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)

# Spoke
## Spoke History

Spoke is an open source text-distribution tool for organizations to mobilize supporters and members into action. Spoke allows you to upload phone numbers, customize scripts and assign volunteers to communicate with supporters while allowing organizations to manage the process.

Spoke was created by Saikat Chakrabarti and Sheena Pakanati, and is now maintained by MoveOn.org.
Spoke was created by Saikat Chakrabarti and Sheena Pakanati.

The latest version is [13.0.1](https://github.com/MoveOnOrg/Spoke/tree/13.0.1) (see [release notes](https://github.com/MoveOnOrg/Spoke/blob/main/docs/RELEASE_NOTES.md#v1301))
On November 19th, 2023, the repo Spoke was transfered from MoveOn to StateVoices.

The latest version is [14.0.0](https://github.com/StateVoicesNational/Spoke/tree/14.0.0) (see [release notes](https://github.com/StateVoicesNational/Spoke/blob/main/docs/RELEASE_NOTES.md#v1310))


## Setting up Spoke
Expand All @@ -18,21 +19,21 @@ The easiest way to get started is with Heroku. You can also learn about Spoke t
For developers, please see our recommendations for [deploying locally for development](/docs/HOWTO_DEVELOPMENT_LOCAL_SETUP.md).

Want to know more?
[Click here to visit the Spoke Documentation microsite!](https://moveonorg.github.io/Spoke/)
[Click here to visit the Spoke Documentation microsite!](https://statevoicesnational.github.io/Spoke/)


### Quick Start with Heroku
This version of Spoke suitable for testing and, potentially, for small campaigns. This won't cost any money and will not support production(aka large-scale) usage. It's a great way to practice deploying Spoke or see it in action.

<a href="https://heroku.com/deploy?template=https://github.com/MoveOnOrg/Spoke/tree/13.0.1">
<a href="https://heroku.com/deploy?template=https://github.com/StateVoicesNational/Spoke/tree/14.0.0">

<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy">
</a>

Follow up instructions located [here](/docs/HOWTO_HEROKU_DEPLOY.md).


**NOTE:** You can upgrade this deployment later for use in a production setting, but keep in mind you will need to migrate data from any prior campaigns. Thus it is best to upgrade before you start any live campaigns. This will cost ~$75 ($25 dyno + $50 postgres) a month and should be suitable for production level usage for most organizations. We recommend that if you plan to use Spoke at scale that you use [this link to deploy with a production infrastructure from the start!](https://heroku.com/deploy?template=https://github.com/MoveOnOrg/Spoke/tree/heroku-button-paid)
**NOTE:** You can upgrade this deployment later for use in a production setting, but keep in mind you will need to migrate data from any prior campaigns. Thus it is best to upgrade before you start any live campaigns. This will cost ~$75 ($25 dyno + $50 postgres) a month and should be suitable for production level usage for most organizations. We recommend that if you plan to use Spoke at scale that you use [this link to deploy with a production infrastructure from the start!](https://heroku.com/deploy?template=https://github.com/StateVoicesNational/Spoke/tree/heroku-button-paid)

Please let us know if you deployed by filling out this form [here](https://act.moveon.org/survey/tech/)

Expand Down
Loading
Loading