‹ Reports
The Dispatch

OSS Report: appsmithorg/appsmith


Appsmith Development Team Focuses on Performance Optimization Amidst Critical Bug Reports

The Appsmith project, an open-source platform for building internal applications, has been actively addressing performance optimization and critical bug fixes in recent weeks. The development team has concentrated efforts on enhancing user interface components, optimizing backend processes, and resolving significant issues affecting application stability.

Recent Activity

Recent GitHub issues and pull requests (PRs) indicate a concerted effort to improve both the functionality and reliability of the Appsmith platform. Notable PRs such as #36168 and #36165 focus on migrating database plugins to new configurations and enhancing reactive bindings, respectively. These changes aim to streamline code management and improve user experience but have encountered some test failures that need resolution.

Critical issues like #36163, which involves missing queries after forking applications, highlight ongoing challenges in maintaining data integrity across different environments. Similarly, #36039 reports 504 errors during large app imports or edits, underscoring the need for robust handling of extensive datasets.

The development team has been active in refining workflows and testing processes. Members such as Abhijeet (abhvsn) and Pawan Kumar (jsartisan) have contributed to improving build triggers and widget configurations, while Anagh Hegde (AnaghHegde) has enhanced CI workflows. The team's collaborative efforts are evident in co-authored commits and shared responsibilities across various features.

Recent Development Activities:

