#!/bin/sh
set -eu

VOGES_PROFILE="${XDG_CONFIG_HOME:-$HOME/.config}/voges"
mkdir -p "$VOGES_PROFILE"
export VOGES_PROFILE
export CHROME_DESKTOP="voges.desktop"
export CHROME_WRAPPER="/usr/bin/voges"
VOGES_START="chrome://newtab/"

# O Voges padrão é voltado a estudo e escritório. Recursos de IA, modelos
# locais, compras e experimentos promocionais ficam fora desta edição.
VOGES_DISABLED_FEATURES="NtpFooter,NTPFooterExtensionAttributionEnabled,NTPFooterManagementNoticeEnabled"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,AiModePageAction,AiModeEntryPointAlwaysNavigates,AllowAiModeMatches"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,OmniboxDynamicAiModeButton,WebUIOmniboxDynamicAiModeButton,NtpRealboxDynamicAiModeButton"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,Glic,GlicActor,GlicExtensions,GlicContextMenu"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,Compose,ComposeGraduated,ComposeSelectionNudge"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,AutofillAiServerModel,AutofillAiWithDataSchema,AutofillAiCreateEntityDataManager,AutofillAiModelCache"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,HistoryEmbeddings,HistoryEmbeddingsAnswers,HistorySearchSettings"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,LensOverlay,LensOverlayHomework,ContextualSearch,ContextualSearchBoxUsesContextualSearchProvider"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,OptimizationGuideModelExecution,OptimizationGuideOnDeviceModel,OptimizationGuideModelsManifest"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,BuiltInAIAPIsEnabled,GeminiNano,AIPromptAPI,AIRewriterAPI,AISummarizationAPI,AIWriterAPI,AIProofreaderAPI"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,DevToolsAiAssistanceV2,DevToolsAiCodeCompletion,DevToolsAiCodeGeneration,DevToolsFreestyler"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,PageContentAnnotations,PageContentAnnotations2,PermissionsAIv4,IntelligentScanScamDetection"
VOGES_DISABLED_FEATURES="$VOGES_DISABLED_FEATURES,ShoppingList,PriceInsights,MerchantTrust,Discounts,ShoppingInsightsSidePanel,ChromeWhatsNewUI,DomainReliability"

if [ "$#" -eq 0 ]; then
    set -- "$VOGES_START"
elif [ "$#" -eq 1 ] && [ "$1" = "--new-window" ]; then
    set -- --new-window "$VOGES_START"
fi

if [ -x /usr/lib/voges/voges-profile-init ]; then
    /usr/lib/voges/voges-profile-init || true
fi

# Mantém a identidade Voges nas propriedades X11 usadas pela barra de tarefas.
# O helper é singleton e reage a eventos, sem varredura periódica.
if [ -n "${DISPLAY:-}" ] && [ -x /usr/lib/voges/voges-identity ]; then
    /usr/lib/voges/voges-identity >/dev/null 2>&1 &
fi

if [ -x /usr/lib/chromium/chromium ]; then
    CHROMIUM=/usr/lib/chromium/chromium
elif command -v chromium >/dev/null 2>&1; then
    CHROMIUM=chromium
elif command -v chromium-browser >/dev/null 2>&1; then
    CHROMIUM=chromium-browser
else
    printf 'Voges: o motor do navegador não está instalado.\n' >&2
    exit 127
fi

if [ -f /.dockerenv ]; then
    # Contêineres de teste normalmente bloqueiam os namespaces usados pelo
    # sandbox do Chromium. Esta exceção nunca é aplicada na instalação real.
    exec "$CHROMIUM" \
        --no-sandbox \
        --disable-dev-shm-usage \
        --enable-remote-extensions \
        --enable-webgl \
        --enable-unsafe-swiftshader \
        --user-data-dir="$VOGES_PROFILE" \
        --class=Voges \
        --name=Voges \
        --no-first-run \
        --no-default-browser-check \
        --test-type \
        --disable-sync \
        --disable-default-apps \
        --disable-crash-reporter \
        --disable-breakpad \
        --disable-search-engine-choice-screen \
        --no-pings \
        --disable-background-mode \
        --disable-features="$VOGES_DISABLED_FEATURES" \
        --load-extension=/usr/share/voges/newtab \
        "$@"
fi

exec "$CHROMIUM" \
    --enable-remote-extensions \
    --enable-webgl \
    --enable-unsafe-swiftshader \
    --user-data-dir="$VOGES_PROFILE" \
    --class=Voges \
    --name=Voges \
    --no-first-run \
    --no-default-browser-check \
    --disable-sync \
    --disable-default-apps \
    --disable-crash-reporter \
    --disable-breakpad \
    --disable-search-engine-choice-screen \
    --no-pings \
    --disable-background-mode \
    --disable-features="$VOGES_DISABLED_FEATURES" \
    --load-extension=/usr/share/voges/newtab \
    "$@"
