Fix AI model, Language/Country mapping, and Handsontable rendering

- GEMINI_MODEL for AI commands: gemini-2.0-flash-exp → gemini-3-flash-preview
- Language/Country: handle plain 2-letter codes (EN→Language, UK→Country)
  and "EN-UK" split format; previously only split format worked
- Handsontable black screen: add min-h-0 on flex-1 container so height:100%
  resolves correctly inside the flexbox chain

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Vadym Samoilenko 2026-03-23 16:38:38 +00:00
parent 44a4fb7e06
commit 5231c8bd37
4 changed files with 16 additions and 3 deletions

View file

@ -582,12 +582,24 @@ async def get_job_deliverables(job_id: str):
reader = csv.DictReader(f)
for row in reader:
# Map brief-extractor CSV columns → AC Deliverable schema
market = row.get('language_country_market', '')
market = row.get('language_country_market', '').strip()
lang, country = ('', '')
if '-' in market:
parts = market.split('-', 1)
lang = parts[0].strip().upper()
country = parts[1].strip().upper()
elif len(market) == 2:
# Plain 2-letter code — could be language (EN, DE, FR) or country (UK, US)
# Common language codes get mapped to Language; country-only codes to Country
LANG_CODES = {'EN', 'DE', 'FR', 'NL', 'ES', 'IT', 'PT', 'PL', 'RU', 'JA', 'ZH', 'AR', 'KO'}
m = market.upper()
if m in LANG_CODES:
lang = m
else:
country = m
elif market:
# Longer value like "English" or "Dutch" — put in Language
lang = market
deliverables.append({
'Number': '',

View file

@ -60,7 +60,7 @@ class ServerConfig:
# AI
GEMINI_API_KEY: str = os.getenv('GEMINI_API_KEY', '')
GEMINI_MODEL: str = os.getenv('GEMINI_MODEL', 'gemini-2.0-flash-exp')
GEMINI_MODEL: str = os.getenv('GEMINI_MODEL', 'gemini-3-flash-preview')
# Data paths — mounted as Docker volume
DATA_DIR: str = os.getenv(

View file

@ -62,6 +62,7 @@ services:
# Google Gemini
GEMINI_API_KEY: ${GEMINI_API_KEY:-}
GEMINI_MODEL: ${GEMINI_MODEL:-gemini-3-flash-preview}
GOOGLE_MODEL: ${GOOGLE_MODEL:-gemini-3.1-pro-preview}
GOOGLE_TEMPERATURE: ${GOOGLE_TEMPERATURE:-0.7}
GOOGLE_MAX_OUTPUT_TOKENS: ${GOOGLE_MAX_OUTPUT_TOKENS:-100000}

View file

@ -210,7 +210,7 @@ export default function SheetPage() {
</div>
{/* Spreadsheet */}
<div className="flex-1 overflow-hidden rounded" style={{ border: '1px solid var(--border)' }}>
<div className="flex-1 overflow-hidden rounded min-h-0" style={{ border: '1px solid var(--border)' }}>
{deliverables !== undefined && (
<HotTable
ref={hotRef}