Update to Node v20.11.1 (#2352)
* Updates heroku addons for successful deployment
* Reverts changes
* Adds node update to package.json and .nvmrc file
* Edits dockerfile to new version update.
* Update node from v18.18 to v20.11.1
* node 20 updates / re (#2351)
* change mui import
* remove recompose
* remove recompose
* fix minor duplicate style
* remove recompose
* remove recompose
* remove recompose
* remove recompose
* remove recompose
* remove recompose
* add comment
* remove recompose
* remove recompose
* remove recompose
* remove recompose
* remove recompose
* remove recompose
* remove second onClick
* remove recompose and moved hook
* remove recompose
* remove recompose
* remove second variant call causing error
* remove recompose
* remove recompose
* remove recompose
* remove recompose
* remove recmpose
* remove recompose
* remove recompose
* remove recomopse
* remove recomopse
* remove recomopse
* remove recomopse
* remove recomopse
* remove recomopse
* remove recompose
* upate proper mui import
* formatting
* adjust export to fix error
* adjust export to match prev. version
* adjust export to match prev version
* adjust export to const
* redo withMutations; removing recomponse funcs
* fix texter-feedback loading error
* remove recompose import
* remove recompose funcs & import
* remove recompose import
* remove recompose dependency
* rowsMax => maxRows
* rowsMax => maxRows
* rowsMax => maxRows
* rowsMax => maxRows
* rowsMax => maxRows
* rowsMax => maxRows
* upgrade webpack-cli
* upgrade webpack-cli optionalDep
* yarn dump
* Ran npm audit and got a yarn.lock update
* npm audit fix yarn.lock update
* added @babel/plugin-syntax-flow@^7.14.5 for react-scripts > eslint-config-react-app > eslint-plugin-flowtype@8.0.3
* add unmet @babel/plugin-transform-react-jsx@^7.14.9 for react-scripts > eslint-config-react-app > eslint-plugin-flowtype@8.0.3
* yarn add eslint-plugin-react-hooks@^4.3.0 for unmet peer dep eslint-config-airbnb
* add comment explaining SQlite error
* add react-dnd peer dep
* update peerDep typescript
* Adds @babel/cli@7.23.4 to dependencies
* Adds @bable/core@7.24.0
* remove web-cli from optional dep (is in devDeps)
* Adds babel/traverse version 7.23.2 to package and yarn lock
* ran npm audit fix
* adds react-dnd@7.7.0
* Updates mobilecommons-signup to remove aws-sdk which is deprecated
* upgrade typscript from 2.7 to 2.8
* Adds babel/plugin-transform-class-properties to project dependencies
* ran yarn, new yarn.lock
* typescript from =2.8 to ^2.7
* typscript from ^2.8 tp ^3.2.1
* Adds @babel/plugin-transform-nullish-coalescing-operator to project dependencies
* Adds @babel/plugin-transform-optional-chaining into project dependencies
* Upgrade aws-sdk to version 3 standards
* Add @aws-sdk/client-sqs to deps
* Updates jobs.js and s3-pull/index.js to version 3 standards of aws - beginning of breaking change
* Add @aws-skd-/client-lamda to deps
* Adds aws-sdk/s3-request-predesigner to dependencies
* Adds @aws-sdk/client-s3 to project dependencies
* updates lambda-async index.js to use version 3 aws-sdk
* following ariques history, they reinstalled @aws-sdk/client-lambda, and got a new yarn.lock
* Updates server/telemetry.js to v3 of aws-sdk
* Adds aws-sdk/client-cloudwatch to project dependencies
* Adds @aws-sdk/client-cloudwatch-events to project dependencies
* Upgrades lambda.js to v3 of aws-sdk
* upgrade babel/cli from 7.23.9 to 7.24.1
* upgrade csv-s3-upload/index.js from v2 to v3 of aws-sdk
* upgrade enzyme-adapter-react-16 to 1.15.8 from 1.15.7
* upgrade eslint-plugin-import to 2.29.1 from 2.29.0
* upgrade @babel/core to 7.24.1 from 7.24.0
* upgrade jest-when to 3.6.0 from 3.5.2
* upgrade eslint to 8.56.0 from 8.26.0
* upgrade google-libphonenumber to 3.2.34 from 3.0.0
* remove deprecated @bandwidth/messaging for bandwidth-sdk
* adjust badnwidth/messaging.js to bandwidth-sdk
* update configs to support ESM
* upgrade isomorphic-fetch to 3.0.0 from 2.2.1
* remove unused isomophic-fetch import
* remove node-abort-controller in favor of node's native
* ajdust import to match node's native abort controller
* remove camelcase-keys in favore of humps
* remove camelcase keys in favor of humps in bulkSendMessages.js
* import camelizeKeys from humps to fix graphQL error
* upgrade dataloader to 2.2.2 from 1.4.2
* fixed string match that was missing a space
* upgrade twilio to 4.23.0 from 3.4.0, and url-join to 5.0.0 from 4.0.1
* add ESM support for filter-obj and url-join
* remove selenium-webdrive as it is no longer used
* upgrade terser-weback-pluging to 5.3.10 from 4
* removing unused functions
* remove url-join in favor of native options
* upgrade knex to 3.1.0 from 2.0.0
* upgrade pg-query-stream to 4.5.3 from 1.1.2
* upgrade redis to 4.6.13 from 3
* remove bluebird in favor for native support for promises
* upgrade query-string to 9.0.0 form 4.3.4
* update babel.config.js for esm support
* add esm support for decode-uri-component, split-on-first
* upgrade babel-loader to 9.1.3 from 9.1.0
* fix queryString import that caused error in dev mode
* updgrade @bable/eslint-parser to 7.24.1 from 7.19.1
* fix pageinfo limit in CampaignList test that threw errors when yarn test
* upgrade @babel/plugin-transform-runtime to 7.24.3 from 7.19.6
* upgrade rollbar to 2.26.4 from 2.4.4
* upgrade supertest to 6.3.4 from 6.2.3
* upgrade webpack to 5.90.1 from 5.74.0
* upgrade moment-timezone to 0.5.45 from 0.5.14
* upgrade @babel/preset-env to 7.23.9 from 7.20.2
* upgrade pg to 8.11.3 from 8.0.2
* add support for TextEncoder and TextDecoder for pg upgrade that dropped said support
* upgrade @babel/register to 7.23.7 from 7.18.9
* upgrade auth0-js to 9.24.1 from 9.14.3
* upgrade cookie-session to 2.1.0 from 2.0.0-alpha.1
* upgrade nodemailer to 6.9.9 from 6.4.16
* ran npm audit fix, got new yarn.lock
* node 20 updates (#2349)
* Update graphql + apollo packages and corresponding tests
* Replace deprecated @bandwidth/messaging with bandwidth-sdk
* Update docker image names
* Add yarn.lock updates
* fix tests and other tweaks related to node 20 (#2353)
* Update a test's expectation to align with a change in a Node exception
The failing test was testing a failure caused by trying to parse an
object as if it were a JSON string.
It’s failing because the exception thrown by a JSON parse error
changed between Node versions.
Node 16.18.0
============
```
==> node
Welcome to Node.js v16.18.0.
Type ".help" for more information.
> JSON.parse("{")
Uncaught SyntaxError: Unexpected end of JSON input
> JSON.parse({})
Uncaught SyntaxError: Unexpected token o in JSON at position 1
```
Node 20.11.1
============
```
==> nvm use 20.11.1
Now using node v20.11.1 (npm v10.2.4)
==> node
Welcome to Node.js v20.11.1.
Type ".help" for more information.
> JSON.parse({})
Uncaught SyntaxError: "[object Object]" is not valid JSON
```
* SQLite stores dates as an integer.
You can get the integer from a javascript date with `.getTime()`
* don't pin the version of -- fix github actions not working with node 20 specified in package.json
* force CI
* try v4 instead of no version specified
* update cache to v4 to get node 20 support
* use node version 20
* Try to pin strip-ansi
* try without caching
* caching is not the problem; let's force strip-ansi to use a non ESM version
* make yarn.lock consistent with pinning strip-ansi
* update actions to work with node 20
* downgrade axios to the latest v0 release to allow cypress tests to run
* Add vm-browserify fallback
* Fixed bug where batchSize and responseWindow were passed as strings instead of Numbers
* Resolving cypress tests (#2356)
* Fix bug - trying to sort a read-only property of array
* Fix spacing
* Fix error where copied nested objects are immutable
* Define how fields should be merged (Apollo InMemoryCache error)
* Parse userId when fetching and updating account
* Linter fix
* Parse user id when getting todos data
* Clean up
* Add try/catch
* Parse buying phone number limit
* Target limit table cell more precisely for integration tests
* Clean up
* my local configs
* redis updates WIP
* updated redis port
* Replace HGET with HSET where it changed erroneously; HMSET deprecated
* update some dependencies
* put back the ports
* make people.test.js run
* Use core-js to bring back setImmediate, which the redis client uses
* Don't include UI tests in rediscache tests
* The excluded UI tests don't use server components
* We need `@jest-environment jsdom` for testing UI components where we
mount react components but it doesn't include setImmediate. The
Redis client needs setImmediate which is available when we use
`@jest-environment node` but then we can't mount react components.
One size does not fit all!
* Close redis after each test suite
* not sure why TextEncoder is not found, try this
* use quit to close the connection
* only import redis if we need it
* try another way to make the pg import not barf
* python on the brain
* only do the TextEncoder and TextDecoder replacement if we need to
* Update assignment.test.js
* Update containers/AssignmentTexterContact.test.js
* Update workers/jobs.test.js
* New node 20 branch texter side boxes (#2360)
* introduce GSIntegerField for fields that require numbers (due to stricter gql update) + add to take-conversations takeConversationsBatchSize field
* revert hard coded changes to force number from string, using GSIntegerField instead
* add redundency with DYNAMICASSIGNEMTN_BATCHES
* add clarifying comment and hyperlink dynamic-assignment docs
* add clarifying comment about vetted-takeconversations
* add clarifying text about selecting multiple batch strategies
* remove forgotton debug console.log
* fix typo in cypress test
* added clarifying comment
* revert changes
* update docs to better reflect DYNAMICASSIGNMNET_BATCHES
* remove sorting method on tag object that was causing loading issues
* more tests pass with redis
* make question-resonse.test pass with redis
* all tests pass locally now!
* increase timeout for redis tests
* refactor and hopefully optimize FLUSHDB
* All tests pass again. Maybe prevent test timeout.
* debug around redis.quit
* try bumping timeout
* maybe we don't care about open handles in tests; maybe this will make CI pass
* get rid of unused import
* update nock
* and update the lock file
* don't detect open handles for redis tests
* set some redis options
* maybe clean up nock preemptively?
* adjust jest.timeout from 15000ms to 25000ms
* a hail mary to try to get redis tests to succeed
* Try using host redis instead of 127.0.0.1
I can't leave it this way but let's see if it works
* restore package.json and thinky.js and add debug logging
* try localhost
* another try to get redis to work in GHA
* 🎉 REDIS TESTS PASS 🎉
* Documentation for ComposeV2 (#2367)
* docker-compose has been deprecated with docker compose now being used. Reflected in docs and devTools
* add clarifying documentattion about ComposeV2
* Fix Google Docs Integration (#2368)
* add experimental and supporting text
* nodeId is used to create the hierarchy of the script.
By just passed nodeId[0], it was sending the object { id: x }, where "x" is the id number.
nodeId only needs the id value, x, rather than the key value pair.
* fix typos in scrub mobile numbers component
* remove private key from docs (was only for example purposes), but got in the way of gh push protection. replaced with 'aVeryLongPrivateKey'
* change the steps to get Google Docs integration working as it has changed the last 4 years.
* Revert "nodeId is used to create the hierarchy of the script."
This reverts commit 1ac88e1.
* nodeId is used to create the hierarchy of the script.
By just passing nodeId[0], it was sending the object { id: x }, where "x" is the id number.
nodeId only needs the id value, x, rather than the key value pair.
* MoveOn > StateVoices :: reflecting repo transfer to SV
* remove MoveOn survey link
* change who to ping to SV staff
* MoveOn > StateVoices :: clarify release process
* remove merge party links :: add transfer to history
* preemptively link / state latest version
* MoveOn >> StateVoices :: change demo texts
* Moveon >> StateVoices :: reference
* adjust version to 14.0
* adjust heroku deployment to deploy on 14.0.0
* add v14 release notes
* Update v14 release date
* remove moveOn survey link
---------
Co-authored-by: Arique1104 <60521756+Arique1104@users.noreply.github.com>
Co-authored-by: Ruby Engelhart <engelhartrueben@gmail.com>
Co-authored-by: Larry Person (he/him) <lp10011@gmail.com>