* UPDATE: Server release to pull from Prod ACR
* UPDATE: condition for DCT setup
* UPDATE: attachment Dockerfile to reference server latest
* REMOVE: push Server image to DockerHub
* FIX: lint error
* Minor changes
* Update server build workflow to push images to ACR
* UPDATE: Remove docker_repos matrix variable
* FIX: make docker push command one-liner
* UODATE: revert attachment image source
* UPDATE: add suggestion and update tags in docker build
* UPDATE: docker build tags
* UPDATE: master branch tag to latest
* ADD: push server image to dockerhub
* ADD: sugesstions
* ADD: ACR var name change and usages
* Minor updates
* Fix syntax error
* UPDATE: use ACR var for image name step
---------
Co-authored-by: Vince Grassia <593223+vgrassia@users.noreply.github.com>
* Rewrite Icon fetching
* Move validation to IconUri, Uri, or UriBuilder
* `dotnet format` 🤖
* PR suggestions
* Add not null compiler hint
* Add twitter to test case
* Move Uri manipulation to UriService
* Implement MockedHttpClient
Presents better, fluent handling of message matching and response
building.
* Add redirect handling tests
* Add testing to models
* More aggressively dispose content in icon link
* Format 🤖
* Update icon lockfile
* Convert to cloned stream for HttpResponseBuilder
Content was being disposed when HttResponseMessage was being disposed.
This avoids losing our reference to our content and allows multiple
usages of the same `MockedHttpMessageResponse`
* Move services to extension
Extension is shared by testing and allows access to services from
our service tests
* Remove unused `using`
* Prefer awaiting asyncs for better exception handling
* `dotnet format` 🤖
* Await async
* Update tests to use test TLD and ip ranges
* Remove unused interfaces
* Make assignments static when possible
* Prefer invariant comparer to downcasing
* Prefer injecting interface services to implementations
* Prefer comparer set in HashSet initialization
* Allow SVG icons
* Filter out icons with unknown formats
* Seek to beginning of MemoryStream after writing it
* More appropriate to not return icon if it's invalid
* Add svg icon test