Skip to content

[dev + copy button] add / update local dev w/docker compose; add copy file button #328

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 3, 2025

Conversation

drew-u410
Copy link
Contributor

@drew-u410 drew-u410 commented Jun 3, 2025

  1. [Development] Adds / updates the CONTRIBUTING.md to use a Docker Compose for PostegreSQL + Redis to make initial setup / ongoing super easy for folks.
  2. [Feature] Add a copy button to the right of the filename / path. Animates with a checkmark and adds a toast to be fancy.

Light + Dark Modes Tested:
https://github.com/user-attachments/assets/b5ab1a57-5604-4896-91a1-62b60bf1e421
https://github.com/user-attachments/assets/76ce551f-52ac-4459-9f57-482182047227

Summary by CodeRabbit

  • New Features

    • Added a copy-to-clipboard button for file paths in the file header, with visual feedback and toast notifications.
  • Documentation

    • Updated the contributing guide with clearer installation steps, now using Docker for PostgreSQL and Redis setup.
  • Chores

    • Introduced a new Docker Compose configuration for simplified development environment setup with Redis and PostgreSQL services.

Copy link

coderabbitai bot commented Jun 3, 2025

## Walkthrough

The updates introduce a Docker Compose configuration for running Redis and PostgreSQL in development, revise the contributing guide to reflect these Docker-based setup instructions, and enhance the `FileHeader` component in the web package with a copy-to-clipboard feature for file paths, including visual feedback and toast notifications.

## Changes

| File(s)                                             | Change Summary                                                                                  |
|-----------------------------------------------------|-----------------------------------------------------------------------------------------------|
| CONTRIBUTING.md                                     | Updated installation steps to separate Redis/PostgreSQL setup, now using Docker Compose.       |
| docker-compose-dev.yml                              | Added new Docker Compose file defining Redis and PostgreSQL services with persistent storage.  |
| packages/web/src/app/[domain]/components/fileHeader.tsx | Enhanced `FileHeader` with copy-to-clipboard functionality, visual feedback, and notifications.|

## Sequence Diagram(s)

```mermaid
sequenceDiagram
    participant User
    participant FileHeader
    participant Clipboard
    participant Toast

    User->>FileHeader: Clicks Copy button
    FileHeader->>Clipboard: Write file path
    Clipboard-->>FileHeader: Success
    FileHeader->>Toast: Show "Copied file path!"
    FileHeader-->>User: Show checkmark icon
    Note over FileHeader: After 1.5s, revert icon to copy

Poem

🐇
A Docker hop, a copy bop,
Redis and Postgres in a Docker shop.
Click the button, watch it gleam—
File paths copied, a toasty dream!
With guides now clear and setup swift,
Development’s never been so swift!


<!-- walkthrough_end -->
<!-- internal state start -->


<!-- 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 -->

<!-- internal state end -->
<!-- finishing_touch_checkbox_start -->

<details open="true">
<summary>✨ Finishing Touches</summary>

- [ ] <!-- {"checkboxId": "7962f53c-55bc-4827-bfbf-6a18da830691"} --> 📝 Generate Docstrings

</details>

<!-- finishing_touch_checkbox_end -->
<!-- tips_start -->

---

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

<details>
<summary>❤️ Share</summary>

- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

</details>

<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=sourcebot-dev/sourcebot&utm_content=328):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Explain this complex logic.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai explain this code block.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and explain its main purpose.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

### Support

Need help? Create a ticket on our [support page](https://www.coderabbit.ai/contact-us/support) for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai generate sequence diagram` to generate a sequence diagram of the changes in this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### CodeRabbit Configuration File (`.coderabbit.yaml`)

- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->

@drew-u410 drew-u410 force-pushed the drew/add_dev_add_copy_button branch from edb02a4 to f415caf Compare June 3, 2025 00:07
@brendan-kellam
Copy link
Contributor

