Skip to content

Commit 0907ff5

Browse files
authored
[server] remove obsolete and unused getSuggestedContextURLs (#19074)
* [server] remove obsolete and unused `getSuggestedContextURLs` * fixup papi
1 parent aa23d41 commit 0907ff5

File tree

9 files changed

+0
-252
lines changed

9 files changed

+0
-252
lines changed

components/dashboard/src/service/service-mock.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,6 @@ const gitpodServiceMock = createServiceMock({
230230
getClientRegion: async () => {
231231
return "europe-west-1";
232232
},
233-
getSuggestedContextURLs: async () => {
234-
return [];
235-
},
236233
getIDEOptions: async () => {
237234
return {
238235
defaultDesktopIde: "code-desktop",

components/gitpod-protocol/go/gitpod-service.go

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ type APIInterface interface {
4242
GetWorkspaceOwner(ctx context.Context, workspaceID string) (res *UserInfo, err error)
4343
GetWorkspaceUsers(ctx context.Context, workspaceID string) (res []*WorkspaceInstanceUser, err error)
4444
GetFeaturedRepositories(ctx context.Context) (res []*WhitelistedRepository, err error)
45-
GetSuggestedContextURLs(ctx context.Context) (res []*string, err error)
4645
GetWorkspace(ctx context.Context, id string) (res *WorkspaceInfo, err error)
4746
GetIDEOptions(ctx context.Context) (res *IDEOptions, err error)
4847
IsWorkspaceOwner(ctx context.Context, workspaceID string) (res bool, err error)
@@ -147,8 +146,6 @@ const (
147146
FunctionGetWorkspaceUsers FunctionName = "getWorkspaceUsers"
148147
// FunctionGetFeaturedRepositories is the name of the getFeaturedRepositories function
149148
FunctionGetFeaturedRepositories FunctionName = "getFeaturedRepositories"
150-
// FunctionGetSuggestedContextURLs is the name of the getSuggestedContextURLs function
151-
FunctionGetSuggestedContextURLs FunctionName = "getSuggestedContextURLs"
152149
// FunctionGetWorkspace is the name of the getWorkspace function
153150
FunctionGetWorkspace FunctionName = "getWorkspace"
154151
// FunctionGetIDEOptions is the name of the getIDEOptions function
@@ -1057,24 +1054,6 @@ func (gp *APIoverJSONRPC) ClosePort(ctx context.Context, workspaceID string, por
10571054
return
10581055
}
10591056

1060-
// GetSuggestedContextURLs calls getSuggestedContextURLs on the server
1061-
func (gp *APIoverJSONRPC) GetSuggestedContextURLs(ctx context.Context) (res []*string, err error) {
1062-
if gp == nil {
1063-
err = errNotConnected
1064-
return
1065-
}
1066-
var _params []interface{}
1067-
1068-
var result []*string
1069-
err = gp.C.Call(ctx, "getSuggestedContextURLs", _params, &result)
1070-
if err != nil {
1071-
return
1072-
}
1073-
res = result
1074-
1075-
return
1076-
}
1077-
10781057
// UpdateGitStatus calls UpdateGitStatus on the server
10791058
func (gp *APIoverJSONRPC) UpdateGitStatus(ctx context.Context, workspaceID string, status *WorkspaceInstanceRepoStatus) (err error) {
10801059
if gp == nil {

components/gitpod-protocol/go/mock.go

Lines changed: 0 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

components/gitpod-protocol/src/gitpod-service.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@ export interface GitpodServer extends JsonRpcServer<GitpodClient>, AdminServer,
110110
getWorkspaceOwner(workspaceId: string): Promise<UserInfo | undefined>;
111111
getWorkspaceUsers(workspaceId: string): Promise<WorkspaceInstanceUser[]>;
112112
getFeaturedRepositories(): Promise<WhitelistedRepository[]>;
113-
getSuggestedContextURLs(): Promise<string[]>;
114113
getSuggestedRepositories(organizationId: string): Promise<SuggestedRepository[]>;
115114
searchRepositories(params: SearchRepositoriesParams): Promise<SuggestedRepository[]>;
116115
/**

components/public-api-server/pkg/apiv1/scm.go

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@
55
package apiv1
66

77
import (
8-
"context"
9-
10-
connect "github.com/bufbuild/connect-go"
11-
v1 "github.com/gitpod-io/gitpod/components/public-api/go/experimental/v1"
128
"github.com/gitpod-io/gitpod/components/public-api/go/experimental/v1/v1connect"
139
"github.com/gitpod-io/gitpod/public-api-server/pkg/proxy"
1410
)
@@ -26,26 +22,3 @@ type SCMService struct {
2622

2723
v1connect.UnimplementedSCMServiceHandler
2824
}
29-
30-
func (s *SCMService) GetSuggestedRepoURLs(ctx context.Context, req *connect.Request[v1.GetSuggestedRepoURLsRequest]) (*connect.Response[v1.GetSuggestedRepoURLsResponse], error) {
31-
conn, err := getConnection(ctx, s.connectionPool)
32-
if err != nil {
33-
return nil, err
34-
}
35-
36-
reposPtrs, err := conn.GetSuggestedContextURLs(ctx)
37-
if err != nil {
38-
return nil, proxy.ConvertError(err)
39-
}
40-
41-
repos := make([]string, len(reposPtrs))
42-
for i, repoPtr := range reposPtrs {
43-
if repoPtr != nil {
44-
repos[i] = *repoPtr
45-
}
46-
}
47-
48-
return connect.NewResponse(&v1.GetSuggestedRepoURLsResponse{
49-
Repos: repos,
50-
}), nil
51-
}

components/public-api-server/pkg/apiv1/scm_test.go

Lines changed: 0 additions & 71 deletions
This file was deleted.

components/server/src/auth/rate-limiter.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ const defaultFunctions: FunctionsConfig = {
6464
getWorkspaceOwner: { group: "default", points: 1 },
6565
getWorkspaceUsers: { group: "default", points: 1 },
6666
getFeaturedRepositories: { group: "default", points: 1 },
67-
getSuggestedContextURLs: { group: "default", points: 1 },
6867
getSuggestedRepositories: { group: "default", points: 1 },
6968
searchRepositories: { group: "default", points: 1 },
7069
getWorkspace: { group: "default", points: 1 },

components/server/src/oauth-server/db.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ const localCli: OAuthClient = {
6464
{ name: "function:createWorkspace" },
6565
{ name: "function:getToken" },
6666
{ name: "function:getSupportedWorkspaceClasses" },
67-
{ name: "function:getSuggestedContextURLs" },
6867
{ name: "function:getIDEOptions" },
6968
{ name: "resource:default" },
7069
],
@@ -137,7 +136,6 @@ const desktopClient: OAuthClient = {
137136
{ name: "function:createWorkspace" },
138137
{ name: "function:getToken" },
139138
{ name: "function:getSupportedWorkspaceClasses" },
140-
{ name: "function:getSuggestedContextURLs" },
141139
{ name: "function:getIDEOptions" },
142140
{ name: "resource:default" },
143141
],

components/server/src/workspace/gitpod-server-impl.ts

Lines changed: 0 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1398,117 +1398,6 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {
13981398
).filter((e) => e !== undefined) as WhitelistedRepository[];
13991399
}
14001400

1401-
public async getSuggestedContextURLs(ctx: TraceContext): Promise<string[]> {
1402-
const user = await this.checkAndBlockUser("getSuggestedContextURLs");
1403-
const suggestions: Array<{ url: string; lastUse?: string; priority: number }> = [];
1404-
const logCtx: LogContext = { userId: user.id };
1405-
1406-
// Fetch all data sources in parallel for maximum speed (don't await in this scope before `Promise.allSettled(promises)` below!)
1407-
const promises = [];
1408-
1409-
// Example repositories
1410-
promises.push(
1411-
this.getFeaturedRepositories(ctx)
1412-
.then((exampleRepos) => {
1413-
exampleRepos.forEach((r) => suggestions.push({ url: r.url, priority: 0 }));
1414-
})
1415-
.catch((error) => {
1416-
log.error(logCtx, "Could not get example repositories", error);
1417-
}),
1418-
);
1419-
1420-
// Repositories of all accessible projects
1421-
promises.push(
1422-
this.getAccessibleProjects().then((projects) => {
1423-
projects.forEach((project) =>
1424-
suggestions.push({ url: project.cloneUrl.replace(/\.git$/, ""), priority: 1 }),
1425-
);
1426-
}),
1427-
);
1428-
1429-
// User repositories (from Git hosts directly)
1430-
promises.push(
1431-
this.getAuthProviders(ctx)
1432-
.then((authProviders) =>
1433-
Promise.all(
1434-
authProviders.map(async (p) => {
1435-
try {
1436-
const hostContext = this.hostContextProvider.get(p.host);
1437-
const services = hostContext?.services;
1438-
if (!services) {
1439-
log.error(logCtx, "Unsupported repository host: " + p.host);
1440-
return;
1441-
}
1442-
const userRepos = await services.repositoryProvider.getUserRepos(user);
1443-
userRepos.forEach((r) =>
1444-
suggestions.push({ url: r.url.replace(/\.git$/, ""), priority: 5 }),
1445-
);
1446-
} catch (error) {
1447-
log.debug(logCtx, "Could not get user repositories from host " + p.host, error);
1448-
}
1449-
}),
1450-
),
1451-
)
1452-
.catch((error) => {
1453-
log.error(logCtx, "Could not get auth providers", error);
1454-
}),
1455-
);
1456-
1457-
// Recent repositories
1458-
promises.push(
1459-
this.getWorkspaces(ctx, {
1460-
/* limit: 20 */
1461-
})
1462-
.then((workspaces) => {
1463-
workspaces.forEach((ws) => {
1464-
let repoUrl;
1465-
if (CommitContext.is(ws.workspace.context)) {
1466-
repoUrl = ws.workspace.context?.repository?.cloneUrl?.replace(/\.git$/, "");
1467-
}
1468-
if (!repoUrl) {
1469-
repoUrl = ws.workspace.contextURL;
1470-
}
1471-
if (repoUrl) {
1472-
const lastUse = WorkspaceInfo.lastActiveISODate(ws);
1473-
suggestions.push({ url: repoUrl, lastUse, priority: 10 });
1474-
}
1475-
});
1476-
})
1477-
.catch((error) => {
1478-
log.error(logCtx, "Could not fetch recent workspace repositories", error);
1479-
}),
1480-
);
1481-
1482-
await Promise.allSettled(promises);
1483-
1484-
const uniqueURLs = new Set();
1485-
return suggestions
1486-
.sort((a, b) => {
1487-
// priority first
1488-
if (a.priority !== b.priority) {
1489-
return a.priority < b.priority ? 1 : -1;
1490-
}
1491-
// Most recently used second
1492-
if (b.lastUse || a.lastUse) {
1493-
const la = a.lastUse || "";
1494-
const lb = b.lastUse || "";
1495-
return la < lb ? 1 : la === lb ? 0 : -1;
1496-
}
1497-
// Otherwise, alphasort
1498-
const ua = a.url.toLowerCase();
1499-
const ub = b.url.toLowerCase();
1500-
return ua > ub ? 1 : ua === ub ? 0 : -1;
1501-
})
1502-
.filter((s) => {
1503-
if (uniqueURLs.has(s.url)) {
1504-
return false;
1505-
}
1506-
uniqueURLs.add(s.url);
1507-
return true;
1508-
})
1509-
.map((s) => s.url);
1510-
}
1511-
15121401
public async getSuggestedRepositories(ctx: TraceContext, organizationId: string): Promise<SuggestedRepository[]> {
15131402
traceAPIParams(ctx, { organizationId });
15141403

0 commit comments

Comments
 (0)