Skip to content

feat(Git Project): Introducing Git Projects#8301

Closed
gatzjames wants to merge 33 commits into
Kong:developfrom
gatzjames:feat/git-project
Closed

feat(Git Project): Introducing Git Projects#8301
gatzjames wants to merge 33 commits into
Kong:developfrom
gatzjames:feat/git-project

Conversation

@gatzjames
Copy link
Copy Markdown
Contributor

@gatzjames gatzjames commented Jan 16, 2025

Highlights:

  • Added new project type: Git
  • Git projects allow syncing the entire project using a single repository
  • Git projects have a single sync dropdown for commit/sync actions accessible from all project files

Todo/Next steps:

  • Consolidate Git action logic into a Git service.
  • Ensure all file types (Collection/Spec/Environment/MockServer) sync correctly
  • Use a YAML diff viewer to match the exported data (currently we use a JSON diff view)
  • Add UX for cloning a Git project into an organization
  • Expand e2e tests

Closes INS-4248

@gatzjames gatzjames self-assigned this Jan 16, 2025

const baseDir = path.join(
process.env['INSOMNIA_DATA_PATH'] || window.app.getPath('userData'),
`version-control/git/${gitRepository._id}`

Check warning

Code scanning / Semgrep OSS

Semgrep Finding: javascript.lang.security.audit.path-traversal.path-join-resolve-traversal.path-join-resolve-traversal

Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first.
const gitDataClient = fsClient(baseDir);

// All data outside the directories listed below will be stored in an 'other' directory. This is so we can support files that exist outside the ones the app is specifically in charge of.
const otherDataClient = fsClient(path.join(baseDir, 'other'));

Check warning

Code scanning / Semgrep OSS

Semgrep Finding: javascript.lang.security.audit.path-traversal.path-join-resolve-traversal.path-join-resolve-traversal

Detected possible user input going into a `path.join` or `path.resolve` function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first.
Comment thread packages/insomnia/src/ui/routes/git-project-actions.tsx Fixed
Comment thread packages/insomnia/src/ui/routes/git-project-actions.tsx Fixed
@gatzjames
Copy link
Copy Markdown
Contributor Author

Closing in favor of #8382

@gatzjames gatzjames closed this Feb 19, 2025
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.

2 participants