* Backport user enumeration fix.
* Supress warning on use of .NET 6 with TimeProvider dependency.
* Replace TimeProvider with Stopwatch, as the former isn't tested against .NET 6.0 and generates warnings.
* Remove full path details from exception when requesting a path outside of the physical file system's root.
* Added randomness to login duration.
* Ensured against negative duration.
* Bumped version to 10.8.9.
* Fixed parsing of node if in content and media permission querystring handlers to retrieve expected value when multiple are provided in the querystring.
# Conflicts:
# tests/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Authorization/ContentPermissionsQueryStringHandlerTests.cs
# tests/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Authorization/MediaPermissionsQueryStringHandlerTests.cs
* Add HttpPost attributes to backoffice endpoints that should only accept post requests.
* Narrow PermissionQueryString parsing to the releveant UmbracoObjectType
* Add missed update from v10
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Ensure preview can only be requested with a valid culture code.
* Update src/Umbraco.Web.BackOffice/Controllers/PreviewController.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Restricted to predefined culture codes.
---------
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Added ExecuteNonQuery(DbCommand command) on database to ensure we call OnExecutingCommand and OnExecutedCommand when executing DbCommands
* Added Cache Instructions lock, to avoid deadlocks
* Optimized read locks for nucache when only one content type is rebuilt
* Optimized the SqlServer locks, so only one command is executed (and thereby roundtrip) per lock instead of two
* Avoid breaking changes
* Cosmetic changes
* Take locks if everything is rebuild
* Use same lock in scopes, to avoid potential deadlocks between the two
* Use eager locks in PublishedSnapshotService.cs
* Added timeouts to some of the application locks
* Revert "Use eager locks in PublishedSnapshotService.cs"
This reverts commit 01873aae97.
* Revert "Added Cache Instructions lock, to avoid deadlocks"
This reverts commit e3fca7c12a.
* Use single readlock call to lock many
* Use eager locks for reads
* Eager write locks
* Ignore test of lazy locks
* Unique timeout exception messages
---------
Co-authored-by: kjac <kja@umbraco.dk>
(cherry picked from commit 2c23e67c65)
* Added ExecuteNonQuery(DbCommand command) on database to ensure we call OnExecutingCommand and OnExecutedCommand when executing DbCommands
* Added Cache Instructions lock, to avoid deadlocks
* Optimized read locks for nucache when only one content type is rebuilt
* Optimized the SqlServer locks, so only one command is executed (and thereby roundtrip) per lock instead of two
* Avoid breaking changes
* Cosmetic changes
* Take locks if everything is rebuild
* Use same lock in scopes, to avoid potential deadlocks between the two
* Use eager locks in PublishedSnapshotService.cs
* Added timeouts to some of the application locks
* Revert "Use eager locks in PublishedSnapshotService.cs"
This reverts commit 01873aae97.
* Revert "Added Cache Instructions lock, to avoid deadlocks"
This reverts commit e3fca7c12a.
* Use single readlock call to lock many
* Use eager locks for reads
* Eager write locks
* Ignore test of lazy locks
* Unique timeout exception messages
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Run the same cleanup with scaffolding content as when copying.
- Added a new ContentScaffoldedNotification
- Published the notification when a new scaffold has been created from a blueprint (content template)
- Linked up the ComplextPEContent handler to do the same cleanup for the new notification as when copying.
- registered handlers to the event for blocklist, blockgrid and nested content
* PR pattern matching suggestion
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
(cherry picked from commit dff90c6ec0)
* Include automatic relation type aliases from factory and fix SQL parameter overflow (#15141)
* Include automatic relation type aliases from factory
* Remove unnessecary distinct and fix SQL parameter overflow issue
* Fixed assertions and test distinct aliases
* Simplified collection assertions
* Improve logging of invalid reference relations (#15160)
* Include automatic relation type aliases from factory
* Remove unnessecary distinct and fix SQL parameter overflow issue
* Fixed assertions and test distinct aliases
* Simplified collection assertions
* Improve logging of invalid reference relations
* Always get all automatic relation type aliases
* Do not set relation type alias for unknown entity types
* Get references from recursive (nested/block) properties
* Optimize relation tracking for adding new and keeping existing relations
* Optimize getting references by grouping by property editor alias and avoiding duplicate parsing of the same value
* Include automatic relation type aliases from factory and fix SQL parameter overflow (#15141)
* Include automatic relation type aliases from factory
* Remove unnessecary distinct and fix SQL parameter overflow issue
* Fixed assertions and test distinct aliases
* Simplified collection assertions
* Improve logging of invalid reference relations (#15160)
* Include automatic relation type aliases from factory
* Remove unnessecary distinct and fix SQL parameter overflow issue
* Fixed assertions and test distinct aliases
* Simplified collection assertions
* Improve logging of invalid reference relations
* Always get all automatic relation type aliases
* Do not set relation type alias for unknown entity types
* Get references from recursive (nested/block) properties
* Run the same cleanup with scaffolding content as when copying.
- Added a new ContentScaffoldedNotification
- Published the notification when a new scaffold has been created from a blueprint (content template)
- Linked up the ComplextPEContent handler to do the same cleanup for the new notification as when copying.
- registered handlers to the event for blocklist, blockgrid and nested content
* PR pattern matching suggestion
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Bump version
* Apply authorization policies to controllers
* Return bad request if we urltracking is disabled
* Apply authorization policies to controllers
* Return bad request if we urltracking is disabled
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Added Exception handling and replicated error and info message
* Update auth.resource.js
Fixed the message
* Changed Delay introduction to early phase to avoid repeating code.
---------
Co-authored-by: jey <jey@umbraco.dk>
Co-authored-by: Jey <cyaqublu@gmail.com>
* Moved to centralized nuget packages
* Handle JsonSchema
* Change PackageReference to PackageVersion
* Opt out of central package management for mangement api (at least for versions less than 14) and the UI project
* ManagePackageVersionsCentrally = false
* Change folder acceptance tests are build, to avoid reading the test Directory.Packages.props
* Change folder acceptance tests are build, to avoid reading the test Directory.Packages.props
* change working directory
* workingDirectory
* Force the template to use local nuget packages
* Force the template to use local nuget packages
* clean up
* added wait on
* added wait on
* Fixed a couple of occurrences where scopes was auto-complated while actually modified the state of the database.
* Added temp ctor to fix boot issue
(cherry picked from commit 41f8f03c2c)
* V13: Add support for Node.js 20 (#15022)
* update versionSpec to nodejs 20 and avoid specifying minor and patch versions to improve Azure Pipelines stability
* update engines and package lock files
* update helpful displayNames for npm builds
* add retry to counter nodejs.org timeouts
add retryCountOnTaskFailure as suggested on https://developercommunity.visualstudio.com/t/NodeTool0-task-to-install-nodejs-fails/10455454
* update lockfile
* bump nvm support to latest node.js 20.9 LTS
* build(deps): bump @umbraco-ui/uui from 1.3.0 to 1.5.0
* build(deps): bump public dependencies to latest
* build(deps-dev): bump build dependencies to latest
* build(deps-dev): bump test tools to latest
* build: add script to lint and run --fix
* revert login merge from v13
* Added content types to property index value factory, because the deep cloning is too expensive to execute often
* Do not use entityservice in ToEditor, as it goes to the database. We need to use something that is cached.
* Small performance optimization for nested content too
* A little formatting and an obsoletion message
---------
Co-authored-by: kjac <kja@umbraco.dk>
* #14835 Update link on permissionsreport.html
Updated link to permissions page to point to 10-LTS documentation
* retrigger checks
---------
Co-authored-by: Rasmus Berntsen <rasmus.berntsen@isobar.com>
* Setting actionContext.Result when authz wasn't successful
* Taking into account permissions when it is a new node
* Cleanup
* Passing nodeId as path when new item
* Revert "V10/bugfix/14543 publish descendants (#14763)"
This reverts commit f750bca453.
* Add notification state to "final" published notification when publishing with descendants
* Updated playwright, our builders, and our helpers
* Updated the use of our testhelper methods, we removed the need for sending umbracoApi through the methods as a parameter since it was unnecessary
* Added a timeout
* Updated successNotifications and added a locator
* Removed timeout from successNotification
* Added additional timeouts and updated old locators which were failing
* Updated locator so it only finds one element
* Removed timeouts and added a waitForTimeout
* Removed timeouts
* Removed timeouts
* Added timeouts
* Updated locator
* Added a timeout
* Updated locators for clicking button
* Changed locator for adding the image, sometimes the old locator would find 2 locators
* Revert "Make sure the property editor layout is contained within its container (prevent Z-index bleed-through) (#13583)"
This reverts commit 8463d906a7.
* remove seemingly unused attribute readonly
* contain everything with contain:layout
this is set if the property editor is in preview mode to make sure all overlays work
* Revert "remove seemingly unused attribute readonly"
This reverts commit 7a2743e8f6.
* Add configuration/code to not run certain tests based on variables/release builds
* Applied longrunning testAttribute to the worst offenders (>200ms on my machine)
* Fix yaml notation
* split up windows/non windows test runs
* Added supression for moved tests
* Fix yaml validation issues
* Change yaml string parameter null value to empty string
* Convert empty strings to whitespace strings
* Rename and cleanup some paramater to better reflect why we use them
* Nightly build test
* Change nightly build authentication type
* template paramater fix
* Update nightly pipeline name
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Added test for checking if a settings model contains default value.
Fixed tests
* Bumped version
* Moved createSliderWithDefaultValue function to our testHelpers. Removed the use of count in test since there was only one
Sometimes a tab, e.g. a "block list settings model" might register some default values, but if the user never clicks on the tab then they are not registered due to how AngularJS renders views with "ng-if".
* WIP: Fix publish descendants and related notifications
* Removed related entitities from publish notification
* Fixed root not being saved when publishingWithDescendants
* Updated integrationtests to reflect the update view on when to save the root when its part of a branch
* PR formatting fix
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* PR Cleanup
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Spicing up the codebase with some PR pattern matching
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Fix IndexOutOfRangeException when converting single value to range in SliderValueConverter
* Fix NullReferenceException while deserializing empty value in TagsValueConverter
* Use invariant decimal parsing
* Handle converting from slider to single value
* Fix parsing range as single value
* Make Handle methods autonomous
---------
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Fix IndexOutOfRangeException when converting single value to range in SliderValueConverter
* Fix NullReferenceException while deserializing empty value in TagsValueConverter
* Use invariant decimal parsing
* Handle converting from slider to single value
* Fix parsing range as single value
* Make Handle methods autonomous
---------
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Implemented modular architecture for filestream security sanitization with an svg-html example
* 31440: Refactoring, applied to more entry points and removed test analyzer
* 31440 Added Unittests for FileStreamSecurityValidator
* PR fixes and better unittest mock names
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Updated the name of our Acceptance test project.
The reason is because we want the naming to be clear and concise.
* Changed the name of the e2e pipeline project name for linux
* Updated dll file
* Obsolete constructor with deprecated IScopeProvider
* Add exclusion setting to typefinder settings
* The old TypeFinder constructor calls the new constructor now instead and excluded duplicates by using Union instead of Concat.
* Revert "The old TypeFinder constructor calls the new constructor now instead and excluded duplicates by using Union instead of Concat."
This reverts commit 87801c6c1c.
* Add changes to TypeFinder
* Do not use null when type is not nullable
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
The validation errors should not happen as the model mapping cleans up block data for entity types that do not longer exist (which is checked on the aformentioned key)
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Added new configuration "Umbraco:CMS:Examine:ExplicitlyIndexEachNestedProperty" that can be used to avoid nested properties like block grid to index each property individually.
* Moved the setting "Umbraco:CMS:Examine:ExplicitlyIndexEachNestedProperty" to "Umbraco:CMS:Indexing:ExplicitlyIndexEachNestedProperty" to make it more future proof
* Added missing registration
* Fixed registration
* Small readability improvement
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* fix: mark files that result in error as processed
* fix: for safety measure check that a file is truthy before trying to upload it
* fix: push an error when file.$error is encountered to make sure it does not get uploaded
* fix: remove header from error messages since it is not being used anyway
* fix: check for maxFileSize before uploading pasted images in tinymce
* use stored blob variable
* feat: add property to fileManager to get and format the maxFileSize
* fix: make tinymce use fileManager to get maxFileSize
* fix(image cropper): check for maxFileSize before setting file to upload
* multiply by 1000 to get bytes
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* Fixes an incorrect property name used for generating JSON schema.
* Added JSON schema/intellisense for default data dictionary keys.
* Renamed private variable to match setting name.
* add method to find and persist embedded base64 (data-uri) images in a html string
* use method to find embedded images in the Umbraco.TinyMce and Umbraco.Grid property editors
* rename method to better reflect what it does
* set allowed upload file types for integration tests
* add test for embedded images in Umbraco.TinyMce
* let old ctor call new ctor
* Apply suggestions from code review
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* apply pattern matching
---------
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Don't login after install
* Fail the install if database is not created
---------
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
* Fix broken CookieAuthenticationRedirect caused by PR #14036 when not in an API controller
* Added Integration Tests for the MemberAuthorizationFilter
* Fix merge conflict
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
(cherry picked from commit 1d239a30ca)
* Load default icons to show them next to checkboxes in configuration of richtext editor
* More mapping of icons
* Fix vertical align items centered not reflected
* Wrap mapping in function
* Map a few more icons
* Cleanup and formatting
* Cleanup
* Cleanup
* Add period in description
(cherry picked from commit 583965cf9d)
* fix: #12253 Anchor picker does not appear
* Update ContentServiceExtensions.cs
fix: #12253#13492 ; implement PR suggestions, test the new changes to confirm that they fix the issue with the anchorlink implementation on RTE from blocklist, blockgrid and normal RTE properties
Co-Authored-By: Laura Neto <12862535+lauraneto@users.noreply.github.com>
* Removed unnecessary using and code
* Small adjustments
---------
Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
(cherry picked from commit 1ba834a9ca)
* Update the tour text to the correct text and to save confusion
* Added extra information to the delete language warning to inform the user that it will also delete all content related to the language
* Updated language files with same message re deletion
---------
Co-authored-by: Paul Seal <p.seal@clerkswell.com>
Co-authored-by: Emma Garland <emma.garland@rocksolidknowledge.com>
(cherry picked from commit 542d0f7f74)
* Implement available culture in Interface and base classes
* Add available cultures
* DI localizationService and use it
* Make the new method have default implementation to avoid breaking change
* Create implementations for old method
* Pass available cultures
* Pass localization service
* Create new method that takes available cultures
* Add ILocalizationService to DI
* implement missing method
* Add database for schema test
* Fixed issue with indexes not added correctly to nested types..
---------
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Ensure case insensitivity in tag name queries.
Use LIKE instead of = to ignore collation rules.
* Add integration test for creating tag relations with mixed casing.
(cherry picked from commit 37d737f9bc)
* Support readonly set via SendingContentNotification
* Apply changes to second umb-property-editor as well
* Remove check on property.supportsReadOnly
* Disable allow unlock
* Add check on property.readonly
* Small adjustment in the order of preview checks
---------
Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
(cherry picked from commit e30587f90d)
* Fix CanForceCreateDatabase method and add some unit tests
* Fixed an old copy/paste error
* A little nitpicking over wording and formatting
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Fix ViewContext.FormContext not being set during BeginUmbracoForm
Client validation is broken without this if there are multiple forms with the same field names on a page.
* Tweaked comment
(cherry picked from commit 62b49c7ea7)
* Reduce the number of string concatenations required to generate cache keys.
* Updated to match existing Nucache keys.
---------
(cherry picked from commit 7c30da9fbf)
Updates the reference to the .targets file to use the correct folder name of `buildTransitive` instead of `build`
(cherry picked from commit d8f204ddf9)
* SQL Server Truncate when full nucache SQL rebuild.
* Optimize truncate for SQL Lite
* Remove comment.
* Use current DB Types
* I added a couple of formatting changes.
---------
Co-authored-by: georgebid <91198628+georgebid@users.noreply.github.com>
(cherry picked from commit be72c8147d)
* Add IsNullOrWhiteSpace Extension method
IsNullOrWhiteSpace extension method for IHtmlEncodedString
* Move extension method
* Add a UnitTest for the IsNullOrWhiteSpace extension method
* Update unit test
(cherry picked from commit 9771e77243)
Undefined error when inserting an empty link in the RTE editor
(cherry picked from commit 6ce30fb561)
# Conflicts:
# src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
* Modified PostPublishById to handle content that is culture variant. Added model and modified the javascript function that call the api endpoint.
* Added separate method for publishing with cultures. Added if else statment to js function.
* Moved check for all cultures being published to the top of PostPublishByIdAndCulture. Added parameter to ngDoc. Added Where Query.
(cherry picked from commit 37db3ae3da)
Changed internal to public for ContentPickerValueConverter, which was the only property value converter defined as `internal`
Fixes issue umbraco#13858
(cherry picked from commit 362832b594)
* Mini-list view search by id,name & key is fixed.
Added multiple conditions in the query to consider id or name or key from the filter param(search bar from minilistview)
* make it more simple ,now using || instead of clause conditions.
---------
Co-authored-by: Dhanesh Kumar <dhanesh.kumar@phases.dk>
Co-authored-by: Michael <michael@crossingpaths.be>
(cherry picked from commit 2f5726384d)
* Fixes#13715 issue with simple logviewer searches
* Update Logviewer test - to ensure MessageLike and simple equivalent returns same result count to help catch
(cherry picked from commit d38fabea4a)
* fix for #13623 by hiding Member Edit Action Menu on Infinite editing for consistency
* added missing attribute to umb-editor-header for Member editing
(cherry picked from commit e7a986b1c3)
* fixes data-element attribute on media section
* Revert "fixes data-element attribute on media section"
This reverts commit 2a35c9fbed.
* use property alias on members umb-property
Co-authored-by: Mario Lopez <mario@luminary.com>
(cherry picked from commit dc46b649f7)
* Fixed issue mentioned in https://github.com/umbraco/Umbraco-CMS/issues/13836
Now surface controller requests always has higher priority than other. So if this is both a surface controller request and a virtual page request, it will execute the surface controller.
* Moved some login into private methods
* More clean up
* Clean up
* Only handle valid candidates
* Added missing PropertyIndexValueFactories, for Block Grid, Block List, Nested Content, Tags and added No-op for image picker, image cropper etc, where the content dont make any sense anyway.
Made it replace for block grid/list, nested content and tags
* Fixed tests
* Ensure raw-fields are the prefix
* Code clean up
* build fix
* Minor cleanup
* Fixed issue with published values / external index
---------
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Add DoesPrimaryKeyExist method
* Add primary key name to dto
* Add extension method PrimaryKeyExists
* Dont use sql_master table
* Implement DoesPrimaryKeyExists
* Rename without plural s
* Refactor to get proper primary key name and not column name
* Use primary key name and not column name
* Dont filter tables in memory
* Remove .Where
* Don't select all, select only sql
* throw NotImplementedException by default
* USe virtual instead of abstract to avoid breaking change
* Reinstert primary key attribute
---------
Co-authored-by: Zeegaan <nge@umbraco.dk>
* format preValues with DataTypeHelper.createPreValuesProps before rendering so they have the 'alias' prop used for input-id to umb-toggle
* preValues are now formatted on fetch so we do not need to do it again
(cherry picked from commit 7aee15d6d1)
* Re-introduce the option to conditionally login members after registration
* Make absolutely sure the default is true for automatic member login after registration
* Dont allow disable user when invited
* Use data instead of selection
* return succesfully disabled users
* Disable disable button when invited
* Add integration tests
* Remove unused usings
* Update src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Create DisabledUsersModel
* use data.disabledUsers
* Return OK if no users to be saved
* User disabledUsersModel
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Dont allow disable user when invited
* Use data instead of selection
* return succesfully disabled users
* Disable disable button when invited
* Add integration tests
* Remove unused usings
* Update src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Create DisabledUsersModel
* use data.disabledUsers
* Return OK if no users to be saved
* User disabledUsersModel
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Use `getLocalDate` from dateHelper
* Remove duplicate import
* Keep function getLocalDate but use dateHelper
* Mark function as deprecated
(cherry picked from commit 30a7bca0ef)
It's possible that consumers have already set up a bootstrap logger themselves before Umbraco had a chance too, if that's the case we just reload it.
(cherry picked from commit 7ad1e638e6)
When Umbraco is configured with X-Content-Type-Options nosniff as is recommended (there's even a health check for it), any boot failure would simply show the html source code in the browser instead of properly rendering the html, as the content-type wasn't being set.
(cherry picked from commit d4c921264d)
* Added functionality to show maintenance page and fixed issues with showing custom api controllers and 404 page, when umbraco had been in install or upgrade state
* Fixed Tests
* Fixed typo
* Fixed issue with login screen redirecting to website when in upgrade state, instead of backoffice
* v11: Umbraco Marketplace replaces packages repo (#13371)
* add lang keys for marketplace
* remove old 'repo' page and deprecate related services
* add new view for Umbraco Marketplace
* optimise margin/padding for other tabs
* mark Our Repository constants as obsolete
* improve css path to iframe slightly with more aliases and classnames
* remove style qs
* update URL of Marketplace
* add ng-controller with utitlities for future PostMessage API
* rename marketplace loaded function
* remove iframe postmessage logic for time being
* add handling of dynamic querystring params
* assume url does not change
* Added support for additional parameters for marketplace
* Update src/JsonSchema/AppSettings.cs
Fix styling issue
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Update src/Umbraco.Core/Configuration/Models/MarketplaceSettings.cs
Fix styling issue
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Update src/Umbraco.Core/Configuration/Models/MarketplaceSettings.cs
Make comment more descriptive
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Update src/Umbraco.Core/Constants-Marketplace.cs
Fix styling issue
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Info panes not loading prerequisites (#13486)
* load relations immediately on init and remove call to non-existing function `appTabChange` on destroy
* load relations immediately on init and remove now not-used eventsService
* update marketplace url to its final, live url
* re-add files to prevent breaking change
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Fix issue with custom Umbraco routes not working after submitting to a Surface controller
* Added comments
* Fixed breaking changes
* Fixed test by using correct new ctor
* Fixed initializtion of UmbracoRouteValueTransformer due to ambiguous ctor
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Removed all the DeleteAllContent since I delete the doctypes in the before and after each functions which also deletes the content.
* fixed the test so it selects the specific button!
* I was dumb and forgot to remove the out commented code
* Added additional timeout so the pipeline has more time
* Removed language in settings because it was a duplicate of languages / languages
* Fixed the tests so they now check if each individual language that was created actually exists instead of checking for how many languages there are which could be flaky if another test touching the languages failed
* Bumped version
* Added a better locator for the buttons and increased timeouts
Signed-off-by: Zeegaan <nge@umbraco.dk>
Signed-off-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* This fixes issues 11383.
The introduction of the new Examine library caused an unintended consequence that it stopped indexing of nodes with language variants on them when one of the variants was unpublished.
These changes align ValueSetValidationStatus.Filtered to indicate that a node is intended as filtered out of a search, not that parts of its contents had been excluded from the result.
This brings it inline with how it is used in Umbraco.Examine.Lucene/UmbracoContentIndex
Unit tests changed to indicate the intent of ValueSetValidationStatus.Filtered
Change to UmbracoViewPage to make model variable nullable (because the solution wouldn't build otherwise on 2022)
* revert to use explicit type instead of var
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Make sure contexbar fits within the available space
* Ensuring context bar moves above, no matter size of it.
* Fixing apperance of connection-fixers
* Rollback improvements - hide draft version, allow rolling back to last published version
* UX improvements to rollback, revert some overly complex logic in favor of better UX
* Ensure title update when changing rollback version
* Clean up
* Fix rollback playwright text
* make sure area border is on top of block views.
* rename class to avoid confusion
* change witch UI goes on top on hover
* Description informing all blocks are allowed when none is configured.
* add 'When empty'
* Sort mode
* ability to switch out property actions
* enter and exit sortmode from property actions
* gridsortblock
* rename block class to use sortblock
* Sort mode styling
* remove unused css selector
* fixing style for inline-creat button to appear above and not when hovering contextbar
* work on block grid inline editor
* use uui-button + enable installing demo blocks when its not the first dataType of this kind.
* improvements to inline editing POC
* update title of area config overlay editor
* reset columnSpan if no column span options is defined.
* Inline editing
* remove html comment
* remove code for transfer of stylesheets
* ability to hide label from directive
* inline editing using slots to render the umb-property in light dom
* remove property editor proxies when moving a block to a new area/block/context
* minor adjustments to custom views
* use individual slots for each area.
* Inline editing
* a little smaller rte min-height
* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation
* disable inline editing prevalue field when custom view is set
* Fix scroll parent block into view
* initial work on sorter directive
* remove mediaBlock controller
* initial notes and structure
* further concept work
* remove consol log
* CSS for getting bigger areas
* removal of the forceLeft/forceRight code
* proven concept
* fix grid space detection. vertical/horizontal
* clean up and notes
* move into inner containers as well
* use last available index pr default
* boundary selector, for improved choise of dropping into an area
* hide last inline create button when dragging around
* remove console.log
* removal of forced placement in css
* default config and clean up
* notes
* bring back removed code
* show area ui when in dragging mode
* more specific selector
* drop allowance + clean up
* notes and clean up
* auto scroll
* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property
* auto scroll
* refactoring
* fix condition mistake
* scope.config.resolveVerticalDirection
* wrap up simple setDragImage solution
* bring back vm.notifyVisualUpdate and clean up
* make draggableSelector optional, fallback to element
* implement umb-block-grid-sorter for Area PreValue editor
* remove sortableJS dependency
* remove sortableJs from dependencies
* wups, bring back the comma
* removed sortablejs from package-lock
* finished implementation of sorter for PreValue Block Areas
* fix for FireFox shadowDom issue, contains temprorary code.
* stop auto scroll
* make full thing dragable
* fix firefox issue (applying translateZ)
* comment
* make block fit in context columns
* revert element to where it came from if sync could not succeed + clean up
* ensure block does not push the amount of columns, this occourse when dragging item around.
* take horizontalPlaceAfter into account
* implement horizontalPlaceAfter in Areas Prevalue editor
* clean up dependencies
* Shift related el to first in row or last in row when there is no horizontal room
* clean up and correct calculation
* remove unused attribute
* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.
* bind model via dedicated binding to ensure it stay connected with the source model
* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* fix eslint issues
* ensure missingColumnWidth is above 0
* Do not allow dragging something thats not found in the model.
* remove as this is not an error.
* update to Flexbox solution
* as the complex model does not change we can use single way binding
* Adjust columnSpan to context container, keep start columnSpan as the target for the calculation.
* make prevalue editor overlay medium size
* more white borders on UI
* move Catalogue appearance to Advanced
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* make sure area border is on top of block views.
* rename class to avoid confusion
* change witch UI goes on top on hover
* Description informing all blocks are allowed when none is configured.
* add 'When empty'
* Sort mode
* ability to switch out property actions
* enter and exit sortmode from property actions
* gridsortblock
* rename block class to use sortblock
* Sort mode styling
* remove unused css selector
* fixing style for inline-creat button to appear above and not when hovering contextbar
* work on block grid inline editor
* use uui-button + enable installing demo blocks when its not the first dataType of this kind.
* improvements to inline editing POC
* update title of area config overlay editor
* reset columnSpan if no column span options is defined.
* Inline editing
* remove html comment
* remove code for transfer of stylesheets
* ability to hide label from directive
* inline editing using slots to render the umb-property in light dom
* remove property editor proxies when moving a block to a new area/block/context
* minor adjustments to custom views
* use individual slots for each area.
* Inline editing
* a little smaller rte min-height
* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation
* disable inline editing prevalue field when custom view is set
* Fix scroll parent block into view
* initial work on sorter directive
* remove mediaBlock controller
* initial notes and structure
* further concept work
* remove consol log
* CSS for getting bigger areas
* removal of the forceLeft/forceRight code
* proven concept
* fix grid space detection. vertical/horizontal
* clean up and notes
* move into inner containers as well
* use last available index pr default
* boundary selector, for improved choise of dropping into an area
* hide last inline create button when dragging around
* remove console.log
* removal of forced placement in css
* default config and clean up
* notes
* bring back removed code
* show area ui when in dragging mode
* more specific selector
* drop allowance + clean up
* notes and clean up
* auto scroll
* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property
* auto scroll
* refactoring
* fix condition mistake
* scope.config.resolveVerticalDirection
* wrap up simple setDragImage solution
* bring back vm.notifyVisualUpdate and clean up
* make draggableSelector optional, fallback to element
* implement umb-block-grid-sorter for Area PreValue editor
* remove sortableJS dependency
* remove sortableJs from dependencies
* wups, bring back the comma
* removed sortablejs from package-lock
* finished implementation of sorter for PreValue Block Areas
* fix for FireFox shadowDom issue, contains temprorary code.
* stop auto scroll
* make full thing dragable
* fix firefox issue (applying translateZ)
* comment
* make block fit in context columns
* revert element to where it came from if sync could not succeed + clean up
* ensure block does not push the amount of columns, this occourse when dragging item around.
* take horizontalPlaceAfter into account
* implement horizontalPlaceAfter in Areas Prevalue editor
* clean up dependencies
* Shift related el to first in row or last in row when there is no horizontal room
* clean up and correct calculation
* remove unused attribute
* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.
* bind model via dedicated binding to ensure it stay connected with the source model
* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* fix eslint issues
* ensure missingColumnWidth is above 0
* Do not allow dragging something thats not found in the model.
* remove as this is not an error.
* update to Flexbox solution
* as the complex model does not change we can use single way binding
* Adjust columnSpan to context container, keep start columnSpan as the target for the calculation.
* make prevalue editor overlay medium size
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* make sure area border is on top of block views.
* rename class to avoid confusion
* change witch UI goes on top on hover
* Description informing all blocks are allowed when none is configured.
* add 'When empty'
* Sort mode
* ability to switch out property actions
* enter and exit sortmode from property actions
* gridsortblock
* rename block class to use sortblock
* Sort mode styling
* remove unused css selector
* fixing style for inline-creat button to appear above and not when hovering contextbar
* work on block grid inline editor
* use uui-button + enable installing demo blocks when its not the first dataType of this kind.
* improvements to inline editing POC
* update title of area config overlay editor
* reset columnSpan if no column span options is defined.
* Inline editing
* remove html comment
* remove code for transfer of stylesheets
* ability to hide label from directive
* inline editing using slots to render the umb-property in light dom
* remove property editor proxies when moving a block to a new area/block/context
* minor adjustments to custom views
* use individual slots for each area.
* Inline editing
* a little smaller rte min-height
* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation
* disable inline editing prevalue field when custom view is set
* Fix scroll parent block into view
* initial work on sorter directive
* remove mediaBlock controller
* initial notes and structure
* further concept work
* remove consol log
* CSS for getting bigger areas
* removal of the forceLeft/forceRight code
* proven concept
* fix grid space detection. vertical/horizontal
* clean up and notes
* move into inner containers as well
* use last available index pr default
* boundary selector, for improved choise of dropping into an area
* hide last inline create button when dragging around
* remove console.log
* removal of forced placement in css
* default config and clean up
* notes
* bring back removed code
* show area ui when in dragging mode
* more specific selector
* drop allowance + clean up
* notes and clean up
* auto scroll
* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property
* auto scroll
* refactoring
* fix condition mistake
* scope.config.resolveVerticalDirection
* wrap up simple setDragImage solution
* bring back vm.notifyVisualUpdate and clean up
* make draggableSelector optional, fallback to element
* implement umb-block-grid-sorter for Area PreValue editor
* remove sortableJS dependency
* remove sortableJs from dependencies
* wups, bring back the comma
* removed sortablejs from package-lock
* finished implementation of sorter for PreValue Block Areas
* fix for FireFox shadowDom issue, contains temprorary code.
* stop auto scroll
* make full thing dragable
* fix firefox issue (applying translateZ)
* comment
* make block fit in context columns
* revert element to where it came from if sync could not succeed + clean up
* ensure block does not push the amount of columns, this occourse when dragging item around.
* take horizontalPlaceAfter into account
* implement horizontalPlaceAfter in Areas Prevalue editor
* clean up dependencies
* Shift related el to first in row or last in row when there is no horizontal room
* clean up and correct calculation
* remove unused attribute
* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.
* bind model via dedicated binding to ensure it stay connected with the source model
* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* fix eslint issues
* ensure missingColumnWidth is above 0
* Do not allow dragging something thats not found in the model.
* remove as this is not an error.
* update to Flexbox solution
* as the complex model does not change we can use single way binding
* Adjust columnSpan to context container, keep start columnSpan as the target for the calculation.
* change let to const
* Revert "change let to const"
This reverts commit fe19f8c5ed.
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* make sure area border is on top of block views.
* rename class to avoid confusion
* change witch UI goes on top on hover
* Description informing all blocks are allowed when none is configured.
* add 'When empty'
* Sort mode
* ability to switch out property actions
* enter and exit sortmode from property actions
* gridsortblock
* rename block class to use sortblock
* Sort mode styling
* remove unused css selector
* fixing style for inline-creat button to appear above and not when hovering contextbar
* work on block grid inline editor
* use uui-button + enable installing demo blocks when its not the first dataType of this kind.
* improvements to inline editing POC
* update title of area config overlay editor
* reset columnSpan if no column span options is defined.
* Inline editing
* remove html comment
* remove code for transfer of stylesheets
* ability to hide label from directive
* inline editing using slots to render the umb-property in light dom
* remove property editor proxies when moving a block to a new area/block/context
* minor adjustments to custom views
* use individual slots for each area.
* Inline editing
* a little smaller rte min-height
* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation
* disable inline editing prevalue field when custom view is set
* Fix scroll parent block into view
* initial work on sorter directive
* remove mediaBlock controller
* initial notes and structure
* further concept work
* remove consol log
* CSS for getting bigger areas
* removal of the forceLeft/forceRight code
* proven concept
* fix grid space detection. vertical/horizontal
* clean up and notes
* move into inner containers as well
* use last available index pr default
* boundary selector, for improved choise of dropping into an area
* hide last inline create button when dragging around
* remove console.log
* removal of forced placement in css
* default config and clean up
* notes
* bring back removed code
* show area ui when in dragging mode
* more specific selector
* drop allowance + clean up
* notes and clean up
* auto scroll
* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property
* auto scroll
* refactoring
* fix condition mistake
* scope.config.resolveVerticalDirection
* wrap up simple setDragImage solution
* bring back vm.notifyVisualUpdate and clean up
* make draggableSelector optional, fallback to element
* implement umb-block-grid-sorter for Area PreValue editor
* remove sortableJS dependency
* remove sortableJs from dependencies
* wups, bring back the comma
* removed sortablejs from package-lock
* finished implementation of sorter for PreValue Block Areas
* fix for FireFox shadowDom issue, contains temprorary code.
* stop auto scroll
* make full thing dragable
* fix firefox issue (applying translateZ)
* comment
* make block fit in context columns
* revert element to where it came from if sync could not succeed + clean up
* ensure block does not push the amount of columns, this occourse when dragging item around.
* take horizontalPlaceAfter into account
* implement horizontalPlaceAfter in Areas Prevalue editor
* clean up dependencies
* Shift related el to first in row or last in row when there is no horizontal room
* clean up and correct calculation
* remove unused attribute
* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.
* bind model via dedicated binding to ensure it stay connected with the source model
* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* fix eslint issues
* ensure missingColumnWidth is above 0
* Do not allow dragging something thats not found in the model.
* remove as this is not an error.
* update to Flexbox solution
* as the complex model does not change we can use single way binding
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* prototype drag and drop upload
* Add upload image endpoint
* Add MediaPickerThreeController.cs
* Revert "Add upload image endpoint"
This reverts commit 4bb5865480.
* Update IIOHelper dependency
* show preview when uploading a new media item
* open uploaded media in media entry editor
* map data from uploaded media entry to support cropper
* add crop data to uploaded media item
* remove media library buttons for media entries not created in the media library
* Implement temp images save & add to media picker 3
* Implement ITemporaryImageService
* Remove save logic from MediaPicker3PropertyEditor
* Dont use a TempImageDto
* Add GetByAlias endpoint
* Add additonal xml doc
* Refactor to take array of aliases
* Add FromQuery attribute
* Formatting
* add resource to get media types by alias
* validate file size and file type based on server variables
* Update OpenApi.json
Add media picker three to BackOfficeServerVariables
* rename endpoint to upload media
* Use baseurl Method
* Dont upload in rte folder
* pass params correctly to end point
* queue files before uploading
* handle invalid files
* progress bar design adjustments
* only create data url for images
* disable edit and name buttons when uploading
* fix missing error messages for invalid files
* add temp location to media entry
* Add startNode to TemporaryImageService.cs
* Refactor get by alias
* Rename to GetAllFiltered
* use getAllFiltered method
* remove autoselect option
* fix missing alias when selecting media type
* fix file filter
* don't overwrite invalid entries from dropping new files
* add disallowed files to filter
* remove console.log
* move media uploader logic to reusable function
* fix missing tmp location
* attach media type alias to the mediaEntry
* support readonly mode
* show discard changes when files has been dropped
* add disabled prop to button group
* emit events when upload queue starts and ends
* pass node to media picker property editor
* add service to keep track of all uploads in progress
* add upload in progress to uploadTracker when the queue starts and ends
* disabled buttons when any upload is in progress
* return a subscription to align with eventsService
* Fix up cases where StartNodeId was null
* scope css
* Show filename in dialog for selecting media type
* reuse translation from media library dropzone
* Don't check for only images
* Remove composer
* Add mediaTypeAlias to TemporaryImageService
* Rename ITemporaryImageService to ITemporaryMediaService
* prefix client side only props with $ so we don't send unnecessary data to the server
* use prefixed dataURL in media entry editor
* render icon for non images
* fix auto select media type
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Add new Settings
* Use new settings instead of old ones
* Implement AllowedUploadedFiles value to be copied to AllowedUplayedFileExtensions
* Obsolete old settings
* Rename DisallowedUploadFileExtensions
* Implement same fix for DisallowedUploadFiles
* Use new settings for backoffice server variables
* Update the correct setting
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Allow for configuration of additional languages to install and ensure one is set as default.
* Amended install default language method to handle invalid ISO codes and ensure the first specified language is always made the default.
* Removed unnecessary using.
* Apply suggestions from code review
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Clean up.
* Update src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Add locking for creating scope
* Lock the repository instead
* Add scope in action instead of locking in service
* Fix up post-merge
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Add migration that adds BlockGrid files to disk
* Add partial views to disk when creating sample
* Refactor upgrade to use IPartialViewPopulator
* Add blockgrid default rendering partial views when creating a new project from template
* Remove views from static assets
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
* Collecting new language files from different sources
* Apply suggestions from review
* Adding TODO for merging the language files locations to one when packages are not concerned
* Fixed assert to hopefully find the package each time so it isnt flaky anymore
* Updated so it retries 5 times instead of 2
* Dont submit html-report
* Dont have output defined in npm run
* Copy over playwright trace.zip files before publishing
* Updated assert so it looks after the package in the table
* updated so we get the first fail as the trace file
* Bumped version for testhelpers
* Updated so the test checks if the package actually exists. Added a wait that checks if the created packages button is visible
* Updated package lock
* Fixed so it now calls the correct testhelper
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Fixing null check as default(NRT) is null => default(configuration?.Delimiter) is also null and we were counting on it being the same as default(char)
* Adding tests to check cases with multiple tags (or tag made of comma separated values)
* Dispose OnChange event registration when disposing the notification handler
* Ensure that the ApplicationUrl is only initialized once
Since notifications handlers are transient,_hasAppUrl and _isInit defaults to false on every request causing it to always be called.
* Make notification handler and EnsureApplicationUrl internal
* Fixes to focus trap within the modal
* Removing duplicate code
* Adding focus to previous element
* changed hardcoded color to existing less variable
Co-authored-by: Michael <michael@crossingpaths.be>
* search on input allowing to wait for copy/paste etc
* invoke resourcePromise() with correct parameters
* return the xhrStatus allowing the caller to check if the request was aborted
* fix: send in canceler.promise to allow the timeout to work
* catch any errors and ignore aborts if they happen
* move the logic to handle cancellations outside Angulars $scope.$apply
* remove file accidentally committed
* Set specific width of container to avoid slider flickering when browser add scrollbar due the telemetry data description
* Round value to nearest integer when slider use smooth behaviour
@@ -25,7 +25,7 @@ If you want to DIY, then you can [download Umbraco]((https://our.umbraco.com/dow
## Documentation
The documentation for Umbraco CMS can be found [on Our Umbraco](https://our.umbraco.com/documentation/). The source for the Umbraco docs is [open source as well](https://github.com/umbraco/UmbracoDocs) and we're happy to look at your documentation contributions.
The documentation for Umbraco CMS can be found [on Our Umbraco](https://docs.umbraco.com/). The source for the Umbraco docs is [open source as well](https://github.com/umbraco/UmbracoDocs) and we're happy to look at your documentation contributions.
console.log("Returned data not indicate success.");
if(response.status !== 200) {
console.log("Status code:", response.status)
}
console.log("Returned data:", data);
if(data === '') {
console.log("An empty response usually indicates that either no comment was found or the actor user was not eligible for getting an automated response (HQ users are not getting auto-responses).")
<!-- Add dependencies that we force an update to, even that we do not use them explicitly and they seems to be taken from the framework instead of from Nuget -->
IEnumerable<SqlPrimaryKey>?keys=db.Fetch<SqlPrimaryKey>($"select * from sysobjects where xtype='pk' and parent_obj in (select id from sysobjects where name='{tableName}')")
Custom error handling might make your site look more on-brand and minimize the impact of errors on user experience - for example, a custom 404 with some helpful links (or a search function) could bring some value to the site.
[Obsolete("This no longer works. You can now inject this by using IOptions<MemberPasswordConfigurationSettings> instead, scheduled for removal in v13")]
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.