| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
* plugins: compute bundle hash on load
Use this hash to bust client caches whenever the plugin bundle changes.
* eliminate redundant pluginHandler
* switch to 64-bit FNV-1a
* Fix test
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Support `server`, deprecate `backend` in plugin manifest
This lets us converge on the use of the term `server` everywhere instead
of sometimes `backend` and sometimes `server`. We're still using
`webapp` and will eventually support `mobile` as well.
The plan is actually to rip out these deprecations as part of releasing
5.2, but I want to coordinate the extra additional breakage at the same
time, so for now this is a backwards compatible change.
* fix failing tests
|
|
|
| |
This avoids the need to distribute multiple plugins per architecture.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* don't report an error on plugin activation if already active
* improved plugin logging events
Log an error when a plugin's ServeHTTP fails, or when it unexpectedly
terminates.
Restart a plugin at most three times, allowing its failure to later
bubble up under the "failed to stay running" status.
* clarified plugin activation/deactivation
Avoid repeatedly activating when any configuration bit changes. Improved
logging.
* constrain plugin ids to ^[a-zA-Z0-9-_\.]+$ and enforce minimum length
Previously, the plugin id was used unsanitized to relocate the plugin
bundle, which allowed writing outside the `plugins/` directory by using
an `id` containing `../`.
Similarly, an empty string was accepted as an id and led to unexpected
error messages.
* remove plugins by manifest path, not id
If the id within the manifest ever diverges from the actual plugin
location, it becomes impossible to remove via the API. Instead, if the
plugin is found by id, remove the path containing the manifest.
* ignore plugins with nil manifests
If a plugin was detected, but had a manifest that couldn't be parsed, it
will be left nil but still be listed among the packages. Skip over these
in most cases to avoid segfaults.
* leverage mlog more effectively for plugins
* build issues
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
(#7931)
This reverts commit c3af8785734803b6199a28249537ef3e47fe4caa.
|
|
|
|
|
|
|
|
| |
* Hash plugin store keys and update column limits
* Limit plugin ID length on install
* Add note to manifest id and allow zero length keys
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bundled jira plugin
* fix generated file formatting, add prepackaged key
* whoops, uploaded wrong file
* whitelist generated files for license check
* make it work for people without go/bin in their path
|
| |
|
|
|
|
|
|
| |
* Add placholder field and user_autocomplete type to plugin manifest
* user_autocomplete -> username
|
|
|
|
|
|
|
|
| |
* basic manifest docs
* add a bit more documentation
* space out fields for better godoc formatting
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add UI settings to plugin manifest
* Add another test case
* Add options field to setting
* Updates per feedback
* Report diagnostics on if plugins have settings set
* Add regenerate_help_text field
|
| |
|
|
|
|
|
|
|
|
| |
* Improvements to server handling of webapp plugins
* Fix newline
* Update manifest function names
|
|
* Implement experimental REST API endpoints for plugins
* Updates per feedback and rebase
* Update tests
* Further updates
* Update extraction of plugins
* Use OS temp dir for plugins instead of search path
* Fail extraction on paths that attempt to traverse upward
* Update pluginenv ActivePlugins()
|