Skip to content

Commit 8f7ed11

Browse files
authored
Bug fixes (#1102)
- fix final placeholder insertion - fix range inputs
1 parent bc5c66f commit 8f7ed11

File tree

5 files changed

+27
-25
lines changed

5 files changed

+27
-25
lines changed

common/template-parser.ts

+3
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,9 @@ export async function parseTemplate(
263263
}
264264
}
265265

266+
opts.isFinal = true
267+
output = render(output, opts).replace(/\r\n/g, '\n').replace(/\n\n+/g, '\n\n').trim()
268+
266269
sections.sections.history = history
267270

268271
// console.log(

web/shared/PresetSettings/Fields.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import RangeInput from '../RangeInput'
88
import { settingStore } from '/web/store'
99
import Select from '../Select'
1010
import { MODEL_FORMATS } from './General'
11-
import { defaultPresets } from '/common/default-preset'
1211
import { FormLabel } from '../FormLabel'
1312
import { SubscriptionModelLevel } from '/common/types/presets'
1413
import { Card } from '../Card'
@@ -239,7 +238,7 @@ export const Temperature: Field = (props) => {
239238
min={0.1}
240239
max={props.state.presetMode === 'simple' ? 1.5 : 10}
241240
step={0.01}
242-
value={props.state.temp || defaultPresets.basic.temp}
241+
value={props.state.temp}
243242
disabled={props.state.disabled}
244243
aiSetting={'temp'}
245244
recommended={props.sub?.preset.temp}

web/shared/PresetSettings/Memory.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export const MemorySettings: Component<PresetTabProps> = (props) => {
1515
min={1}
1616
max={2000}
1717
step={1}
18-
value={props.state.memoryContextLimit || defaultPresets.basic.memoryContextLimit}
18+
value={props.state.memoryContextLimit ?? defaultPresets.basic.memoryContextLimit}
1919
disabled={props.state.disabled}
2020
onChange={(ev) => props.setter('memoryContextLimit', ev)}
2121
/>
@@ -27,7 +27,7 @@ export const MemorySettings: Component<PresetTabProps> = (props) => {
2727
min={1}
2828
max={10000}
2929
step={1}
30-
value={props.state.memoryChatEmbedLimit || defaultPresets.basic.memoryContextLimit}
30+
value={props.state.memoryChatEmbedLimit ?? defaultPresets.basic.memoryContextLimit}
3131
disabled={props.state.disabled}
3232
onChange={(ev) => props.setter('memoryChatEmbedLimit', ev)}
3333
/>
@@ -39,7 +39,7 @@ export const MemorySettings: Component<PresetTabProps> = (props) => {
3939
min={1}
4040
max={10000}
4141
step={1}
42-
value={props.state.memoryUserEmbedLimit || defaultPresets.basic.memoryContextLimit}
42+
value={props.state.memoryUserEmbedLimit ?? defaultPresets.basic.memoryContextLimit}
4343
disabled={props.state.disabled}
4444
onChange={(ev) => props.setter('memoryUserEmbedLimit', ev)}
4545
/>

web/shared/RangeInput.tsx

+19-19
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { Component, Show, createEffect, createSignal, on } from 'solid-js'
22
import type { JSX } from 'solid-js'
33
import { PresetAISettings, samplerDisableValues } from '../../common/adapters'
44
import { markdown } from './markdown'
5-
import { round } from '/common/util'
65

76
const RangeInput: Component<{
87
label: string | JSX.Element
@@ -26,21 +25,23 @@ const RangeInput: Component<{
2625

2726
const [display, setDisplay] = createSignal(props.value.toString())
2827

29-
function updateRangeSliders(next?: string) {
28+
function updateRangeSliders(evented: boolean, next?: string) {
3029
if (!input || !slider) return
3130

32-
if (next === undefined && props.value === +display()) {
31+
if (!evented && next === undefined) {
3332
return
3433
}
3534

36-
const parsed = next !== undefined ? next || '0' : props.value.toString()
35+
const parsed = next !== undefined ? next || '0' : '0'
36+
3737
if (isNaN(+parsed)) {
3838
input.value = display()
3939
slider.value = display()
4040
return
4141
}
42+
4243
input.value = parsed
43-
slider.value = parsed
44+
// slider.value = parsed
4445
setDisplay(parsed)
4546

4647
const percent = Math.min(+parsed, +input.max)
@@ -64,22 +65,22 @@ const RangeInput: Component<{
6465
}
6566

6667
const onInput: JSX.EventHandler<HTMLInputElement, InputEvent> = (event) => {
67-
updateRangeSliders(event.currentTarget.value as any)
68-
props.onChange(+event.currentTarget.value)
68+
updateRangeSliders(true, event.currentTarget.value as any)
69+
// props.onChange(+event.currentTarget.value)
6970
}
7071

7172
createEffect(
7273
on(
7374
() => props.value,
74-
() => updateRangeSliders()
75+
() => updateRangeSliders(false, props.value.toString())
7576
)
7677
)
7778

7879
const disableSampler = () => {
7980
if (!props.aiSetting) return
8081
const value = samplerDisableValues[props.aiSetting]
8182
if (value === undefined) return
82-
updateRangeSliders(value.toString())
83+
updateRangeSliders(true, value.toString())
8384
}
8485

8586
return (
@@ -145,17 +146,16 @@ const RangeInput: Component<{
145146
max={props.max}
146147
step={props.step}
147148
onInput={onInput}
148-
onKeyDown={(ev) => {
149-
if (!props.step) return
150-
if (ev.key !== 'ArrowDown' && ev.key !== 'ArrowUp') return
149+
// onKeyDown={(ev) => {
150+
// if (ev.key !== 'ArrowDown' && ev.key !== 'ArrowUp') return
151151

152-
const places = (props.step.toString().split('.')[1] || '').length
153-
const dir = ev.key === 'ArrowDown' ? -props.step : props.step
154-
let value = round(props.value + dir, places)
155-
if (props.max !== undefined) value = Math.min(value, props.max)
156-
if (props.min !== undefined) value = Math.max(value, props.min)
157-
updateRangeSliders(value.toString())
158-
}}
152+
// const places = (props.step.toString().split('.')[1] || '').length
153+
// const dir = ev.key === 'ArrowDown' ? -props.step : props.step
154+
// let value = round(props.value + dir, places)
155+
// if (props.max !== undefined) value = Math.min(value, props.max)
156+
// if (props.min !== undefined) value = Math.max(value, props.min)
157+
// updateRangeSliders(value.toString())
158+
// }}
159159
disabled={props.disabled}
160160
/>
161161
</div>

web/store/user.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ export const userStore = createStore<UserState>(
113113
/**
114114
* While introducing persisted UI settings, we'll automatically persist settings that the user has in local storage
115115
*/
116-
if (!init.user.ui) {
116+
if (!init.user || !init.user.ui) {
117117
userStore.saveUI(defaultUIsettings)
118118
} else {
119119
userStore.receiveUI(init.user.ui)

0 commit comments

Comments
 (0)