2019-06-09 18:33:52 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# F-Chat Rising
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This repository contains a modified version of the mainline F-Chat 3.0 client.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Key Differences
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*    Ad auto-posting 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *     Manage channel's ad settings in "Tab Settings"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *     Automatically repost ads every 11-18 minutes (randomized)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *     Auto-posting can rotate through multiple ads
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*    Link previews 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *     Hover cursor over any `[url]`  to see a preview of it
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*    Profile 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *     Kinks are auto-compared when profile is loaded
							 
						 
					
						
							
								
									
										
										
										
											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
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *     Gender, anthro/human preference, age, and sexual preference are highlighted if compatible or incompatible
							 
						 
					
						
							
								
									
										
										
										
											2019-06-09 18:33:52 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    *     Guestbook, friend, and group counts are visible on tabs
							 
						 
					
						
							
								
									
										
										
										
											2019-06-23 16:48:41 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    *     Character pictures are expanded inline
							 
						 
					
						
							
								
									
										
										
										
											2019-06-09 18:33:52 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    *     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
							 
						 
					
						
							
								
									
										
										
										
											2019-06-09 18:33:52 -05: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 )
							 
						 
					
						
							
								
									
										
										
										
											2017-10-17 20:21:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 -  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
  
						 
					
						
							
								
									
										
										
										
											2018-03-04 03:32:26 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 -  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.
							 
						 
					
						
							
								
									
										
										
										
											2018-03-04 03:32:26 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 -  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.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### 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.
							 
						 
					
						
							
								
									
										
										
										
											2018-03-04 03:32:26 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 -  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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-08 02:22:32 +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.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-10-17 20:21:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## 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.
							 
						 
					
						
							
								
									
										
										
										
											2018-03-04 03:32:26 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 -  Change into the `scss`  directory.
							 
						 
					
						
							
								
									
										
										
										
											2017-10-17 20:21:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 -  Run `yarn install` .
							 
						 
					
						
							
								
									
										
										
										
											2018-03-04 03:32:26 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 -  Run `yarn build themes/chat/{name}.scss` .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 -  Your theme file will be placed into the `scss/css`  directory.
							 
						 
					
						
							
								
									
										
										
										
											2017-10-17 20:21:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								To upgrade NPM dependencies, run `yarn upgrade`  locally. Run `yarn outdated`  to see pending upgrades.