2023-07-19 12:15:08 -06:00
# Firefish
Welcome to the new era of FIREFISH!
2023-07-19 16:20:22 -06:00
< img src = "https://codeberg.org/firefish/firefish/raw/branch/develop/animated.svg" height = "320px" / >
2023-07-19 12:15:08 -06:00
# Changelog
## Major changes from last release candidate
2023-07-19 16:20:22 -06:00
- Firefish branding and [new repo ](https://codeberg.org/firefish/firefish )!
2023-07-19 12:15:08 -06:00
- Far better Mastodon API support
- Edits are now non-experimental
- Support for secondary cache server
- Link verification with `rel=me`
- Store antennas in cache
- Post imports with media
- Sytle fixes
- More translations
- Performance upgrades
- Bug fixes
- Faster build
- [FoundKey ](https://genau.qwertqwefsday.eu/notes/9h0lqlg05m ) -> Firefish migration fixes
## Major changes from stable
All of the above, plus:
- Post editing
- Post imports
- New post design
- New header design
- Better accessibility
- Server silences
- Modmail
- New MFM effects
- Meilisearch search engine
- Channel search
- Improved system emails
- cuid2 IDs
- Emoji skin tones
- New 2FA flow
- Reduced visual clutter
- Deck view improvements
# Upgrading
## If upgrading from v13 (old stable)
**In addition to the rest of the steps after this**:
- Install the Rust toolchain (v1.68.0 or higher): < https: // www . rust-lang . org / tools / install >
- (Optional) install Meilisearch to use as a search engine instead of Sonic: < https: // www . meilisearch . com />
- Replace your config file (`.config/default.yml`) with a blank version of the example (`.config/example.yml`) and re-enter the information. This will make things easier.
## Dependencies
- Upgrade to at least Node v20.3.1 (v20.4.0 recommended).
- (Optional, recommended) install DragonflyDB and configure under `cacheServer` : < https: // www . dragonflydb . io />
## Set new repo and pull
```sh
2023-07-19 16:20:22 -06:00
git remote set-url origin https://codeberg.org/firefish/firefish.git
2023-07-19 12:15:08 -06:00
git pull --ff
```
In case you get an error like:
```
error: The following untracked working tree files would be overwritten by merge:
packages/backend/assets/LICENSE
Please move or remove them before you merge.
Aborting
```
Run:
```sh
rm ./packages/backend/assets/LICENSE
2023-07-19 12:53:03 -06:00
git reset --hard origin/develop
2023-07-19 12:15:08 -06:00
git pull --ff
```
## Upgrade packages
```sh
corepack enable
pnpm i
```
## Build
```sh
NODE_ENV=production pnpm run buld
```
## Migrate
There are 3 new envoriment variables for this upgrade only, because antennas have been moved from the database to the cache.
- `ANTENNA_MIGRATION_SKIP` : skips copying antennas to cache if `true` . Default is `false` (will clear all antennas if skipped).
- `ANTENNA_MIGRATION_COPY_LIMIT` : limits how many entries are copied to cache. Default is `0` (no limit).
- `ANTENNA_MIGRATION_READ_LIMIT` : limits how many entires are read from the database
in each iteration of migration. Large value may result in faster migration, but also may consume more memory. Default is `10000` .
With default options:
```sh
NODE_ENV=production pnpm run migrate
```
With custom options (feel free to only use some):
```sh
NODE_ENV=production ANTENNA_MIGRATION_SKIP=false ANTENNA_MIGRATION_COPY_LIMIT=0 ANTENNA_MIGRATION_READ_LIMIT=1000 pnpm run migrate
```
And then restart Calckey...uh... Firefish!