v0.0.4

First Release

First “release” of Takaro. Still very early and alpha, but starting to add numbers to the versions now :)

Changes

  • Merge dev
  • Add steam level to player output
  • chore(deps): update dependency lint-staged to v15.2.9
  • Merge dev
  • Run CI on Github again
  • CI Fixes
  • feat: add ability to set external references for domains
  • refactor: remove unused dep hydra
  • feat: make rate limiting a domain setting instead of global
  • Create install-geoblock.mdx
  • Refactor: use pure css switch and checkbox
  • Chore: replace deprecated eslint config
  • Feat: add notifications for crud actions
  • Update Install-teleports.mdx
  • Update connect-7dtd-server.md
  • Update connect-rust-server.md
  • deps: use lower version of luxon
  • Refactor: do not return uuid on REST delete calls
  • Feat: show permissions on module installation card
  • Fix: shoporder show shoplisting name if available
  • Create connect-rust-server.md
  • Create install-geoblock.md
  • Create connect-7dtd-server.md
  • Feat: shoplisting draft support
  • feat: add acting user and module IDs to events
  • Update Install-teleports.mdx
  • fix a bunch of edge cases around listings and orders
  • Fix: a bunch of issues in shop
  • Chore: reimplement event filter
  • Chore: remove old artifact where shop is in separate package
  • shop
  • feat: add some stats to players page
  • feat: add more statistics
  • Player/User linking
  • Update settp.js
  • Fix: potentially sessions
  • teleport fixes
  • Fix: switching domains
  • Feat: users can now select a different domain
  • fix: me call api documentation
  • feat: add a latency metric
  • wip: first pass of new linking
  • fix: pass through quality for giveItem
  • Teleport module fix
  • feat: replace old metric and add daily active players metric
  • feat: add basic crud for shop
  • feat: add metrics for user and player activity
  • Feat: bunch of improvements
  • feat: add more details to event about hook and cronjob executed
  • Chore: export now exports to file instead of clipboard
  • Chore: get rid of all suspense queries
  • hotfix: matchroute not working in prod
  • Feat: bunch of fixes
  • docs: add community modules to the docs
  • Fix: show gameserverid because that is what can be used to filter
  • Currency actions
  • deps: update frontend packages
  • ci: publish library packages
  • feat: add import/export module functionality to frontend
  • feat: refactor DTO to not need an async constructor
  • Chore: add notification that connection can be established
  • docs: add a bit more information about module configuration fields
  • CI fixes
  • chore(deps): update dependency lint-staged to v13.3.0
  • chore(deps): update react monorepo
  • feat: implement importing custom code in modules
  • Refactor: replace sandpack with zustand
  • Fix: filtering + Fix: variable key is not a uuid
  • Fix: type safety of links, except for reusable link components + e2e crud roles
  • Fix: hide tanstack router devtools in production
  • Refactor: tanstack router
  • feat: add module related events
  • ci: setup copybara
  • fix: duplicated Discord messages when running multiple replicas
  • fix: catch syntaxerrors properly
  • Update dependency @types/react to v18.2.55
  • Feat: users now need to confirm when leaving studio
  • Feat: disable save button on [command|hook|cronjob] config until dirty + deps: update react-hook-form
  • Feat: initial versions <Heatmap/>, <Radar/>, <RadialLine/>, <RadialBar/>, <PieChart/>, <DonutChart />
  • Feat: <ValueConfirmationField/>
  • Feat: auth perf improvements
  • chore(deps): update dependency sharp to v0.33.2
  • Refactor(web-main): error handling and sentry capturing
  • chore(deps): update dependency supertest to v6.3.4
  • chore(deps): update dependency @types/basic-auth to v1.1.8
  • Feat: add validation to EditableField
  • Feat(moduleconfig): canHaveCount prop on permissionField
  • Fix: incorrect gameserver when switching accounts
  • chore(deps): update dependency docker-compose to ^0.24.0
  • Chore: bunch of tiny style improvements and enhancements
  • Fix: config field overriding fields
  • chore: rename economy to economy-utils
  • refactor(pages/events): move styles into seperate files
  • Fix: tagfield in array type can now take duplicate items when uniqueI…
  • Feat: show module name in permissions
  • Feat: copy module in <ModuleDefinitionCard/>
  • Feat: view mode for module, roles, installed module, settings + few validation fixes in module permissions.
  • docs: add FAQ page about modules
  • feat: new config field types + deps: react query v5
  • fix: issue with mocks in command service test
  • feat: send chat messages from gameserver overview
  • fix(playerProfile): scrolling
  • Minor tweaks in frontend
  • Refactor of RadioGroup
  • chore: setup vitest web-main
  • docs: for game server controller
  • Initial set of graphs
  • fix(GameServerSelect): no gameserver on first render
  • fix: logging level config
  • feat: player profile page
  • Events and hooks
  • Chore: refactor role + styles of permission
  • Update dependency @opentelemetry/auto-instrumentations-node to v0.40.3
  • fix #892 allow searching by ID for items
  • Feat: <Collapsible />
  • Server settings rework
  • Update dependency nodemailer to v6.9.8
  • Update dependency esbuild to v0.19.11
  • Style: gameserver dashboard overview and studio
  • Fix styling gray key
  • Fix: “docker-compose” to now use “docker compose” instead
  • Update dependency @types/react to v18.2.47
  • Update dependency lightningcss to v1.22.1
  • feat: storybook can now add stories from web-main
  • Chore: rework Avatar
  • Style/replace loading with skeletons
  • 822 gameserver dashboard
  • Feat: <SelectQueryField/> + Big refactor <Select/>
  • Fix: drawer drag
  • chore(deps): update dependency eslint to v8.56.0
  • Feat: add drag events to Drawer
  • Feat: rework <ColumnVisibility/>
  • Feat: block variant of horizontal nav
  • Feat: add online player count to gameservercard
  • Fix: discord settings cards
  • Feat: implement option to set certain column invisible by default
  • feat: store console messages in localstorage
  • Feat: <CopyId/>
  • Style/small design tweaks
  • Feat: <Player />
  • feat: <DateFormatter/>
  • feat: add badge to icon button
  • 677 lottery module
  • chore: handle steam sync better (dodge rate limits)
  • chore(deps): update dependency eslint-config-prettier to v8.10.0
  • chore(deps): update dependency fs-extra to v11.2.0
  • bunch of improvements 🚀
  • feat: add metrics for axios clients
  • feat: add settings delete route
  • Bunch of enhancements (table, variable actions, user actions, player actions)
  • more small fixes
  • chore: ignore some spammy 7d2d log lines
  • More import stuff
  • chore(deps): update dependency @types/basic-auth to v1.1.7
  • chore(deps): update dependency ts-node to v10.9.2
  • fix(deps): update dependency nodemailer to v6.9.7
  • chore(deps): update react monorepo
  • chore(deps): update dependency browserify-zlib to v0.2.0
  • Feat: <FileField/> component
  • Fix: error messages in crud gameserver not showing
  • feat: import data from CSMM
  • Small API chores/fixes/improvements
  • Feat: Variables Create and Update
  • Fix: deprecation vite cjs warnings in build
  • fix: allow tests to run even when not cleaning dangling domains
  • feat: add events in different places of the frontend
  • feat: keep track of reachability status for gameservers
  • feat: improve some options in the api doc
  • chore: some better error handling for playerSync worker
  • Feat: custom datefilter + easy access past and future allowed date props
  • chore: add a bit more details to the readme
  • Item icons
  • chore: run 7d2d itemsSync is separate thread since it can block event…
  • fix: handle loading inventories for multi servers properly
  • feat: allow separating workers from main process
  • chore: observability fixes for workers
  • feat: let inventory worker handle jobs concurrently
  • feat: inventory syncing
  • fix(deps): update dependency reflect-metadata to v0.1.14
  • chore(deps): update dependency @types/styled-components to v5.1.34
  • chore: ensure bull keeps a limited amount of completed jobs
  • fix(deps): update dependency pg to v8.11.3
  • chore(deps): update dependency url to v0.11.3
  • fix(deps): update dependency bcrypt to v5.1.1
  • feat: items integration
  • feat: refactor settings to cleaner kv storage
  • deps: upgrade to vite v5
  • deps: upgrade to framer motion v10
  • Upgrade to stable storybook version
  • feat: playerkill and entitykill events
  • fix: a bunch of e2e tests
  • Feat: economy module with initial set of commands
  • 603 variables page filtering contains by gameserver id broken validation
  • feat: add system config for command cost
  • Wip: bunch of improvements
  • WIP: PermissionsGuard
  • feat: transact between players
  • chore(deps): update react monorepo
  • chore(deps): update dependency chai to v4.3.10
  • feat: add economy setting
  • chore(deps): update dependency bufferutil to v4.0.8
  • chore(deps): update dependency @types/supertest to v2.0.16
  • chore(deps): update dependency @types/sinon-chai to v3.2.12
  • chore(deps): update dependency @types/styled-components to v5.1.32
  • chore(deps): update dependency @types/sinon to v10.0.20
  • chore(deps): update dependency @types/safe-regex to v1.1.6
  • chore(deps): update dependency @types/multer to v1.4.11
  • chore(deps): update dependency @types/passport to v1.0.16
  • chore(deps): update dependency @types/mocha to v10.0.6
  • chore(deps): update dependency @types/lodash-es to v4.17.12
  • chore(deps): update dependency @types/ms to v0.7.34
  • chore(deps): update dependency @types/mocha to v10.0.5
  • chore(deps): update dependency @types/lodash-es to v4.17.11
  • chore(deps): update dependency @types/cors to v2.8.17
  • chore(deps): update dependency @types/libqp to v1.1.3
  • chore(deps): update dependency @types/he to v1.2.3
  • chore(deps): update dependency @types/fs-extra to v11.0.4
  • chore(deps): update dependency @types/express to v4.17.21
  • chore(deps): update dependency @types/eventsource to v1.1.15
  • chore(deps): update dependency @types/ejs to v3.1.5
  • chore(deps): update dependency @types/cookie-parser to v1.4.6
  • chore(deps): update dependency @types/body-parser to v1.19.5
  • chore(deps): update dependency @types/passport to v1.0.15
  • feat: datepicker
  • chore(deps): update dependency @types/chai-as-promised to v7.1.8
  • chore(deps): update dependency @types/convict to v6.1.6
  • chore(deps): update dependency @types/multer to v1.4.10
  • chore(deps): update dependency @types/passport-oauth2 to v1.4.15
  • chore(deps): update dependency @types/cors to v2.8.16
  • Multiselect
  • chore(deps): update dependency @types/react-window to v1.8.8
  • chore(deps): update dependency @types/basic-auth to v1.1.6
  • Fix/events page
  • Search Field
  • feat: backend changes to allow permissions to have an optional count
  • Refetch servers every minute to update state
  • Feat: add gameserver to document title when in gameserver specific route
  • Feat: client side filtering of select
  • fix: add back roles to sidenav
  • chore(deps): update dependency @types/eventsource to v1.1.14
  • chore(deps): update dependency @types/ejs to v3.1.4
  • Feat: rework nav
  • chore(deps): update dependency @types/fs-extra to v11.0.3
  • chore(deps): update dependency @floating-ui/react to ^0.24.0 || ^0.26.0
  • chore(deps): update dependency @types/cors to v2.8.15
  • chore(deps): update dependency @types/he to v1.2.2
  • chore(deps): update dependency @types/mocha to v10.0.3
  • chore(deps): update dependency @types/ms to v0.7.33
  • chore(deps): update dependency @types/libqp to v1.1.2
  • fix(deps): update dependency node-fetch to v3.3.2
  • chore(deps): update dependency @types/body-parser to v1.19.4
  • chore(deps): update dependency @types/basic-auth to v1.1.5
  • chore(deps): update dependency @types/chai-as-promised to v7.1.7
  • chore(deps): update dependency @types/convict to v6.1.5
  • chore(deps): update dependency @types/cookie-parser to v1.4.5
  • feat: basic server side filtering
  • chore(deps): update dependency mocha to v10
  • chore(deps): update dependency @types/express to v4.17.20
  • fix(deps): update dependency @ory/elements to v0.0.1-beta.13
  • fix(deps): update dependency re-resizable to v6.9.11
  • chore(deps): update dependency @openapitools/openapi-generator-cli to v2.7.0
  • chore(deps): update dependency @types/lodash-es to v4.17.10
  • Feat: events page filtering
  • Refactor teleport.js to use data.player.pm helper function
  • Update sweep.yaml with newest sandbox format
  • User role assign stuff
  • chore(deps): update dependency @types/luxon to v3.3.1
  • chore(deps): update dependency @types/node to v18.17.5
  • chore(deps): update dependency @types/react to v18.2.20
  • Feat: first version of datepicker
  • Chore/remove deprecated vmm 😢
  • Add command history feature to ConsoleInput component
  • More error handley things
  • Add error handling to Discord chatbridge
  • Add extra metadata to variable delete confirmation dialog
  • fix(deps): update dependency node-fetch to v3.3.2
  • Add loading states to hook and cronjob config buttons
  • fix(deps): update dependency rate-limiter-flexible to v2.4.2
  • fix(deps): update dependency pg to v8.11.2
  • chore(deps): update dependency @types/sinon to v10.0.16
  • chore(deps): update dependency @types/node to v18.17.3
  • Feat/events page
  • Fix: few issues in studio
  • Fix: only show rowSelection when state is passed to tableComponent
  • Fix: columnSettings not showing when column has no values
  • Fix: columns that can not be hidden in visibility popup
  • docs: link to packages api ref docs
  • fix(deps): update dependency openid-client to v5.4.3
  • chore(deps): update dependency eslint-config-prettier to v8.9.0
  • chore(deps): update dependency ts-mocha to v10
  • docs: add some more info around Variables
  • styles: improve tab style + add extra story
  • Fix: required on input fields triggers builtin html validation
  • Feat: add list item when multiple form errors
  • Feat: bunch of table improvements
  • chore(deps): update dependency zx to v7.2.3
  • chore(deps): update dependency lint-staged to v13.2.3
  • chore(deps): update react monorepo
  • chore(deps): update dependency @types/nodemailer to v6.4.9
  • chore(deps): update dependency @types/lodash-es to v4.17.8
  • Feat: add renderer for table toolbar
  • fix(deps): update dependency pg to v8.11.1
  • chore(deps): update dependency eslint to v8.46.0
  • chore(deps): update dependency @types/netmask to v2.0.2
  • chore(deps): update dependency ts-loader to v9.4.4
  • Invite users to Takaro
  • feat: expose logs from inside module
  • fix(deps): update dependency openid-client to v5.4.3
  • Feat: icon nav
  • deps: increase vite version + feat: improve startup
  • fix(deps): update dependency node-fetch to v3.3.2
  • feat: generate detailed API docs for all (most) packages
  • fix(deps): update dependency @ory/client to v1.1.41
  • chore(deps): update react monorepo
  • chore: update renovate schedule
  • chore(deps): update typescript-eslint monorepo to v5.62.0
  • chore(deps): update dependency zx to v7.2.3
  • improve-editor-usage
  • chore(deps): update dependency @types/lodash-es to v4.17.8
  • Fix: pagination + Feat: row selection
  • chore: remove auto merger replaced by merge queue
  • fix: only create/delete lambda if lambda mode is enabled
  • Fix/lambdas
  • feat: add variable and user tables
  • Rework table
  • ci: generate docs for apiclient
  • Small docs improvements
  • Lambda integration
  • feat: custom tabs in editor
  • chore: improve information when adding gameservers
  • Fix: incorrect code updates
  • fix: tplist broken when player has used teleports
  • Fix monaco editor indentation
  • fix: do not log full error.message on errors
  • Feat: Tabs component
  • fix: show update instead of installed when module is already installed
  • fix(modules/teleport): public teleports listed twice
  • fix: error display when adding server
  • feat: add basic event service
  • Feat: ContextMenu
  • deps: react-query
  • feat: allow copying modules via Studio
  • Fix: some API types
  • feat: improve error display
  • fix: allow discord IDs some variance in their length
  • fix: discord incorrect guild states
  • feat: improve object layout rjsf
  • Fix settings navlink highlighting
  • feat: InfiniteScroller part of query
  • fix: radio single state
  • fix: checkbox state issue in rjsf
  • Fix: incorrect spacing between container description
  • chore: take sql migrations out of app-api
  • chore: improve style of switch
  • fix(settings): crash of horizontal nav
  • ci: refactor build job so it doesnt use matrix anymore
  • pw: initial test suite
  • Revert “ci: no retries”
  • ci: cancel stale CI jobs
  • ci: dont run npm builds on main
  • Mv: label and errormessage to layout
  • chore(deps): update dependency @types/convict to v6.1.3
  • Configure Renovate
  • Fix: spacing editable field (new file)
  • ci: use GH app for triggering new CI jobs
  • chore: add favicon
  • ci: automatically update PRs when the main branch is updated
  • feat: some more observability for domain init
  • feat: more detailed tracing for Takaro-specific functions
  • fix: storybook dev script
  • fix(moduleDefinition): prevent edit & delete button from opening studio
  • chore: add ariaLabel to all iconButtons
  • fix: redirect when module not found in Studio
  • fix: make config validation a bit more robust
  • fix(onboarding): broken links
  • feat: implement public/private teleports
  • fix: load initial values on settings page correctly fixes #361
  • chore: increase prettier line width
  • docs: few changes
  • fix: numberfields in config fixes #336
  • feat(7d2d): send message to a player
  • feat; allow teleports to be delayed
  • fix: game server select nav
  • Allow teleports to have a timeout
  • ci: update vmm actions to latest version
  • fix: run tests with ts (dont transpile to js first)
  • wip: playwright
  • feat: paginated queries
  • CI improvements
  • docs: add FAQ page
  • wip: initial test version of gimme module
  • fix: gameserver dashboard
  • Fix: few problems with json schema generator
  • Feat: add iconButton to default snack
  • fix web styles for osx
  • chore: few fixes
  • Feat: <Popover />
  • Feat: bunch of small style improvements
  • fix: make config readonly when it’s a builtin module
  • fix: make config readonly when it’s a builtin module
  • chore: refactor/rewire event data types
  • Make builtin modules readonly
  • Wip: Json schema form
  • ci: fix docs deploy workflow
  • Big docs upgrade
  • Init chat bridge
  • Fix local execution mode
  • wip: small style fixes
  • fix: pagination
  • feat: implement linking Discord via API
  • style: improve default style <IconButton/>
  • style: <Chip/> better
  • command arguments
  • fix(ModuleDefinition): edit & delete button event
  • feat: test gameserver connection before saving
  • fix(vmm): decrease runningGauge in finally block
  • feat: basic rust connections working
  • chore: disable default nodejs metrics
  • docker(vmm): build vm image inside docker
  • Fix crashing vms
  • chore: move module onboarding
  • style: various fixes
  • fix: calm your pings!
  • feat: some small additions to commandConfig
  • docs: do a quick pass through docs and update/delete stuff
  • refactor: studio routing, open new tabs
  • feat: add item configs to Studio for hooks, commands and cronjobs
  • refactor: studio to use react-query functions
  • chore: move app-vmm to a seperate container
  • script: set npm version to atleast v8
  • Some small style improvements
  • fix(Router): temp disable lazy loading for gameserver dashboard
  • fix(studio): use filePath instead of filename
  • Basic module onboarding page
  • Enable concurrent spawning of vms
  • wip: <TagField/>
  • Fix: few loading and navigation issues
  • chore: fix debug port of connector
  • feat: app-connector
  • Fix: incorrect border color of unchecked checkbox
  • feat: add module installations page
  • feat: add endpoint for gameserver types
  • chore: integrate docs in dev environment
  • Extend mock server
  • chore: add monacoCustomTypes to gitignore
  • deps: update vite
  • Feat: bunch of small improvements
  • ci: fix app-vmm build step
  • refactor: rename app-agent to app-vmm
  • feat(#186): run firecracker in docker
  • fix: broken link
  • Feat: add type checking
  • Fix: pass id correctly to gameserver delete handler
  • Add module descriptions
  • feat: teleports module
  • Add: more query implementations
  • ci: update checkout version
  • feat: allow filtering cron command and hooks by moduleId
  • Feat: use new browserrouter but without new data api (yet)
  • Fix: issue with state only loading on refresh
  • Feat: horizontal nav in settings
  • Feat: isolate query logic
  • Bunch of small improvements
  • ci(web-docs): add install job
  • Add documentation with nextra
  • rework-empty
  • Rework: <Console/>
  • chore: open postgres ports to host
  • fix: bug in server type selection in production mode
  • feat: readd local execution mode (+ fixes for ESM)
  • fix: scrolling of drawer form
  • Fix: typo in mock server connection info
  • Extensions to builtin commands
  • chore: run integration tests against real containers, not the silly d…
  • fix: fix how users access socket
  • Add simple <BreadCrumbs/>
  • chore: change all localhost links to 127. in Homer
  • Feat: new server page
  • fix: frontend runtime configuration
  • feat: basic opentelemetry impl
  • <Drawer/>
  • Add sentry to web-main
  • Feat: vite as web-main builder
  • Feat: rework navigation flow
  • chore: add some more stuff to Homer
  • Auth refactor
  • scripts: increase size of rootfs
  • scripts(dev-vm): use release version of vm-agent
  • scripts(dev-vm): create firecracker dir if not exists
  • scripts(vm): comment out starting firecracker
  • add very simple dark theme
  • Add new <Dialog/>
  • Add: initial version of <Table/>
  • Remove @floating-ui/react-dom dep
  • Metrics
  • feat: implement variables
  • feat(ci): add Docker build for web-main
  • ESM Migration
  • Update lib-component and web-main deps
  • Small improvements
  • Fix: storybook out of memory
  • Feat: initial version of takaro studio
  • Feat/vm agent
  • feat: add sendMessage functionality
  • feat: e2e implementation of ping module
  • feat: add method to execute commands on gameservers
  • feat: add basic modules overview page
  • Rework modules and how items inside are triggered
  • refactor: how domain scoping works on db level
  • Single label component and error display + default form props
  • Design system spacing
  • Feat: Design system elevation
  • Fix: impossible white outline combination
  • Fix: snack variant types
  • Chore: rework <Button/> to be more reusable
  • Fix: remove redundant input fields
  • Feat: rework <Select/>
  • Fix: switch form control
  • deps: update ts to 4.8
  • feat: check if server connection works before adding/editing
  • feat: integrate commands into module API better
  • Feat: <Console/>
  • Commands
  • Feat: <EditableField/>
  • 📝 Fix typo 😳
  • Enhance docs
  • Add data validation to emitter (and apply DTOs too)
  • Refactor tests
  • Rust gameserver init
  • Some cleanup jobs
  • Refactor relation between Functions and Hooks/Cronjobs
  • ci: add an explicit build job for each package
  • Generic DTO with validation and (de)serialization
  • Feat: <Tooltip/>
  • chore(docker): bump npm version to 8
  • Feat: <CollapseList/>
  • Fix: override docusaurus to use react 17
  • chore(scripts): remove domains script
  • deps: update React to v18
  • Feature: settings
  • docs: module config
  • docs: tiny change to repo setup docs
  • Feat: A lot of frontend improvements
  • docs: functions
  • Refactor encryption
  • Feat: use vite as builder + Update stories to latest storybook version
  • docs: add info about modules and the different components inside
  • feat: docs
  • 🔨: fix script to work on Unix systems
  • Fix a lot of anys
  • fix: login password validation error
  • Style: 404 page
  • Bunch of small fixes/improvements
  • chore: refactor dev-data script to use apiclient
  • chore: lint-staged
  • feat: implement player controller + players table in frontend
  • feat: further implement 7d2d integration
  • feat: add basic ability to add and delete gameserver via frontend
  • add homer dashboard
  • chore: add JUnit reports to CI
  • feat: implement hooks
  • feat: basic socket server
  • feat: implement mechanism for events processing
  • feat: implement crud for modules (and integrate cronjobs into it)
  • feat: basic frontend integration
  • Implement function execution for crojobs via agent
  • feat: implement crud for gameservers and functions
  • feat: add openapi spec generation + auto-generated API client
  • Lots of work on auth/tests/multitenancy
  • feat: more API work
  • fix: run-all script should exit with the correct status code
  • feat: bunch of work on API
  • poc with nerdctl
  • feat: database integration
  • HTTP library enhancements
  • tooling: add a script to run npm scripts concurrently
  • Refactor everything :)
  • Init
  • tooling: manage dev deps at root level where it makes sense
  • Fix initial CI

