fchat-rising/README.md

188 lines
9.9 KiB
Markdown
Raw Normal View History

2020-06-21 19:21:04 +00:00
# Download
2022-12-25 05:44:55 +00:00
[Windows](https://github.com/mrstallion/fchat-rising/releases/download/v1.20.0/F-Chat-Rising-1.20.0-win.exe) (82 MB)
| [MacOS Intel](https://github.com/mrstallion/fchat-rising/releases/download/v1.20.0/F-Chat-Rising-1.20.0-macos-intel.dmg) (82 MB)
| [MacOS M1](https://github.com/mrstallion/fchat-rising/releases/download/v1.20.0/F-Chat-Rising-1.20.0-macos-m1.dmg) (84 MB)
| [Linux](https://github.com/mrstallion/fchat-rising/releases/download/v1.20.0/F-Chat-Rising-1.20.0-linux.AppImage) (82 MB)
2020-06-18 23:11:20 +00:00
2019-09-24 19:53:43 +00:00
# F-Chat Rising
2019-09-24 19:53:43 +00:00
This repository contains a heavily customized version of the mainline F-Chat 3.0 client.
## Key Differences
2019-09-24 19:53:43 +00:00
1. **Profile matching** automatically compares your profile with others to determine with whom you are compatible.
1. **Automatic ad posting** repeatedly posts and rotates ads on selected channels.
2020-03-21 18:35:22 +00:00
1. **Link previews** popup shows a preview of an image / video when you hover your mouse over a link.
1. **Caching** speeds up profile loads and other actions.
2022-03-27 20:00:59 +00:00
1. **Smart filters** let you choose what kind of ads and posts you see in the chat.
2019-09-24 19:53:43 +00:00
2020-03-21 18:35:22 +00:00
### More Detailed Differences
2019-09-24 19:53:43 +00:00
* Channel Conversations
2019-07-15 16:59:16 +00:00
* Highlight ads from characters most interesting to you
2019-12-07 15:24:06 +00:00
* Hide clearly unmatched ads
* Ad Auto-Posting
2019-09-24 19:53:43 +00:00
* Manage channel ad settings via "Tab Settings"
* Automatically re-post ads every 11-18 minutes (randomized) for up to 180 minutes
2020-04-03 00:46:36 +00:00
* Rotate multiple ads on a single channel by entering multiple ads in "Ad Settings"
* Ad Ratings
2020-04-03 00:46:36 +00:00
* LFP ads are automatically rated (great/good/maybe/no) and matched against your profile
* Private Conversations
* View a characters' recent ads
* Link Previews
* Hover cursor over any `[url]` to see a preview of it
2020-10-31 22:26:21 +00:00
* Hover cursor over any character name to see a preview of the character
2019-07-04 19:34:21 +00:00
* Middle click any `[url]` to turn the preview into a sticky / interactive mode
2020-04-03 00:46:36 +00:00
* Link preview has an ad-blocker to minimize page load times and protect against unfriendly scripts
2021-12-29 19:23:56 +00:00
* Use alt/option key + mouse click to pin the link preview
* Profile
2019-09-24 19:53:43 +00:00
* Kinks are auto-compared when viewing character profile
2019-06-23 21:48:41 +00:00
* Custom kink explanations can be expanded inline
2019-06-30 19:15:23 +00:00
* Custom kinks are highlighted
2019-10-27 18:58:41 +00:00
* Gender, anthro/human preference, age, sexual preference, and sub/dom preference are highlighted if compatible or incompatible
2020-03-22 18:39:45 +00:00
* Guestbook, friend, and group counts are visible on tab titles
* Character images are expanded inline
* Cleaner presentation for the side bar details (age, etc.), sorted in most relevant order
* Less informative side bar details (views, contact) are separated and shown in a less prominent way
2019-06-23 21:48:41 +00:00
* Cleaner guestbook view
* Profiles, images, guestbook posts, and groups are cached for faster view
2019-12-07 15:24:06 +00:00
* Character view tabs (overview, images, etc.) stick to the top
2020-10-08 02:24:02 +00:00
* Show/hide current profile with Ctrl+P or Command+P
* Navigate back and forward in character profile view history
2019-07-30 01:32:33 +00:00
* Character Search
2019-09-24 19:53:43 +00:00
* Search results are sorted based on match scores
2020-11-21 21:35:36 +00:00
* Best matching profiles get a 'unicorn' tag
2019-09-24 19:53:43 +00:00
* Display match score in search results
* Current search filters are listed in the search dialog
2019-07-30 01:32:33 +00:00
* Search filters can be reset
2020-04-11 20:23:53 +00:00
* Search results can be filtered by species
2021-12-29 19:23:56 +00:00
* Search results can be filtered by body type
* Last 15 searches are stored and can be accessed from the 'Character search' dialog
2022-01-02 22:57:58 +00:00
* Smart Filters
* Filter out ads, channel posts, and PMs from characters based on filters such as age or kink preferences
* Auto-respond to PMs with a 'no thanks' when character profile matches with your smart filters
* Character Status Message
2020-03-21 18:35:22 +00:00
* Last 10 status messages are stored and can be accessed from the 'Set status' dialog
2019-09-24 19:53:43 +00:00
* General
2020-03-21 18:35:22 +00:00
* Character profiles, guestbooks, friend lists, and image lists are cached for faster access
2019-10-27 18:58:41 +00:00
* Conversation dialog can be opened by typing in a character name
2020-03-21 18:35:22 +00:00
* Message search matches character names
* PM list shows characters' online status as a colored icon
2020-11-13 21:33:57 +00:00
* Use `Ctrl+Tab`, `Ctrl+Shift+Tab`, `Ctrl+PgDown`, and `Ctrl+PgUp` to switch between character tabs
2020-11-27 21:04:51 +00:00
* Show number of unread notes and messages in the bottom right corner
2020-12-30 04:54:16 +00:00
* Colorblind mode
2021-12-29 19:23:56 +00:00
* Option to disable Windows high contrast mode
2021-01-22 23:18:41 +00:00
* Right click any word and select 'Look up...' to see its dictionary definition
* Technical Details for Nerds
* Upgraded to Electron 10.x
* Replaced `node-spellchecker` with the built-in spellchecker that ships with Electron 8+
* Multi-language support for spell checking (Windows only language is autodetected on MacOS)
2019-09-24 19:53:43 +00:00
2019-10-26 21:22:05 +00:00
## How to Set Up Ads
2020-03-22 18:39:45 +00:00
1. Open a conversation channel of your preference, such as `#Sex Driven LFRP`
1. Locate `Ads` dropdown at the top right corner of the channel view
2020-11-25 05:44:22 +00:00
1. Click `Ads > Edit Channel Ads...`
2020-03-22 18:39:45 +00:00
1. Enter one or more ads
2019-10-26 21:22:05 +00:00
1. Click `Save settings`
2020-03-22 18:39:45 +00:00
1. Click `Ads > Start Posting Ads`
1. To stop, click `Ads > Stop Posting Ads`
2019-10-26 21:22:05 +00:00
2019-09-24 19:53:43 +00:00
## FAQ
2020-03-22 18:39:45 +00:00
1. The more information you have in your profile (**non-custom** kinks in particular), the better the matching quality will be. The algorithm considers the following data points:
* Age
* Gender
* Sexual preference
* Dominance preference
* Human/anthro preference
2021-03-25 21:54:10 +00:00
* Post length preference
2021-04-22 23:49:21 +00:00
* Position preference
2020-03-22 18:39:45 +00:00
* Non-custom kinks
* Species
1. Maching for non-binary genders relies on kinks. For example, if your non-binary character has a preference for females, make sure 'females' are listed as a favorite kink.
2019-10-26 21:22:05 +00:00
1. 'Underage' kink is considered to apply to characters aged 16 or above; 'ageplay' kink is considered to apply to characters aged 16 or below.
2020-07-11 14:03:57 +00:00
1. 'Older characters' and 'younger characters' kink preferences are interpreted as age difference of 8+ years.
2019-12-07 15:24:06 +00:00
1. Comparison results will get faster over time, as more and more character data is cached.
2020-10-04 21:50:28 +00:00
1. If you have a species-fluid character (e.g. you play both your character as both a human and an anthro), you can indicate this by setting your **species** in your character profile in the following ways. F-List Rising will then score you against the best fitting type.
* Human or tiger
* Human, tiger, or dragon
* Anthro (Horse or Tiger)
* Dragon (Dwarf, Elf, or Human)
* Elf (optionally vampire or dwarf)
* Feline (optionally horse, tiger, or elf)
2019-07-04 19:34:21 +00:00
## Todo / Ideas
2019-09-24 19:53:43 +00:00
* Collect data on ads / responses to determine which ads work best
2019-07-04 19:34:21 +00:00
* Preview mode should allow detaching from the main window
2019-12-07 15:24:06 +00:00
* Improve log browsing
2019-10-26 21:22:05 +00:00
* Conversation bot API
2020-03-17 18:06:08 +00:00
* 'Filter unmatching ads' is not channel specific -- it's either on everywhere or nowhere
2020-10-08 02:24:02 +00:00
* What are the things that would make your profile more compatible with others?
2017-09-02 01:50:31 +00:00
# F-List Exported
This repository contains the open source parts of F-list and F-Chat 3.0.
2018-01-06 16:14:21 +00:00
All necessary files to build F-Chat 3.0 as an Electron, mobile or web application are included.
2017-09-02 01:50:31 +00:00
## Setting up a Dev Environment
- Clone the repo
- Install [Yarn](https://yarnpkg.com/en/docs/install)
- Change into the cloned directory and run `yarn install`. If you only want to make a custom theme, you do not need to do this!
2017-09-02 01:50:31 +00:00
- IntelliJ IDEA is recommended for development.
## Building for Electron
- To build native Node assets, you will need to install Python 2.7 and the Visual C++ 2015 Build tools. [More information can be found in the node-gyp docs.](https://github.com/nodejs/node-gyp#installation)
2017-09-02 01:50:31 +00:00
- Change into the `electron` directory.
- Run `yarn build`/`yarn watch` to build assets. They are placed into the `app` directory.
2017-09-02 01:50:31 +00:00
- Run `yarn start` to start the app in debug mode. Use `Ctrl+Shift+I` to open the Chromium debugger.
### Building on Windows
```
2019-09-24 19:53:43 +00:00
npm install --global --production --vs2015 --add-python-to-path windows-build-tools node-gyp
```
2017-09-02 01:50:31 +00:00
### Packaging
See https://electron.atom.io/docs/tutorial/application-distribution/
- Run `yarn build:dist` to create a minified production build.
2018-09-28 00:08:10 +00:00
- Run `yarn run pack`. The generated installer is placed into the `dist` directory.
2018-08-10 16:59:37 +00:00
- On Windows you can add the path to and password for a code signing certificate as arguments.
- On Mac you can add your code signing identity as an argument. `zip` is required to be installed.
2018-08-18 19:37:53 +00:00
- On Linux you can add a GPG key for signing and its password as arguments. `mksquashfs` and `zsyncmake` are required to be installed.
2017-09-02 01:50:31 +00:00
2018-01-06 16:14:21 +00:00
## Building for Mobile
- Change into the `mobile` directory.
- Run `yarn build`/`yarn watch` to build assets. They are placed into the `www` directory.
- For Android, change into the `android` directory and run `./gradlew assembleDebug`. The generated APK is placed into `app/build/outputs/apk`.
- For iOS, change into the `ios` directory and open `F-Chat.xcodeproj` using XCode. From there, simply run the app using the play button.
2017-09-02 01:50:31 +00:00
## Building for Web
- Change into the `webchat` directory.
- Run `yarn build`/`yarn watch` to build assets. They are placed into the `dist` directory.
- The compiled main.js file can be included by an HTML file that is expected to provide a global `const chatSettings: {account: string, theme: string, characters: ReadonlyArray<string>, defaultCharacter: string | null};`. It should also normalize the page to 100% height.
## Building a custom theme
See [the wiki](https://wiki.f-list.net/F-Chat_3.0/Themes) for instructions on how to create a custom theme.
- Change into the `scss` directory.
- Run `yarn install`.
- Run `yarn build themes/chat/{name}.scss`.
- Your theme file will be placed into the `scss/css` directory.
2017-09-02 01:50:31 +00:00
## 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.
2020-03-15 02:31:28 +00:00
To upgrade NPM dependencies, run `yarn upgrade` locally. Run `yarn outdated` to see pending upgrades.
2022-03-19 22:22:26 +00:00
If you encounter error 'Could not detect abi for version X.X.X and runtime electron', try running
`npx uuaw node-abi`