Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
pnpm check-types
pnpm lint-staged
18 changes: 18 additions & 0 deletions apps/extension/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,24 @@ All notable changes to the DevRadar extension will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.0] - 2026-01-08

### Added

- **Friend Request System**: Send, accept, reject, and cancel friend requests
- **User Search**: Find users by username or display name
- **Friend Requests View**: New sidebar section showing incoming/outgoing requests
- **Real-time Notifications**: VS Code notifications when you receive or accept requests
- **Unfriend Action**: Remove friends with bidirectional cleanup
- Context menu actions for accept/reject/cancel on request items

### Changed

- Friends are now mutual (both users must accept to become friends)
- Updated sidebar with "Add Friend" button

---

## [0.1.0] - 2026-01-05

### Added
Expand Down
14 changes: 14 additions & 0 deletions apps/extension/media/requests.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
78 changes: 77 additions & 1 deletion apps/extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "devradar",
"displayName": "DevRadar",
"description": "See what your friends are coding in real-time",
"version": "0.1.3",
"version": "0.2.0",
"publisher": "devradar",
"license": "AGPL-3.0-or-later",
"private": true,
Expand Down Expand Up @@ -47,6 +47,12 @@
"icon": "media/friends.svg",
"contextualTitle": "DevRadar Friends"
},
{
"id": "devradar.friendRequests",
"name": "Friend Requests",
"icon": "media/requests.svg",
"contextualTitle": "DevRadar Friend Requests"
},
{
"id": "devradar.activity",
"name": "Activity",
Expand Down Expand Up @@ -104,6 +110,47 @@
"title": "Set Status",
"category": "DevRadar",
"icon": "$(broadcast)"
},
{
"command": "devradar.addFriend",
"title": "Add Friend",
"category": "DevRadar",
"icon": "$(person-add)"
},
{
"command": "devradar.acceptFriendRequest",
"title": "Accept Friend Request",
"category": "DevRadar",
"icon": "$(check)"
},
{
"command": "devradar.rejectFriendRequest",
"title": "Reject Friend Request",
"category": "DevRadar",
"icon": "$(close)"
},
{
"command": "devradar.cancelFriendRequest",
"title": "Cancel Friend Request",
"category": "DevRadar",
"icon": "$(trash)"
},
{
"command": "devradar.refreshFriendRequests",
"title": "Refresh Friend Requests",
"category": "DevRadar",
"icon": "$(refresh)"
},
{
"command": "devradar.unfriend",
"title": "Unfriend",
"category": "DevRadar",
"icon": "$(person-remove)"
},
{
"command": "devradar.focusFriendRequests",
"title": "Focus Friend Requests",
"category": "DevRadar"
}
],
"menus": {
Expand All @@ -112,6 +159,16 @@
"command": "devradar.refreshFriends",
"when": "view == devradar.friends",
"group": "navigation"
},
{
"command": "devradar.addFriend",
"when": "view == devradar.friends && devradar.isAuthenticated",
"group": "navigation"
},
{
"command": "devradar.refreshFriendRequests",
"when": "view == devradar.friendRequests",
"group": "navigation"
}
],
"view/item/context": [
Expand All @@ -123,6 +180,25 @@
{
"command": "devradar.viewProfile",
"when": "view == devradar.friends"
},
{
"command": "devradar.unfriend",
"when": "view == devradar.friends && viewItem =~ /^friend-/"
},
{
"command": "devradar.acceptFriendRequest",
"when": "view == devradar.friendRequests && viewItem == friendRequest-incoming",
"group": "inline@1"
},
{
"command": "devradar.rejectFriendRequest",
"when": "view == devradar.friendRequests && viewItem == friendRequest-incoming",
"group": "inline@2"
},
{
"command": "devradar.cancelFriendRequest",
"when": "view == devradar.friendRequests && viewItem == friendRequest-outgoing",
"group": "inline"
}
]
},
Expand Down
Loading