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.
- Adding repository to Org/Team during "Connect Repository"
- Switching off daily-activity-alert since we now have Slack Alerts enabled
- README and plugin.xml updated for AI features
- Added support for latest browser and Java 21.
- Added handling for sub-directories of synced repo
- Bug fixes and performance improvements.
- Improved error handling and enhanced logging.
- Added support for the latest IDE.
- Fixes for the logout functionality of unified browser auth.
- Implemented unified browser login for intelliJ.
- Performance improvements to cache queries that are made multiple times by the daemon.
- Fixes for database migrations.
- Moved to SQLite backed storage for storing metadata instead of YML based file storage.
- General performance improvements.
- Improved error handling and logging.
- Added support for IntelliJ 2024.2
- Fixed bugs with CodeSync menu items.
- Added a fix to handle error_code only if a 402 status_code is received.
- Added support for IntelliJ idea 2024.1
- Added a fix to handle exceptions independently for different flows inside handle buffer.
- Added new error message "Only 1 private repository is allowed in Free Plan"
- Added custom error codes class: CustomErrorCodes
- Added error handling for when user on FREE plan tries to add more than 1 private repo.
- Reload state to make sure the plugin is in the correct state after the repo sync.
- Disabled config file reset logic in case of yaml error.
- Updated messaging for repo disconnect confirmation prompt.
- Only process diffs of the authenticated user.
- Fixed an error in handle buffer. Added checks for null values.
- Renamed file sync message from "Syncing files" to "CodeSync: Uploading files..."
- Updated messaging for reconnect repo functionality.
- Fixed async file upload issue.
- Added proper handling for deactivated accounts.
- Added the ability for user to reactivate account.
- Added marking of git commit hash along with repo init.
- Added background S3 file upload capability for single new files.
- Added background S3 file upload capability to speed up repo sync action.
- Added marking of git commit hash along with each change event.
- README updated with the same content
- Content updated for CodeSync Description in plugin.xml
- Fixed compatibility issues
- Support for IntelliJ Platform version 2023.3
- Fixed pricing URl for upgrade to pro action.
- Fixed activity alert reappearing on clicking Skip Today and close button.
- Put check for SyncIgnore flag to avoid being used for not opened projects which are being processed by PopulateBuffer.
- Replaced DialogBox with Notification Balloon for Activity Alert.
- Removed support for intellij versions before 2020 March.
- Fixed single individual file opened should not be allowed to be Synced.
- Gracefully handling error 400 which is being returned when file is in syncignore.
- Updated playback gif on plugin.xml file for plugin page.
- Removing log related to skipping event due to file is ignored.
- Removed sequence token file and sequence token from the payload to cloud watch API calls.
- Added dependabot.yml file to automate update dependencies update.
- Added SECURITY.md file to give instruction to people on how to report vulnerabilities.
- Updated unitBuild value so plugin can run on latest Intellij version.
- Fixed writeEmptyDictToFile method issue in by closing the lock after writing so file can be flushed and closed.
- Put check for LockFile expiry getting null and text getting null while reading YML file.
- put check for fileContent variable if it is null and send logs to cloud watch for that file.
- Implemented Mocking for testing static method calls in getOS and sendPost methods.
- Updated Git workflows to build and test on all three operating systems Windows, MacOS and Linux
- Update playback picture on GitHub repository in README.md file.
- Fixed websocket was getting null when server was restarting.
- Put check for batch size of diffs being sent in a request should not exceed 16mb.
- Implemented Singleton design pattern for SQLite connection which fixed the bug of connection getting closed when switching between projects or multiple projects opened.
- Fixed diffs not being sent to server after getting online when synced projects has started without internet.
- Fixed a bug that was causing offline changes to have incorrect associated time.
- Removed UserPlan and User class and their usages.
- Fixed synced project not opening when internet connection is not available.
- Migrated to SQLite implementation for User info from user.yml files.
- Disable Connect Repo button when repository is in process of being connected and uploaded.
- Skip Healthcheck Test and when server is down shows connection error in bufferHandler catch block.
- Don't send user data on post request in Authenticator as token is already provided.
- Added tests for config file updates, updated logic so that async writes and locking wait do not cause the loss of data added in previous writes.
- Added more error handling for cloud watch logs so that it gracefully handles errors and does not interrupt users.
- Added synchronization logic for writes to config files, a locking mechanism would allow multiple threads write to the config file.
- Added handling for invalid config files, config file will be emptied if its contents are not valid.
- Changes for inactive repositories would be ignored now, previously diff files were being created causing buffer size increase.
- Offline changes for inactive repositories will be ignored.
- Updated logic to use correct initial values for fields such as
isDisconnected
,pauseNotification
andisDeleted
for newly synced repos.
- Fixed handling for multi-module projects in languages that support modules such as java. These were being considered as separate repo by the plugin.
- Added fixes for sync prompt at the start, it was incorrectly prompting user to sync the repo if user creates a new branch offline for an already synced repo.
- Fixed invalid payload issue for branch syncing process, specifically
is_public
was missing and causing an error. - Improved messaging of repo in sync message.
- Added support for latest intelliJ IDE version.
- Added fixes for dialog related issues on some systems.
- Added fixes for alerts logic.
- Added more logging to debug issues that users are facing.
- Fixed a bug that was causing suppression on dialogs.
- Fixed a bug that was causing failure in the detection of new line characters.
- Removed changes handler logic from main thread into a separate thread
- Fixed date time formatting issues for alerts file.
- Fixed a logic issue against activity data returned by server.
- Added delay for invalid request to get activity data.
- Refactored the code a bit.
- Fixed file path issue for lock files.
- Updates for the daemon calling functionality.
- Fixed a path issue in the project lock file for Windows OS.
- Updated logic for alerts to handle an edge case.
- If previous alert was shown before 4 PM then we need to show another one at 4:30 PM
- Fixed a quick bug observed by new users.
- Bug fixes related to daemon processes and yml files.
- Refactored and improved locking logic to handle edge cases.
- Fixed a bug with progress indicator, it should work correctly now.
- Fixed a bug with activity alerts that was blocking alerts if user clicked on remind later.
- Fixes and improvements in the plugin.
- Show login prompt before repo-sync prompt.
- Added handling and guards agains null values of Project instance in different places inside the code base. This will help avoid null pointer exceptions.
- Explicitly set API timeout to 120 seconds for requests, also refactored client related code to add better error handling and make it cleaner.
- Included
added_at
parameter for new files so that correct time is used if user creates a file during the time period when user's plan has expired. - Added daily reminder alert for team activity review.
- Started using ScheduledExecutorService instead of Timer to schedule async processes.
- In case user has exhausted his plan limit we should show dialog in user tries to connect a new repo using actions.
- Added alerts.yml file for syncing with VSCode.
- Improved pricing alert dialog box.
- Improved error handling during repo init flow.
- Added IDE name in logging and GA4 tags for better understanding of errors.
- Added analytics tag for websocket connections.
- Fixed new file creation timestamp in diff files.
- Added dialog box for a better user experience and enabled a way to start free trial if user is eligible.
- Added handling for stale diff files belonging to a branch that was not synced.
- Added pricing alert feature for intelliJ users.
- Added support for the latest IDE.
- Fixed an issue related to change detection logic.
- Fixed issues related to setup action from the menu.
- Added logging capability for users who have not authenticated yet, this will help with the debugging og authenticated relates issues.
- Fixes for windows related issues, and other bugs.
- Fixed auth server issues that should fix the login issue.
- Fixed compatibility issue for IDEs older than March 2020
- Add platform name in the CW log event.
- Updated handling for notifications and deprecated the old API to start using the new one.
- Added CodeSync icon on user input dialogs.
- We should not handle updates for projects that disposed.
- Updated wording of notifications to correctly indicate repo or branch that is being synced.
- Improved logging for the plugin errors.
- Reduced thread count for authentication server down to 1.
- Improved error logs and added more logging for debugging issues with the authentication flow.
- Added handling for null file ids.
- A small UX improvement for syncing new branches.
- Fixed bug for disconnect action, user can now disconnect repos.
- Updated logic to have single module projects be marked as the default projects.
- Bug fixes for populate buffer daemon.
- Fix for a bug in synchronisation logic.
- Added synchronization logic across IntelliJ and other IDEs running codesync.
- Server URLs updated
- Bug fix related to path normalisation on Windows OS.
- Cosmetic changes and better handling for authentication related actions.
- Handle server failure gracefully
- Added supported for more recent IDEs
- Fixed issues with state update after auth or repo-sync actions.
- Fixed issues with multi window projects and projects opened using attach option.
- Added the ability to use access tokens from user.yml file instead of condesync file.
- Some bug fixes and code improvements.
- Removed "User Another Account" feature from user actions.
- Fixes related to timezone that were causing strange behavior on diff uploads.
- Fixes for duplicate creation of diff files for the same change.
- Directories like .git, node_modules are ignore by default.
- Added more notifications that will give user more information on the status of repo, and give insights if some error happens.
- Added more logging that will make debugging errors easier.
- Added options for repo and file playback.
- Minor UX improvements related to CodeSync menus.
- Other bug fixes and feature enhancements.
- Fixed capitilization issue of a message.
- Added more success and error message to give user more feedback on repo initialization process.
- Fixes for windows path related issues and message improvement.
- Fixes for cloud watch logging.
- Fixes for diff handling to make sure files are not processed multiple times.
- Fixes for configuration related issues that were causing plugin issue on startup.
- Added support for windows, bug fixes and improvements.
- Added authentication flow with CodeSync.
- Non-IDE (external) event handling, plugin detects and handles changes made outside the IDE.
- Added support for windows paths, and added support for plugin on widows.
- Added repo-init functionality right from the plugin.
- Some Bug fixes and features enhancements
- Daemon with basic functionality of checking server availability, validating and grouping diffs
- Diffs are being uploaded to server via websocket
- Docs added for handleBuffer, Fixed order of uploading diffs after authentication
- utils/buffer_utils.ts added
- is_dir_rename & is_rename diffs handled, using walk package for os.walk
- Implemented New File Upload to server & s3, new package added isbinaryfile
- put_log_events replicated using aws-sdk
- Directory delete handled
- Updating readme for tremendous enjoyment and superior marketing
- Updated svg icon
- Until build value updated to 211.*
- Updated plugin.yml with README content
- Common function added to manage diffs
- Added basic strcuture and jar file for diff-match-patch
- Getting git branch name on run time using bash command
- Handling events for File Create/Update/Rename/Delete
- Directory level diffs implemented
- Skipping events if directory is not in sync
- Ignoring .git repo to be synced for all events
- Directory rename has been handled
- Skipping directory events for New/Deleted events
- DirRename diff introduced to manage nested renames from daemon side
- README Updated
- Added icon
- Updated gradle version to v6.8.3
- Fixed duplication for FileDeleted events