🚀 Features

  • feat: improve gameserver reconnection logic
  • Enable-disable module and items
  • Some fixes and improvements to player linking
  • feat: integrate backend with posthog
  • feat: show an overview of recent failed module calls
  • feat: stats and graphs
  • Give items patch
  • feat: add domain state property
  • feat: waypoints
  • feat: add player to command executed
  • feat: proper integration with Rust mods
  • feat: basic server status event
  • Events refactor
  • feat: ip history
  • feat: better styling for chat and online players cards
  • feat: add some basic data to game server dashboard
  • feat: add steam info to players
  • feat: events for Role CRUD
  • feat: add events for economy changes
  • feat: enum for event types
  • feat: add support for player arg type
  • feat: aliases for commands
  • feat: add currency field + base api changes
  • feat: roles that expire fixes #680
  • feat: implement permissions with count for teleports module
  • System roles
  • fix: assigning permissions via frontend
  • Better error reporting from lambdas
  • feat: frontend for module permissions
  • wip: initial changes for role enhancement
  • feat: send events over socket fixes #440
  • feat: expose trace ID in browser
  • feat: let filter and search support arrays of values
  • feat: implement gameserver-scoped settings page
  • feat: add helper to easily send messages to player
  • chore: include axios and lodash in local execution mode
  • feat: CPM integration for 7d2d
  • feat: allow variables to be module-scoped
  • feat: create events when modules fire
  • feat: tighter types for module data
  • refactor: playerOnGameServer into its own repo/service
  • feat: high ping kicker
  • feat: add kick and ban actions to gameservers
  • feat: add starterkit command
  • ci: auto retry integration tests on failure
  • feat: automatically add rust and 7d2d when running dev-data
  • feat: extend chat bridge
  • feat: add gameserver navigation select
  • feat: allow filtering gameservers by their type
  • feat: add a default function skeleton when creating fn and not specif…
  • feat: add script for easily creating new test domains
  • feat: basic server modules page + create module
  • refactor: event awaiter to be more stable
  • refactor: let teleports module use new meta-keys of Variables
  • feat: add capability to mock server to play pre-generated scenarios
  • Extend variables feature
  • feat: improve queue memory usage
  • feat: Cronjobs
  • Random fixes
  • Add custom types to Monaco editor
  • feat: add playerGreeter module
  • feat: implement module config schemas
  • feat: add argument to help command
  • feat: add a readiness endpoint
  • fix: how agent API tokens get detected and handled
  • feat: rate limiting middleware
  • [FC] Integrate firecracker in our local dev setup
  • [FC] Setup networking between guest and host
  • chore: refactor dev script
  • chore: convert bytes to string

