Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
dafb5b2
chore: add development docker-compose
thlehmann-ionos Nov 11, 2024
8862daa
chore(docker-compose.dev): npm install in frontend dev container
thlehmann-ionos Nov 11, 2024
f1b4048
chore(docker-compose.dev): mount build configs too
thlehmann-ionos Nov 12, 2024
b3afcfb
style: add exos color vars and style
bromiesTM Nov 19, 2024
731d164
style: add exos css to layout
printminion-co Nov 20, 2024
f574aef
feat(i18n-ionos): add ionos namespace for i18n
printminion-co Nov 20, 2024
1cd26ac
feat(favicon): change favicon to IONOS
printminion-co Nov 20, 2024
509e27c
refactor(style): exos move dark/light to bottom
printminion-co Nov 19, 2024
94aa577
feat(ionos-header): add IONOS Header component
printminion-co Nov 21, 2024
e5a9883
style: exos: set dark style for secondary button
printminion-co Nov 21, 2024
8b6bdbe
feat(ionos-footer): add IONOS Footer component
bromiesTM Nov 19, 2024
0781f0a
feat(ionos-header): add IONOS Header to root layout
bromiesTM Nov 19, 2024
545b6e4
feat(ionos-footer): add IONOS Footer to root layout
printminion-co Nov 21, 2024
278646f
feat(ionos-header): disable model selector
printminion-co Nov 20, 2024
45636d7
feat(disable-upgrade-toast): disable upgrade toast
printminion-co Nov 20, 2024
dd2bf51
refactor(disable-upgrade-toast): disable upgrade toast
printminion-co Nov 22, 2024
96c4027
feature(disable-user-menu): Disable user menu in sidebar
printminion-co Nov 22, 2024
017a5d9
feature(disable-user-menu): Disable user menu in navbar
printminion-co Nov 22, 2024
4e9873e
feature(disable-controls): Disable chat controls in navbar
printminion-co Nov 22, 2024
677dc12
feature(disable-workspace): Disable workspace menu item in sidebar
printminion-co Nov 22, 2024
169154e
feature(disable-placeholder): Disable model icon and name in placeholder
printminion-co Nov 22, 2024
54ff895
fix(ionos-footer): show powered by opened sidebar
printminion-co Nov 22, 2024
9cb68bb
style: extend exos v3.0 style
printminion-co Nov 22, 2024
c855703
feat(feedback): add feedback dialog to header
bromiesTM Nov 21, 2024
a895c14
feat(feedback): send feedback to to backend
bromiesTM Nov 22, 2024
cbc2a62
feat: add registration dialog
bromiesTM Nov 22, 2024
e433f65
feat(IONOS/registration): post mail to backend
bromiesTM Nov 25, 2024
5bfd29f
chore(IONOS/FeedbackDialog): add loading indicator & better translation
bromiesTM Nov 25, 2024
e5a5fb1
chore: apply prettier formatting rules
bromiesTM Nov 25, 2024
5bdfd8c
fix: exos icons not working
bromiesTM Nov 25, 2024
f7372d4
fix(feedback): stars outline dark mode
printminion-co Nov 25, 2024
85a3ee4
fix(feedback): i18n translation
printminion-co Nov 25, 2024
0d525eb
chore!: remove native help button
bromiesTM Nov 25, 2024
2797b68
chore: remove replaced feedback module
bromiesTM Nov 25, 2024
6aa4776
feat(IONOS/Help): add custom help dialog
bromiesTM Nov 25, 2024
f517b22
customize:(Placeholder): re-enable model name (greeting)
thlehmann-ionos Nov 25, 2024
e2015d9
refactor: extract greeting as own component
thlehmann-ionos Nov 21, 2024
f8241a2
customize(Greeting): change greeting text
thlehmann-ionos Nov 21, 2024
a6d5e62
feat: add config "enable_model_infos"
thlehmann-ionos Nov 21, 2024
1399e48
feat: make showing model infos configurable
thlehmann-ionos Nov 21, 2024
182d34f
customize(Suggestions): remove standard header
thlehmann-ionos Nov 21, 2024
53fff1a
customize(Placeholder): add terms & privacy trailing text
thlehmann-ionos Nov 21, 2024
c9ef84f
customize: add Font Awesome free paper-plane icon
thlehmann-ionos Nov 22, 2024
94cad9c
customize(Chat): change chat prompt init from ?q= to sessionStorage
thlehmann-ionos Nov 25, 2024
540a4eb
customize: start page as custom page/route
thlehmann-ionos Nov 21, 2024
f5fb430
chore(router): move setting language to function
thlehmann-ionos Nov 25, 2024
ac37ed2
customize(router): move Websocket setup after session validation
thlehmann-ionos Nov 25, 2024
85f53ba
customize(router): stop full init in root layout when at /start
thlehmann-ionos Nov 22, 2024
fd0b0c4
customize(router): validate session for /start
thlehmann-ionos Nov 25, 2024
9bed396
customize(router): allow signin/signon if build env is set
thlehmann-ionos Nov 25, 2024
33dedc3
customize(Dockerfile): write required public envs to .env
thlehmann-ionos Nov 26, 2024
bdd4ba5
fix(Dockerfile): set Node heap limit via NODE_OPTIONS
thlehmann-ionos Nov 26, 2024
9b9a506
fix(Greeting): center welcome headline
thlehmann-ionos Nov 26, 2024
af3a11c
coustomize(router): do not redirect from /auth to /start
thlehmann-ionos Nov 26, 2024
0ea39a3
customize(Sidebar): don't hide workspace menu item for admins
thlehmann-ionos Nov 26, 2024
f9862e9
feat(dark-mode): disable dark mode globally
printminion-co Nov 27, 2024
71a51e3
customize(router): remove unused import
thlehmann-ionos Nov 27, 2024
2b3f707
feat(message-feedback): allow feedback without rating
printminion-co Nov 27, 2024
6c7789e
feat(message-feedback): trigger feedback dialog via store value
printminion-co Nov 27, 2024
0dad349
feat(message-feedback): switch to alternative feedback dialog on mess…
printminion-co Nov 27, 2024
32ea528
fix: FEEDBACK_BASE_URL not set at build time
bromiesTM Nov 28, 2024
3efe84c
style: change power by style
printminion-co Nov 27, 2024
b7383af
style: send button in exos style
printminion-co Nov 27, 2024
ae89fc3
style: activate exos font variables
printminion-co Nov 27, 2024
ea52a1d
style: change .font-primary to exos default font
printminion-co Nov 27, 2024
c0cefe9
customize(Suggestions): provide prompt suggestions
thlehmann-ionos Nov 27, 2024
4975e5c
feat(Textarea): export focus()
thlehmann-ionos Nov 27, 2024
4d02418
customize(Suggestions): prefill prompt input with suggestion pick
thlehmann-ionos Nov 27, 2024
84a3b07
customize(start): animate typing
thlehmann-ionos Nov 27, 2024
5591dd9
customize(Suggestions): change style according to PM feedback
thlehmann-ionos Nov 28, 2024
88c7b6e
customize(Suggestions): icon hover effect using mask-image
thlehmann-ionos Nov 28, 2024
6947654
customize(Suggestions): introduce model display name
thlehmann-ionos Nov 28, 2024
0709915
customize(start): disable input initally
thlehmann-ionos Nov 28, 2024
87f74b1
customize(start): add headline above quick start tiles
thlehmann-ionos Nov 29, 2024
6f51f24
customize(promptSuggestions.json): update prompts from current table
thlehmann-ionos Nov 29, 2024
297259e
customize(Suggestions): reduce prompt description text size
thlehmann-ionos Nov 29, 2024
3f93d3f
fix(footer): don't wrap header links on mobile
printminion-co Nov 28, 2024
105d20e
fix(footer): hide copyright, powered_by on mobile
printminion-co Nov 28, 2024
832324d
fix(header): display feedback as icon button on mobile
printminion-co Nov 28, 2024
52c4182
customize(promptSuggestions.json): update prompts from current table …
thlehmann-ionos Nov 29, 2024
fd1963f
customize(Suggestions): change programming prompt
thlehmann-ionos Nov 29, 2024
6c5efe0
customize(router): init Websocket before auto-signin
thlehmann-ionos Nov 29, 2024
7c1df7b
customize(Suggestions): pick three suggestions randomly
thlehmann-ionos Dec 2, 2024
deae8d9
customize(Suggestions): remove icon
thlehmann-ionos Dec 2, 2024
e668efd
customize(Suggestions): stack the suggestions in a column for mobile
thlehmann-ionos Dec 2, 2024
f0dbf03
customize(start): make quick start headline smaller
thlehmann-ionos Dec 2, 2024
08c8c0b
customize(randomSelection): limit random selection count to input count
thlehmann-ionos Dec 2, 2024
468b538
customize(Suggestions): change suggestion options from radio to button
thlehmann-ionos Dec 2, 2024
86261fc
customize(start): auto-submit selection prompt
thlehmann-ionos Dec 2, 2024
0be14d4
customize(ModelSelector): add model selector component
thlehmann-ionos Dec 2, 2024
9d75c4b
customize(start): pre-filter suggested prompts by selected model
thlehmann-ionos Dec 2, 2024
290080a
customize(ModelSelector): make model display name bindable
thlehmann-ionos Dec 2, 2024
73263ee
customize(start): bind model display name to model selection
thlehmann-ionos Dec 2, 2024
40d6349
customize(start): add headline, reorder input/suggestion, show model …
thlehmann-ionos Dec 2, 2024
afa5fac
fix(feedback): no feedback for no user session
printminion-co Nov 28, 2024
92061c8
customize(router): make i18n init independent from backend config
thlehmann-ionos Dec 6, 2024
792f3e7
customize(router): initialize i18n earlier
thlehmann-ionos Dec 6, 2024
6bc5595
customize(promptSuggestions.json): update prompts from current table
thlehmann-ionos Dec 12, 2024
023de99
customize(start): fix default model name
thlehmann-ionos Dec 12, 2024
a4c2e44
customize(promptSuggestions.json): update prompts from current table …
thlehmann-ionos Dec 13, 2024
cc7a936
customize(router): hardcode language to de-DE
thlehmann-ionos Dec 13, 2024
73b40e6
customize(i18n/ionos): update de-DE from Phrase
thlehmann-ionos Dec 13, 2024
3b98104
customize(footer): add link to model hub
printminion-co Dec 13, 2024
7dfe1e9
customize(promptSuggestions.json): update prompts from current table
thlehmann-ionos Dec 16, 2024
713c58f
customize(promptSuggestions.json): update prompts from current table …
thlehmann-ionos Dec 16, 2024
34cdc6d
refactor(ModelSelector): fix soft linter warnings
bromiesTM Dec 16, 2024
574b4ff
refactor(ModelSelector): pass down classes via restprops
bromiesTM Dec 16, 2024
e72663d
stlye(ModelSelector): apply prettier formatting rules
bromiesTM Dec 16, 2024
99cfecf
feat(ModelSelector): add model icons to selector
bromiesTM Dec 16, 2024
3c3f661
customize(promptSuggestions.json): update prompts from current table …
thlehmann-ionos Dec 16, 2024
9d6d39d
customize(promptSuggestions.json): update prompts from current table …
thlehmann-ionos Dec 16, 2024
7f0bc33
customize(ModelIcons): fix model ID ionos-image-{generator => }pipeline
thlehmann-ionos Dec 16, 2024
35f68f5
style: change background color to exos one
printminion-co Dec 13, 2024
5425088
chore(prettier): reformat /start layout
printminion-co Dec 16, 2024
c28f4b9
fix(start): remove margin-top of layout
printminion-co Dec 16, 2024
02d7272
fix(header): add z-index
printminion-co Dec 16, 2024
2ac1703
customize(SendMessageButton): extract as own component
printminion-co Dec 16, 2024
f8c4a09
chore(prettier): reformat /start page
printminion-co Dec 16, 2024
4b48a14
chore(prettier): reformat Greeting component
printminion-co Dec 16, 2024
a80598b
customize(Greeting): change according UX
printminion-co Dec 16, 2024
7f6a7e6
customize(page): remove sub title
printminion-co Dec 16, 2024
f730c17
customize(page): set proper prompt width on mobile
printminion-co Dec 16, 2024
3c3ea41
customize(page): keep send button disabled on empty prompt
printminion-co Dec 16, 2024
a3a3cbb
customize(Suggestions): change according UX
printminion-co Dec 16, 2024
a0146b2
customize(IonosFooter): hide help icon
printminion-co Dec 16, 2024
46e3d22
feat(ModelSelector): style according UX
printminion-co Dec 16, 2024
d6801a1
customise(page): change start prompt according UX
printminion-co Dec 16, 2024
627cfdd
stlye(ModelSelector): use submit button by openWeb UI
printminion-co Dec 16, 2024
b913f92
style(exos): use white border
printminion-co Dec 16, 2024
4494791
style(Suggestions): add border
printminion-co Dec 16, 2024
300461b
style(IonosHeader): apply prettier formatting rules
bromiesTM Dec 16, 2024
0eb7160
fix(IonosHeader): icon links to /start
bromiesTM Dec 16, 2024
8976dbe
fix(ModelSelector): click on tile does not change model
bromiesTM Dec 16, 2024
27b9db4
fix(Suggestions): fix default selected suggestion
printminion-co Dec 16, 2024
4f54c47
[POC] customize(Chat): goto /start not / for new chat button
thlehmann-ionos Dec 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .env.dev.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# .env for docker-compose.dev.yaml

