LOADING…
0%
Build history

Every step,
from the first commit.

A complete build timeline of Grainstash taking shape—from early sequencer experiments to the product it is today.

Commits
1,545
Since
2024
Through
2026

Showing 951–1,000 of 1,545

Page 20 of 31

5 commits
  1. Add backend configuration and Docker setup for Bun application

    Armin Naimi 7805362c

    Commit notes

    - Introduced a new `Dockerfile` for building and running the Bun application, including multi-stage builds for dependencies and production runtime. - Created `docker-compose.yml` to define services for PostgreSQL, Redis, and MinIO, with health checks and environment configurations for each service. - Added `.dockerignore` to exclude unnecessary files from the Docker context, improving build efficiency and security. - Included a `pnpm-lock.yaml` file for dependency management, ensuring consistent installations across environments. This commit establishes a robust backend infrastructure for the Bun application, facilitating development and deployment through containerization.

    Files
    4
    Added
    +7348
    Removed
    −0
  2. Remove obsolete documentation and configuration files

    Armin Naimi 9cc0c0dc

    Commit notes

    - Deleted various markdown files related to deployment, authentication, and integration guides that are no longer relevant to the current project structure. - Removed outdated configuration files and environment examples to streamline the codebase and reduce clutter. - Updated `package.json` and `pnpm-workspace.yaml` to reflect changes in workspace structure, removing references to deleted components. This commit aims to clean up the repository by eliminating unnecessary files and ensuring that the remaining documentation is relevant and up-to-date.

    Files
    133
    Added
    +785
    Removed
    −22887
  3. Implement authentication token management and session handling

    Armin Naimi d55c1969

    Commit notes

    - Refactored login and registration mutations to store access and refresh tokens upon successful authentication. - Added a logout mutation to clear tokens and cached queries, enhancing user session management. - Introduced a session expiration handler that listens for auth events, notifying users when their session has expired. - Updated token management to export constants for access and refresh token keys, improving code maintainability. This commit enhances the authentication flow and user experience by ensuring proper token handling and session management.

    Files
    3
    Added
    +82
    Removed
    −10
  4. Add bun.lock and update package.json for dependency management

    Armin Naimi 431352d5

    Commit notes

    - Introduced a new `bun.lock` file for managing project dependencies and ensuring consistent installations across environments. - Updated `package.json` to include workspace configuration and refined devDependencies, ensuring compatibility with the latest tools and libraries. - Removed the outdated `pnpm-lock.yaml` to streamline dependency management with Bun. This commit enhances the project's dependency management strategy, aligning it with the current development practices.

    Files
    49
    Added
    +9387
    Removed
    −7653
  5. Add initial backend structure and configuration files

    Armin Naimi d8c77a4b

    Commit notes

    - Created `.gitignore` to exclude build artifacts, environment files, and logs. - Added `biome.json` for project configuration and linting rules. - Introduced `bun.lock` for dependency management. - Set up `bunfig.toml` for installation and test configurations. - Implemented `drizzle.config.ts` for database schema management. - Created example environment file `env.example` for configuration reference. - Established `package.json` with project dependencies and scripts. - Configured TypeScript settings in `tsconfig.json`. - Developed initial server setup in `src/index.ts` with routing and middleware. - Added audio processing utilities in `src/audio/ffmpeg.ts`. - Implemented authentication and user management in `src/auth` directory. - Set up database schema in `src/db/schema.ts` and connection in `src/db/index.ts`. - Created routes for user authentication, sample management, and project handling. - Added utility functions for slug generation and file size formatting. This commit lays the foundation for the backend API, focusing on configuration, routing, and initial feature implementation.

    Files
    36
    Added
    +5400
    Removed
    −0
2 commits
  1. Implement sample selection and management features in sequencer

    Armin Naimi c49b3163

    Commit notes

    - Added `SampleSelectorPopover` component for selecting samples, allowing users to search and preview audio samples. - Integrated sample selection functionality into the `SequencerTrack` component, enabling users to replace track samples with selected ones. - Enhanced `SampleManagementProvider` to support sample replacement, ensuring proper audio context handling and state updates. - Updated `GainMeter` to conditionally hide track names based on new props, improving UI flexibility. This commit aims to enhance the user experience in the sequencer by providing robust sample management and selection capabilities.

    Files
    5
    Added
    +615
    Removed
    −22
  2. Enhance sample management and similarity features

    Armin Naimi ea6c0aa1

    Commit notes

    - Updated `XOHandler` to include a new `GetSimilar` method that utilizes an analysis service for UMAP-based similarity, improving the accuracy of similar sample retrieval. - Added functionality to delete associated sample versions in `DeleteSample` and `DeleteSamplePack` methods, ensuring foreign key constraints are respected during deletions. - Introduced new API client methods for fetching similar samples and updated the `TracksList` component to display similar samples in a modal, enhancing user experience. - Refactored the API and query handling for better integration with the new similarity features. This commit aims to improve sample management and provide users with enhanced capabilities for discovering similar samples.

    Files
    9
    Added
    +379
    Removed
    −6
11 commits
  1. Remove deprecated routes and constants, and refactor routing structure

    Armin Naimi b6634e7d

    Commit notes

    - Deleted unused files including `constants.js`, `router.js`, `routes.js`, and `routeTree.gen.js`, which were no longer needed after recent architectural changes. - Updated routing to reflect new structure, consolidating routes under a more streamlined organization. - Introduced new routes for shared resources and sequencer functionality, enhancing the application's modularity and maintainability. - Adjusted navigation links in the header component to align with the updated routing paths. This commit aims to simplify the codebase by removing obsolete components and improving the routing architecture for better clarity and performance.

    Files
    24
    Added
    +1571
    Removed
    −2864
  2. Refactor components to utilize React Query for data fetching

    Armin Naimi e07a5ddc

    Commit notes

    - Updated various components including `StepSequencerInner`, `SimpleUploadButton`, `TracksList`, and `PatternManager` to leverage React Query for API interactions, enhancing data management and state synchronization. - Replaced direct API calls with corresponding mutation hooks for operations such as creating, updating, and deleting patterns, uploads, and share links. - Improved error handling and loading states across components, ensuring a more robust user experience. - Streamlined the codebase by removing redundant API calls and utilizing centralized query functions. This commit aims to enhance the maintainability and performance of the application by adopting a more consistent approach to data fetching and state management.

    Files
    16
    Added
    +598
    Removed
    −427
  3. Update TanStack React rules to always apply configuration

    Armin Naimi 90927085

    Commit notes

    - Changed the `alwaysApply` setting from false to true in the TanStack React rules configuration. - This adjustment ensures that the defined rules are consistently applied, enhancing the development experience and adherence to best practices. This commit aims to improve the reliability of the development environment for TanStack React projects.

    Files
    1
    Added
    +1
    Removed
    −2
  4. Add TanStack React rules for optimized development

    Armin Naimi d65aa068

    Commit notes

    - Introduced a new configuration file for TanStack React, outlining best practices for TypeScript, React, and UI/UX frameworks. - Established guidelines for code style, optimization, error handling, UI and styling, state management, security, performance, testing, and documentation. - Emphasized the use of Mantine for theming and components, and TanStack React Query for state management and data fetching. - Provided a mini skeleton for illustrative purposes, demonstrating the structure and implementation of routes and components. This commit aims to enhance maintainability and performance in TanStack React projects by providing a comprehensive set of development rules and best practices.

    Files
    1
    Added
    +139
    Removed
    −0
  5. Refactor file upload and library components

    Armin Naimi 19443686

    Commit notes

    - Updated `SimpleUploadButton` to use optional chaining for safer file handling. - Enhanced `TracksList` component with additional state management for versioning and sharing functionalities, including modals for adding versions and sharing links. - Removed unused `api.ts`, `space.css`, and related components from the drumspace feature, streamlining the codebase. - Improved file upload tracking and notifications in the `LibraryPage` component. This commit focuses on improving the user experience for file uploads and managing sample versions while cleaning up the codebase by removing deprecated features.

    Files
    11
    Added
    +818
    Removed
    −1245
  6. Remove marketplace and checkout features

    Cursor Agent 5789bfa9

    Commit notes

    This commit removes all marketplace-related features, including checkout, purchases, analytics, and related database tables and handlers. It also removes unused code and simplifies existing handlers. Co-authored-by: armin.naimi <[email redacted]>

    Files
    23
    Added
    +123
    Removed
    −3708
