Skip to content
This repository has been archived by the owner on Mar 12, 2024. It is now read-only.

v2.1.2 #355

Merged
merged 120 commits into from
Oct 31, 2023
Merged
Show file tree
Hide file tree
Changes from 119 commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
fc8b365
fix: upgrade airtable from 0.11.6 to 0.12.1
snyk-bot Sep 2, 2023
b9029f6
Fix/v2.0.0 merge conflicts (#278)
EstebanDalelR Sep 4, 2023
c0a6103
Merge branch 'dev' into snyk-upgrade-2fb799419e235800c37aacf6ded49ad0
EstebanDalelR Sep 4, 2023
9a29a68
Build a prompt that produces the desired results
baristaGeek Sep 5, 2023
86c81f7
Flag PRs
baristaGeek Sep 5, 2023
4d0b5bc
Change comparison string for detecting already labeled PRs
baristaGeek Sep 5, 2023
1d246b0
Fix/double cloud id getting (#271)
EstebanDalelR Sep 5, 2023
835e833
Change hardcoded pr title and number to the ones stored on GitHubPRs[0
baristaGeek Sep 5, 2023
aa3ce80
Remove console logs
baristaGeek Sep 5, 2023
6bbba41
Chore/delete unused files (#283)
EstebanDalelR Sep 6, 2023
b174fd6
Feature/new integrations script (#272)
EstebanDalelR Sep 6, 2023
30dabb9
Feature/asana integration (#273)
EstebanDalelR Sep 7, 2023
25e1350
Move logic to actions/github
baristaGeek Sep 7, 2023
7aa4cad
Fix parameter names
baristaGeek Sep 7, 2023
415b917
Merge pull request #275 from watermelontools/snyk-upgrade-2fb799419e2…
baristaGeek Sep 7, 2023
7095af1
Merge branch 'dev' into feature/Watermelon-as-reviewer-0
baristaGeek Sep 8, 2023
63bcbbb
Feature/improve logging (#291)
EstebanDalelR Sep 11, 2023
8ccb1c7
Feature/streamline new integrations (#292)
EstebanDalelR Sep 11, 2023
5c5c103
Remove running in the extension
baristaGeek Sep 11, 2023
ee21e0d
Run sync
baristaGeek Sep 12, 2023
033e3eb
Change threshold back to 9
baristaGeek Sep 12, 2023
d05c0f3
Update route.ts (#296)
EstebanDalelR Sep 13, 2023
9aaa301
Update route.ts (#295)
EstebanDalelR Sep 13, 2023
62ab841
Update responses.ts (#294)
EstebanDalelR Sep 13, 2023
1b2c123
Update redirect.tsx (#293)
EstebanDalelR Sep 13, 2023
82a2093
Feature/intellij login (#286)
EstebanDalelR Sep 13, 2023
fcb992d
Refactor Watermelon as reviewer 0 to work sync and prevent race condi…
baristaGeek Sep 13, 2023
0e13788
Remove user prompt
baristaGeek Sep 13, 2023
058f1a2
Couple logic inside a single function
baristaGeek Sep 13, 2023
047d4d1
Merge branch 'dev' into feature/Watermelon-as-reviewer-0
baristaGeek Sep 13, 2023
aa99e79
Feature/intellij data mapping (#298)
EstebanDalelR Sep 14, 2023
f433f20
Make function async again, use installation octokit, and add auto lab…
baristaGeek Sep 14, 2023
2211ba9
Track pr rating per repo on PostHog
baristaGeek Sep 14, 2023
229e3d0
Add param validation
baristaGeek Sep 14, 2023
9693c5d
Merge branch 'dev' into feature/Watermelon-as-reviewer-0
EstebanDalelR Sep 14, 2023
9d37d0f
Merge pull request #282 from watermelontools/feature/Watermelon-as-re…
baristaGeek Sep 14, 2023
ef4d61b
Feature/encapsulated tracking (#297)
EstebanDalelR Sep 14, 2023
4569bd6
Chore/2.0.1 merge conflicts (#299)
EstebanDalelR Sep 14, 2023
f0458e2
Merge branch 'main' into dev
EstebanDalelR Sep 14, 2023
c4e9644
v2.0.1 (#281) (#300)
EstebanDalelR Sep 14, 2023
eccc506
Add date to textToWrite for the GitHub service
baristaGeek Sep 19, 2023
7647a25
Calculate relative date
baristaGeek Sep 19, 2023
7fe4841
Print PR author
baristaGeek Sep 19, 2023
1ef114e
Remove conole logs
baristaGeek Sep 19, 2023
0e09202
Remove organization as a mandtory paramater for running the GH app (#…
baristaGeek Sep 20, 2023
d6f99d6
REmove github special case
EstebanDalelR Sep 20, 2023
51dfe6f
Fix helper text
EstebanDalelR Sep 20, 2023
eb45693
REmove github special case (#303)
EstebanDalelR Sep 20, 2023
0f4e18f
Merge branch 'dev' into fix/broken-deactivation-text
EstebanDalelR Sep 20, 2023
7fbb7af
Merge pull request #304 from watermelontools/fix/broken-deactivation-…
baristaGeek Sep 20, 2023
1ac634b
Merge branch 'dev' into feature/add-ownership-and-date
baristaGeek Sep 20, 2023
3f91367
Merge pull request #301 from watermelontools/feature/add-ownership-an…
baristaGeek Sep 20, 2023
efc1be6
Add conditional if the count passes 500
baristaGeek Sep 22, 2023
e0d2894
Feature/unauthorized tracking (#309)
EstebanDalelR Sep 22, 2023
8b376fe
Feature/random suggestion text on markdown (#310)
EstebanDalelR Sep 22, 2023
5404ad4
Replace all indexed information with invitation to pay
baristaGeek Sep 25, 2023
7e1ad3d
Remove the logic from the markdown helper
baristaGeek Sep 25, 2023
04f185a
Feature/intellijdownload (#312)
EstebanDalelR Sep 26, 2023
9fdaa47
Remove console log
baristaGeek Sep 26, 2023
e20efd1
Unwrapp comenting logic from being below the threshold. Replace comme…
baristaGeek Sep 26, 2023
44bf4ef
Create and call the new stored procedure (increment_owner_github_app_…
baristaGeek Sep 26, 2023
ef7dc57
Merge pull request #311 from watermelontools/bugfix/bugfix-not-showin…
baristaGeek Sep 27, 2023
84c0dd8
Merge branch 'dev' into bugfix/user-or-org-to-gh-app
baristaGeek Sep 27, 2023
a6b47ba
Merge pull request #313 from watermelontools/bugfix/user-or-org-to-gh…
baristaGeek Sep 27, 2023
3474cb0
Allow empty responses (#317)
EstebanDalelR Sep 28, 2023
c0932ed
Make prompt multi-line to make its iteration easier
baristaGeek Oct 10, 2023
cd57b53
Bias prompt towards conciseness
baristaGeek Oct 10, 2023
70b92ef
Remove role user prompt for simplicity
baristaGeek Oct 10, 2023
c78988e
Merge into a single prompt, and bias the prompt even more towards con…
baristaGeek Oct 10, 2023
3b5a068
Remove github param validation because of the recent permission changes
baristaGeek Oct 10, 2023
52784fe
Remove prod console logs
baristaGeek Oct 10, 2023
0a18c09
Add logic that removes outdated PR labels
baristaGeek Oct 10, 2023
3aff27c
Change the take a deeper dive label emoji
baristaGeek Oct 10, 2023
cca1d2c
Merge pull request #322 from watermelontools/feature/trinary-pr-labeling
baristaGeek Oct 11, 2023
dab95a9
console.log() file patches
baristaGeek Oct 11, 2023
e336e75
Detect console logs and its equivalent in other programming languages…
baristaGeek Oct 11, 2023
fd187fe
Comment the PR if there's a console log detected
baristaGeek Oct 13, 2023
ec591fa
Remove console logs
baristaGeek Oct 13, 2023
161bc91
remove console log
baristaGeek Oct 17, 2023
9d68579
update prompt
baristaGeek Oct 17, 2023
0a3a481
update prompt
baristaGeek Oct 17, 2023
63b0933
Extract functions and texts (#323) (#325)
EstebanDalelR Oct 17, 2023
b937bf3
Ommit console logs that are in code comments
baristaGeek Oct 17, 2023
81380cd
remove old logic
baristaGeek Oct 17, 2023
c01fb42
Restric rating to a maximum of 8 if console log comments are found
baristaGeek Oct 17, 2023
c86a96a
Merge the commits into the prompt list
baristaGeek Oct 18, 2023
48970fb
Update utils/actions/detectConsoleLogs.ts
baristaGeek Oct 18, 2023
d69514b
Promise.allSettled octokit call
baristaGeek Oct 18, 2023
ab41609
Merge branch 'dev' into feature/search-console-logs
baristaGeek Oct 18, 2023
3eb21e2
Concat with different syntax
baristaGeek Oct 18, 2023
955413a
fix merge conflict
baristaGeek Oct 18, 2023
d642ac4
Merge pull request #324 from watermelontools/feature/search-console-logs
baristaGeek Oct 18, 2023
afb3999
Chore/extract PR grading (#333)
EstebanDalelR Oct 23, 2023
df0bb3e
bring the user prompt back
baristaGeek Oct 23, 2023
28a53a4
Add consistent CSS for boxes regardless of login state + prettify design
baristaGeek Oct 25, 2023
b361795
Style the boxes for all integrations
baristaGeek Oct 25, 2023
cfe74c9
Merge pull request #321 from watermelontools/enhancement/improve-prom…
baristaGeek Oct 25, 2023
2fd51f0
Make IDE boxes consistenet with the integraitons boxes
baristaGeek Oct 25, 2023
b86be53
Rebuild sidebar
baristaGeek Oct 25, 2023
8e33d77
Redesign the header
baristaGeek Oct 25, 2023
cf21362
Make final adjustments to header
baristaGeek Oct 25, 2023
894cc1a
Make instruction more specific and add the C++ exmaple
baristaGeek Oct 25, 2023
c62f679
Merge pull request #340 from watermelontools/chore/detect-cpp-console…
baristaGeek Oct 26, 2023
36bfcfd
Create getTeamGitHub.ts (#338)
EstebanDalelR Oct 26, 2023
eae03a0
Create createTeamAndMatchUser.ts (#337)
EstebanDalelR Oct 26, 2023
eaa2ec6
Conditionally render placeholder (#342)
EstebanDalelR Oct 26, 2023
7925771
Feature/comment specific line diffs (#331)
baristaGeek Oct 26, 2023
72b539f
Watermelon using app token (team tool) (#326)
EstebanDalelR Oct 26, 2023
fd21a53
Re-style team page
baristaGeek Oct 27, 2023
ec94f5d
Style settings screen
baristaGeek Oct 27, 2023
ace2080
Merge branch 'dev' into enhancement/beautify-dashboard
baristaGeek Oct 27, 2023
4ad49a4
Pull changes
baristaGeek Oct 27, 2023
9c07826
Merge pull request #339 from watermelontools/enhancement/beautify-das…
baristaGeek Oct 27, 2023
78eac4c
Merge branch 'main' into dev
baristaGeek Oct 27, 2023
8d8c315
Fix indexing issue for the single line file border-case (#346)
baristaGeek Oct 30, 2023
4739d5b
Delete app/(loggedIn)/settings/layout.tsx (#348)
EstebanDalelR Oct 30, 2023
adcc4a9
Add tracking to keys existing
EstebanDalelR Oct 31, 2023
5015186
Fix/broken login getting (#353)
EstebanDalelR Oct 31, 2023
3d25273
Chore/readme update messaging and strategy (#352)
baristaGeek Oct 31, 2023
754aeea
Merge branch 'main' into dev
EstebanDalelR Oct 31, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 7 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Watermelon's Passive Docs Search Engine
# Watermelon's Open Source Copilot For Code Review

[![Report an issue](https://img.shields.io/badge/-Report%20an%20issue-critical)](https://github.com/watermelontools/watermelon/issues)

Expand All @@ -9,22 +9,17 @@
[![Twitter Follow](https://img.shields.io/twitter/follow/WatermelonTools?style=flat-square)](https://twitter.com/intent/follow?screen_name=WatermelonTools)
[![Discord](https://img.shields.io/discord/933846506438541492?style=flat-square)](https://discord.com/invite/H4AE6b9442)

**Watermelon is a Passive Documentation Search Engine** serving both our GitHub app and IDE extension. Our set of plug-ins help developers understand code context, improve their coding velocity and merge PRs like a breeze.
**Watermelon is an Open Source Copilot For Code Review**. Our GitHub application allows developers to pre-review GitHub Pull Requests by tracing their code context and performing static code analysis. Using LLMs to detect errors, compare intent to implementation, and give the PR a first health check.

We've built a search algorithm that indexes the most relevant [passive documentation](https://www.watermelontools.com/post/what-is-passive-code-documentation-why-is-it-hard-to-scale-what-to-do-about-it) for a given pull request.

To retrieve passive documentation and code context in your GitHub PRs, use this app.

To retrieve passive documentation and code context in your IDE, take a look at our [VS Code Extension](https://github.com/watermelontools/watermelon-extension)
We've built a search algorithm that indexes the most relevant [code context](https://www.watermelontools.com/post/what-is-passive-code-documentation-why-is-it-hard-to-scale-what-to-do-about-it) for a given pull request.

## Integrations

We currently support the following integrations

| Watermelon Product | Git | Project Management | Messaging | Documentation |
| :----------------- | :-------------------------------------- | :----------------- | :-------- | :----------------- |
| VS Code | GitHub, GitLab (Beta), Bitbucket (Beta) | Jira | Slack | |
| GitHub App | GitHub | Jira, Linear | Slack | Notion, Confluence |
| Git | Project Management | Messaging | Documentation |
| :-------------------------------------- | :----------------- | :-------- | :----------------- |
| GitHub | Jira, Linear, Asana | Slack | Notion, Confluence |

## Features

Expand All @@ -51,18 +46,10 @@ Alternatively, comment on our issues if you plan to solve one.

## Privacy

We use [VS Code's telemetry library](https://github.com/microsoft/vscode-extension-telemetry). The library respects the user's decision about whether or not to send telemetry data.

We also have settings to disable it.
We use [PostHog Analytics](https://posthog.com/) to track how users interact with Watermelon's GitHub Application.

Watermelon [doesn't store your code](https://www.watermelontools.com/post/building-a-code-archeology-toolbox-without-storing-your-code)

## Supporters

[![Stargazers repo roster for @watermelontools/watermelon-extension](https://reporoster.com/stars/watermelontools/watermelon)](https://github.com/watermelontools/watermelon/stargazers)

[![Forkers repo roster for @watermelontools/watermelon-extension](https://reporoster.com/forks/watermelontools/watermelon)](https://github.com/watermelontools/watermelon/network/members)

---

#### About Watermelon
Expand Down
61 changes: 35 additions & 26 deletions app/(loggedIn)/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,51 +18,58 @@ async function HomePage({}) {
return null;
});
const comingSoon = [
"PHPStorm",
"IntelliJ",
"WebStorm",
"Android Studio",
"AppCode",
"Aqua",
"CLion",
"DataGrip",
"DataSpell",
"GoLand",
"MPS",
"PhpStorm",
"PyCharm",
"Rider",
"RubyMine",
"RustRover",
"WebStorm",
];
return (
<div>
{data && <LoginGrid userEmail={userEmail} data={data} />}
{userEmail && (
<div>
<div
className="Subhead p-3"
style={{
position: "sticky",
top: 0,
zIndex: 2,
backgroundColor: "var(--color-canvas-default)",
}}
>
<h2 className="Subhead-heading">IDEs</h2>
<div className="Box" style={{ height: "100%" }}>
<div className="Subhead px-3 pt-2">
<h2 className="Subhead-heading d-flex flex-items-center flex-justify-start">
<img className="avatar avatar-4" src="/logos/vscode.svg" />
<span>IDEs</span>
</h2>
</div>

<div
style={{
display: "grid",
gridTemplateColumns: "repeat(auto-fit, minmax(350px, 1fr))",
}}
>
<div className="p-3">
<div className="pl-3 pr-3 pt-1 pb-3" style={{ flex: 1 }}>
<DownloadExtension
name="VSCode"
email={userEmail}
urlStart="vscode"
accessToken={userName}
/>
</div>
<div className="p-3">

<div className="pl-3 pr-3 pt-1 pb-3" style={{ flex: 1 }}>
<DownloadExtension
name="VSCode Insiders"
urlStart="vscode-insiders"
email={userEmail}
accessToken={userName}
/>
</div>
<div className="p-3">
<div className="pl-3 pr-3 pt-1 pb-3" style={{ flex: 1 }}>
<DownloadExtension
name="VSCodium"
urlStart="vscodium"
Expand All @@ -71,18 +78,20 @@ async function HomePage({}) {
/>
</div>
{comingSoon.map((name) => (
<div className="p-3">
<div className="Box d-flex flex-items-center flex-justify-start p-2">
<img
className="avatar avatar-8"
src={`/logos/${name.toLowerCase()}.svg`}
/>
<div className="p-2">
<h2>{name}</h2>
<p>Coming Soon</p>
<a href="https://plugins.jetbrains.com/plugin/22720-watermelon-context">
<div className="p-3">
<div className="Box d-flex flex-items-center flex-justify-start p-2">
<img
className="avatar avatar-8"
src={`/logos/${name.toLowerCase()}.svg`}
/>
<div className="p-2">
<h2>{name}</h2>
<p>Download now</p>
</div>
</div>
</div>
</div>
</a>
))}
</div>
</div>
Expand Down
19 changes: 11 additions & 8 deletions app/(loggedIn)/settings/form.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,11 @@ export default function form({ userEmail }) {

function SettingsSelector({ label, valueLabel }) {
return (
<div className="">
<span>{label}</span>
<div style={{ display: "flex", alignItems: "center" }}>
{" "}
<span style={{ width: "100px" }}>{label}</span>{" "}
<select
className="form-select"
className="form-select mt-2"
aria-label={label}
defaultValue={formState[valueLabel]}
onChange={(e) =>
Expand All @@ -81,12 +82,14 @@ export default function form({ userEmail }) {
}
value={formState[valueLabel]}
>
{" "}
{Array.from({ length: 5 }, (_, index) => (
<option key={index} value={index + 1}>
{index + 1}
{" "}
{index + 1}{" "}
</option>
))}
</select>
))}{" "}
</select>{" "}
</div>
);
}
Expand All @@ -99,10 +102,10 @@ export default function form({ userEmail }) {
label={service.label}
/>
))}
<div className="">
<div style={{ display: "flex", alignItems: "center" }}>
<span>AI Summary: </span>
<select
className="form-select"
className="form-select ml-3 mt-2"
aria-label="AI Summary"
value={formState.AISummary}
onChange={(e) =>
Expand Down
16 changes: 0 additions & 16 deletions app/(loggedIn)/settings/layout.tsx

This file was deleted.

2 changes: 1 addition & 1 deletion app/(loggedIn)/team/loading.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ async function loading({}) {
<input
className="form-control "
type="email"
placeholder={`Teammate@${teamName.name.toLowerCase()}.com`}
placeholder={`Teammate@${teamName?.name.toLowerCase()}.com`}
aria-label="Teammate email"
/>
<button className="btn" type="button">
Expand Down
46 changes: 22 additions & 24 deletions app/(loggedIn)/team/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,36 +16,34 @@ async function Team({}) {
]);

return (
<div>
<div className="p-3">
<h1>Team</h1>
<div className="">
<div className="Subhead">
<h2 className="Subhead-heading">My Account</h2>
<div className="Subhead-description">Control your own account</div>
</div>
<div>
<p>{userEmail}</p>
</div>
<div className="Box">
<div className="Subhead px-3 py-2">
<h2 className="Subhead-heading">Team</h2>
</div>

<div className="p-3" style={{ flex: 1 }}>
<div className="mb-4">
<h3 className="Subhead-heading">My Account</h3>

<div className="text-gray">{userEmail}</div>
</div>
<div className="">
<div className="Subhead">
<h2 className="Subhead-heading">My Team</h2>
</div>
<h3 className="Subhead-heading">Invite</h3>

<div>
<h3 className="Subhead-heading">My Team</h3>

<AddTeammateButton teamName={teamName.name} />

<SendInviteForm teamName={teamName.name} userEmail={userEmail} />
<h3 className="Subhead-heading">Teammates</h3>

<h4 className="mt-4 mb-2">Teammates</h4>

{teammates?.length && (
<div>
{teammates.map((teammate) => {
return (
<div key={teammate.email}>
<p>{teammate.email}</p>
</div>
);
})}
{teammates?.map((teammate) => (
<div key={teammate.email} className="text-gray">
{teammate.email}
</div>
))}
</div>
)}
</div>
Expand Down
2 changes: 1 addition & 1 deletion app/(loggedIn)/team/sendInviteForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export default function sendInviteForm({ teamName, userEmail }) {
<input
className="form-control "
type="email"
placeholder={`Teammate@${teamName.toLowerCase()}.com`}
placeholder={`Teammate@${teamName?.name?.toLowerCase()}.com`}
aria-label="Teammate email"
/>
<button className="btn mx-2" type="submit" disabled={buttonDisabled}>
Expand Down
Loading