This is awesome thanks!! Good DX change for the development flow.

Could you add a entry to the CHANGELOG.md for the copy button? Other than that, LGTM let's ship it ⛴️

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (1)
docker-compose-dev.yml (1)

19-22: Consider security implications of default PostgreSQL credentials.

While using default credentials (postgres/postgres/postgres) is acceptable for development, consider documenting this in the README or contributing guide to ensure developers are aware these should never be used in production environments.

Add a comment above the environment variables:

    environment:
+      # Development credentials - DO NOT use in production
      POSTGRES_DB: postgres
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a755eda and f415caf.

📒 Files selected for processing (3)
  • CONTRIBUTING.md (2 hunks)
  • docker-compose-dev.yml (1 hunks)
  • packages/web/src/app/[domain]/components/fileHeader.tsx (4 hunks)
🧰 Additional context used
🪛 LanguageTool
CONTRIBUTING.md

[uncategorized] ~5-~5: The official spelling of this programming framework is “Node.js”.
Context: ...rg/favicon.ico" width="16" height="16"> NodeJS. Note that a NodeJS version of at l...

(NODE_JS)


[uncategorized] ~5-~5: The official spelling of this programming framework is “Node.js”.
Context: ...6" height="16"> NodeJS. Note that a NodeJS version of at least 21.1.0 is require...

(NODE_JS)

🪛 markdownlint-cli2 (0.17.2)
CONTRIBUTING.md

5-5: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


5-5: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


16-16: Images should have alternate text (alt text)
null

(MD045, no-alt-text)

🔇 Additional comments (4)
docker-compose-dev.yml (1)

1-30: Solid Docker Compose configuration for development environment.

The configuration provides a clean development setup with appropriate service definitions and persistent storage. Both services use lightweight Alpine images which is a good choice for development.

packages/web/src/app/[domain]/components/fileHeader.tsx (3)

9-11: Good addition of necessary imports for copy functionality.

The imports are appropriate for the copy-to-clipboard feature implementation.


110-121: Excellent implementation of copy button with accessibility and visual feedback.

The copy button implementation includes:

  • Proper accessibility with aria-label
  • Visual feedback with icon toggle
  • Appropriate styling and transitions
  • Clear user interaction patterns

86-86:

❓ Verification inconclusive

Verify layout impact of container structure changes.

The addition of the copy button required restructuring the container to use flexbox. Ensure this doesn't break the layout on different screen sizes or with long file paths.

Test the component with various file path lengths to ensure proper truncation and button positioning:


🏁 Script executed:

#!/bin/bash
# Description: Check for other FileHeader usages and similar truncation patterns
# Expected: Find consistent truncation handling across components

rg -A 5 -B 5 "truncate-start|FileHeader" --type tsx --type ts

Length of output: 91


Verify layout impact of FileHeader flex container changes

Please ensure that adding the copy button and wrapping the file name in a flex container doesn’t break truncation or button alignment across different viewports and file-path lengths.

• Manually test the FileHeader component with:
– Very short, medium, and extremely long file paths
– Responsive breakpoints (mobile, tablet, desktop)
– Varying font sizes or zoom levels

• Search for other truncation patterns to compare behavior:

rg -g '*.tsx' -g '*.ts' 'truncate'
rg -g '*.tsx' -g '*.ts' 'FileHeader'

Confirm that:

  • The file path consistently truncates (with ellipsis) when it overflows
  • The copy button remains aligned and visible

@drew-u410 drew-u410 force-pushed the drew/add_dev_add_copy_button branch from f415caf to f375707 Compare June 3, 2025 00:22
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

37-37: Typographical fix
There’s a typo in “declerative”. It should read “declarative” for accuracy.

-7. If you're using a declerative configuration file (the default behavior if you didn't enable auth), ...
+7. If you're using a declarative configuration file (the default behavior if you didn't enable auth), ...
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f415caf and f375707.

