* chore(deploy-compose.yml): comment out mongodb port mapping for safety in deployment
chore(deploy-compose.yml): add bind_ip option to mongodb command to allow access from outside docker
chore(docker-compose.yml): comment out mongodb port mapping for safety in deployment
chore(docker-compose.yml): add bind_ip option to mongodb command to allow access from outside docker
* fix(deploy-compose.yml): remove bind_ip option from mongod command
fix(docker-compose.yml): remove bind_ip option from mongod command
fix(update.js): remove --volumes flag from downCommand
docs(digitalocean.md): update command description to remove --volumes flag
fix(package.json): remove --volumes flag from stop:deployed script
* docs: wip: digitalocean guide
* feat(deployed-update.js): add script for updating deployed instance
docs(deployment/digitalocean.md): update instructions for Digital Ocean deployment
* fix(deployed-update.js): change docker-compose pull command to only pull api image
fix(digitalocean.md): update instructions to add user to docker group and start docker before running installation/update script
* feat(package.json): add 'update:deployed' script for deployed updates
docs: wip: digitalocean
* chore(package.json): add start:deployed and stop:deployed scripts for deploying with docker-compose
* docs(deployment/digitalocean.md): add instructions for stopping and starting the docker container
* docs(deployment/digitalocean.md): add instructions for stopping and starting the docker container
docs(deployment/digitalocean.md): add command for checking active docker containers
docs(deployment/digitalocean.md): provide guidance for troubleshooting before creating a new issue
* fix(deployed-update.js): refactor code to use getCurrentBranch function
feat(deployed-update.js): add support for rebasing current branch onto main branch
docs(digitalocean.md): update instructions for deploying with Docker on remote Ubuntu server
package.json: add rebase:deployed script to run deployed-update.js with --rebase flag
* fix(deployed-update.js): fix variable scope issue in deployed-update.js
docs(digitalocean.md): fix grammar and clarify instructions for editing NGINX file
* docs(deployment): add warning about potential merge conflicts when editing branch
docs(deployment): clarify that code changes in environment won't be reflected
* docs: Update digitalocean.md with images and revised instructions
* docs(digitalocean.md): formatting
* docs(digitalocean.md): add ToC
* docs(digitalocean.md): fix ToC
* Update mkdocs.yml
The condition for running Playwright tests on pull requests was not properly formatted. The repository name was not enclosed in quotes. This commit fixes the condition by adding single quotes around the repository name.
* refactor(e2e): fix tests with latest changes, convert to TS, use test Ids
* chore(EndpointMenu.jsx): add data-testid attribute to new-conversation-menu button
* refactor(EndpointItem): add data-testid attr., convert to TS
* refactor(e2e): remove unnecessary awaits and convert to TS
* chore(playwright.config.local.ts): add absolute path to server index.js file
chore(playwright.config.local.ts): add dotenv configuration
chore(playwright.config.local.ts): change webServer command to use absolute path
chore(playwright.config.local.ts): add NODE_ENV and process.env to webServer env
chore(playwright.config.local.ts): remove unused import
chore(login.spec.js): delete login.spec.js file
* chore(.gitignore): add 'my.secrets' to the list of ignored files
fix(Registration.tsx): add 'data-testid' attribute to the error message div
fix(Registration.spec.tsx): comment out test case that calls 'registerUser.mutate'
* chore(ConvoIcon.tsx): add data-testid attribute to svg element
chore(messages.spec.ts): refactor conversation navigation logic
* chore(playwright.config.ts): add support for absolute path to server index.js file
feat(playwright.config.ts): add support for dotenv configuration
feat(playwright.config.ts): set NODE_ENV to 'production' in webServer environment variables
* chore(workflows): comment out push event and specify paths for pull_request event in backend-review.yml
chore(workflows): comment out push event and specify paths for pull_request event in frontend-review.yml
* chore(install.js): add check to skip install script in CI environment
* chore: complete playwright workflow
* chore(Landing.tsx): add data-testid attribute to landing title element
chore(authenticate.ts): update selector to wait for landing title element by test id instead of text content
* chore(playwright.yml): add step to upload screenshot artifact on failure
fix(authenticate.ts): capture screenshot before waiting for landing title and increase timeout due to GH Actions load time
* chore(playwright.yml): rename artifact name from 'screenshot' to 'login-screenshot'
feat(LoginForm.tsx): add data-testid attribute to login button
fix(authenticate.ts): change screenshot name to 'login-screenshot.png' and conditionally take screenshot only in CI environment
* chore(playwright.yml): add CI environment variable and set it to true
* chore(playwright.yml): update Playwright installation command
chore(playwright.config.ts): update storageState path to use process.cwd()
* fix(playwright.yml): update node version to 18 in setup-node action
fix(playwright.yml): update actions/cache to v3 in Cache Node.js modules step
fix(playwright.yml): update actions/cache to v3 in Cache Playwright installations step
fix(authenticate.ts): change login button click to press 'Enter' on password input
* chore(playwright.yml): update E2E_USER_EMAIL and E2E_USER_PASSWORD values for testing purposes
chore(authenticate.ts): add console.dir to log user object for debugging
* chore(playwright.yml): add step to upload storageState artifact
The storageState artifact is now uploaded as part of the workflow. This artifact contains the state of the storage used during the end-to-end tests. It will be retained for 2 days.
* chore(playwright.yml): comment out upload screenshot step
chore(playwright.config.ts): change NODE_ENV to development
chore(authenticate.ts): comment out screenshot related code
* chore(playwright.config.ts): add SESSION_EXPIRY environment variable with value 86400000
* chore(playwright.yml): update environment variables in Playwright workflow
fix(General.tsx): add data-testid attributes to clear conversations buttons
test(messages.spec.ts): add setup and teardown steps for clearing conversations before and after tests
* fix(messages.spec.ts): fix clearing conversations before and after message tests
feat(messages.spec.ts): add beforeEach and afterEach hooks to create and close new page for each test
* chore: remove storageStage upload artifact
* refactor(SearchBar): convert to TS, useLocalize
* fix(typing): minor type issues
* chore(package.json): add 'reinstall:docker' script for rebuilding Docker environment in current branch
* fix(Enum): cannot be used as a value when imported as type
* hotfix(types): corrected types, some causing application error (bing null model)
* hotfix(Plugins): fix undefined localStorage item causing Application error
* feat: add zod schemas for better type safety
* refactor(useSetOptions): remove 'as Type' in favor of zod schema
* fix: descendant console error, change <p> tag to <div> tag for content in PluginTooltip component
* style(MessagesView): instant/snappier scroll behavior matching official site
* fix(Messages): add null check for scrollableRef before accessing its properties in handleScroll and useEffect
* fix(messageSchema.js): change type of invocationId from string to number
fix(schemas.ts): make authenticated property in tPluginSchema optional
fix(schemas.ts): make isButton property in tPluginSchema optional
fix(schemas.ts): make messages property in tConversationSchema optional and change its type to array of strings
fix(schemas.ts): make systemMessage property in tConversationSchema nullable and optional
fix(schemas.ts): make modelLabel property in tConversationSchema nullable and optional
fix(schemas.ts): make chatGptLabel property in tConversationSchema nullable and optional
fix(schemas.ts): make promptPrefix property in tConversationSchema nullable and optional
fix(schemas.ts): make context property in tConversationSchema nullable and optional
fix(schemas.ts): make jailbreakConversationId property in tConversationSchema nullable and optional
fix(schemas.ts): make conversationSignature property in tConversationSchema nullable and optional
fix(schemas.ts): make clientId property
* refactor(types): replace main types with zod schemas and inferred types
* refactor(types/schemas): use schemas for better type safety of main types
* style(ModelSelect/Buttons): remove shadow and transition
* style(ModelSelect): button changes to closer match OpenAI
* style(ModelSelect): remove green rings which flicker
* style(scrollToBottom): add two separate scrolling functions
* fix(OptionsBar.tsx): handle onFocus and onBlur events to update opacityClass
fix(Messages/index.jsx): increase debounce time for scrollIntoView function