🌺 Frolic!

A modern client for F-list's F-Chat


Development & Best Practices

This page describes how to set up a development environment to help with testing and running unreleased versions of Frolic.

Code of Conduct

Read our Code of Conduct to see if your development goals align with Frolic’s.

Development

Frolic uses NodeJS 16.x and may not work on newer versions. Having a system node of a higher version probably won’t hurt anything. The lead developer uses version 22. Use nvm or nvm-windows to simplify your life.

# Windows only:
npm install --global --production --vs2015 --add-python-to-path yarn node-gyp

# Ubuntu only:
sudo apt install libsecret-1-dev

# MacOS only:
brew install python-setuptools

# All operating systems:
git clone https://github.com/Frolic-chat/Frolic.git
cd Frolic
yarn

# Optional; make sure your commits are anonymous
git config --local user.name "SOME NAME"
git config --local user.email "some@email.com"

Dev Mode

Run two processes simultaneously:

# Process 1 -- watch
cd electron
yarn watch
# Process 2 -- app
cd electron
yarn start
# Use `Ctrl+Shift+I` to open the Chromium debugger.

Build

cd electron
yarn build:dist
node pack.js

Build Failure Troubleshooting

Unusual behavior while building can be caused by artifacts from past build failures. Removing or renaming these directories is a good first-step to troubleshooting:

Dependencies

Note: Adding and upgrading dependencies should only be done with prior consideration and subsequent testing.

That’s why yarn.lock exists and is version controlled.

To upgrade NPM dependencies, run yarn upgrade locally. Run yarn outdated to see pending upgrades.

If you encounter error ‘Could not detect abi for version X.X.X and runtime electron’, try running npx uuaw node-abi


This is a documentation page. If the content of this page is inaccurate or incomplete, please submit a report to our issue tracker. We appreciate your help in keeping Frolic documentation up-to-date!