8 commits
  1. feat: Implement share links for samples and packs

    Cursor Agent ac04f749

    Commit notes

    This commit introduces the functionality for creating, managing, and accessing shareable links for samples and sample packs. It includes backend API endpoints, database model changes, and frontend components for handling share link creation, listing, expiration, and public access. Co-authored-by: armin.naimi <[email redacted]>

    Files
    11
    Added
    +1058
    Removed
    −16
  2. refactor: Clean up and standardize code formatting across multiple files

    Armin Naimi 56fa58e7

    Commit notes

    - Reformatted TypeScript and JavaScript files for consistent indentation and style. - Updated configuration files (tsconfig.json, vite.config.js) for improved readability. - Removed unused imports and streamlined component code in various files. - Enhanced the organization of route definitions and improved comments for clarity. - Adjusted CSS styles for better maintainability and consistency. These changes improve code readability and maintainability across the frontend codebase.

    Files
    49
    Added
    +2750
    Removed
    −2287
  3. feat: Implement virtualized lists and analytics

    Cursor Agent 422e843c

    Commit notes

    This commit introduces virtualized lists for improved performance in the TracksList component and adds a new CreatorAnalytics component to display user performance data. It also includes various UI and backend improvements. Co-authored-by: armin.naimi <[email redacted]>

    Files
    106
    Added
    +15215
    Removed
    −177
9 commits
  1. refactor: Update PreviewSample handler to allow preview playback for all samples

    Armin Naimi 9301d616

    Commit notes

    - Modified the PreviewSample function to stream low-bitrate previews for any sample with a preview file, regardless of publication status. - Removed checks for publication status and user ownership, simplifying access to previews. - Updated comments for clarity on the new functionality and analytics recording.

    Files
    1
    Added
    +5
    Removed
    −33
  2. feat: Complete WaveSurfer integration with enhanced audio playback and backend improvements

    Armin Naimi c99dccab

    Commit notes

    - Enhanced the WaveformPlayer component to support dark mode, interactive seeking, time display, and auto-rewind features. - Updated backend API responses to include preview URLs for samples, improving the user experience in the frontend. - Introduced a new cache invalidation endpoint to ensure fresh data is served after projection updates. - Improved drum classification logic and UMAP projection for better audio feature analysis. These changes significantly enhance audio playback capabilities and streamline sample processing in the application.

    Files
    19
    Added
    +587
    Removed
    −191
  3. feat: Add drum classification and projection update functionality

    Armin Naimi 0a641d85

    Commit notes

    - Introduced a new `drum_classifier` module for classifying drum types based on audio features. - Updated `_analyze_sample_internal` to classify drum types using the new ML model. - Added a new endpoint `/trigger-projection` to schedule projection updates after bulk changes. - Modified projection scheduling method from PCA to UMAP for improved analysis. - Enhanced the frontend to support multi-selection and deletion of samples, with UI updates for better user experience. These changes enhance the analysis capabilities and improve sample management in the application.

    Files
    8
    Added
    +683
    Removed
    −244
  4. feat: Implement advanced drum classification

    Cursor Agent 39f67bdc

    Commit notes

    This commit introduces a new, more sophisticated drum classification system. It replaces the legacy estimation with a comprehensive analysis of various audio features, providing more detailed results including subcategories and style information. The database schema and analysis functions have been updated to support these new features. Co-authored-by: armin.naimi <[email redacted]>

    Files
    7
    Added
    +715
    Removed
    −9
  5. feat: Add folder upload as sample packs

    Cursor Agent 96137571

    Commit notes

    Allow users to upload folders as sample packs, associating samples with their respective packs. Co-authored-by: armin.naimi <[email redacted]>

    Files
    2
    Added
    +196
    Removed
    −55
  6. chore: Update Docker configurations and enhance services guide

    Armin Naimi 504258c3

    Commit notes

    - Updated `docker-compose` commands in `package.json` to specify the path for the backend services. - Added a new `SERVICES_GUIDE.md` file detailing the local development setup for frontend, backend, database, storage, and analysis services. - Enhanced the analysis service to generate Opus previews and updated related functions in `app.py` and `dsp.py`. - Improved database handling in `db.py` to ensure metadata updates for samples. - Refactored upload handling in `sample.go` to support resumable uploads and trigger analysis. - Updated frontend components for better user experience during file uploads. These changes aim to streamline the development process and improve service integration.

    Files
    16
    Added
    +609
    Removed
    −176
12 commits
  1. Refactor: Enhance API structure and improve frontend navigation

    Armin Naimi 359b5270

    Commit notes

    This commit includes several key updates: - **Backend Changes**: - Added a new function `precreateSampleR2Key` to ensure the `r2_key` column is created as nullable before migration, preventing potential migration failures. - Updated the `Migrate` function to include pre-migration checks for the `samples` table. - **Frontend Changes**: - Refactored route structure to improve navigation, including the addition of new routes for the app's library and studio sections. - Updated the `Header` component to reflect new navigation paths and improved layout. - Enhanced the `StorageDashboard` and `EnhancedSampleLibrary` components for better user experience and consistency in UI elements. These changes aim to streamline the application structure and enhance user navigation across the platform.

    Files
    23
    Added
    +2144
    Removed
    −2135
  2. Refactor: Consolidate analysis, add UMAP, caching, and telemetry

    Cursor Agent 463ce971

    Commit notes

    This commit introduces significant improvements: - **Analysis Service**: - Merged `/analyze` and `/analyze-resumable` endpoints into a shared internal function. - Implemented `ProjectionManager` for batched, debounced, and retried projection updates (PCA and UMAP). - Added `/projection-stats` endpoint for monitoring. - Added UMAP projection support. - Implemented retry logic with exponential backoff. - **Backend Service**: - Introduced in-memory LRU cache for drum space maps with a 5-minute TTL. - Added telemetry tracking for map requests, cache performance, similar searches, and ingestion. - Implemented `/v1/metrics` endpoint for monitoring. - Consolidated `key` and `musical_key` fields. - Removed redundant `map_x`, `map_y`, `map_method` columns from the `samples` table. - Added integration tests for the analysis pipeline and caching. These changes improve performance, reliability, observability, and maintainability of the system. Co-authored-by: armin.naimi <[email redacted]>

    Files
    15
    Added
    +1802
    Removed
    −522
  3. chore: Update dependencies and improve frontend structure

    Armin Naimi 660c0a78

    Commit notes

    - Upgraded Vite and related packages to version 7.1.12 for better performance and compatibility. - Added new guidelines for animations and Go development practices. - Refactored frontend components to enhance code organization and maintainability. - Removed outdated files and optimized imports across various components. - Updated TypeScript configuration and added asset type declarations for CSS modules.

    Files
    48
    Added
    +1471
    Removed
    −104384
3 commits
  1. feat: Implement large file uploads and async processing

    Cursor Agent 848e3a51

    Commit notes

    This commit introduces support for large file uploads (up to 5GB) using multipart uploads and presigned URLs. It also integrates an asynchronous audio processing worker pool for background tasks, improving performance and scalability. Co-authored-by: armin.naimi <[email redacted]>

    Files
    12
    Added
    +2238
    Removed
    −10