# False = no login screen, the developer is automatically logged in upon opening the root
WEBUI_AUTH=False
# Set this to an arbitrary random string if WEBUI_AUTH=True
WEBUI_SECRET_KEY="< generate some random string >"

# DO NOT TRACK
SCARF_NO_ANALYTICS=true
DO_NOT_TRACK=true
ANONYMIZED_TELEMETRY=false
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ node_modules
.env
.env.*
!.env.example
!.env.dev.example
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
# Byte-compiled / optimized / DLL files
Expand Down
4 changes: 4 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ RUN npm ci

COPY . .
ENV APP_BUILD_HASH=${BUILD_HASH}
# Necessary on some systems, maybe only for Podman otherwise the build fails with
# FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
ENV NODE_OPTIONS=--max-old-space-size=3100
RUN echo "PUBLIC_FEEDBACK_BASE_URL=" > .env
RUN npm run build

######## WebUI backend ########
Expand Down
2 changes: 2 additions & 0 deletions backend/open_webui/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -827,6 +827,8 @@ def load_oauth_providers():
"WEBHOOK_URL", "webhook_url", os.environ.get("WEBHOOK_URL", "")
)

ENABLE_MODEL_INFOS = os.environ.get("ENABLE_MODEL_INFOS", "True").lower() == "true"

