Skip to content

Commit

Permalink
Prep for v3.1.3
Browse files Browse the repository at this point in the history
  • Loading branch information
StarrHelixx committed May 20, 2021
1 parent 0f305c4 commit 97d3f81
Show file tree
Hide file tree
Showing 14 changed files with 47 additions and 23 deletions.
22 changes: 22 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
# Changelog

## 3.1.3 <small>(05/21/2021)</small>
- Scrape images in separate thread
- Add top level error-page
- Add ability to search for Scenes
- Add new options for cleaning backups
- Add ability to send to trash instead of delete
- Add ability to disable scene-delete confirmation
- Add ability to batch delete scenes
- Prevent playing same image consecutively, if possible
- Prevent re-downloading of cached images
- Improve core data.json saving, prevent leaving empty file
- Improve ImageFap scraping and add captcha display
- When restarting, continue playing from offset image
- Fix bug with Imgur, GfyCat, and RedGifs URL resolution
- Fix bug with Default Scene config
- Fix bug with deleted grids being left in overlays
- Fix bug with default cache path
- Fix bug with concurrent Hydrus metadata requests
- Fix bug with gif options not working for Hydrus
- Fix bug with extra Hydrus arguments not be respected
- Fix bug with Hydrus Session/API key

## 3.1.2 <small>(04/29/2021)</small>
- Allow Play Full video to advance even when seeking
- Fix subtitle styling and add to video clipper
Expand Down
10 changes: 9 additions & 1 deletion docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ These settings control various player options.
* `Show Adv Easing Controls` - enables controls for advanced [easings](effects.md) in effects
* `Show Audio Info` - when enabled, [audio information](audio_tagging#tagging-a-track) will appear during playback when a track changes.
* _This only ever applies to the first playlist_
---
* `Confirm Scene Delete` - Disabling this will hide the confirmation dialog when deleting a Scene.
* `Trash Instead of Delete` - If enabled, deleted files will be moved to the trash instead of immediately deleted.
* `Portable Mode` - Portable Mode will save a copy of your data in the same directory as the FlipFlip executable,
as well as the default save path. This needs to be enabled on each machine.
* `Disable Local Saves` - When this is on, FlipFlip will _only_ save its data to the folder with the FlipFlip
Expand Down Expand Up @@ -123,6 +126,10 @@ Backup your FlipFlip data or restore from a previous backup.
#### Auto Backup
Turn this on to automatically create a backup every time the number of configured days passes.

#### Auto Clean
Turn this on to automatically clean backups according to the configured settings. Will keep 1 backups from each of the
configured time-periods.

#### Backup Data
This creates a backup with all your current FlipFlip data (preferences, library, scenes, etc.)

Expand All @@ -131,7 +138,8 @@ A dialog will appear with a list the your FlipFlip backups (by date/time). Selec
restore and click `Restore`

#### Clean Backups
Backups might build up over time. Click `Clean Backups` to delete all but the most recent backup.
Backups might build up over time. Click `Clean Backups` to clean your backups. If you have Auto-Clean enabled, this will
use your configured rules. If Auto-Clean is off, you can choose how many of the most recent backups you'd like to keep.

## Theme
The FlipFlip UI allows you to customize the **Primary** and **Secondary** colors. You can also toggle Dark Mode on/off here
Expand Down
Binary file modified docs/doc_images/config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/doc_images/error_page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/doc_images/flipflip_home.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/doc_images/new_window.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 3 additions & 9 deletions docs/effects.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ This section controls the strobe effect. This effect restarts when the displaye
</div>
</div>

## Fade In/Out BETA
## Fade In/Out
This section controls the fade in/out effect. This effect is continuous and will continue even if the displayed image
changes.
* Choose fade in/out on/off. Control fade in/out time (ms).
Expand All @@ -89,10 +89,7 @@ changes.
</div>
</div>

?> This is a BETA effect and may produce unexpected results when used with more complex timing functions or in
combination with other effects.

## Panning BETA
## Panning
This section controls the panning effect. This effect is continuous and will continue even if the displayed image
changes.
* Choose panning on/off.
Expand All @@ -111,7 +108,4 @@ changes.
<div><img src="doc_images/panning_ex2.gif" alt="Panning Example" style="min-height:388px"></div>
<div>Using the <b>Linear</b> easing for start and the <b>Bounce Out</b> easing for end</div>
</div>
</div>

?> This is a BETA effect and may produce unexpected results when used with more complex timing functions or in
combination with other effects.
</div>
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "flipflip",
"version": "3.1.2",
"version": "3.1.3",
"main": "./dist/main.bundle.js",
"author": "ififfy",
"license": "MIT",
Expand Down
10 changes: 5 additions & 5 deletions src/renderer/components/ScenePicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -422,11 +422,6 @@ class ScenePicker extends React.Component {
v{this.props.version}
</Typography>
<div className={classes.fill}/>
<SceneSearch
displaySources={this.state.displayScenes}
filters={this.state.filters}
placeholder={"Search ..."}
onUpdateFilters={this.onUpdateFilters.bind(this)}/>
{this.state.newVersion != "" && (
<Tooltip title={`Download ${this.state.newVersion}`}>
<IconButton color="inherit" className={classes.updateIcon} onClick={this.openGitRelease.bind(this)}>
Expand All @@ -436,6 +431,11 @@ class ScenePicker extends React.Component {
</IconButton>
</Tooltip>
)}
<SceneSearch
displaySources={this.state.displayScenes}
filters={this.state.filters}
placeholder={"Search ..."}
onUpdateFilters={this.onUpdateFilters.bind(this)}/>
</Toolbar>
</AppBar>

Expand Down
2 changes: 1 addition & 1 deletion src/renderer/components/configGroups/PlayerBoolCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ export default class PlayerBoolCard extends React.Component {
<Switch checked={this.props.generalSettings.enableTrash}
onChange={this.onGBoolInput.bind(this, 'enableTrash')}/>
}
label="Trash instead of Delete"/>
label="Trash Instead of Delete"/>
</Tooltip>
</Grid>
<Grid item xs={12}>
Expand Down
2 changes: 1 addition & 1 deletion src/renderer/components/player/PlayerBars.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -896,7 +896,7 @@ class PlayerBars extends React.Component {
if (process.platform === "win32") {
remote.shell.openExternal(getCachePath(source, this.props.config));
} else {
remote.shell.openExternal(urlToPath(getCachePath(source, this.props.config)));
remote.shell.openItem(getCachePath(source, this.props.config));
}
}
}));
Expand Down
4 changes: 2 additions & 2 deletions src/renderer/data/AppStorage.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { mkdirSync, existsSync, readFileSync, renameSync, writeFile } from 'fs';
import { copyFileSync, mkdirSync, existsSync, readFileSync, renameSync, writeFile } from 'fs';