📒 Files selected for processing (4)
  • CHANGELOG.md (1 hunks)
  • CONTRIBUTING.md (2 hunks)
  • docker-compose-dev.yml (1 hunks)
  • packages/web/src/app/[domain]/components/fileHeader.tsx (4 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • docker-compose-dev.yml
  • packages/web/src/app/[domain]/components/fileHeader.tsx
🧰 Additional context used
🧠 Learnings (1)
CONTRIBUTING.md (1)
Learnt from: drew-u410
PR: sourcebot-dev/sourcebot#328
File: CONTRIBUTING.md:5-5
Timestamp: 2025-06-03T00:22:00.461Z
Learning: In the sourcebot repository CONTRIBUTING.md file, the maintainer prefers using "NodeJS" spelling instead of the official "Node.js" branding, and prefers not to add alt text to favicon images in the installation instructions.
🪛 LanguageTool
CHANGELOG.md

[duplication] ~10-~10: Possible typo: you repeated a word.
Context: ...pec/v2.0.0.html). ## [Unreleased] ### Added - Added copy button for filenames. [#328](https...

(ENGLISH_WORD_REPEAT_RULE)

CONTRIBUTING.md

[uncategorized] ~5-~5: The official spelling of this programming framework is “Node.js”.
Context: ...rg/favicon.ico" width="16" height="16"> NodeJS. Note that a NodeJS version of at l...

(NODE_JS)


[uncategorized] ~5-~5: The official spelling of this programming framework is “Node.js”.
Context: ...6" height="16"> NodeJS. Note that a NodeJS version of at least 21.1.0 is require...

(NODE_JS)

🪛 markdownlint-cli2 (0.17.2)
CONTRIBUTING.md

5-5: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


5-5: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


16-16: Images should have alternate text (alt text)
null

(MD045, no-alt-text)

🔇 Additional comments (8)
CONTRIBUTING.md (7)

5-5: Clarify prerequisites
Step 1 cleanly scopes the initial requirements to only Go and NodeJS, making it clear which tools are needed for development.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~5-~5: The official spelling of this programming framework is “Node.js”.
Context: ...rg/favicon.ico" width="16" height="16"> NodeJS. Note that a NodeJS version of at l...

(NODE_JS)


[uncategorized] ~5-~5: The official spelling of this programming framework is “Node.js”.
Context: ...6" height="16"> NodeJS. Note that a NodeJS version of at least 21.1.0 is require...

(NODE_JS)

🪛 markdownlint-cli2 (0.17.2)

5-5: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


5-5: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


16-20: Document Docker setup
Step 3 clearly instructs contributors to install Docker and launch PostgreSQL/Redis with the provided Compose file, greatly improving the local DX.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

16-16: Images should have alternate text (alt text)
null

(MD045, no-alt-text)


22-25: Repository cloning step updated
Renumbering to step 4 correctly follows the Docker setup and positions the clone command in logical sequence.


27-31: Build & dependency installation
Step 5’s make invocation is precise and describes where binaries and modules will be placed, aiding clarity.


35-35: Environment file creation
Step 6 clearly guides users to duplicate and configure the .env.development.local file.


39-42: Launch command is correct
Step 8 properly documents starting the app with yarn dev, matching the project’s development scripts.


46-46: Access URL instruction
Step 9 succinctly tells contributors where to access the running service in their browser.

CHANGELOG.md (1)

10-12: Changelog entries for new features
The “Added” section now correctly documents both the copy button feature and the development Docker Compose setup, adhering to Keep a Changelog format.

🧰 Tools
🪛 LanguageTool

[duplication] ~10-~10: Possible typo: you repeated a word.
Context: ...pec/v2.0.0.html). ## [Unreleased] ### Added - Added copy button for filenames. [#328](https...

(ENGLISH_WORD_REPEAT_RULE)

@msukkari msukkari merged commit 749bfc2 into sourcebot-dev:main Jun 3, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants