All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- wizard for creating first company/repository/access_token
- seo optimizations
- redesign
- ignoring entities for pull requests at frontend
- creating webhooks for notifications at frontend
- creating notifications for notifications at frontend
- repository metrics for issues
- comparing time insights with 0 values
- redirect to last visited page after login
- extract auth logic to authkeeper engine
- migrate from ReactJS to SolidJS
- commands layer for validating and persisting objects
- rendering webhooks page for admins
- bug while rendering empty repository insights
- time_since_last_open_pull_seconds insight
- notifications for long time_since_last_open_pull_seconds
- multiple notifications sending
- bug with rendering insights in PDF
- rendering PDF with insights
- Notification and Webhook models
- edit form of notifications and webhooks
- highlight access token button
- frontend folders structure
- co-owners for accounts
- expiration time for access tokens
- creating/removing API access tokens
- API documentation
- fetching insights by API
- skip reseting invites email after accepting invite
- deliveries/notifiers structure
- Google oauth
- feedback attributes
- bug with unknown github's review state
- parsing body of comments with checking convention
- rendering conventional comments count
- fetching commented and uniq accepted reviews from Github
- calculating commented PRs
- transfering companies to another users
- encrypting sensitive data
- basis for API
- bug with calculating review involving
- calculating bad reviews
- support of multiple subscription plans
- seeds
- statistics at welcome page
- repository link validation of ending with .git
- bug with login to app after invite
- admin page for rendering users
- rendering company users amount at admin page
- notifications about long time review for pull requests
- admin page for rendering notifications
- admin page for rendering webhooks
- admin page for rendering subscribers
- refactoring Api::Frontend endpoints
- third pricing plan for enterprise clients
- subscribing for newslist
- titles and descriptions for landing page
- basis for E2E tests with Cypress
- limit for premium repositories
- deleting repositories from admin panel
- navigation styles for better mobile
- H structure for home page
- validating repository url
- receiving payments in crypto for subscription
- validating payments amount in webhook
- monitoring system with notifications to Bugsnag
- welcome page
- admin page for checking company configurations
- changing fetch period
- invites for coworkers
- sending repository insights as notifications
- excludes rules configuration
- connecting account to Telegram
- receiving Telegram notifications from bot
- admin routes for repositories
- custom webhooks notifications with insights
- Webhook model
- vacation form to modal window
- refresh views
- ignoring entities for Company
- showing next sync time
- tooltip for Insight table
- admin pages
- fix rendering insights with unavailable main attribute
- saving configuration
- feedback form
- modal component for simple forms
- removing identities
- page with metrics description
- validating access token for companies
- sorting for insights table
- use cookies for auth
- mobile UI
- privacy for companies for hiding insights
- running sync job 1 hour before work time start
- creating repository with existing link
- color schema
- bug with blank pull_request_exclude_rules
- bug with blank work_time_zone for companies
- frontend time formatting
- js component for rendering alerts
- welcome page formatting
- rendering alerts
- notifications layer for export and emails
- saving owner_avatar_url for repository
- running job with including timezone offset
- validating access token format
- pull request exclude rules
- more forms and services with container
- import services structure
- text for access token page
- js compression
- responsive styles for guest screens
- achievements calculations
- owner avatar url for repositories
- design with tailwind and react
- render source logo as link to repository
- favicon
- bug with rendering repositories for not user companies
- repositories and access token routes
- how it works page
- container with dependencies injection for common used classes
- repository insights
- operations layer for services run from controllers
- rendering insight ratios
- previous insights calculated 1 time per day for faster insight ratio calculations
- LOC insights attributes
- importing LOC data from Github
- generating LOC data for insights
- skip using PullRequests::Entity model
- calculating company insights by using repository insights
- updating pull_requests_count counter after import
- remove ratio insights attributes
- calculate insight ratios for average_open_pr_comments field
- query objects
- cache entities data for skipping redundant queries
- form object to interact with users input
- rendering robots file for text/html request
- rendering sitemap zgip file
- cache store from memcached to redis
- Emailbutler integration for tracking email delivery
- absolute changes for insights
- clear insights ratios after changing type
- sending emails about repository access errors
- rendering access error warnings
- trial period
- trial subscription
- soft deleting user, left only subscriptions
- login through Gitlab
- expiration time to auth tokens
- removing expired users sessions
- attaching more identities to one account
- default insight fields
- creating new repositories
- configuring time zones for users and companies
- average time calculations for night working time
- restoring accessability of repositories
- checking accessability of companies
- sending accessability errors to slack and discord
- editing users working time
- ignore user work time for companies
- average time calculating based on user working time
- calculations for achievements
- checking accessability of repositories for invalid link and/or access token
- slack notifications after job running
- admin users
- companies and repositories pages pagination
- Github Actions CI integration
- better seeds
- achievements rendering
- Discord notifications
- sending company notifications only at work time
- sending company notifications only at weekdays
- using main attribute for insights sorting
- Import::SyncRepositoriesService, bug with first fetching already closed PRs
- rendering decimal values of Average PR comments column for insights table
- creating identities after login
- excluding vacation time from calculating of average time
- editing vacation time for users
- awarding for comment creating
- achievements system with Kudos library
- event store for publishing achievement events
- rendering earned achievements
- rendering unreceived achievements
- rendering grouped achievements based on award_name
- geometric_mean for average calculations
- new insights attributes - average_open_pr_comments
- rounding average values
- FindAverageService calculations
- configuring Slack webhook url for notifications
- sending insights notifications to Slack
- changing average calculation type
- selecting main insights attribute for sorting
- rendering insights data
- generating slack insights payload
- welcome page
- speed improvements for importing pull requests
- better average time calculations for PRs that were draft
- for import service skip closed pull requests
- link to support group in Telegram
- x2 speed improvements for saving comments data
- rendering/updating insight attributes at configuration edit form
- calculating/rendering insight ratios
- render end time of premium
- update gems
- generating insight attributes based on available insight_fields
- rendering insight attributes based on configuration
- deleting account
- rendering entities links to different providers
- saving and rendering last synced_at time for repositories
- small SEO changes
- changelog file
- fetching/representing/saving gitlab data
- creating repository with for specific provider and external_id
- text at welcome page
- release 1.0.0