import {getBackups, portablePath, removeDuplicatesBy, saveDir, savePath} from "./utils";
import {cleanBackups} from "./actions";
Expand Down Expand Up @@ -63,7 +63,7 @@ export const defaultInitialState = {
*/
function archiveFile(filePath: string): void {
if (existsSync(filePath)) {
renameSync(filePath, (filePath + '.' + Date.now()));
copyFileSync(filePath, (filePath + '.' + Date.now()));
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/renderer/data/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ function cachePath(source: string, typeDir: string, config: Config) {
} else {
if (source) {
if (source != ST.video && source != ST.playlist) {
return saveDir + path.sep + "ImageCache" + path.sep + typeDir + path.sep + getFileGroup(source);
return saveDir + path.sep + "ImageCache" + path.sep + typeDir + path.sep + getFileGroup(source) + path.sep;
} else {
return saveDir + path.sep + "ImageCache" + path.sep + typeDir + path.sep;
}
Expand Down
4 changes: 2 additions & 2 deletions webpack.prod.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ let mainConfig = {
resolve: {
extensions: ['.js', '.json', '.ts'],
},
externals: { 'react-native-fs': 'reactNativeFs' },
externals: { 'react-native-fs': 'reactNativeFs', 'trash': 'commonjs trash' },
module: {
rules: [
{
Expand Down Expand Up @@ -61,7 +61,7 @@ let rendererConfig = {
resolve: {
extensions: ['.js', '.json', '.ts', '.tsx'],
},
externals: { 'react-native-fs': 'reactNativeFs' },
externals: { 'react-native-fs': 'reactNativeFs', 'trash': 'commonjs trash' },
module: {
rules: [
{
Expand Down

0 comments on commit 97d3f81

Please sign in to comment.