Of Note

  1. Critical Bug with Forking Applications (#36163): A high-priority issue where forking leads to missing queries, posing a blocker for users.
  2. Performance Optimization Focus: Several PRs aim to reduce latency and improve dependency management (#36161).
  3. Testing Challenges: Persistent test failures in key PRs (#36168, #36165) highlight areas needing attention.
  4. Community Engagement: External contributions (#36132) reflect active community involvement.
  5. Git Operations Issues: Recurring themes in issues related to Git operations, such as parallelizing file I/O for better performance (#36006).

The Appsmith project is progressing with a focus on enhancing performance and addressing critical bugs. However, resolving test failures remains crucial to ensure stability as the platform evolves.

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 101 32 57 0 3
14 Days 157 63 95 0 3
30 Days 313 144 232 1 4
All Time 20773 17070 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
Nilansh Bansal 1 5/3/1 6 112 39796
Sagar Khalasi 15 19/6/8 44 630 27413
Valera Melnikov 6 5/0/3 17 880 21951
Hetu Nandu 5 5/3/2 30 234 11197
Rahul Barwal 5 7/2/3 14 35 6122
Laveena Enid 1 2/2/0 1 37 6049
Ankita Kinger 7 15/6/5 20 40 5221
Rudraprasad Das 3 3/2/1 7 37 4304
Diljit 4 2/0/0 21 209 3719
Alex 5 6/2/3 15 35 3586
Ilia 4 6/3/1 6 105 3125
albinAppsmith 3 12/10/0 13 45 2939
Pawan Kumar 1 7/5/0 10 272 1629
Manish Kumar 1 6/6/0 9 19 1516
Pawan Kumar 3 0/0/0 19 241 1242
Abhijeet 4 10/8/1 18 26 885
Vemparala Surya Vamsi 3 5/2/1 7 43 775
Aman Agarwal 2 15/3/11 11 50 682
Anna Hariprasad 2 0/0/0 3 15 643
sneha122 1 6/4/1 6 29 581
Jacques Ikot 2 4/3/0 8 15 546
Shrikant Sharat Kandula 1 0/0/0 1 29 530
Anagh Hegde 3 10/9/1 20 4 529
Abhinav Jha 1 1/0/1 1 9 527
Rishabh Rathod 4 4/1/1 8 29 512
subratadeypappu 2 2/1/0 8 23 478
Naveen Goud 1 1/0/0 2 4 387
Nidhi 1 4/4/0 7 11 338
Ashit Rath 1 5/5/0 5 5 294
Zachary Zondlo 1 0/0/0 1 1 152
“sneha122” 1 0/0/0 1 4 96
Ayush Pahwa 1 1/1/0 1 4 88
NandanAnantharamu 5 10/4/3 13 11 86
Apeksha Bhosale 2 2/1/0 2 4 79
vadim 1 0/0/0 1 6 64
Saicharan Pabbathi 1 2/1/0 1 4 61
Nilesh Sarupriya 1 2/2/0 2 4 34
Goutham Pratapa (pratapaprasanna) 1 1/0/0 2 2 28
dependabot[bot] 1 0/0/0 2 3 22
Nikhil Nandagopal 1 0/0/0 9 1 18
yatinappsmith 2 1/1/0 3 2 9
pewpewXD 1 0/0/0 1 1 2
Aparna Ramachandran (btsgh) 0 2/2/0 0 0 0
N V N S Pavan Radha Krishna Kumar (Pavan134) 0 1/0/0 0 0 0
Shivam kumar (Shivam-z) 0 2/0/0 0 0 0
Ikko Eltociear Ashimine (eltociear) 0 1/0/0 0 0 0
Raushan Kumar Gupta (raushan3737) 0 2/0/1 0 0 0
None (shadabbuchh) 0 1/1/0 0 0 0
Veera Venkata Siva Sai Vara Prasad Madine (PrasadMadine) 0 1/0/0 0 0 0
None (RakshaKShetty) 0 1/1/0 0 0 0
None (phennapa-saeliw) 0 1/0/0 0 0 0
None (saiprabhu-dandanayak) 0 2/0/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Appsmith project has seen a surge in GitHub issue activity, with numerous issues created and updated in the past few days. A significant portion of these issues are related to bugs, tasks, and enhancements, indicating active development and maintenance efforts.

Several issues stand out due to their critical nature or unusual characteristics. For instance, #36163 highlights a critical bug where forking an application results in missing queries for many datasources, which is a blocker for building or releasing. Similarly, #36039 reports 504 errors when importing or editing large apps, posing a significant challenge to users working with extensive datasets. Another notable issue is #36007, where development and production environments using the same Git branch are out of sync, leading to discrepancies in application versions.

A recurring theme among the issues is related to Git operations and performance optimization. Issues like #36006 focus on parallelizing Git file I/O for performance improvements, while #35984 addresses uncommitted changes seen after pulling remote changes on the main branch. Additionally, there are several tasks aimed at resolving Blockhound callouts for various plugins (#36149, #36148), reflecting efforts to enhance stability and performance.

Issue Details

  • #36167: [Bug]: Error Unable to import artifact in workspace When Creating New Git Branch

    • Priority: Medium
    • Status: Open
    • Created: 0 days ago
  • #36164: Fix flakiness of video2 spec due to third party

    • Priority: N/A
    • Status: Open
    • Created: 0 days ago
  • #36163: [Bug]: Forking gives an error & though the app is created in the background, the queries are missing for many datasources.

    • Priority: High
    • Status: Open
    • Created: 0 days ago
  • #36162: [Bug]: Move to Postgres - Google cloud URI - Error while importing apps and "Edit" does not redirect to the canvas

    • Priority: High
    • Status: Open
    • Created: 0 days ago
  • #36155: [Task] Create a common Plugin Action Response Pane component

    • Priority: N/A
    • Status: Open
    • Created: 0 days ago
  • #36154: [Task] Combine Query Editor and Api Editor form components

    • Priority: N/A
    • Status: Open
    • Created: 0 days ago
  • #36153: [Task] Create Plugin Action Editor component

    • Priority: N/A
    • Status: Open
    • Created: 0 days ago
  • #36152: [Task]: Create Plugin Action context

    • Priority: N/A
    • Status: Open
    • Created: 0 days ago
  • #36150: [Bug]: Use prepared statement is not working on first load

    • Priority: Medium
    • Status: Open
    • Created: 0 days ago
  • #36149 through #36143 involve resolving Blockhound callouts for various plugins, indicating ongoing efforts to address stability issues.

These issues reflect a mix of bug fixes, performance improvements, and new feature developments, showcasing the project's dynamic nature and commitment to enhancing user experience.

Report On: Fetch pull requests



Overview

The Appsmith project, hosted on GitHub, is an open-source platform designed for building internal applications. The repository is highly active, with numerous pull requests (PRs) reflecting ongoing development and community engagement. This report analyzes the recent PR activity, highlighting key features, bug fixes, and other notable changes.

Summary of Pull Requests

  • #36169: Corrected a typographical error in comments for improved clarity.
  • #36168: Migrated various database plugins to a new configuration format; some tests failed.
  • #36166: Removed a flaky test related to the Video Widget.
  • #36165: Introduced reactive binding enhancements; some tests failed.
  • #36161: Optimized dependency management to reduce latency; some tests failed.
  • #36158: Updated validation logic in select widgets; some tests failed.
  • #36156: Test PR for JSON Form component; all tests passed.
  • #36151: Fixed sorting issues in table action columns.
  • #36140: Modified DatePicker behavior to hide clear button when required.
  • #36132: External contribution test PR; draft status.
  • #36131: Disabled buttons during loading states; some tests failed.
  • #36126: Allowed multiple lines in alert messages for better readability.
  • #36125: Removed unauthorized Google Sheets methods; all tests passed.
  • #36122: Fixed flaky MongoDB test specifications.
  • #36118: Introduced caching and projection optimizations; some tests failed.
  • #36117: Updated Google Sheets plugin configuration; some tests failed.

Analysis of Pull Requests

The recent PR activity in the Appsmith repository highlights several themes and areas of focus:

  1. Feature Enhancements and Refactoring:

    • Many PRs focus on enhancing existing features or refactoring code for better performance and maintainability. For instance, #36168 and #36165 introduce significant changes to database plugin configurations and reactive bindings, respectively. These updates aim to improve the user experience and streamline code management.
  2. Bug Fixes and Stability Improvements:

    • A number of PRs address bug fixes, such as #36151's sorting issue in tables and #36140's DatePicker behavior. These fixes are crucial for maintaining the reliability and usability of the platform.
  3. Testing and Quality Assurance:

    • Several PRs involve testing improvements or address flaky tests (#36166, #36122). Ensuring robust test coverage is essential for catching regressions and maintaining code quality.
  4. Community Contributions and Collaboration:

    • The presence of external contributions (#36132) indicates active community involvement. This collaboration is vital for the project's growth and innovation.
  5. Performance Optimization:

    • Optimizations like those in #36161 demonstrate a focus on improving application performance by reducing execution latency through efficient dependency management.
  6. Challenges with Test Failures:

    • Despite many successful merges, several PRs have associated test failures (#36168, #36165). Addressing these failures is critical to ensure that new changes do not introduce regressions or instability.

Overall, the Appsmith project continues to evolve with a strong emphasis on feature enhancements, bug fixes, and community engagement. However, attention to resolving test failures will be crucial for maintaining the project's stability as it grows.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Activities:

  1. Abhijeet (abhvsn)

    • Worked on updating test-build-docker-image.yml to trigger builds on the pg branch.
    • Involved in adding indexes for policyMap to improve query response time.
    • Added error logs for consolidated API and cleanup stages for tenant at server restart.
  2. Pawan Kumar (jsartisan)

    • Fixed a regression in the ColorPicker component.
    • Enhanced theme validation and refactored theme color control logic.
    • Added new input widgets and updated configurations for various widgets.
  3. Anagh Hegde (AnaghHegde)

    • Removed redundant select workspace in Cypress tests.
    • Updated GitHub Actions workflow for syncing releases.
    • Improved handling of merge commits in CI workflows.
  4. Alex (alex-golovanov)

    • Upgraded Open AI plugin config to a dual zone format.
    • Enhanced AWS Lambda plugin user interface with updated control types.
  5. Ilia (znamenskii-ilia)

    • Added ComboBox widget and component, including documentation and styling.
    • Moved Section and Zone widgets to wds folder.
  6. sneha122

    • Updated actions fetch logic for consolidated view API.
    • Improved performance by moving JS filter to MongoDB.
  7. Rudraprasad Das (brayn003)

    • Fixed issues with forking logic and improved editor component tracking.
    • Enhanced Git autocommit feature with new tests and logging visibility.
  8. Nidhi (nidhi-nair)

    • Enabled capturing metrics at higher frequency.
    • Added multiple scripts to trigger profiles.
  9. Nilansh Bansal (NilanshBansal)

    • Added thread logging info for plugins.
    • Replaced Gson usage with Jackson for JSON processing.
  10. Hetu Nandu (hetunandu)

    • Fixed errors in debugger when deleting list widgets.
    • Removed Sentry performance tracker integration.
  11. Sagar Khalasi (sagar-qa007)

    • Enhanced API testing capabilities with updated test cases.
    • Improved workflow logic for handling builds based on pull request context.
  12. Ashit Rath (ashit-rath)

    • Optimized JSONForm widget rendering by reducing unnecessary re-renders.
    • Added prettier spotless plugin for JSON files.
  13. Aman Agarwal (AmanAgarwal041)

    • Fixed flakiness in MySQL2 spec tests.
    • Updated CSS to place icons correctly in application cards.
  14. Manish Kumar (sondermanish)

    • Simplified logic for saving JavaScript libraries.
    • Enhanced theme management during git import operations.
  15. Jacques Ikot (jacquesikot)

    • Improved validation logic for table widget columns.
    • Enhanced select column functionality in table widgets.
  16. Anna Hariprasad (AnnaHariprasad5123)

    • Introduced SSH tunneling support for PostgreSQL connections.
    • Enhanced select widget with isRequired property.
  17. Vadim Vaitenko (vadim@appsmith.com)

    • Co-authored ComboBox widget implementation with Ilia.
  18. Zachary Zondlo (zbuildz)

    • Added a diagnostic script to assist in debugging Appsmith implementations.

Patterns, Themes, and Conclusions:

  • The development team is actively involved in enhancing the platform's capabilities, focusing on improving user interface components, optimizing performance, and expanding integration features.
  • There is a strong emphasis on testing, with numerous updates to Cypress tests to ensure reliability and address flakiness issues.
  • The team is also focused on improving the developer experience by refining workflows, updating dependencies, and enhancing observability through logging and metrics collection.
  • Collaboration among team members is evident through co-authored commits and shared responsibilities across various features and bug fixes.
  • The project maintains a robust CI/CD pipeline with continuous improvements to workflows, ensuring efficient integration and deployment processes.