fchat-rising/README.md

167 lines
8.4 KiB
Markdown
Raw Normal View History

2020-06-21 14:21:04 -05:00
# Download
2020-06-28 17:40:47 -05:00
[Windows](https://github.com/mrstallion/fchat-rising/releases/download/v1.0.1/F-Chat-Rising-v1.0.1-win.exe) (68 MB)
2020-06-18 18:11:20 -05:00
2020-06-28 17:40:47 -05:00
[MacOS](https://github.com/mrstallion/fchat-rising/releases/download/v1.0.1/F-Chat-Rising-v1.0.1-macos.dmg) (72 MB)
2020-06-21 14:21:04 -05:00
2020-06-28 17:40:47 -05:00
[Linux](https://github.com/mrstallion/fchat-rising/releases/download/v1.0.1/F-Chat-Rising-v1.0.1-linux.AppImage) (74 MB)
2020-06-18 18:11:20 -05:00
2019-09-24 12:53:43 -07:00
# F-Chat Rising
2019-09-24 12:53:43 -07:00
This repository contains a heavily customized version of the mainline F-Chat 3.0 client.
## Key Differences
2019-09-24 12:53:43 -07: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 13:35:22 -05: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.
2019-09-24 12:53:43 -07:00
2020-03-21 13:35:22 -05:00
### More Detailed Differences
2019-09-24 12:53:43 -07:00
* Channel Conversations
2019-07-15 11:59:16 -05:00
* Highlight ads from characters most interesting to you
2019-12-07 09:24:06 -06:00
* Hide clearly unmatched ads
* Ad Auto-Posting
2019-09-24 12:53:43 -07:00
* Manage channel ad settings via "Tab Settings"
* Automatically re-post ads every 11-18 minutes (randomized) for up to 180 minutes
2020-04-02 19:46:36 -05:00
* Rotate multiple ads on a single channel by entering multiple ads in "Ad Settings"
* Ad Ratings
2020-04-02 19:46:36 -05: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
2019-07-04 14:34:21 -05:00
* Middle click any `[url]` to turn the preview into a sticky / interactive mode
2020-04-02 19:46:36 -05:00
* Link preview has an ad-blocker to minimize page load times and protect against unfriendly scripts
* Profile
2019-09-24 12:53:43 -07:00
* Kinks are auto-compared when viewing character profile
2019-06-23 16:48:41 -05:00
* Custom kink explanations can be expanded inline
2019-06-30 14:15:23 -05:00
* Custom kinks are highlighted
2019-10-27 13:58:41 -05:00
* Gender, anthro/human preference, age, sexual preference, and sub/dom preference are highlighted if compatible or incompatible
2020-03-22 13:39:45 -05: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 16:48:41 -05:00
* Cleaner guestbook view
* Profiles, images, guestbook posts, and groups are cached for faster view
2019-12-07 09:24:06 -06:00
* Character view tabs (overview, images, etc.) stick to the top
2019-07-29 20:32:33 -05:00
* Character Search
2019-09-24 12:53:43 -07:00
* Search results are sorted based on match scores
* Display match score in search results
* Current search filters are listed in the search dialog
2019-07-29 20:32:33 -05:00
* Search filters can be reset
2020-04-11 15:23:53 -05:00
* Search results can be filtered by species
* Last 15 searches are stored and can be accessed from the 'Character search' dialog
* Character Status Message
2020-03-21 13:35:22 -05:00
* Last 10 status messages are stored and can be accessed from the 'Set status' dialog
2019-09-24 12:53:43 -07:00
* General
2020-03-21 13:35:22 -05:00
* Character profiles, guestbooks, friend lists, and image lists are cached for faster access
2019-10-27 13:58:41 -05:00
* Conversation dialog can be opened by typing in a character name
2020-03-21 13:35:22 -05:00
* Message search matches character names
* PM list shows characters' online status as a colored icon
* Technical Details for Nerds
2020-04-12 09:07:09 -05:00
* Upgraded to Electron 9.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 12:53:43 -07:00
2019-10-26 16:22:05 -05:00
## How to Set Up Ads
2020-03-22 13:39:45 -05: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
1. Click `Ads > Edit Channel Ads`
1. Enter one or more ads
2019-10-26 16:22:05 -05:00
1. Click `Save settings`
2020-03-22 13:39:45 -05:00
1. Click `Ads > Start Posting Ads`
1. To stop, click `Ads > Stop Posting Ads`
2019-10-26 16:22:05 -05:00
2019-09-24 12:53:43 -07:00
## FAQ
2020-03-22 13:39:45 -05: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
* 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 16:22:05 -05: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.
2019-09-24 12:53:43 -07:00
1. 'Older characters' and 'younger characters' kink preferences are interpreted as age difference of 5+ years.
2019-12-07 09:24:06 -06:00
1. Comparison results will get faster over time, as more and more character data is cached.
2019-07-04 14:34:21 -05:00
## Todo / Ideas
2019-09-24 12:53:43 -07:00
* Collect data on ads / responses to determine which ads work best
2019-07-04 14:34:21 -05:00
* Preview mode should allow detaching from the main window
2019-12-07 09:24:06 -06:00
* Improve log browsing
2019-10-26 16:22:05 -05:00
* Conversation bot API
2020-03-17 13:06:08 -05:00
* 'Filter unmatching ads' is not channel specific -- it's either on everywhere or nowhere
2020-03-22 13:39:45 -05:00
* Bug? Usually submissive vs usually submissive shows up as 'maybe'
2020-03-30 10:40:25 -05:00
* Bug? YOU have 'loves humans'; THEY have 'no furry characters, just humans' -- THEIR ad shows green, not red -- your side of comparison is fully green, they just have 'no furry pairings' in red
2020-04-09 11:58:44 -05:00
* Bug? [color] acts weird
2020-06-29 13:42:42 -05:00
* Bug? inline images act weird on profiles
* Better disconnect management / API tickets?
2019-09-24 12:53:43 -07:00
2017-09-02 03:50:31 +02:00
# F-List Exported
This repository contains the open source parts of F-list and F-Chat 3.0.
2018-01-06 17:14:21 +01:00
All necessary files to build F-Chat 3.0 as an Electron, mobile or web application are included.
2017-09-02 03:50:31 +02: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 03:50:31 +02: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 03:50:31 +02:00
- Change into the `electron` directory.
- Run `yarn build`/`yarn watch` to build assets. They are placed into the `app` directory.
2017-09-02 03:50:31 +02: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 12:53:43 -07:00
npm install --global --production --vs2015 --add-python-to-path windows-build-tools node-gyp
```
2017-09-02 03:50:31 +02:00
### Packaging
See https://electron.atom.io/docs/tutorial/application-distribution/
- Run `yarn build:dist` to create a minified production build.
2018-09-28 02:08:10 +02:00
- Run `yarn run pack`. The generated installer is placed into the `dist` directory.
2018-08-10 18:59:37 +02: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 21:37:53 +02: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 03:50:31 +02:00
2018-01-06 17:14:21 +01: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 03:50:31 +02: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 03:50:31 +02: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-14 21:31:28 -05:00
To upgrade NPM dependencies, run `yarn upgrade` locally. Run `yarn outdated` to see pending upgrades.