ENABLE_ADMIN_EXPORT = os.environ.get("ENABLE_ADMIN_EXPORT", "True").lower() == "true"

ENABLE_ADMIN_CHAT_ACCESS = (
Expand Down
2 changes: 2 additions & 0 deletions backend/open_webui/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@
DEFAULT_LOCALE,
ENABLE_ADMIN_CHAT_ACCESS,
ENABLE_ADMIN_EXPORT,
ENABLE_MODEL_INFOS,
ENABLE_OLLAMA_API,
ENABLE_OPENAI_API,
ENABLE_TAGS_GENERATION,
Expand Down Expand Up @@ -2439,6 +2440,7 @@ async def get_app_config(request: Request):
"enable_message_rating": webui_app.state.config.ENABLE_MESSAGE_RATING,
"enable_admin_export": ENABLE_ADMIN_EXPORT,
"enable_admin_chat_access": ENABLE_ADMIN_CHAT_ACCESS,
"enable_model_infos": ENABLE_MODEL_INFOS,
}
if user is not None
else {}
Expand Down
Binary file modified backend/open_webui/static/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 42 additions & 0 deletions docker-compose.dev.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: open-webui-dev

services:
frontend:
build:
context: .
target: build
command: ["sh", "/app/src/frontend-dev.sh"]
env_file: ".env"
depends_on:
- backend
ports:
- "3000:5173"
extra_hosts:
- host.docker.internal:127.0.0.1
volumes:
- ./src:/app/src
- ./package.json:/app/package.json
- ./package-lock.json:/app/package-lock.json
- ./vite.config.ts:/app/vite.config.ts
- ./svelte.config.js:/app/svelte.config.js
- ./tsconfig.json:/app/tsconfig.json
- ./tailwind.config.js:/app/tailwind.config.js

