Browse Source

- Added: Location tooltip for folders.

- Possible fix: DreamTrack load stuck.
- Improvements to DreamPower error messages.
- Waifu2X CUDA 10.2 requirement visibility improvements.
- Some improvements for Mac release.
tags/v1.5.4
Ivan Bravo Bravo 4 months ago
parent
commit
e6fa2434c1

+ 9
- 0
src/assets/css/components/_button.scss View File

@@ -50,6 +50,15 @@
}
}

&.button--warning {
@apply bg-warning text-black;

&:hover,
&:active {
@apply bg-warning-700;
}
}

&.button--danger {
@apply bg-danger text-black;


+ 2
- 1
src/assets/css/components/_form.scss View File

@@ -48,7 +48,8 @@ input[type="checkbox"] {
}

&[readonly] {
@apply text-common-light cursor-default #{!important};
@apply text-common-light #{!important};
@apply cursor-default;
}

&.input--sm {

+ 3
- 3
src/components/UI/ProjectUpdate.vue View File

@@ -43,11 +43,11 @@
</button>

<a v-if="project === 'waifu' && $settings.preferences.advanced.device === 'GPU'"
v-tooltip="'Software required to use Waifu2X on GPU.'"
class="button button--danger"
v-tooltip="'Install this to use Waifu2X on GPU.'"
class="button button--success"
href="https://developer.nvidia.com/cuda-10.2-download-archive"
target="_blank">
<span class="icon"><font-awesome-icon icon="download" /></span>
<span class="icon"><font-awesome-icon icon="external-link-square-alt" /></span>
<span>CUDA 10.2</span>
</a>


+ 5
- 3
src/electron/src/index.js View File

@@ -140,10 +140,12 @@ class DreamApp {
*/
static async setup() {
if (process.platform === 'darwin') {
const { enforceMacOSAppLocation } = require('electron-util')
if (!process.env.BUILD_PORTABLE && !process.env.DISABLE_ENFORCE_APP_LOCATION) {
const { enforceMacOSAppLocation } = require('electron-util')

// https://github.com/sindresorhus/electron-util#enforcemacosapplocation-macos
enforceMacOSAppLocation()
// https://github.com/sindresorhus/electron-util#enforcemacosapplocation-macos
enforceMacOSAppLocation()
}

// PyTorch does not have support for GPU in macOS
settings.preferences.advanced.device = 'CPU'

+ 10
- 18
src/modules/config/cli-errors.json View File

@@ -9,47 +9,39 @@
},
{
"query": "CUDA environment is not correctly set up",
"message": "To use Waifu2X with GPU it is necessary to install CUDA 10.2"
"message": "Waifu2X error: Please install <a href='https://developer.nvidia.com/cuda-10.2-download-archive' target='_blank'>CUDA 10.2</a> to use Waifu2X."
},
{
"query": "no longer supports this GPU",
"message": "The algorithm no longer supports your GPU."
"message": "Algorithm error: The algorithm no longer supports your GPU."
},
{
"query": "Buy new RAM!",
"message": "You have run out of RAM on your system! Please install more RAM on your system before using DreamTime."
"message": "You have run out of RAM on your system! Please buy more RAM before using DreamTime."
},
{
"query": "Stopped to avoid memory problems",
"message": "You have run out of RAM on your system! Please install more RAM on your system before using DreamTime."
"message": "You have run out of RAM on your system! Please buy more RAM before using DreamTime."
},
{
"query": "enforce fail at CPUAllocator",
"message": "You have run out of RAM on your system! Please install more RAM on your system before using DreamTime."
"message": "You have run out of RAM on your system! Please buy more RAM before using DreamTime."
},
{
"query": "CUDA out of memory",
"message": "Your GPU doesn't have enough VRAM! The algorithm is out of VRAM to process the photo, please buy a new GPU with more VRAM or use CPU processing."
"message": "Your GPU doesn't have enough VRAM! Please use CPU processing or buy a new GPU with more than 8 GB of VRAM."
},
{
"query": "codec can't decode byte",
"message": "There was a problem saving the nudified photo. Please make sure the folders in Settings do not have special characters or spaces."
"message": "Save error: Please make sure you have enough disk space and the folders in settings do not have special characters or spaces."
},
{
"query": "The final result is not a valid image file",
"message": "There was a problem saving the nudified photo. Please make sure you have enough disk space and the folders in Settings do not have special characters or spaces."
"message": "Save error: Please make sure you have enough disk space and the folders in settings do not have special characters or spaces."
},
{
"query": "invalid device ordinal",
"message": "The selected GPU is not a valid device. Please make sure that the GPU option in Settings is valid."
},
{
"query": "Image is not 512 x 512",
"message": "Image error: Your photo needs to be 512x512 to be nudified. Please use the 'Scale method' option or resize manually before uploading."
},
{
"query": "_mask.sameSize(*psrc1)",
"message": "Image error: Your photo needs to be 512x512 to be nudified. Please use the 'Scale method' option or resize manually before uploading."
"message": "The selected GPU is not a valid device. Please make sure that the GPU option in settings is valid."
},
{
"query": "loading Python",
@@ -93,7 +85,7 @@
},
{
"query": "not compiled with CUDA",
"message": "You have installed the CPU-only version of DreamPower. Please reinstall DreamPower to get GPU support."
"message": "You have installed the CPU-only version of DreamPower. Please reinstall DreamPower."
},
{
"query": "float division by zero",

+ 2
- 2
src/modules/config/settings.yml View File

@@ -199,7 +199,7 @@

- id: preferences.advanced.imageSize
label: Image size.
description: Size for photo rescale. Larger sizes requires more RAM and can produce less satisfactory results.
description: Photo scale size. Larger sizes requires more RAM and can produce less satisfactory results.
input: select
options:
- label: 256x256
@@ -239,7 +239,7 @@

- id: preferences.advanced.waifu.scale
label: Upscale ratio.
description: Ratios beyond 2x can decrease the quality.
description:
input: select
options:
- label: 2x

+ 22
- 20
src/modules/services/dreamtrack.js View File

@@ -9,7 +9,6 @@

import { isNil } from 'lodash'
import Ws from '@adonisjs/websocket-client/index'
import Deferred from 'deferred'
import { BaseService } from './base'
import { settings } from '../system/settings'
import { Consola } from '../consola'
@@ -95,33 +94,36 @@ export class DreamTrackService extends BaseService {
return Promise.resolve()
}

this.promise = Deferred()

consola.info(`Connecting to ${this.host}...`)
return new Promise((resolve, reject) => {
this.promise = {
resolve,
reject,
}

try {
this.timeout = setTimeout(() => {
this.resolve()
}, CONNECT_TIMEOUT)
consola.info(`Connecting to ${this.host}...`)

const ws = Ws(this.host, this.config)
try {
this.timeout = setTimeout(() => {
this.resolve()
}, CONNECT_TIMEOUT)

ws.on('open', this.onOpen.bind(this))
const ws = Ws(this.host, this.config)

ws.on('close', this.onClosed.bind(this))
ws.on('open', this.onOpen.bind(this))

ws.on('reconnect', this.onReconnect.bind(this))
ws.on('close', this.onClosed.bind(this))

ws.connect()
ws.on('reconnect', this.onReconnect.bind(this))

/** @type {import('@adonisjs/websocket-client/src/Connection').default} */
this.service = ws
} catch (err) {
consola.warn('Setup failed!', err)
return Promise.resolve()
}
ws.connect()

return this.promise.promise
/** @type {import('@adonisjs/websocket-client/src/Connection').default} */
this.service = ws
} catch (err) {
consola.warn('Setup failed!', err)
this.resolve()
}
})
}

resolve() {

+ 1
- 1
src/package.json View File

@@ -3,7 +3,7 @@
"private": true,
"displayName": "DreamTime",
"description": "Application that uses artificial intelligence to generate fake nudes.",
"version": "1.5.3",
"version": "1.5.4",
"homepage": "https://time.dreamnet.tech",
"main": "electron/dist/index.js",
"license": "GPL-3.0-only",

+ 1
- 1
src/package.min.json View File

@@ -3,7 +3,7 @@
"private": true,
"displayName": "DreamTime",
"description": "Application that uses artificial intelligence to generate fake nudes.",
"version": "1.5.3",
"version": "1.5.4",
"main": "electron/dist/index.js",
"license": "GPL-3.0-only"
}

+ 12
- 3
src/pages/about/waifu.vue View File

@@ -12,7 +12,7 @@
</h2>
</div>

<div class="right">
<div class="right buttons">
<button v-if="requirements.canUseWaifu" class="button" @click="$waifu.openAppFolder()">
App Folder
</button>
@@ -20,6 +20,15 @@
<nuxt-link v-else to="/wizard/waifu" class="button button--info">
Install
</nuxt-link>

<a v-if="$settings.preferences.advanced.device === 'GPU'"
v-tooltip="'Install this to use Waifu2X on GPU.'"
href="https://developer.nvidia.com/cuda-10.2-download-archive"
target="_blank"
class="button button--success">
<span class="icon"><font-awesome-icon icon="external-link-square-alt" /></span>
<span>CUDA 10.2</span>
</a>
</div>
</div>

@@ -70,11 +79,11 @@ export default {
@apply grid grid-cols-4 gap-3;

.left {
@apply col-span-3;
@apply col-span-2;
}

.right {
@apply flex justify-center items-center;
@apply flex justify-center items-center col-span-2;
}
}
</style>

+ 1
- 1
src/pages/nudify/_id.vue View File

@@ -10,7 +10,7 @@
<!-- Menu -->
<section class="menu__items">
<MenuItem
label="Preferences"
label="Photo Preferences"
icon="sliders-h"
:href="`/nudify/${photo.id}/preferences`" />


+ 1
- 1
src/pages/nudify/_id/preferences.vue View File

@@ -3,7 +3,7 @@
<PageHeader>
<h2 class="title">
<span class="icon"><font-awesome-icon icon="sliders-h" /></span>
<span>Preferences</span>
<span>Photo Preferences</span>
</h2>

<h3 class="subtitle">

+ 2
- 2
src/pages/photos.vue View File

@@ -3,7 +3,7 @@
<PageHeader>
<h2 class="title">
<span class="icon"><font-awesome-icon icon="images" /></span>
<span>Photos</span>
<span>My Photos</span>
</h2>

<h3 class="subtitle">
@@ -14,7 +14,7 @@
<button class="button"
@click.prevent="openFolder">
<span class="icon"><font-awesome-icon icon="folder-open" /></span>
<span>Open Folder</span>
<span>Folder</span>
</button>
</template>
</PageHeader>

+ 8
- 4
src/pages/settings/folders.vue View File

@@ -29,7 +29,7 @@
v-model="value$.folders.cli"
readonly
class="input"
title="Change"
:title="value$.folders.cli"
@click.prevent="changePower">

<input
@@ -37,6 +37,7 @@
disabled
readonly
:value="paths.getPowerPath()"
:title="value$.folders.cli"
class="input">
</SettingsField>

@@ -46,7 +47,7 @@
v-model="value$.folders.waifu"
readonly
class="input"
title="Change"
:title="value$.folders.waifu"
@click.prevent="changeWaifu">

<input
@@ -54,6 +55,7 @@
disabled
readonly
:value="paths.getWaifuPath()"
:title="value$.folders.waifu"
class="input">
</SettingsField>

@@ -64,7 +66,7 @@
:disabled="$dream.isPortable"
class="input"
readonly
title="Change"
:title="value$.folders.models"
@click.prevent="changeModels">

<input
@@ -72,6 +74,7 @@
disabled
readonly
:value="paths.getModelsPath()"
:title="value$.folders.models"
class="input">
</SettingsField>

@@ -82,7 +85,7 @@
:disabled="$dream.isPortable"
class="input"
readonly
title="Change"
:title="value$.folders.cropped"
@click.prevent="changeCropped">

<input
@@ -90,6 +93,7 @@
disabled
readonly
:value="paths.getCropPath()"
:title="value$.folders.cropped"
class="input">
</SettingsField>
</div>

+ 5
- 0
src/pages/settings/preferences.vue View File

@@ -12,6 +12,11 @@
</h3>
</PageHeader>

<div v-if="value$.preferences.mode === 3" class="notification notification--info">
<span class="icon"><font-awesome-icon icon="exclamation-triangle" /></span>
<span>Advanced mode is recommended only for experienced users. <a href="https://dreamtime.tech/docs/guide/custom-masks/" target="_blank">Click here to visit the guide</a>.</span>
</div>

<SettingsPreferences v-model="value$.preferences" />
</div>
</template>

+ 5
- 4
src/pages/wizard/power.vue View File

@@ -20,16 +20,16 @@

<div class="project__content">
<div v-if="!requirements.power.installed" class="notification notification--warning">
This component is required to continue using {{ $dreamtime.name }}.
This component needs to be installed to continue using {{ $dreamtime.name }}.
</div>

<div v-else-if="!requirements.power.compatible" class="notification notification--danger">
<h5>ALERT</h5>
The installed version is not compatible with this version of {{ $dreamtime.name }}. Please update to continue.
This component requires an update to continue to be used in this version of {{ $dreamtime.name }}.
</div>

<div v-else class="notification">
Installed version: <strong>{{ $dreampower.currentVersion }}</strong>
Installed version: <strong>{{ $dreampower.version }}</strong>
</div>

<AppBox>
@@ -53,9 +53,10 @@
<SettingsField v-if="!$dreamtime.isPortable" label="Location" field-id="folders.cli">
<input
v-model="$settings.folders.cli"
:title="$settings.folders.cli"
readonly
class="input"
title="Change"
:style="{ cursor: 'pointer' }"
@click.prevent="changePower">
</SettingsField>


Loading…
Cancel
Save