Demo warning in /chat UI (#466)

* Add demo warning to /chat

* Missed two files!

* Function calling works now, update message
This commit is contained in:
Juan José Mata
2025-12-19 16:30:21 +01:00
committed by GitHub
parent d37e719315
commit 94e87a8b85
7 changed files with 62 additions and 19 deletions

View File

@@ -9,6 +9,8 @@ class ApplicationController < ActionController::Base
before_action :set_default_chat
before_action :set_active_storage_url_options
helper_method :demo_config, :demo_host_match?, :show_demo_warning?
private
def detect_os
user_agent = request.user_agent
@@ -35,4 +37,20 @@ class ApplicationController < ActionController::Base
port: request.optional_port
}
end
def demo_config
Rails.application.config_for(:demo)
rescue RuntimeError, Errno::ENOENT, Psych::SyntaxError
nil
end
def demo_host_match?(demo = demo_config)
return false unless demo.is_a?(Hash) && demo["hosts"].present?
demo["hosts"].include?(request.host)
end
def show_demo_warning?
demo_host_match?
end
end

View File

@@ -5,19 +5,13 @@ class SessionsController < ApplicationController
layout "auth"
def new
begin
demo = Rails.application.config_for(:demo)
@prefill_demo_credentials = demo_host_match?(demo)
if @prefill_demo_credentials
@email = params[:email].presence || demo["email"]
@password = params[:password].presence || demo["password"]
else
@email = params[:email]
@password = params[:password]
end
rescue RuntimeError, Errno::ENOENT, Psych::SyntaxError
# Demo config file missing or malformed - disable demo credential prefilling
@prefill_demo_credentials = false
demo = demo_config
@prefill_demo_credentials = demo_host_match?(demo)
if @prefill_demo_credentials
@email = params[:email].presence || demo["email"]
@password = params[:password].presence || demo["password"]
else
@email = params[:email]
@password = params[:password]
end
@@ -91,10 +85,4 @@ class SessionsController < ApplicationController
def set_session
@session = Current.user.sessions.find(params[:id])
end
def demo_host_match?(demo)
return false unless demo.present? && demo["hosts"].present?
demo["hosts"].include?(request.host)
end
end