notfire-akkoma-fe/README.md
2025-10-22 17:08:07 -04:00

113 lines
5.5 KiB
Markdown

## notfire's modified version of [akkoma-fe for iceshrimp.net](https://iceshrimp.dev/iceshrimp/akkoma-fe) with some personal qol stuff
## list of changes in this fork:
- additional confirmations for:
- post visibility (choose direct, private, unlisted, public, local)
- posting with an attachment marked sensitive but no cw (todo: fix the conf showing up with no attachments)
- biting:
- users
- notes
- notification support for both
- make boosts follow default visibility
- notification sounds:
- disabled by default, includes the misskey notif sound if enabled
- custom ones (overriding the default) that can be randomly picked from
- custom ones for certain users
- volume controls for all sounds individually
- rename "repeats" to "boosts"
- add toggle for deduping boosts (this was done by default upstream)
- raise limits:
- polls can now have up to 20 options instead of 4
- polls can now last anywhere from 1 second to 1000 years
- optional alternate gravestone when using websockets that still shows post content but removes buttons
- filters for reactions:
- matching by regex, domain-specific, or catch-all
- filters the actual reactions to post as well as notifications
- for unreads:
- option to disable favicon badge changing on unreads
- option to disable title showing unreads
- option to not scroll to the top when showing unreads
- update the list of emojis:
- switched weird unicode ones to proper emojis
- emojis are sourced from discord's list of emojis
- emojis are now sorted by category (like on every other emoji picker) instead of alphabetically
- script to get new emojis is included for future unicode versions
- cat stuff!!
- toggles for:
- showing "cat" badge on user profiles
- showing cat ears behind users' avatars
- "nyaize"-ing posts from authors with "Speak as Cat" enabled
- this requires [a backend patch](https://git.notfire.cc/notfire/iceshrimp-patches/src/branch/main/0007-cat-fields-in-akko-api.patch)
- add toggle for showing post edit notifications
- add support for accepted follow request notifications
- this requires [a backend patch](https://git.notfire.cc/notfire/iceshrimp-patches/src/branch/main/0005-previews-in-mastoapi.patch)
- add option to prevent page from getting pushed when making a new post with streaming api enabled (similar to 3rd "for unreads" option)
- add link on user card to open profiles in iceshrimp-fe
- add option to open conversation view by clicking empty space in posts
- add ability to close the reply box under posts that were deleted
- also an option to close it automatically
- add a script to download ruffle for flash support (requires python3 and requests library)
- download by entering `tools/` and running `python3 download_ruffle.py`
### also of note for anyone running this fork
n/a
---
# Akkoma-FE
![English OK](https://img.shields.io/badge/English-OK-blueviolet) ![日本語OK](https://img.shields.io/badge/%E6%97%A5%E6%9C%AC%E8%AA%9E-OK-blueviolet)
This is a fork of Akkoma-FE from the Pleroma project, with support for new Akkoma features such as:
- MFM support via [marked-mfm](https://akkoma.dev/sfr/marked-mfm)
- Custom emoji reactions
# For Translators
The [Weblate UI](https://translate.akkoma.dev/projects/akkoma/pleroma-fe/) is recommended for adding or modifying translations for Akkoma-FE.
Alternatively, edit/create `src/i18n/$LANGUAGE_CODE.json` (where `$LANGUAGE_CODE` is the [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for your language), then add your language to [src/i18n/messages.js](https://akkoma.dev/AkkomaGang/pleroma-fe/src/branch/develop/src/i18n/messages.js) if it doesn't already exist there.
Akkoma-FE will set your language by your browser locale, but you can temporarily force it in the code by changing the locale in main.js.
# FOR ADMINS
To use Akkoma-FE in Akkoma, use the [frontend](https://docs.akkoma.dev/stable/administration/CLI_tasks/frontend/) CLI task to install Akkoma-FE, then modify your configuration as described in the [Frontend Management](https://docs.akkoma.dev/stable/configuration/frontend_management/) doc.
## Build Setup
Make sure you have [Node.js](https://nodejs.org/) installed. You can check `/.woodpecker.yml` for which node version the Akkoma CI currently uses.
``` bash
# install dependencies
corepack enable
yarn
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# run unit tests
npm run unit
```
# For Contributors:
You can create file `/config/local.json` (see [example](https://akkoma.dev/AkkomaGang/akkoma-fe/src/branch/develop/config/local.example.json)) to enable some convenience dev options:
* `target`: makes local dev server redirect to some existing instance's BE instead of local BE, useful for testing things in near-production environment and searching for real-life use-cases.
* `staticConfigPreference`: makes FE's `/static/config.json` take preference of BE-served `/api/statusnet/config.json`. Only works in dev mode.
FE Build process also leaves current commit hash in global variable `___pleromafe_commit_hash` so that you can easily see which pleroma-fe commit instance is running, also helps pinpointing which commit was used when FE was bundled into BE.
# Configuration
Edit config.json for configuration.
## Options
### Login methods
```loginMethod``` can be set to either ```password``` (the default) or ```token```, which will use the full oauth redirection flow, which is useful for SSO situations.