feat: Add COP (Colombian Peso) currency support - #521
Merged
BastiOfBerlin merged 2 commits intoAug 13, 2026
Conversation
albariko97
commented
May 17, 2026
Contributor
- Add COP to supportedCurrencyCodes
- Regenerate currency-data.json with COP for all 23 locales (symbol: CO$, decimal_digits: 0)
- Fix generateCurrencyData script to output pretty-printed JSON
- Add COP to supportedCurrencyCodes - Regenerate currency-data.json with COP for all 23 locales (symbol: CO$, decimal_digits: 0) - Fix generateCurrencyData script to output pretty-printed JSON
BastiOfBerlin
pushed a commit
to BastiOfBerlin/spliit
that referenced
this pull request
Jun 11, 2026
Port several improvements from upstream spliit-app/spliit: - Exchange rates: migrate from api.frankfurter.app to api.frankfurter.dev/v1, fixing broken foreign-currency conversion (upstream spliit-app#515 / bugs spliit-app#513, spliit-app#514). - Selectors: wrap category and currency lists in cmdk's CommandList so keyboard (arrow-key) navigation works again (upstream spliit-app#491). - Group sharing: render a scannable QR code of the invite link in the share popover via qrcode.react (upstream spliit-app#500). - Currencies: add COP, VND, MKD, and MYR to the supported list and regenerate the per-locale currency data (upstream spliit-app#486, spliit-app#507, spliit-app#516, spliit-app#521). - React Compiler: enable Next.js 16's stable reactCompiler for automatic memoization, adding the babel-plugin-react-compiler dev dependency (upstream spliit-app#503). - Docker build: parse package.json name/version with POSIX tools instead of `node -p`, so the image can be built on hosts without Node.js (upstream spliit-app#219). - Docs: document the Docker Compose workflow and stack in the README (upstream spliit-app#505).
BastiOfBerlin
pushed a commit
to BastiOfBerlin/spliit
that referenced
this pull request
Jun 11, 2026
Port several improvements from upstream spliit-app/spliit: - Exchange rates: migrate from api.frankfurter.app to api.frankfurter.dev/v1, fixing broken foreign-currency conversion (upstream spliit-app#515 / bugs spliit-app#513, spliit-app#514). - Selectors: wrap category and currency lists in cmdk's CommandList so keyboard (arrow-key) navigation works again (upstream spliit-app#491). - Group sharing: render a scannable QR code of the invite link in the share popover via qrcode.react (upstream spliit-app#500). - Currencies: add COP, VND, MKD, and MYR to the supported list and regenerate the per-locale currency data (upstream spliit-app#486, spliit-app#507, spliit-app#516, spliit-app#521). - React Compiler: enable Next.js 16's stable reactCompiler for automatic memoization, adding the babel-plugin-react-compiler dev dependency (upstream spliit-app#503). - Docker build: parse package.json name/version with POSIX tools instead of `node -p`, so the image can be built on hosts without Node.js (upstream spliit-app#219). - Docs: document the Docker Compose workflow and stack in the README (upstream spliit-app#505).
|
The Colombian Peso has already landed as supported to my fork https://github.com/antonio-ivanovski/spliit-cloud give it a try on https://spliit.cloud/
|
24 tasks
BastiOfBerlin
added a commit
that referenced
this pull request
Aug 13, 2026
# fix: repair main after the MYR, MKD and COP merges `main` is currently red. #486 (MYR), #507 (MKD) and #521 (COP) were each green on their own base, but none of them was rebased onto the branch that added the Arabic locale (#540). All three hand-edited `src/lib/currency-data.json` for the 23 locales their branch knew about, so after the merges `ar` has 31 currencies while every other locale has 34. `getCurrency()` indexes the union of all locale objects with the union of all supported codes, so the missing keys break type checking: ``` $ npm run check-types src/lib/currency.ts(90,5): error TS7053: Element implicitly has an 'any' type because expression of type '"USD" | "EUR" | ... | "COP"' can't be used to index type '{ ... }'. Property 'MKD' does not exist on type '{ USD: {...}; EUR: {...}; ... }'. ``` `npm run check-formatting` fails too, on three files: ``` [warn] src/lib/currency-data.json [warn] src/lib/currency.ts [warn] src/scripts/generateCurrencyData.ts ``` ## What this PR changes **1. Regenerate `src/lib/currency-data.json`** with the existing `npm run generate-currency-data`, so every locale carries every supported code. Verified: 24 locales × 34 currencies, no gaps. The only entries that differ from the current `main`: | Change | Entries | | --- | --- | | **added** `MKD`, `MYR`, `COP` to the `ar` locale | 3 — this is the actual build fix | | **changed** `MKD` in the other 23 locales | `symbol_native` `ден` → `MKD`, `symbol` `den` → `MKD`, and `name`/`name_plural` to the `currency-list` wording | Worth flagging explicitly: #507 hand-wrote those MKD values rather than taking them from `currency-list`, so regenerating replaces them. That brings MKD in line with how every other currency in the file is produced — after this PR the file is exactly what the generator emits. If you'd rather keep `ден` as the native symbol, it should go through the generator (e.g. a small override map) so the file stays reproducible; happy to add that here if you prefer. **2. `src/scripts/generateCurrencyData.ts`** — write a trailing newline. Without it, a freshly generated data file always fails `prettier -c src`; that missing newline was Prettier's only complaint about the JSON. The `writeFileSync` call is also wrapped, since #521 left it at 86 characters. **3. `src/lib/currency.ts`** — restore the indentation of the `customChoice` ternary in `defaultCurrencyList`. #521 re-indented that block by two spaces as collateral damage; the contents are unchanged, so this is formatting only. `supportedCurrencyCodes` is untouched — MYR, MKD and COP all stay. ## Verification Full CI sequence from `.github/workflows/ci.yml`, on Node 24: ``` npm ci --ignore-scripts npx prisma generate npm run check-types # silent npm run lint # 16 problems (0 errors, 16 warnings) — unchanged from before npm run check-formatting # All matched files use Prettier code style! npx jest # 27 tests passed ``` Re-running `npm run generate-currency-data` after the commit leaves a clean working tree, which confirms the checked-in JSON is exactly the generator's output and that the trailing-newline fix holds. ## Suggestion Enabling *Require branches to be up to date before merging* on `main` would make this class of merge skew fail on the PR rather than on `main` — all three PRs here passed individually and only conflicted semantically once combined. Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
