зеркало из
1
0
Форкнуть 0
Граф коммитов

65 Коммитов

Автор SHA1 Сообщение Дата
Jeff Wilcox e48e1dd11d Immutability: store new repo payloads to immutable blob 2023-01-24 15:20:16 -08:00
Jeff Wilcox 182a8e2c9e Corporate: removing unused company-specific bits 2023-01-17 15:52:04 -08:00
Jeff Wilcox ecae7fc77d Removing unused code 2023-01-15 09:21:00 -08:00
Nick Schonning 610fddd0e6
fix: refesh -> refresh 2022-11-01 20:49:09 -04:00
Jeff Wilcox c07b717731 Merge branch 'prefer-const' of https://github.com/nschonni/opensource-portal into nschonni-prefer-const 2022-10-31 21:52:59 +00:00
Jeff Wilcox 0af67ee0cd Latest build 2022-10-31 03:32:58 +00:00
Nick Schonning 8332719638
fix: prefer-const 2022-10-11 21:20:41 -04:00
Jeff Wilcox f2f1d91933
Merge pull request #421 from nschonni/typos2
fix: various typos
2022-10-10 23:13:20 -07:00
Nick Schonning c1aed594e7
fix: various typos 2022-10-10 19:32:54 -04:00
Nick Schonning 73c247c151
chore: enable no-constant-condition 2022-10-10 15:28:17 -04:00
Nick Schonning deea160f69
fix: various typos 2022-10-09 23:02:44 -04:00
Jeff Wilcox 9f3f1cb00d
Prettier linting, README update (#399) 2022-10-07 15:25:28 -07:00
Jeff Wilcox 9d54251c56 Prettier / consistency 2022-10-07 06:59:30 +00:00
mofury 820ed744d0
Remove hardcoded references to microsoft from mail templates (#289)
* Remove hardcoded references to microsoft (#6)

* add config to some more mail options

Co-authored-by: Moritz Fuchs <moritz.fuchs@sap.com>
Co-authored-by: Tobias Gabriel <tobias.gabriel@sap.com>
2022-10-06 20:25:32 -07:00
Jeff Wilcox 0921e2d578 Integrating latest Microsoft changes
Updates the open source project to reflect the recent updates
around continuing to make it easier to build in paralell and have
company-specific updates without impacting the upstream as much.
2022-10-07 01:23:29 +00:00
Jeff Wilcox 6aca65ae1e
Integrating stylistic community pull request saves 2021-10-07 15:23:50 -07:00
Jeff Wilcox a9cfcc38f4 Merge branch 'eslint-console' of https://github.com/nschonni/opensource-portal into nschonni-eslint-console 2021-10-07 21:58:49 +00:00
Jeff Wilcox af7299c308
Updated GitHub object model 2021-10-06 20:09:38 -07:00
Jeff Wilcox 41047e2612
Latest source 2021-07-17 14:33:35 -07:00
Jeff Wilcox b256b70af0
Improved new repo lockdown, app/job reconfig
- Improved new repository lockdown experience
  - Supports swapping description and website URL for repos temporarily until approval
  - Supports an initial README commit directing people to the setup experience, if there are no commits yet
  - Directly created repos become private immediately but retain access for the initial creator of the repo with read permission
- Removes new repository branch rename feature (GitHub natively supports org-level and enterprise-level custom defaults now)
- Removes 'uuid' dependency to favor newer Node LTS 14+ crypto.randomUUID
- App and job configuration object replaces "treatGitHubAppAsBackground" with "enableAllGitHubApps"
- Table encryption bug fix when pulling from key vault
- Chore: updates NPM dependencies
2021-06-03 10:08:30 -07:00
Jeff Wilcox 8a8a2dc181
Removing painless-config support to prefer dotenv always; minor new features
- Removes antiquated Azure Storage and table SDKs
- Removes dependency on painless-config-resolver (which is now inline inside the project and adopts the latest Azure SDK for KeyVault)
- Adds company-specific unlink and link mail template overrides
- Adds new unlink notification mail to people who remove themselves, or are removed
- Updates more legacy functions from callbacks to more modern equivalents
- Removes unused reports "data lake" storage methods
- Removes moment timezone library
- System administrator data can now alternatively come from security groups instead of hard-coded configuration

Breaking changes

- Removes painless-config support. .env and environment/container env methods only. If you have a JSON env file, update it to a .env-compatible format for local development use.
2021-05-17 11:54:19 -07:00
Jeff Wilcox 7f3c6f7b43
Integrating recent internal changes
- Changes JSON paging APIs to be zero-based indexes
- Additional optional security app configuration
- Fixes a minor configuration issue
- Adds a more robust "RepositoryEntity" that is not used in the site, but by jobs or data systems
- Updated deps
- Graph provider adds a "get direct reports" method
2021-05-05 20:07:09 -07:00
Nick Schonning 080b0caf6b
chore: Drop file level eslint-disable for console 2021-04-09 20:20:13 -04:00
Jeff Wilcox 1e9db0803e
Interface and Test refactor
Removing explicit casts from req.app.settings.providers and using
a function.

Switching from Mocha (which was mostly unused) to Jest.

Moving around type definitions and interfaces in a big way to try
and cleanup some legacy.
2021-04-09 16:36:15 -07:00
Jeff Wilcox 98502f7a72 Interim refactorings and improvements
This is a set of changes that is still stabalizing. Code churn around modernization
could impact company-specific implementations.

interim refactoring as part of a GitHub Enterprise prototype. please avoid using or extending or open an issue in the repo if you are to discuss what should stay vs get yanked.

- introduces a temporary OperationsCore class and a nearly-empty typed interface for operations
- these types will reduce or be removed once the prototype is validated
- "capabilities" allow for partial implementation of operations methods in the prototype

- custom mail provider
- additional view properties or recipients for new repos
- additional non-client API routes
- custom view names in certain places
- ability to process firehose events optionally in a separate codepath
- removes Microsoft-specific mail provider from the project
- fixes a startup race condition

- more interfaces and types exported down the tree to reduce import statements
- additional insights and reduced error logging for valid not found scenarios
- graph manager removes old callback code and interfaces have minor **breaking renames** as a result
- moves some email-sending functions into independent files to reduce core class line count
- ignored catches replaced with telemetry more consistently (partial)
- graph provider adds optional caching (note: this is not yet stable)
- webhook firehose will only attempt deleting messages once

- latest Octokit versions
- uses reusable functions throughout GitHub API calls for max age seconds, background refresh, page size variables
- fixes a bug around app header selection for cross-organization calls
- attempts to use GitHub App authentication instead of central operations token in more places
- supports alternate GitHub REST API locations for app authentication and the API itself
- new GitHub APIs integrated into business classes: get repository issues

- removes request module family, adopting axios
2021-03-25 10:20:40 -07:00
Jeff Wilcox 4058a47225 Remove unncessary asNumber function 2021-03-12 13:25:31 -08:00
Jeff Wilcox 5fd90713d9 Removing unused path 2021-03-11 07:42:26 -08:00
Jeff Wilcox ae18070d59 Config: renaming microsoftOpenSource -> urls 2021-03-11 07:31:28 -08:00
Jeff Wilcox 089b225f86 Adjusting variables 2021-03-06 00:46:30 -08:00
Jeff Wilcox a2c1e8d5ea
Merge branch 'develop' into Further-UI-Improvements 2021-03-06 00:27:17 -08:00
Jeff Wilcox a17d48e8ef Integrating latest Microsoft changes
This significant pull request patches the open source project with a number
of updates from inside Microsoft as part of connecting an automated publishing
process to keep the public version up-to-date and buildable.

We are also removing Microsoft-specific endpoints and APIs when easy enough to
do, and adding a "company-specific" extension model to try as we go about this.
2021-03-05 14:50:31 -08:00
Jeff Wilcox 63472fe26b Removing dependency in mailAddressProvider
- Removes legacy "Witness Redis" code that was a Microsoft-internal thing
- Refactors Mail Address Provider for function signatures with a Promise, no callbacks
- Refactors Microsoft Mail Address Provider to use the Graph Provider for mail lookup instead of the legacy Redis system
- Minor chores on updating some imports, default export module functions
- Web server listen routine happens sooner during startup to better land Kubernetes readiness and liveness probes
2020-07-16 13:00:32 -07:00
Jeff Wilcox 40e1b293c5 Additional typings for perf speedup on links API 2020-07-15 10:54:06 -07:00
Jeff Wilcox d44c944846 Adding notification mails, Octokit update
- Replaces extended operations mail with dedicated, optional notification email addresses for new repos, new links, and related operations
- Updates to newer libraries including Octokit v18
2020-06-18 13:15:17 -07:00
Jeff Wilcox 6fb01c3813 June updates
During the month of May and June, we forked this application internally
as part of a specific set of temporary changes. To converge once again
with the open source version and make it easier to collaborate with others,
this brings the latest changes up.

There is a need to refactor and feature flag the service account piece into
the newer experience as new debt.
2020-06-11 14:46:09 -07:00
Jeff Wilcox 2be09e199d Native Entities refactoring (Postgres)
Refactoring of the Postgres and EMP (entity metadata provider) interface
to make it more performant, moving beyond the original key-value store
approach for entities and allowing for "native" columns that can have
solid indexes on the columns.

The goal of this integration is to be able to create indexes on the
date fields for open source contributions. Previously, storing this
data inside of Postgres JSON columns made casting difficult or slow
to compute when querying for these values.

Also begins to ship queries away from a central cross-EMP query enum
into compartmenatlized entities.
2020-05-04 15:32:00 -07:00
Jeff Wilcox a1c359c30e New feature: self-service team maintainer upgrade
This introduces a new opt-in (feature flag) capability to reduce the
amount of manual organization operations that are required for
common scenarios.

For a relatively small GitHub team size (configurable, default to
around 15 people), this allows people to self-service "upgrade"
themselves to be a team maintainer if the team does not have
many maintainers.

The # of maintainers that are supported by default for this feature
to light up is zero (0) or 1... since we recommend that every
team have at least 2 maintainers.
2020-04-24 11:16:12 -07:00
Jeff Wilcox 98c581869d Query cache: cleaning up deleted/unmanaged orgs
Cleans up the query cache for organizations that are no longer managed
by the app.
2020-04-23 16:56:13 -07:00
Jeff Wilcox 7068074db1 New repo emails: notify the manager
If a manager is known for an employee, we will also notify
the manager via a carbon copy on e-mails related to new repos,
locked forks, or newly created repos that still need classification.

As a quick change, this does not add a feature flag to enable or disable
this; however, if a manager is not known via the corporate contacts or
cached employee information system, there will be no error.
2020-04-23 13:20:52 -07:00
Jeff Wilcox 788c9fb5b0 app insights from providers 2020-04-22 23:51:56 -07:00
Jeff Wilcox 1e2379b9e4 Refactoring app startup
Chore: cleaning up app startup routines

- Modernizing with promises instead of callbacks
- Cleans up TypeScript interfaces for the app
- Moving to v2 of `painless-config-resolver`, reducing package count
- Reduces redundant startup code
- Introduces job object and job success return values, simplifies insights reporting when enabled
- Consistent timeout scheme for jobs
2020-04-22 19:16:29 -07:00
Jeff Wilcox 0eaab39442 Events: updating schema
The event entity, used for gathering contribution data, is being
normalized to use proper Postgres columns instead of the hacked-up
JSONB approach.
2020-04-22 10:19:27 -07:00
Jeff Wilcox ab2c41a375 Integrating FOSS Fund election changes
- chore: the root app is now a module
- updated election implementation for FOSS Fund
- fixes a null ref in the corporate contact provider after a timeout
- terminates the `reports` job quickly for now (the job remains broken)
- adds a new configuration setting for an election manager e-mail contact
- app insights should filter out HTTP 404 API responses which are technically a success
- updated vote displays
- updated script for 2nd mail campaign
2020-04-20 19:38:25 -07:00
Jeff Wilcox a2193f316b Updating dependencies, refactoring entity providers, removing 'async'
Features
- Team pages now encourage native GitHub.com use for management
- Adding vote capabilities for FOSS Fund (a specialized feature only)

Bug fixes
- Fix for GitHub REST API request endpoints using `requestAsPost`

Chores
- Removing async library
- Cleaner throttle use through a newer `throat` library version and removing confusing typings
- Removes dead code
- Entity metadata providers are moving to a decoupled query and type system vs declarative shared enum sets
- Firehose code is now using await/async and staggers logical threads evenly
- Newer versions of all core dependencies
- More routes imported as modules instead of through `require`
2020-04-19 13:52:36 -07:00
Jeff Wilcox d445329ca3 Integrating updates 2020-04-14 15:57:21 -07:00
Jeff Wilcox 87c2ab52a0 Code refresh to support GitHub Apps
- Enables GitHub App-based server-to-server communication
- Enables dynamic (database-backed) organization setting configuration
- QueryCache system, when paired with a Postgres database and GitHub App webhooks keeps teams, repo lists, etc. up-to-date more efficiently than the older GitHub REST API-based method
- Various bug fixes
2019-10-02 18:41:16 -07:00
Roman Fritsch de0e921c28 further UI-Improvements 2019-09-25 15:00:03 +02:00
Jeff Wilcox 260a7b55f1 Refactoring
This evolves many codepaths to await/async, ES6, promises, etc.
There is still more work to be done.
2019-08-26 09:54:28 -07:00
Jeff Wilcox d388e4cb96 Entity metadata provider refactoring
- Entities (links, join requests, repo metadata) refactored
- Entities can be stored in Postgres, Azure Table, or memory
- Introduces a quickstart memory provider mode
- Evolution of more classes and methods to ES6, await/async, TypeScript typings
- Updates of package versions
2019-08-06 16:53:50 -07:00
Jeff Wilcox f8c0ba1774
TypeScript implementation
Major updates to the application, including some minor breaking changes.

The public updates (that make it less Microsoft-specific) are still in
development; this represents trying to get it ready for updates.
2019-04-05 14:45:34 -07:00