🐛 Bug Fixes

  • fix: ci
  • fix: removing gameserver-specific expired roles
  • fix: double waypoint teleports
  • fix: for teleport list when a server has many teleports
  • fix: CSMM import
  • Fix an issue when firing multiple hooks simultaneously
  • fix: discord party chat
  • fix: catch another bad-json-error
  • fix: graceful error when function fails that did not produce any logs
  • fix: an edge case in function execution if there are no logs
  • fix: a sorting issue causing snapshots to fail sometimes
  • fix: issue where player location is not loaded soon enough
  • fix: issue with POG roles not expiring properly in commands
  • fix: 7d2d ban reason
  • fix an uncaught promise rejection
  • fix: chat messages on server overview
  • fix: game events not being properly created
  • Fix player data consistency issue
  • fix: duplicate pogs
  • fix steam syncing
  • fix: add some logic to keep 7d2d SSE connection open
  • fix: detect player first-time-join events
  • fix: installing modules
  • fix: double module installation call
  • fix: an issue with systemconfig generating invalid schemas
  • fix: connection logic to 7d2d
  • fix: arguments frontend
  • fix: command not active after creating in already-installed module
  • fix: variables page not showing related entities
  • Fix: infinite scroll showing incorrectly
  • fix: some issues with 7d2d reachbility tests
  • fix: use correct regex as a default value when creating hooks
  • fix: faster timeout for 7d2d reachability
  • fix: some issues with module creation
  • fix: add await to default function code
  • fix: a a21.1 regex bug
  • fix: an issue when the same player logs into multiple gameservers
  • fix(7d2d): double chat detection when hccp is active
  • fix: issue when installing modules that have empty configs
  • fix: chatbridge broke after event data refactor
  • fix: ensure connector exits if it cannot initialize properly
  • Fixes for chatbridge
  • fix: sync player data on chat messages too
  • fix: issue with Select not using right state
  • fix: installing modules
  • docs: fix a copy-paste thing :)
  • chore: remove unused state + rename component
  • fix: make socket connection info more stable
  • fix: revert ws-only transports change
  • fix: only use websockets
  • fix: socketio connection when running multiple API replicas
  • Protect builtin modules from being updated, deleted or created by users
  • fix: move yup out of pkg dependency list
  • fix: move to native Mermaid support from Docusaurus instead of a 3rd …

🧰 Maintenance

  • Add release drafter
  • fix: rename a file that has quotes in it
  • chore: hide queue http logs
  • chore: make function rate limiting configurable
  • chore: add retry logic around test harnass
  • refactor: pog routes should use gameServerId and playerId instead of …
  • refactor: decrease total amount of possible permissions
  • Some chores
  • chore: add no-console eslint rule
  • chore: automatically clean dangling test domains
  • chore: some more test coverage for player arg type
  • docs: command arguments
  • docs: create basic economy docs page
  • chore: speed up CI, smarter retries
  • chore: remove automatic scenario
  • chore: increase timeout for test io connection
  • fix: try fixing tests in CI race condition
  • docs: fix an issue with built in modules link
  • chore: add automerge config for some packages
  • useDocumentTitle + remove react-helmet
  • chore: add basic rate limiter to functions
  • chore: add default renovate config
  • ci: re-add retry for node ci
  • chore: handle logging of 7d2d http requests better
  • ci: automatically fix prettier issues
  • ci: remove retries for certain steps
  • chore: adjust some options when building containers
  • chore: adjust default temporal value for high ping kicker
  • chore: remove some unused dependencies
  • feat: add index on domain for all relevant tables
  • docs: add info on database migrations
  • ci: pin buildkit version