backend:
build:
context: .
target: base
command: ["bash", "dev.sh"]
env_file: ".env"
environment:
- ENV=dev
ports:
- "8080:8080"
extra_hosts:
- host.docker.internal:127.0.0.1
volumes:
- ./backend:/app/backend
- data:/app/backend/data

volumes:
data: {}
6 changes: 5 additions & 1 deletion src/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ math {
}

.font-primary {
font-family: 'Archivo', sans-serif;
font-family: var(--default-font-regular, 'OpenSansSemibold', arial, sans-serif);
}

iframe {
Expand Down Expand Up @@ -215,3 +215,7 @@ input[type='number'] {

@apply absolute inset-0 z-0 text-gray-500;
}

body {
background-color: var(--primary-background-color);
}
9 changes: 9 additions & 0 deletions src/app.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
<script>
// On page load or when changing themes, best to add inline in `head` to avoid FOUC
(() => {
// force exos theme
localStorage.theme = 'exos';

const metaThemeColorTag = document.querySelector('meta[name="theme-color"]');
const prefersDarkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;

Expand All @@ -52,12 +55,18 @@
document.documentElement.classList.add('dark');
document.documentElement.classList.add('her');
metaThemeColorTag.setAttribute('content', '#983724');
} else if (localStorage.theme === 'exos') {
// disable else logic
} else {
document.documentElement.classList.add('dark');
metaThemeColorTag.setAttribute('content', '#171717');
}

window.matchMedia('(prefers-color-scheme: dark)').addListener((e) => {
if (localStorage.theme === 'exos') {
// no dark mode for exos
return;
}
if (localStorage.theme === 'system') {
if (e.matches) {
document.documentElement.classList.add('dark');
Expand Down
Loading