az containerapp up: Support No Dockerfile Scenario

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

The main functionality of this is done, but there are few remaining TODO items:

Pass the target port into the ACR task once Cormac has finished the support for that on the oryx side
Add to the help text for the --source param
Add to the history text
Resolve any linter/style/testing issues

@panchagnula/@anthonychu this change should be ready to go out with the next release


Az role assignment fails

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az role assignment list
Errors:
The command failed with an unexpected error. Here is the traceback:
'Namespace' object has no attribute '_cmd'
Traceback (most recent call last):
  File "/usr/local/Cellar/azure-cli/2.30.0/libexec/lib/python3.9/site-packages/knack/cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/local/Cellar/azure-cli/2.30.0/libexec/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 582, in execute
    parsed_args = self.parser.parse_args(args)
  File "/usr/local/Cellar/azure-cli/2.30.0/libexec/lib/python3.9/site-packages/knack/parser.py", line 260, in parse_args
    return super().parse_args(args)
  File<EMAIL_ADDRESS>line 1822, in parse_args
    args, argv = self.parse_known_args(args, namespace)
  File "/usr/local/Cellar/azure-cli/2.30.0/libexec/lib/python3.9/site-packages/azure/cli/core/parser.py", line 284, in parse_known_args
    self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
  File<EMAIL_ADDRESS>line 1850, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File<EMAIL_ADDRESS>line 2046, in _parse_known_args
    positionals_end_index = consume_positionals(start_index)
  File<EMAIL_ADDRESS>line 2023, in consume_positionals
    take_action(action, args)
  File<EMAIL_ADDRESS>line 1932, in take_action
    action(self, namespace, argument_values, option_string)
  File<EMAIL_ADDRESS>line 1210, in __call__
    subnamespace, arg_strings = parser.parse_known_args(arg_strings, None)
  File "/usr/local/Cellar/azure-cli/2.30.0/libexec/lib/python3.9/site-packages/azure/cli/core/parser.py", line 284, in parse_known_args
    self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
  File<EMAIL_ADDRESS>line 1850, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File<EMAIL_ADDRESS>line 2046, in _parse_known_args
    positionals_end_index = consume_positionals(start_index)
  File<EMAIL_ADDRESS>line 2023, in consume_positionals
    take_action(action, args)
  File<EMAIL_ADDRESS>line 1932, in take_action
    action(self, namespace, argument_values, option_string)
  File<EMAIL_ADDRESS>line 1210, in __call__
    subnamespace, arg_strings = parser.parse_known_args(arg_strings, None)
  File "/usr/local/Cellar/azure-cli/2.30.0/libexec/lib/python3.9/site-packages/azure/cli/core/parser.py", line 284, in parse_known_args
    self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
  File<EMAIL_ADDRESS>line 1850, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File<EMAIL_ADDRESS>line 2046, in _parse_known_args
    positionals_end_index = consume_positionals(start_index)
  File<EMAIL_ADDRESS>line 2023, in consume_positionals
    take_action(action, args)
  File<EMAIL_ADDRESS>line 1932, in take_action
    action(self, namespace, argument_values, option_string)
  File<EMAIL_ADDRESS>line 1210, in __call__
    subnamespace, arg_strings = parser.parse_known_args(arg_strings, None)
  File "/usr/local/Cellar/azure-cli/2.30.0/libexec/lib/python3.9/site-packages/azure/cli/core/parser.py", line 284, in parse_known_args
    self._namespace, self._raw_arguments = super().parse_known_args(args=args, namespace=namespace)
  File<EMAIL_ADDRESS>line 1850, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
  File<EMAIL_ADDRESS>line 2064, in _parse_known_args
    start_index = consume_optional(start_index)
  File<EMAIL_ADDRESS>line 2004, in consume_optional
    take_action(action, args, option_string)
  File<EMAIL_ADDRESS>line 1932, in take_action
    action(self, namespace, argument_values, option_string)
  File "/usr/local/Cellar/azure-cli/2.30.0/libexec/lib/python3.9/site-packages/azure/cli/core/commands/arm.py", line 357, in __call__
    profile = Profile(cli_ctx=namespace._cmd.cli_ctx)  # pylint: disable=protected-access
AttributeError: 'Namespace' object has no attribute '_cmd'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az role assignment list --subscription {}

Expected Behavior
Environment Summary
macOS-12.0.1-x86_64-i386-64bit, Darwin 21.1.0
Python 3.9.8
Installer: HOMEBREW

azure-cli 2.30.0

Extensions:
ssh 0.1.6

Additional Context

@jiasli for awareness

@yonzhan I thought of reporting back to you that the update available this morning through Homebrew seems to have fixed the issue. Version 2.30.0_1 was available and as soon as I upgraded and ran the same command that triggered the original errors, azcue cli returned the data with no errors. I will keep testing and report back if anything.

This is caused by https://github.com/Azure/azure-cli/issues/20269 and has been fixed by https://github.com/Homebrew/homebrew-core/pull/86758.


Reject ksvc creation during install process

Repro steps

Install knativeserving CR
Immediately deploy a service before the knative serving components are ready

Expected behavior
The ksvc creation is either 1) rejected or 2) completed and the ksvc is ready to serve.
Actual behavior
I saw the message service.serving.knative.dev/helloworld-go created without error or warning after I deployed the service helloworld-go, but the ready state of the ksvc stuck at unknown with the reason of RevisionMissing even after the knative serving install was completed.
When checking the logs of controller, I saw
{"level":"error","ts":"2020-04-12T19:08:35.843Z","logger":"controller.revision-controller","caller":"controller/controller.go:409","msg":"Reconcile error","commit":"0a30e8d","knative.dev/controller":"revision-controller","error":"failed to update deployment \"helloworld-go-vdp7v-deployment\": deployments.apps \"helloworld-go-vdp7v-deployment\" is forbidden: User \"system:serviceaccount:knative-serving:controller\" cannot update resource \"deployments\" in API group \"apps\" in the namespace \"default\"","stacktrace":"knative.dev/serving/vendor/knative.dev/pkg/controller.(*Impl).handleErr\n\tknative.dev/serving/vendor/knative.dev/pkg/controller/controller.go:409\nknative.dev/serving/vendor/knative.dev/pkg/controller.(*Impl).processNextWorkItem\n\tknative.dev/serving/vendor/knative.dev/pkg/controller/controller.go:395\nknative.dev/serving/vendor/knative.dev/pkg/controller.(*Impl).Run.func2\n\tknative.dev/serving/vendor/knative.dev/pkg/controller/controller.go:343"}
We should probably reject the ksvc creation before the knative serving components are ready to avoid the race condition.

I would suggest you create the ksvc after you see the CR is ready.
Have you ever tried installing serving without operator, and install the ksvc before all the serving pods are ready?

I have tried installing serving without operator and deployed ksvc immediately before the serving pods were ready. The ksvc was also stuck at RevisionMissing.  So this is not specific to the operator installation.
I agree that the best practice is to deploy the ksvc after the serving pods are ready, but it would be great if we can avoid any confusion around this early ksvc deploying scenario. We could adjust the order of installing validatingwebhookconfiguration, mutatingwebhookconfiguration and other resources to reject the ksvc creation during the intall process.
/assign @jihuin

Hm, is this a bug? Modulo defaulting and whatnot from the webhook, we should absolutely be able to create a KSVC before all the knative serving component are up.
Rather than trying to enforce an order of operations, I'd rather we look at a potential bug in knative-serving here.
/cc @mattmoor

Regardless of whether this is a bug, do we want to validate against this race while it exists?

I wouldn't work around this without at least an issue downstream tracking this, with a repro.

That should include a pointer to any workarounds introduced so that they can be removed once fixed.

https://github.com/knative/serving/issues/7576 includes a repro (or at least a human readable description of one). Essentially it's

create a cluster
ko apply -f config/
kubectl create a ksvc
boom, you're stuck

Does adding a TODO: unwind when https://github.com/knative/serving/issues/7576 is resolved (and the back-edge in the serving issue) sound reasonable to close this out?

I think the main thing for me was just making sure we had tracking for the issue being worked around, so yeah I think so.  thanks, Jon.

No problem, Matt, thanks for your comments, it's nice to know that this is an unintended edge-case we intend to fix :)


Can I use adaptive card and suggested action both at the same time?

I have a scenario in which I want to display suggested action "Home" on every response of the bot. And I have one scenario in which I am displaying adaptive card to the user as an input form or few actions to be taken by the user, in that scenario as well I want to put this suggested action "Home", upon clicking of which user is redirected to start of the conversation. So Can I do this both at the same time? As adaptive card expects input from the user and so as suggested actions. Please help.

Which SDK are you using?

yes you can, channel permitting of course


Implement cmath.acosh

Implemented cmath.acosh function and uncommented test

Hey @mithrandir and thanks for the contribution!
Next time, please check the issue before opening something (and leave a comment, so we all know what you're working on!). We'd like to keep track of who's working on what there and reduce conflicts (i.e acosh was requested by another person).
It's no big issue but try and be mindful of it so we don't end up discouraging other folk who want to contribute.

I should have checked if it is duplicated work of other patches. #3080 was working on acosh with almost same code, but it was (apparently) accidently closed a few minutes before this one created.


option to fail fast

Failing fast lets you make sure a failure isn't related to issues in kernel state. There have been bugs in Windows HNS where one needs to quit a cyclonus run to investigate the kernel before it's updated during ensuing tests.
In general, could be nice to fail fast if you're only looking at whether the suite passes/fails.

+1


Nested attributes aren't saved...

Hi there,
I am having a similar issue as 356... ( I am on Rails5).
I am stuck for a while...
My form isn't submitted...
Hope you could help :)
_form.html.erb

    <%= simple_form_for @event do |f| %>

Your event to share

      <%= f.input :name, label: "Event's name" %>
      <%= f.input :total_price, label: "What is the total price" %>

 Add your friends to share the bill

        <%= f.simple_fields_for :participants do |participant| %>
          <%= render "participants_fields", f: participant %>
        <% end %>

          <%= link_to_add_association "add a friend", f, :participants, partial: "participants_fields", class:"btn btn-primary" %>

        <%= f.button :submit %>

  <% end %>

_participants_fields.html.erb

  <%= f.input :first_name, label: "Enter your friend's first name" %>
  <%= f.input :salary, label: "Enter his/her monthly pay" %>

    <%= link_to_remove_association "Remove this friend", f , class: "btn btn-danger btn-xs" %>

events_controller.rb
class EventsController < ApplicationController

  def index
    @events = Event.all
  end

  def new
    @event = Event.new
  end

  def create
    @event = Event.new(params_event)
    if @event.save

      redirect_to event_path(@event)
    else
      render :new
    end
  end

  def show
    @event = Event.find(params[:id])
  end

  private

  def params_event
    params
      .require(:event).permit(:name,:total_price, participants_attributes: [:first_name, :salary, :_destroy ] )
  end
end

What is exactly the problem: the form does not submit, aka sends no data to the server? That might be a problem with your routes.
It does submit data but it is not saved? If you are on rails 5, you need to take care, since belongs_to relations are by default no longer optional, upon validation time (before saving) the event of the participant does not exist yet, so validation will fail, unless you either 1) declare the belongs_to as optional, or better 2) declare the inverse_of the has_many so rails can check the presence/relation correctly upon validation.
So in your case that should probably (you did not include your model/association definitions, so I am guessing a bit) look like:
       has_many :participants, inverse_of: :event

If your associations are defined correctly, please show me what is submitted to the server (you can find that in the logfile).
Anyway, in the params_event, in the participants_attributes you are missing the :id (this will not affect saving, but deleting later on).

Very nice guess... I missed  has_many :participants, inverse_of: :event
Sorry for this ! But Thanks a lot !

No problem, it is new and I only recently updated the documentation accordingly. Always happy to help :+1: :smile:


Check if only the previous release task has succeeded

I want to check if the previous task in a release was succesful. So I CAN'T use the option "Only when all previous tasks have succeeded" in Run this task, inside the Control Options. Because this checks ALL the previous tasks. What I actually want is the option "Only when THE previous task has susseeded". Is there a way to accomplish this?

There's no generic way to accomplish this. If the task happens to do something to the environment such as a variable or a file, you could detect that using a script.


Blank Page with No Error?

Two of my model admin pages (and only two, I should note possibly the two biggest tables in the DB, 48k and 150k rows) are coming up completely blank. There's no error returned in Laravel or nginx logs, and nothing is shown on the page.
Has anyone come across any problem like this before? The two pages work fine on my local copy of the site with a small DB, but on my production server it just refuses to work or even tell me why.

Minutes after posting this, I found a resolution, so I thought I'd share it.
I have the edit_fields array listing only the id, as these are just for viewing purposes and not editing. I added another field to edit_fields and suddenly the page loaded just fine.
Updating original issue posting to reflect this, evidently a bug.

Okay, I'm just going to close this issue and open a new one, found the real problem now.


FuckAdBlock script is getting blocked - Failed to load resource: net::ERR_BLOCKED_BY_CLIENT

AdBlocker is blocking the page from loading the .JS file with FuckAdBlock. The error message in the browser's console: "Failed to load resource: net::ERR_BLOCKED_BY_CLIENT"
Is there anyway around this?

Try with dynamic name of script.

Without going that far, simply follow the first sample script on the home :
https://github.com/sitexw/FuckAdBlock
It allows to take into account if the "FuckAdBlock" script is present or not. If it is not present, it means that AdBlock is activated.


Update node taint tolerations on cStor target deployments to facilitate faster reschedule

Description

cStor deployments continue to have the default toleration seconds (300) for reschedule upon certain conditions/node states (such as NotReady, Unreachable). This needs to be updated (0 sec) in order to  ensure that the target is back - up quickly in case they undergo forced reschedule in order to maintain the iSCSI sessions with the host/client applications. Currently, such a provision in available in the Jiva controller.

Jiva:
  tolerations:
  - effect: NoExecute
    key: node.alpha.kubernetes.io/notReady
    operator: Exists
    tolerationSeconds: 0
  - effect: NoExecute
    key: node.alpha.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 0
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 0
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 0

cStor:
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300

Note:

NoExecute effect with 0s toleration on the above described eviction taints is alpha feature which needs to be enabled by feature gates.

Expected Behaviour

Current Behavior

Possible Solution

Steps to Reproduce

Screenshots

Your Environment

kubectl get nodes:
kubectl get pods --all-namespaces:
kubectl get services:
kubectl get sc:
kubectl get pv:
kubectl get pvc:
OS (from /etc/os-release):
Kernel (from uname -a):
Install tools:
Others:

As per the latest (app) target pod affinity flow, the target's scheduling is dependent on app's. So, will the above changes, if made, be redundant if the app is not configured w/ the same toleration settings ?


Update CIP-0015.md

Updates CIP to match implementation. It's not the vote pubkey that signed, but the entire vote payload.

Would be great if we can also add a test vector


start API test suite

main now has a test suite that can be expanded as endpoints are added. Currently, the API has 8 basic endpoints, so the test suite has 8 tests. Each test is executed with a different user permission among ["superuser", "view_model", "change_model", and None] to result in 8 x 4 = 32 test executions.


Updated nginx testing and init script

Current iteration results in the following error on a fresh server build and reforge.
t882343@application-i0c97f9f3bc2148403-mytelus-staging:/data/www$ sudo service nginx restart Restarting nginx: nginx: [emerg] bind() to <IP_ADDRESS>:81 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:81 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:81 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:81 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:81 failed (98: Address already in use) nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (98: Address already in use) nginx: [emerg] still could not bind()
So I corrected the test and location of the pidfile.

May need more time/assistance for the testing attributed to this role.


added jira dc geocaching blogpost

Pull Request Template
Type
Select whichever describes this pull request best:

[x] Editorial: This adds or updates an article, or assets associated with an article.

Description
Implementing self hosted cache servers for Rakuten Jira in other geographic locations and enabling them using the CDN feature.
This is something that hasn't been done and documented before (according discussions we had with Atlassian support at the time), because of that we would like to share our approach.
We wrote this as a whitepaper at first, I tried to adapt everything for a blogpost entry.
Editorial Checklist

[x] This introduces a new article.

[x] My article is original content: I did not copy or plagiarize another source.
[x] I am fine with publishing this content under the Creative Commons — Attribution 4.0 International license.
[x] If my content includes assets I didn't create myself, e.g. visuals, I confirmed that I have the right to use them.
[x] I have checked my article for spelling and grammatical mistakes.
[x] I have checked my article for technical mistakes and I believe it's technically sound.
[x] I have submitted my article for a Dev PR Review. The ticket is at https://jira.rakuten-it.com/jira/browse/DAF-2480.

It's been a year and we're still missing a reviewer :(


Add "Layout wrappers" to objects

This addresses a need that has come from the Typography changes (headings with margin-bottom only) and the #content wrapper that existed as part of GOV.UK Elements.
Here's an illustration of what these wrappers are doing

Is there a use case where you don't want the headers to have margin between themselves and the content?

I think the issue is that multiple different 'things' comprise what we consider the 'header' margins wise – the header itself, cookie banner, phase banner, back link, breadcrumb, possibly secondary navigation… so I think wrapping the 'content' in some sort of wrapper is the only viable solution.

@nickcolley Not if you're using all of the new stuff... Because the typography update has removed all of the margin-tops on headings this wrapper is necessary to achieve the space that currently set by the h1.
As a collection of things it makes sense, if it doesn't make sense for a particular use case you just won't need to use the content wrapper, but to replicate current designs you will

I was just wondering if the header itself should have the margins, but I guess because of the widths involved that'd be difficult to do, 👍

@nickcolley Initially tried putting the margin on the header only but the 3 or 4 things that sit in between the header and the main content need to butt up to the blue bar. I think this a relatively simple solution that will allow for breadcrumbs / back link etc or not without having to adjust spacing.

note: DS and PK currently have site-width-container so will need to change


download: add verbose option (print debug info to stderr)

Codecov Report

Merging #41 into master will decrease coverage by 2.10%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #41      +/-   ##
==========================================
- Coverage   93.95%   91.84%   -2.11%
==========================================
  Files           5        5
  Lines         281      282       +1
==========================================
- Hits          264      259       -5
- Misses         17       23       +6

Impacted Files
Coverage Δ

src/Curl/Curl.jl
100.00% <ø> (ø)

src/Curl/Easy.jl
94.93% <100.00%> (+0.06%)
:arrow_up:

src/Downloads.jl
94.91% <100.00%> (+0.08%)
:arrow_up:

src/Curl/utils.jl
78.12% <0.00%> (-18.75%)
:arrow_down:

src/Curl/Multi.jl
91.66% <0.00%> (-0.08%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1aa487f...b93117a. Read the comment docs.


flutter_localizations from sdk which depends on intl 0.17.0, intl 0.17.0 is required, but app depends on intl ^0.18.1

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
I have upgraded my sample_app dependency to  intl: ^0.18.1 from  intl: ^0.17.0 and I started getting Error:
Because sample_app depends on flutter_localizations from sdk which depends on intl 0.17.0, intl 0.17.0 is required.
So, because sample_app depends on intl ^0.18.1, version solving failed
environment:
sdk: ">=2.17.0 <3.0.0"
flutter doctor -v
[✓] Flutter (Channel stable, 3.7.12, on macOS 13.3 22E252 darwin-x64, locale en-CA)
• Flutter version 3.7.12 on channel stable at /Users/parteek/Development/Tools/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 4d9e56e694 (8 days ago), 2023-04-17 21:47:46 -0400
• Engine revision 1a65d409c7
• Dart version 2.19.6
• DevTools version 2.20.1
[!] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
• Android SDK at /Users/parteek/Library/Android/sdk
✗ cmdline-tools component is missing
Run path/to/sdkmanager --install "cmdline-tools;latest"
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run flutter doctor --android-licenses to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E222b
• CocoaPods version 1.12.0
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
[✓] VS Code (version 1.77.3)
• VS Code at /Users/parteek/Desktop/Visual Studio Code.app/Contents
• Flutter extension version 3.62.0
[✓] Connected device (3 available)
• iPad Pro (11-inch) (4th generation) (mobile) • 4D1680C2-8EB4-4DD3-85A6-EDAF23F6AF1A • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
• macOS (desktop)                              • macos                                • darwin-x64     • macOS 13.3 22E252 darwin-x64
• Chrome (web)                                 • chrome                               • web-javascript • Google Chrome 112.0.5615.137
[✓] HTTP Host Availability
• All required HTTP hosts are available
! Doctor found issues in 1 category.
Expected results
How to fix this Error ?
Actual results
Getting Error: Because sample_app depends on flutter_localizations from sdk which depends on intl 0.17.0, intl 0.17.0 is required. So, because sample_app depends on intl ^0.18.1, version solving failed
Code sample
.
Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[Paste your output here]

Duplicate of https://github.com/flutter/flutter/issues/117163


Add a quick profile that disabled everything to pom

I often find myself doing thing like the following to quickly run some maven action.
mvn clean install -DskipTests -Dfindbugs.skip -Dcheckstyle.skip -Drat.skip

I think it would be nice to add a profile to maven that disables all of these things.  Maybe something like the following.
mvn -Pquick clean install

I would not recommend doing this at the project level. It can encourage bad behavior among people who don't understand the implications of these flags. It's probably better to create per-user profiles in your ~/.m2/settings.xml file based on your individual needs/preferences, which an understanding of what these do, than to do it for all developers on the project.

I would not recommend doing this at the project level. It can encourage bad behavior among people who don't understand the implications of these flags.

All tools can potentially be misused, but I don't think that is a good argument for not making a tool.  The profile would be off by default.  So it would be up to someone to make a choice to use it.

It's probably better to create per-user profiles in your ~/.m2/settings.xml file based on your individual needs/preferences, which an understanding of what these do, than to do it for all developers on the project.

That's a good idea, but it would be nice to share.  Also, the settings may differ between versions of Fluo.  Putting it in the project pom allows devs to share and easily obtain the benefits when others add a new plugin and update the profile.
I added the following to my ~/.m2/settings.xml and it works nicely.
   <profile>
    <id>quick</id>
    <properties>
      <skipTests>true</skipTests>
      <rat.skip>true</rat.skip>
      <findbugs.skip>true</findbugs.skip>
      <checkstyle.skip>true</checkstyle.skip>
      <modernizer.skip>true</modernizer.skip>
    </properties>
   </profile>

Running mvn clean install -Pquick takes 17 seconds.  Running mvn clean install -DskipTests takes 52 seconds.

All tools can potentially be misused, but I don't think that is a good argument for not making a tool. The profile would be off by default. So it would be up to someone to make a choice to use it.

My argument isn't that it could be misused. My argument is that it encourages misuse. Off by default helps, but relying on users to set their own flags, based on an understanding of what they are actually trying to accomplish, is better.
The above profile, if baked in to the project POM and documentation, encourages people to use -Pquick without any understanding at all about what checks are disabled or why it is okay to do disable them. At the very least, naming the profile something like "skip-quality-checks" or something hints at what is being lost.

Also, the settings may differ between versions of Fluo. Putting it in the project pom allows devs to share and easily obtain the benefits when others add a new plugin and update the profile.

Automatically benefiting from differences between versions seems like a mutually exclusive goal with understanding the implications of disabling these checks.

If the profile is off by default, and has a name which reflects what is lost/disabled, and has an XML comment in the POM explaining when/why it might be okay to use the profile (e.g. not in Jenkins, not in releases, etc.), I won't object strongly. But, I still think it's a bad idea, in general.

My argument is that it encourages misuse.

I can't agree with this argument for its non-existence.  The main reason I can think it should not exist is that it adds to the effort required to understanding the pom, which is a maintenance burden.  I think this is a very small burden for this change, however lots of additions like these would make understanding the pom burdensome.  If no one else is interested in this change I will not add it, because its not worth polluting the pom if only one developer will use it.

naming the profile something like "skip-quality-checks"

I am also in favor of a good name and good comments in the pom.  I think skipQA would be a nice short name.

+1 for skipQA as the name, if you end up deciding to add this later.

+1, I like the idea of the profile. skipQA would be better name.


don't display metadata (date and read-time)

Is it somehow possible, to not render / hide the metadata in the main page and the page of the post?

thanks for this great theme!

It is possible and easy to do. The following instructions depend on what value you have set for the parameter summaryShape in your params.toml.
Copy the file themes/hugo-theme-zzo/layouts/partials/summary/(classic or card or compact).html into the path layouts/partials/summary/(classic or card or compact).html. Open the copied file with your editor and remove the necessary parts. In your case it would be the lines 22-25.


Use semantic versioning

Please use semantic versioning for releases: https://semver.org
(Instead of X.YSprintZ, X.YgoldenZ.W etc.)

@eero-t , many thanks for the suggestion. We will use the semantic versioning since next sprint.

Since 1.2.1, we adopt semantic versioning for the release. I close this issue. Many thanks for Eero's suggestion.


feat: Extraction of thumbprint value through the certificate

#minor
Description
This PR allows the creation of an object of the CertificateServiceClientCredentialsFactory class using only the values:

App Id
x5c
Certificate key

In addition to being able to get the thumbprint value through the certificate when creating the credentials.
Specific Changes

Added the possibility of two possible parameters (thumbprint of x5c) for the constructor of the CertificateServiceClientCredentialsFactory class.
Added the method getThumbprint to obtain the thumbprint value of the certificate when the x5c value is provided.

Testing
The following image shows the bot running with SNI authentication.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 11 (45.45%)  changed or added relevant lines in 1 file are covered.
82 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-0.4%) to 84.268%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/botframework-connector/src/auth/certificateServiceClientCredentialsFactory.ts
5
11
45.45%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

libraries/botframework-streaming/src/utilities/createNodeServer.ts
1
78.57%

libraries/botframework-streaming/src/namedPipe/namedPipeServer.ts
12
50.68%

libraries/botframework-streaming/src/namedPipe/namedPipeClient.ts
17
34.09%

libraries/botframework-streaming/src/namedPipe/namedPipeTransport.ts
51
3.92%

Totals

Change from base Build<PHONE_NUMBER>:
-0.4%

Covered Lines:
20267

Relevant Lines:
22779

💛  - Coveralls


Request for JSON files

I have already get this coco-cn dataset, but I find that two json file dataset_mscoco-cn.json and captions_mscoco-cn.json mentioned in README.md in coco-cn_caption directory is missing. And the download link you provided in issues is invalid now. So I request a new download link for these files. Thanks!

hi, the implementation provided in the coco-cn_caption folder  is no longer state-of-the-art. We plan to upgrade the code. At the moment, we suggest you adapt the coco-cn dataset with respect to your own image captioning code.


Misleading message about the number of bond outliers

Even if no outliers were detected (which means that everything is ok), the following message is printed:
Standard geometry: bond outliers[?]
Bond length outliers can not be evaluated for this model

Also incorrect formatting for the number of angle outliers:
Standard geometry: angle outliers[?]
There are 628 angle outliers in this entry (62800.0% of all angles). A summary is provided below, and a detailed list of outliers can be found

To be fixed here https://github.com/salilab/IHMValidation/blob/c3bb0ef65f6104368a103ee429dcf264285ba936/templates/model_quality.html#L60
Entries for testing: 9, 55, 141
After the fix all reports have to be updated.

Sometimes it's not possible to reliably detect the total number of bonds from the molprobity output. I'm trying to figure out what triggers the difference in the output. In the meantime, this is a temporary workaround that doesn't calculate the percentage if we don't get the total number of angles.

Addressed in v2.0, keeping open until the merge.


selecting a surface on the mesh

Hi Marco,
I would love to get your help, I just need your direction.
I have a mesh and It has holes on it. I want to fill the holes but not all of them. I want user to select surface on the mesh and I want to fill the hole/holes on it
I get the vertices to select the surface.
I have 2 questions
1- how can I get the surface with selection of vertices. I can get the vertices/faces by selecting them with mouse, but how can I connect them to get my surface
2- how can I fill that hole with given surface. ( I guess vtkFillHolesFilter would do it if I can provide surface data)
thanks in advance and regards
EDIT: I have found some great examples in advance section.

Hi Marco,
I have been trying to implement your "cut_with_point_loop" function,
But I am having some troubles about what I want.
here is the code I applied
vpts => are 3d point array where I select by mouse
spol = vtk.vtkSelectPolyData()
spol.SetLoop(vpts)
spol.GenerateSelectionScalarsOn()
spol.GenerateUnselectedOutputOff()
spol.SetInputData(self.mesh.polydata())
spol.Update()
clipper = vtk.vtkClipPolyData()
clipper.SetInputData(spol.GetOutput())
clipper.SetInsideOut(not invert)
clipper.SetValue(0.0)
clipper.Update()
cpoly = clipper.GetOutput()
I am getting vtkpolydata as a result, I want to get cell Ids of that selected area of mesh to color them. But the cpoly gives me new cellIds starts from 0
I want to select and color those cells in the current mesh, I want to label them lets say.
what am I doing wrong, am I missing something?
how can I just select the cells or points in that area to move forward

You are right... for some reason vtkSelectPolyData does not pass the data associated to points and faces (it should)...
What about creating a point id array and then interpolating it:
mesh1.add_ids()
cut it and then use
mesh1cut.interpolate_data_from(mesh1, n=1)


Improve Implementation coverage

Supercedes #2840
Changes:

Renames @mock_ec2_instance_connect to @mock_ec2instanceconnect (in-line with other services with spaces/dashes)
Moves/renames some methods in DynamoDB to it's backend to ensure the implementation-coverage script picks up all implemented methods
Change the styling to add each service in it's own collapsible section. This makes it slightly more readable IMO: https://github.com/bblommers/moto/blob/improve_coverage/IMPLEMENTATION_COVERAGE.md

TODO:
These services need the same fix, and move some logic towards the model, as the script isnt aware of all implemented methods at the moment:

S3
XRay

And maybe others as well. Will probably create a separate PR for them.
FYI @spulec

Coverage decreased (-0.06%) to 94.203% when pulling d680b1e0254f24037e37448b99b165886383c86d on bblommers:improve_coverage into 774a764b698fbf50dffd58f6518a344fef73af76 on spulec:master.

Coverage decreased (-0.06%) to 94.203% when pulling d680b1e0254f24037e37448b99b165886383c86d on bblommers:improve_coverage into 774a764b698fbf50dffd58f6518a344fef73af76 on spulec:master.

Looks good!


Testing: set default testing VM TimeToLive to infinity

Description
This is a follow-up to https://github.com/GoogleCloudPlatform/ops-agent/pull/1574 that disables the TimeToLive feature by default, only enabling the automatic cleanup if the caller requests a nonempty TimeToLive. This is a saner default for a library that is intended to be used for a variety of use cases (such as simulacra), not just integration testing.
Related issue
b/227348032
How has this been tested?
I checked that all callsites (except simulacra) are setting TimeToLive by introducing a temporary change to error out when TimeToLive is missing, and running all tests. No failures were observed.
Checklist:

Unit tests

[X] Unit tests do not apply.
[ ] Unit tests have been added/modified and passed for this PR.

Integration tests

[ ] Integration tests do not apply.
[X] Integration tests have been added/modified and passed for this PR.

Documentation

[X] This PR introduces no user visible changes.
[ ] This PR introduces user visible changes and the corresponding documentation change has been made.

Minor version bump

[X] This PR introduces no new features.
[ ] This PR introduces new features, and there is a separate PR to bump the minor version since the last release already.
[ ] This PR bumps the version.

test failures look unrelated, merging.


Website Certificate Expired

It appears that the SSL cert for the website has expired. You can still visit it by opening an Incognito window and confirming that you want to ignore the error.

I reported this too on the botkit Slack channel.

Same problem! I need docs 😢


Add keyboard control to b-tables for better accessibility

Missing feature is from
bootstrap-vue
Docs
https://bootstrap-vue.org/docs/reference/accessibility#accessibility
Describe the missing feature
Hi,
first of all thank you for those great components!
Describe the bug
After migrating our application from bootstrap-vue to bootstrap-vue-next, our users realized that they could no longer completely navigate the application using only the keyboard.
Our main issue is with the b-table component where it is not possible to select a row using tab, arrow and space keys.
Reproduction
I provide 2 demos, where you can try to cycle through the components using the tab key (and using the space key inside the b-table to select a row):

the boostrap-vue version where the keyboard accessibility works well: demo 1
the bootstrap-vue-next version where the keyboard accessibility doesn't work on b-tables: demo 2

Btw, I didn't find a clear link to the bootstrap-vue documentation about b-table accessibility, keyboard accessibility is a more global feature across all bootstrap-vue components (see bootstrap-vue accessibility). It would be nice if bootstrap-vue-next could do the same thing with all its components :)
Validations

[X] Have tested with the latest version. This is still alpha version and sometime things change rapidly.
[x] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided link is to the documentation of the missing feature.

Duplicate of https://github.com/bootstrap-vue-next/bootstrap-vue-next/issues/1259


Render text with Jupyter.consoleTextTransform

Previously, error results were coloured in red. I really liked this feature.
The changes in styles/hydrogen.less remove the colour styling in error messages.
Other than that, this PR is a neat way to use ansi-to-html via transformime.

I'm a fan of this because I like my tracebacks in the native colors.

for me they are now displayed like this:

Actually I override the ansi colors with red. Because they don't really fit in with the syntax color:

I could add an red border to make it clear.

This is how it looks look with the IJavascript kernel (which doesn't use ANSI colours):

If someone uses a library that outputs ANSI colors, what happens with IJavaScript?

@rgbkrk I expect it to work.
I've just tested it. It's working in the notebook:

but it doesn't in Hydrogen:

Thats because transformime.TextTransform doesn't handle ansi color codes.
I would propose replacing the text transformer with a combination of TextTransformand consoleTextTransform. This works for me in Hydrogen:
Convert = require 'ansi-to-html'
hasAnsi = require 'has-ansi'

TextTransform = (mimetype, data, document) ->
    if hasAnsi(data) is true
        convert = new Convert
            escapeXML: true
            newLine: true
        el = document.createElement('pre')
        el.innerHTML = convert.toHtml(data)
        return el
    else
        el = document.createElement('pre')
        el.textContent = data
        return el

TextTransform.mimetype = ['text/plain']

I think this should be handled directly via transformime.

Or we remove the hasAnsi check and simply render all text/plain messages as jupyter/console-text.

I'm certainly a fan. That's what the notebook does too.

All text is rendered with Jupyter.consoleTextTransform
Errors are displayed like before.

@lgeiger @rgbkrk I need to your help. In my machine, the background colours are ignored. I've boiled down the problem to ansi-to-html. For example:
> var Convert = require('ansi-to-html')
undefined
> convert = new Convert({excapeXML: true, newLine:true})
Filter {
  opts:
   { fg: '#FFF',
     bg: '#000',
     newline: false,
     escapeXML: false,
     stream: false,
     excapeXML: true,
     newLine: true },
  input: [],
  stack: [],
  stickyStack: [] }
> convert.toHtml("\u001b[48;5;6m\u001b[38;5;12mtest\u001b[39m\u001b[49m")
'<blink><blink>test</blink></blink>'

What output do you get when the above code is run?

I don't have a Javascript kernel on my system so I can't test your code.
With python and hydrogen I get with this code the above seen output:
from __future__ import print_function

ESC = '\x1b['
RESET = ESC + "00m"

for bg in range(40,48):
    for fg in range(30,38):
        print ("{ESC}01;{bg};{fg}mtext {RESET}".format(**locals()), end='')
    print ()

Interesting. I'll give that a shot here shortly.

@lgeiger Thanks for the code. That gave me a hint to understand the problem.
It looks like a bug in ansi-to-html, for example, it works with plain ANSI colours:
> convert.toHtml("\u001b[30;40mtest\u001b[00m")
'test'

but it gets confused with xterm colours:
> convert.toHtml("\u001b[48;5;0m\u001b[38;5;0mtest\u001b[39m\u001b[49m")
'<blink></blink>test'

Interesting!
Any ideas @IonicaBizau?
We're using ansi-up in another code base (for the React based stuff). Seems like we would need to extend those. I'm noticing that my terminal type on my local box doesn't produce ANSI coloring in the jupyter notebook yet the same code does on tmpnb.org.

@rgbkrk I don't really know the context, but why do you want to convert ANSI into HTML and not using term.js?
It has the write method where you can write terminal data (that means any ANSI snippets). That would make it like a real terminal (including cli animations and so on). :grin:

The backends (kernels) these are built on send messages that have text with ANSI code. It's small enough most of the time and very static that it's fairly cheap to convert to a straight markup. Otherwise we have to manage many term.js instances on a page. It would be cool if someone tried it out regardless of whether I think that's an expensive operation or not.

Now that I'm thinking about it, I see how the flow would be with term.js. Each time we send execution to a kernel, we would create a DOM node for term.js and everytime we got stdout or stderr stream we would term.write.

I don't think that using term.js would be a bad idea in terms of performance. It does pretty much the same thing: displaying ANSI in HTML, but the difference is that it does act like a real terminal.

https://github.com/chalk/strip-ansi ?


Update breaking_changes_allowlist.py

revert part of https://github.com/Azure/azure-sdk-for-python/pull/36051

/check-enforcer override


Exclude highways with bridge and tunnel tags in the crossinghighway linter

I'm seeing false positives for crossing highways where the other highway has a bridge or tunnel tag.
Let's exclude them in the linter.
@Rub21 @geohacker

@maning On these  bridge and  tunnel  missing tag layer=*.

The linter works as expected, the error I found was a tagging issue (level instead of layers).
Closing, sorry for the noise.


TET Admin: read Linked Events URL from build args

Description :sparkles:

also adds a missing build arg
also fixes an issue with AD login

Issues :bug:
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

Codecov Report

Merging #917 (7800423) into develop (6371020) will increase coverage by 20.34%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##           develop     #917       +/-   ##
============================================
+ Coverage    62.97%   83.31%   +20.34%
============================================
  Files          868       65      -803
  Lines        23358     2086    -21272
  Branches      2333        0     -2333
============================================
- Hits         14709     1738    -12971
+ Misses        8249      348     -7901
+ Partials       400        0      -400

Impacted Files
Coverage Δ

backend/shared/shared/azure_adfs/auth.py
87.34% <100.00%> (ø)

backend/shared/shared/ytj/ytj_client.py
27.58% <0.00%> (-65.52%)
:arrow_down:

backend/shared/shared/common/decorators.py
37.93% <0.00%> (-58.63%)
:arrow_down:

...nd/shared/shared/service_bus/service_bus_client.py
28.57% <0.00%> (-54.77%)
:arrow_down:

backend/shared/shared/yrtti/yrtti_client.py
39.39% <0.00%> (-51.52%)
:arrow_down:

backend/shared/shared/audit_log/viewsets.py
45.56% <0.00%> (-50.64%)
:arrow_down:

backend/shared/shared/common/utils.py
64.00% <0.00%> (-36.00%)
:arrow_down:

backend/shared/shared/models/mixins.py
66.66% <0.00%> (-33.34%)
:arrow_down:

backend/shared/shared/audit_log/audit_logging.py
76.59% <0.00%> (-23.41%)
:arrow_down:

backend/shared/shared/common/tests/conftest.py
80.48% <0.00%> (-19.52%)
:arrow_down:

... and 803 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6371020...7800423. Read the comment docs.


Enable AWS SSM to allow remote access to EC2 instances with appropriate safeties

Description/Context
Right now, we employ a "keys to the kingdom" approach to access control to our EC2 instances. if you have the oldevops SSH key on your filesystem, you can get in. Otherwise, you can't.
This isn't great, because developers ask us regularly for shell access to EC2 instances for django/edx management purposes, and also because with our current system, even devops must jump through hoops (manually adding ssh to the security group for a given instances) to access a given machine.
With SSM, we use IAM to provide appropriately scoped remote access to EC2 resources without requiring any SSH keys or connectivity.
Note that https://github.com/mitodl/ol-infrastructure/issues/1243 should be considered a companion task to this as having per person IAM rules is a part of this effort as well.
Plan/Design

Investigate steps to install SSM in our infra here
Write relevant Pulumi code to add the necessary steps to our launch template

This may no longer make sense once we attain our Kubernetes hopes and dreams :)


Update TO Go cdns/:name/federations (CRUDer)

Converted endpoints:
GET /api/1.2/cdns/:name/federations
GET /api/1.2/cdns/:name/federations/:id
POST /api/1.2/cdns/:name/federations
PUT /api/1.2/cdns/:name/federations/:id
DELETE /api/1.2/cdns/:name/federations/:id
GetCDNFederationsByName (a part of the client) hasn't been tested yet because POST /api/1.2/federations/:id/deliveryservices isn't implemented, however I did test the functionality using curl and my browser.
Questions before the PR is merged:
Other endpoints define their own alert. Why not just use tc.Alert?
Should the cdns/:name/federations route be version 1.2 or 1.1?
I'm also not sure about the Read function. My select uses a full outer join three times, which I did to keep everything into a single query. However, I was thinking it may be better to conditionally choose between two different queries, depending on whether or not the id is being used in the query.

Can one of the admins verify this patch?

I'm getting this error when trying to hit this in the browser https://localhost:8443/api/1.3/cdns/over-the-top/federations
INFO: routing.go:226: 2018-07-19T15:47:02.356745258-06:00: GET /api/1.3/cdns/over-the-top/federations handling (reqid 21)
DEBUG: cdnfederations.go:156: 2018-07-19T15:47:02.359697332-06:00:
--
 Where:
WHERE cdn.name=:name
 Order By:
DEBUG: shared_handlers.go:142: 2018-07-19T15:47:02.359738287-06:00: Query is
	SELECT federation.id as id, cname, ttl, description, ds.id as ds_id, xml_id FROM federation
  JOIN federation_deliveryservice as fd ON federation.id = fd.federation
  JOIN deliveryservice as ds ON ds.id = fd.deliveryservice
	JOIN cdn ON cdn.id = cdn_id
WHERE cdn.name=:name
ERROR: alerts.go:81: 2018-07-19T15:47:02.371098488-06:00: <IP_ADDRESS>:64614 [database access error]

Besides the issue I mentioned above ^^ this seems to work great for all the CRUD functions. I tested these endpoints using TP as the API consumer.
One question. When I create/update a federation, one of the required request attributes is dsId I believe. Does the API check tenancy on this value? If not it should.

I'm running into problems updating or deleting a federation and it is related to tenancy. I am getting this error:
"user not authorized for requested tenant"
even though i'm logged in as a user with the root tenant...

I've confirmed all the functionality of these endpoints thru TP.


OCPBUGS-36391: Enable multipath core ignition config for PowerVS

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/cc @yussufsh @mkumatag

@stevekuznetsov Added a test case to test the behaviour of aws and powervs platform. Please take a look and let me know if it's ok!

/jira refresh

/jira refresh

/retest-required


Include chain and token logos in NPM package

Registry package consumers like the Warp UI prod instances should be able to operate without any runtime queries to Github. This is needed to avoid the IP rate limiting but is also desirable for security.

Correction, chain logos are already included.


Fix labels that dont have versions

Also adds some basic labels for rulesets that don't have any identifying labels set.

@shawn-hurley its the name of the folder, some Rulesets don't have source/target labels such as "technology-usage". in that case, we need an identifier for them so that they can be included


Update README.md

Fixes math of task count from 4 to 2 after 2 tasks removed from list.

fixed. thanks!


Missing handling of feature/package name mismatch

What's wrong
Features who's name include a + character often have a package name that exchanges the + for -plus. This can

confuse the user or 3rd-party utilities that expect to be able to call straight-use-package and require with the same symbol.
cause straight-use-package to fail.

Directions to reproduce
(straight-use-package 'crosshairs)
-> Debugger entered--Lisp error: (error "Could not find package hl-line+ in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror)")

Workaround
(straight-override-recipe
 `(hl-line+ ,@(straight--convert-recipe 'hl-line-plus)))
(straight-use-package 'crosshairs)

Proposed solution 1
Let a variable hold a list of functions to be applied to a package name to produce aliases
(defun straight--plus-alias (x)
  (replace-regexp-in-string "\\+\\($\\|-\\)" "-plus\\1" x))
(defvar straight--package-alias-functions
  (list #'identity #'straight--plus-alias)
  "A list of functions, each tried in turn to transform the first argument of
`straight-use-package`")

Then, let straight-use-package try these functions in succession, failing only if they all fail.
Proposed solution 2
Add a recipe repository that searches the other recipe repositories, finding recipes for anything matching "-plus($|-)" and publishing recipes with that match exchanged for "+\1".
This introduces dependencies between repositories and might be a little convoluted, especially w.r.t. caches.
Version information

Emacs version:
GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.5) of 2019-09-23, modified by Debian

Operating system:
Linux d 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux

Proposed solution 3: break backwards compatibility and throw caution to the wind :)
The plus thing is just an artifact of the fact that

GitHub doesn't let you have plus signs in repo names
Emacsmirror publishes packages as GitHub repos
My Emacsmirror mirror indexes the packages by listing the GitHub repos under Emacsmirror

So we end up with my Emacsmirror mirror giving straight.el incorrect names for packages on Emacsmirror. No worries, we'll just fix it in post ;)

Thanks for the report.

Note that "-plus" is sometimes correct, sometimes not. I am unable to find any incorrectly named packages in any other builtin recipe repository than emacsmirror-mirror.

Tested 0d48441 and confirmed working. Thank you!

I am unable to find any incorrectly named packages in any other builtin recipe repository than emacsmirror-mirror.

This is expected since the bug that causes plus symbols to be turned into -plus is strictly on the side of the Emacsmirror mirror, and not anywhere upstream or in straight.el. Thanks for checking though.


Can't pull images from insecure registry (microk8s.enable registry)

Hi!
I am also having issues with using the insecure registry that microk8s provides...
I have edited /var/snap/microk8s/current/args/containerd-template.toml so it contains this:
    [plugins.cri.registry]
      [plugins.cri.registry.mirrors]
        [plugins.cri.registry.mirrors."docker.io"]
          endpoint = ["https://registry-1.docker.io"]
        [plugins.cri.registry.mirrors."localhost:32000"]
          endpoint = ["http://localhost:32000"]
      [plugins.cri.registry.auths]
        [plugins.cri.registry.auths."localhost:32000"]
          username = "test"
          password = "test"

(I have also added the insecure registry to ~/.docker/config.json and to skaffold.yaml)
I also ran microk8s.inspect and it told me to add insecure registries to /etc/docker/daemon.json:
{
    "insecure-registries" : ["localhost:32000"]
}

But got the same error:
rpc error: code = Unknown desc = failed to resolve image "<IP_ADDRESS>:32000/eportal@sha256:4d959ba6ccb9aaed3b99042fcf8305311d8e281679e9a75fce0ed61e6c5e4de6": no available registry endpoint: failed to do request: Head https://<IP_ADDRESS>:32000/v2/eportal/manifests/sha256:4d959ba6ccb9aaed3b99042fcf8305311d8e281679e9a75fce0ed61e6c5e4de6: http: server gave HTTP response to HTTPS client

Kubernetes version:
Server Version: version.Info
{
  Major:"1",
Minor:"17",
GitVersion:"v1.17.0",
GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf",
GitTreeState:"clean",
BuildDate:"2019-12-07T21:12:17Z",
GoVersion:"go1.13.4",
Compiler:"gc",
Platform:"linux/amd64"
}

Originally posted by @Richard87 in https://github.com/ubuntu/microk8s/issues/384#issuecomment-572077091

@Richard87 i dont remember the insecure registry included in microk8s contains the auths. (Fyi I've never used that 😁)
Where do you see it failing? During skaffold build? Or during start deployment of pod?

Hi, I saw a comment on StackOverflow recommended trying that (I have also tried without, with the same results)
The error occurs when kubernetes starts the pod and tries to pull the image...
Logs from right now while testing:
 [OK] Cache for the "prod" environment (debug=false) was successfully warmed.

 ---> 6552ffd428bf
Successfully built 6552ffd428bf
Successfully tagged <IP_ADDRESS>:32000/eportal:8a3304d6-dirty
Tags used in deployment:
 - <IP_ADDRESS>:32000/eportal -> <IP_ADDRESS>:32000/eportal:6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77
   local images can't be referenced by digest. They are tagged and referenced by a unique ID instead
Starting deploy...
 - service/eportal created
 - deployment.apps/eportal-deployment created
 - configmap/eportal-nginx-config created
 - service/mailhog created
 - deployment.apps/mailhog created
 - service/redis created
 - deployment.apps/redis created
 - ingress.extensions/eportal-ingress created
 - persistentvolume/mysql-pv-volume created
 - persistentvolumeclaim/mysql-pv-claim created
 - service/mysql created
 - deployment.apps/mysql created
Watching for changes...
rpc error: code = Unknown desc = failed to resolve image "<IP_ADDRESS>:32000/eportal:6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77": no available registry endpoint: failed to do request: Head https://<IP_ADDRESS>:32000/v2/eportal/manifests/6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77: http: server gave HTTP response to HTTPS client
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.12
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.12 Welcome to the Bitnami nginx container
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.12 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-nginx
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.12 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-nginx/issues
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.12 Send us your feedback at<EMAIL_ADDRESS>[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.12
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.12 INFO  ==> ** Starting NGINX setup **
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.12 INFO  ==> Validating settings in NGINX_* env vars...
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.13 INFO  ==> Initializing NGINX...
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.13 INFO  ==> ** NGINX setup finished! **
[eportal-deployment-5f9c55f69c-lmqwz nginx]
[eportal-deployment-5f9c55f69c-lmqwz nginx]  10:26:21.14 INFO  ==> ** Starting NGINX **
Back-off pulling image "<IP_ADDRESS>:32000/eportal:6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77"
rpc error: code = Unknown desc = failed to resolve image "<IP_ADDRESS>:32000/eportal:6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77": no available registry endpoint: failed to do request: Head https://<IP_ADDRESS>:32000/v2/eportal/manifests/6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77: http: server gave HTTP response to HTTPS client
Back-off pulling image "<IP_ADDRESS>:32000/eportal:6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77"
rpc error: code = Unknown desc = failed to resolve image "<IP_ADDRESS>:32000/eportal:6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77": no available registry endpoint: failed to do request: Head https://<IP_ADDRESS>:32000/v2/eportal/manifests/6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77: http: server gave HTTP response to HTTPS client
Back-off pulling image "<IP_ADDRESS>:32000/eportal:6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77"
rpc error: code = Unknown desc = failed to resolve image "<IP_ADDRESS>:32000/eportal:6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77": no available registry endpoint: failed to do request: Head https://<IP_ADDRESS>:32000/v2/eportal/manifests/6552ffd428bfd1a55c6f694da6d0906665bd422e2445e839f8614f5c4d2a6a77: http: server gave HTTP response to HTTPS client

Hi! I changed evherything from "localhost:32000" to "<IP_ADDRESS>:32000", and I got this error:
rpc error: code = Unknown desc = failed to resolve image "<IP_ADDRESS>:32000/eportal:a3b9bf48fef03c80088fc484ff24882afb04cb7ef905da8bc132c1b9ab9d83cc": no available registry endpoint: failed to do request: Head https://<IP_ADDRESS>:32000/v2/eportal/manifests/a3b9bf48fef03c80088fc484ff24882afb04cb7ef905da8bc132c1b9ab9d83cc: dial tcp <IP_ADDRESS>:32000: connect: connection refused

I updated ~/.docker/config.json, /etc/docker/daemon.json, /var/snap/microk8s/current/args/containerd-template.toml and restart docker and snap.microk8s.daemon-containerd.service
The full log:
(notice that skaffold finds the image at the repo, but microk8s fails to load it)
skaffold dev
Listing files to watch...
 - <IP_ADDRESS>:32000/eportal
Generating tags...
 - <IP_ADDRESS>:32000/eportal -> <IP_ADDRESS>:32000/eportal:8a3304d6-dirty
Checking cache...
 - <IP_ADDRESS>:32000/eportal: Found Locally
Tags used in deployment:
 - <IP_ADDRESS>:32000/eportal -> <IP_ADDRESS>:32000/eportal:a3b9bf48fef03c80088fc484ff24882afb04cb7ef905da8bc132c1b9ab9d83cc
   local images can't be referenced by digest. They are tagged and referenced by a unique ID instead
Starting deploy...
 - service/eportal created
 - deployment.apps/eportal-deployment created
 - configmap/eportal-nginx-config created
 - service/mailhog created
 - deployment.apps/mailhog created
 - service/redis created
 - deployment.apps/redis created
 - ingress.extensions/eportal-ingress created
 - persistentvolume/mysql-pv-volume created
 - persistentvolumeclaim/mysql-pv-claim created
 - service/mysql created
 - deployment.apps/mysql created
Watching for changes...
rpc error: code = Unknown desc = failed to resolve image "<IP_ADDRESS>:32000/eportal:a3b9bf48fef03c80088fc484ff24882afb04cb7ef905da8bc132c1b9ab9d83cc": no available registry endpoint: failed to do request: Head https://<IP_ADDRESS>:32000/v2/eportal/manifests/a3b9bf48fef03c80088fc484ff24882afb04cb7ef905da8bc132c1b9ab9d83cc: dial tcp <IP_ADDRESS>:32000: connect: connection refused
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.77
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.77 Welcome to the Bitnami nginx container
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.77 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-nginx
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.77 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-nginx/issues
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.77 Send us your feedback at<EMAIL_ADDRESS>[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.77
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.77 INFO  ==> ** Starting NGINX setup **
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.78 INFO  ==> Validating settings in NGINX_* env vars...
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.78 INFO  ==> Initializing NGINX...
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.78 INFO  ==> ** NGINX setup finished! **
[eportal-deployment-865948fd97-49sj8 nginx]
[eportal-deployment-865948fd97-49sj8 nginx]  10:36:57.79 INFO  ==> ** Starting NGINX **
Back-off pulling image "<IP_ADDRESS>:32000/eportal:a3b9bf48fef03c80088fc484ff24882afb04cb7ef905da8bc132c1b9ab9d83cc"

Okay, I'm very confused...
When changing the repository mirror, I get a "connection refused" instead of the old http data sent to https client, so It seems microk8s can't reach the registry on <IP_ADDRESS>:32000?
So I changed the endpoint to point to the service ip:
     [plugins.cri.registry.mirrors."<IP_ADDRESS>:32000"]
          endpoint = ["http://<IP_ADDRESS>:5000"]

But I still got a connection refused from <IP_ADDRESS>:32000, it seems it didn't even try the new endpoint...

Okay, I reverted everything back to localhost (maybe localhost is special and differs from <IP_ADDRESS>?)
(I also set the endpoint to "http://localhost:32000")
And something different happens, no errors this time, but the pod status is just stuck in "Pulling":
Name:           eportal-deployment-6f66d94cf6-jgqcl
Namespace:      eportal
Priority:       0
Node:           linux/<IP_ADDRESS>
Start Time:     Thu, 09 Jan 2020 11:55:28 +0100
Labels:         app=eportal
                app.kubernetes.io/managed-by=skaffold-v1.1.0
                pod-template-hash=6f66d94cf6
                skaffold.dev/builder=local
                skaffold.dev/cleanup=true
                skaffold.dev/deployer=kubectl
                skaffold.dev/docker-api-version=1.40
                skaffold.dev/run-id=ee418a56-0327-4509-81c5-edd550f091d0
                skaffold.dev/tag-policy=git-commit
                skaffold.dev/tail=true
                tier=frontend
Annotations:    <none>
Status:         Pending
IP:
IPs:            <none>
Controlled By:  ReplicaSet/eportal-deployment-6f66d94cf6
Containers:
  eportal:
    Container ID:
    Image:          localhost:32000/eportal:a9c310f659af1c00d77e3addeb7e2357cc60ceeb551014e61b66bcefbd9e22e0
    Image ID:
    Port:           <none>
    Host Port:      <none>
    State:          Waiting
      Reason:       ContainerCreating
    Ready:          False
    Restart Count:  0
    Environment:
      REDIS_URL:                   redis://redis
      SYMFONY_ENV:                 prod
      SYMFONY_DEBUG:               false
      APP_SECRET:                  abcd1234
      DATABASE_URL:                mysql://root:abcd1234@mysql:3306/eportal
      MAILER_URL:                  smtp://test:test@mailhog:1025
      MERCURE_PUBLISH_URL:         http://localhost:8088/hub
      MERCURE_INTERNAL_URL:        http://mercure/hub
      CORS_ALLOW_ORIGIN:           ^https?://localhost(:[0-9]+)?$
      NEFLE_API_URL:               http://localhost:8001
      NEFLE_SETUP_URL:             https://oppsett.nefle.no
      NEFLE_URL:                   https://demo.nefle.no
      TWILIO_API_SECRET:           abcd1234
      TWILIO_AUTH_TOKEN:           abcd1234
      PLIVO_AUTH_TOKEN:            abcd1234
      OIDC_ENCRYPTION_KEY:         diH1gKKgb/Ls+Hdj5S3ISvmPNKGd7/7rdR+SySvfUbw=
      OIDC_PRIVATE_KEY:            ./var/tls-certificates/openid/private.key
      OIDC_PUBLIC_KEY:             ./var/tls-certificates/openid/public.key
      GOOGLE_MAPS:                 abcd
      MAILCHIMP_API_KEY:           abcd
      DIGITALOCEAN_SPACES_KEY:     secret_key
      DIGITALOCEAN_SPACES_SECRET:  secret
      BUYPASS_P12_KEY:             abcd1234
      BUYPASS_PEM:                 ./var/tls-certificates/buypass/buypass.p12
      MEDRAVE_KEY_PASSPHRASE:      abcd1234
      MEDRAVE_KEY_PATH:            ./var/tls-certificates/medrave/medrave2_key.pem
      EASYGENERATOR_PASSWORD:      abcd1234
    Mounts:
      /public from public (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-k82nk (ro)
  nginx:
    Container ID:
    Image:          bitnami/nginx:latest
    Image ID:
    Port:           8000/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       ContainerCreating
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /app/public from public (rw)
      /bitnami/nginx from cache (rw)
      /opt/bitnami/nginx/conf/vhosts from config (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-k82nk (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  public:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  cache:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  config:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      eportal-nginx-config
    Optional:  false
  default-token-k82nk:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-k82nk
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age        From               Message
  ----    ------     ----       ----               -------
  Normal  Scheduled  <unknown>  default-scheduler  Successfully assigned eportal/eportal-deployment-6f66d94cf6-jgqcl to linux
  Normal  Pulling    4m24s      kubelet, linux     Pulling image "localhost:32000/eportal:a9c310f659af1c00d77e3addeb7e2357cc60ceeb551014e61b66bcefbd9e22e0"

@Richard87 when you modified the template, you did restart the containerd service?

Yes :)
But it seems to be a problem with the registry, when I pull using docker, it times out...:
docker pull localhost:32000/eportal:a9c310f659af1c00d77e3addeb7e2357cc60ceeb551014e61b66bcefbd9e22e0
Error response from daemon: Get http://localhost:32000/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

But there is nothing interesting in the pod logs:
kubectl -n container-registry logs registry-d7d7c8bc9-w7ftt --follow -v=9
I0109 14:23:44.161225 3118269 loader.go:375] Config loaded from file:  /home/richard/.kube/config
I0109 14:23:44.164280 3118269 round_trippers.go:423] curl -k -v -XGET  -H "Authorization: Basic YWRtaW46ZGtGSmFqRjZOek0zZG5OUVVsUk1PV1V4YUZJcmRtMTRlVUprTUVoRlNUUlVRWFZUYjI5cU1FbzNSVDBL" -H "Accept: application/json, */*" -H "User-Agent: kubectl/v1.17.0 (linux/amd64) kubernetes/70132b0" 'https://<IP_ADDRESS>:16443/api/v1/namespaces/container-registry/pods/registry-d7d7c8bc9-w7ftt'
I0109 14:23:44.168107 3118269 round_trippers.go:443] GET https://<IP_ADDRESS>:16443/api/v1/namespaces/container-registry/pods/registry-d7d7c8bc9-w7ftt 200 OK in 3 milliseconds
I0109 14:23:44.168120 3118269 round_trippers.go:449] Response Headers:
I0109 14:23:44.168125 3118269 round_trippers.go:452]     Content-Length: 3138
I0109 14:23:44.168129 3118269 round_trippers.go:452]     Date: Thu, 09 Jan 2020 13:23:44 GMT
I0109 14:23:44.168132 3118269 round_trippers.go:452]     Content-Type: application/json
I0109 14:23:44.168158 3118269 request.go:1017] Response Body: {"kind":"Pod","apiVersion":"v1","metadata":{"name":"registry-d7d7c8bc9-w7ftt","generateName":"registry-d7d7c8bc9-","namespace":"container-registry","selfLink":"/api/v1/namespaces/container-registry/pods/registry-d7d7c8bc9-w7ftt","uid":"3875e68c-2054-4227-adb9-6e1a88e6cb0e","resourceVersion":"347335","creationTimestamp":"2020-01-07T16:07:09Z","labels":{"app":"registry","pod-template-hash":"d7d7c8bc9"},"ownerReferences":[{"apiVersion":"apps/v1","kind":"ReplicaSet","name":"registry-d7d7c8bc9","uid":"39c0848d-d7de-4e3e-9ec0-0269605837b3","controller":true,"blockOwnerDeletion":true}]},"spec":{"volumes":[{"name":"registry-data","persistentVolumeClaim":{"claimName":"registry-claim"}},{"name":"default-token-qltfz","secret":{"secretName":"default-token-qltfz","defaultMode":420}}],"containers":[{"name":"registry","image":"cdkbot/registry-amd64:2.6","ports":[{"name":"registry","containerPort":5000,"protocol":"TCP"}],"env":[{"name":"REGISTRY_HTTP_ADDR","value":":5000"},{"name":"REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY","value":"/var/lib/registry"},{"name":"REGISTRY_STORAGE_DELETE_ENABLED","value":"yes"}],"resources":{},"volumeMounts":[{"name":"registry-data","mountPath":"/var/lib/registry"},{"name":"default-token-qltfz","readOnly":true,"mountPath":"/var/run/secrets/kubernetes.io/serviceaccount"}],"terminationMessagePath":"/dev/termination-log","terminationMessagePolicy":"File","imagePullPolicy":"IfNotPresent"}],"restartPolicy":"Always","terminationGracePeriodSeconds":30,"dnsPolicy":"ClusterFirst","serviceAccountName":"default","serviceAccount":"default","nodeName":"linux","securityContext":{},"schedulerName":"default-scheduler","tolerations":[{"key":"node.kubernetes.io/not-ready","operator":"Exists","effect":"NoExecute","tolerationSeconds":300},{"key":"node.kubernetes.io/unreachable","operator":"Exists","effect":"NoExecute","tolerationSeconds":300}],"priority":0,"enableServiceLinks":true},"status":{"phase":"Running","conditions":[{"type":"Initialized","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-01-07T16:07:19Z"},{"type":"Ready","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-01-09T10:51:03Z"},{"type":"ContainersReady","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-01-09T10:51:03Z"},{"type":"PodScheduled","status":"True","lastProbeTime":null,"lastTransitionTime":"2020-01-07T16:07:19Z"}],"hostIP":"<IP_ADDRESS>","podIP":"<IP_ADDRESS>","podIPs":[{"ip":"<IP_ADDRESS>"}],"startTime":"2020-01-07T16:07:19Z","containerStatuses":[{"name":"registry","state":{"running":{"startedAt":"2020-01-09T10:51:02Z"}},"lastState":{"terminated":{"exitCode":255,"reason":"Unknown","startedAt":"2020-01-09T10:47:42Z","finishedAt":"2020-01-09T10:50:34Z","containerID":"containerd://d94b51c0fc4edc165852a4c1bf86e0100b362429c28cd6934b55e1f4fd0ad6a2"}},"ready":true,"restartCount":11,"image":"docker.io/cdkbot/registry-amd64:2.6","imageID":"docker.io/cdkbot/registry-amd64@sha256:9dc5ad9e0b3ed59afa4febe8d663fd545628c60886a2c9fcd0e186e5cf6343ef","containerID":"containerd://d0918f632f1b0ba86731b684b9fa5c08c2799e62cd80d458830a424437b4ecb6","started":true}],"qosClass":"BestEffort"}}
I0109 14:23:44.172119 3118269 round_trippers.go:423] curl -k -v -XGET  -H "Accept: application/json, */*" -H "User-Agent: kubectl/v1.17.0 (linux/amd64) kubernetes/70132b0" -H "Authorization: Basic YWRtaW46ZGtGSmFqRjZOek0zZG5OUVVsUk1PV1V4YUZJcmRtMTRlVUprTUVoRlNUUlVRWFZUYjI5cU1FbzNSVDBL" 'https://<IP_ADDRESS>:16443/api/v1/namespaces/container-registry/pods/registry-d7d7c8bc9-w7ftt/log?follow=true'
I0109 14:23:44.178959 3118269 round_trippers.go:443] GET https://<IP_ADDRESS>:16443/api/v1/namespaces/container-registry/pods/registry-d7d7c8bc9-w7ftt/log?follow=true 200 OK in 6 milliseconds
I0109 14:23:44.178979 3118269 round_trippers.go:449] Response Headers:
I0109 14:23:44.178985 3118269 round_trippers.go:452]     Content-Type: text/plain
I0109 14:23:44.178990 3118269 round_trippers.go:452]     Date: Thu, 09 Jan 2020 13:23:44 GMT
time="2020-01-09T10:51:02Z" level=warning msg="Ignoring unrecognized environment variable REGISTRY_PORT"
time="2020-01-09T10:51:02Z" level=warning msg="Ignoring unrecognized environment variable REGISTRY_PORT_5000_TCP"
time="2020-01-09T10:51:02Z" level=warning msg="Ignoring unrecognized environment variable REGISTRY_PORT_5000_TCP_ADDR"
time="2020-01-09T10:51:02Z" level=warning msg="Ignoring unrecognized environment variable REGISTRY_PORT_5000_TCP_PORT"
time="2020-01-09T10:51:02Z" level=warning msg="Ignoring unrecognized environment variable REGISTRY_PORT_5000_TCP_PROTO"
time="2020-01-09T10:51:02Z" level=warning msg="Ignoring unrecognized environment variable REGISTRY_SERVICE_HOST"
time="2020-01-09T10:51:02Z" level=warning msg="Ignoring unrecognized environment variable REGISTRY_SERVICE_PORT"
time="2020-01-09T10:51:02Z" level=warning msg="Ignoring unrecognized environment variable REGISTRY_SERVICE_PORT_REGISTRY"
time="2020-01-09T10:51:02Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a load-balancer. To provide a shared secret, fill in http.secret in the configuration file or set the REGISTRY_HTTP_SECRET environment variable." go.version=go1.10 instance.id=b891a565-f7e4-4ba0-868d-1e97e6988c3a version="v2.6.0+unknown"
time="2020-01-09T10:51:02Z" level=info msg="Starting upload purge in 9m0s" go.version=go1.10 instance.id=b891a565-f7e4-4ba0-868d-1e97e6988c3a version="v2.6.0+unknown"
time="2020-01-09T10:51:02Z" level=info msg="redis not configured" go.version=go1.10 instance.id=b891a565-f7e4-4ba0-868d-1e97e6988c3a version="v2.6.0+unknown"
time="2020-01-09T10:51:02Z" level=info msg="using inmemory blob descriptor cache" go.version=go1.10 instance.id=b891a565-f7e4-4ba0-868d-1e97e6988c3a version="v2.6.0+unknown"
time="2020-01-09T10:51:02Z" level=info msg="listening on [::]:5000" go.version=go1.10 instance.id=b891a565-f7e4-4ba0-868d-1e97e6988c3a version="v2.6.0+unknown"
time="2020-01-09T11:00:02Z" level=info msg="PurgeUploads starting: olderThan=2020-01-02 11:00:02.445190692 +0000 UTC m=-604259.991486235, actuallyDelete=true"
time="2020-01-09T11:00:02Z" level=info msg="Purge uploads finished.  Num deleted=0, num errors=0"
time="2020-01-09T11:00:02Z" level=info msg="Starting upload purge in 24h0m0s" go.version=go1.10 instance.id=b891a565-f7e4-4ba0-868d-1e97e6988c3a version="v2.6.0+unknown"

So it's not a problem in the registry:

Projects/skil/eportal on  master ➜ curl http://localhost:32000/v2/ --max-time 10
curl: (28) Operation timed out after 10001 milliseconds with 0 bytes received

Projects/skil/eportal on  master ➜ curl http://<IP_ADDRESS>:32000/v2/ --max-time 10
{}%

When using localhost, it times out :(

That timeout thingy looks like an ipv6 issue.
But i couldn't remember how i got this one working, but can you check if you have in your /etc/host.
::1 localhost ip6-localhost ip6-loopback

And comment that out?

Or another option is to use your hosts' IP replacing the <IP_ADDRESS>

I found a a few problems, and a few solutions, it's working now :D
Thank you very much @balchua , I really appreciate the time you have taken to answer help guide my search :D
It was very important to use <IP_ADDRESS> instead of localhost everywhere, also I had to use dockerCli instead of api in skaffold to push the image to the right place
skaffold didn't push the image when it thought it was a local repository, just assumed it would magically be available, but updating skaffold to use docker cli, and to push it let me push the image to a insecure repository:
skaffold.yaml:
build:
  local:
    push: true
    useDockerCLI: true
  artifacts:
  - image: <IP_ADDRESS>:32000/eportal

my daemon.json:
{
  "storage-driver": "overlay2",
  "insecure-registries" : ["<IP_ADDRESS>:32000"]
}

my containerd-template.toml:
[plugins.cri.registry.mirrors."<IP_ADDRESS>:32000"]
  endpoint = ["http://<IP_ADDRESS>:32000"]

Debrief...

I first got it working with the ip to the registry service, that surfaced the problem that Skaffold didn't even push to our registry
When forcing skaffold to push, it failed on the insecure registry, but forcing skaffold to also use DockerCLI instead of the default API, it managed to push it
Now microk8s managed to fetch the image and start it! :fireworks:
Reverting to use localhost:3200 everywhere, worked for skaffold, it could still push using docker cli on the insecure host, but microk8s failed, it timed out when pulling the image from localhost (even with endpoint set to the IP-adress, it seems it didn't use this at all, only the schema part
Using <IP_ADDRESS> everywhere worked

Takeaway

Docker API hates unsecure api-endpoints
It seems the domain/ip part of the endpoint specification for containerd isn't used

For the record, my /etc/hostsfile have looked like this the whole time:
<IP_ADDRESS>   localhost localhost.localdomain localhost4 localhost4.localdomain4 linux
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

Notice I added linux (my hostname / node name) to help with dns resolution, it kept complaining about  dial tcp: lookup linux on <IP_ADDRESS>:53: no such host on random kubectl commands without it

@Richard87 skaffold do allow insecure registry.  You need to add this to the build section.
build:
    insecureRegistries:
    - <IP_ADDRESS>:32000

That was not enough when using DockerAPI, It kept failing on http data from a https client thing... but using the CLI worked :)


Question: why not use getServerSideProps()?

I'm currently investigating if Strapi+NextJS will meet my needs.
I noticed that this starter uses Server Side Generation (SSG) getStaticProps, rather then Server Side Rendering (SSR) getServerSideProps. Part of the benefit of using a CMS is to have dynamic content/urls, that non-technical people can update. Given that, it seems strange me to require a new build whenever Strapi CMS data changes for either content changes or creation/removal of entities that have their own dynamic page (ie: `/products/99).
Am I misunderstanding something?

As advised by NextJS creators:
We recommend using Static Generation over Server-side Rendering for performance reasons. Statically generated pages can be cached by CDN with no extra configuration to boost performance. However, in some cases, Server-side Rendering might be the only option.
In combination with revalidation key that would probably be best option for rendering product pages which are basically changing less than blog pages for example - therefore Static Generation with some longer revalidation period (2-24 hours maybe.. depending on how often you actually change product pages) is desirable.


Fix typo

python -> Python

@changeworld : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@ktoliver - Also all fine and good to go through!


Add method to test for support

It'd be useful to add a method which returns whether there is support or not in the current browser.

If the docs I'm reading are correct, it could be as simple as document.queryCommandSupported('copy') && document.queryCommandEnabled('copy') if the support target is only newer browsers.

In fact for it to work as expected when a user input hasn't just been performed, I think this is better as just document.queryCommandSupported('copy').

We already return a boolean that indicates whether the copy worked or not. I updated the docs to indicate that.

Well sure, but what if you want to know before even trying? I'd commonly want to present a different UI if I know it's not possible to copy something to clipboard.

Kind of liked this idea, PR up in #14


updated docs after adding useFlowExactObject and useFlowReadOnlyTypes

this is a follow up of https://github.com/dotansimha/graphql-code-generator/pull/1317 and just adding missing documentation. just let me know if i have to update anything else.

Thanks @zanettin !


[Bug]: Reuse containers in ManifestReader will cause one IcebergFileEntry in the Java map covered by another

What happened?
I'm trying to develop the Table Statistics feature in Arctic-Trino. When I add the includeColumnStats builder in the planning stage in Arctic-Core, I found the statistics information is wrong in the map which is used to group files by partition.
When Java map stores an object which is not immutable, it only stores references to objects. So if the object changed, the value in the map will change too. When planning tasks in the change store, we get the entries of manifest by rows() method in ManifestReadTask in BaseEntriesTable. This method calls the open() method in ManifesrReader which will reuse containers. Once it reuses the container, the value in the Java map will be changed for it did not create a new object but just reuse the last object. So the next value's statistics will cover the last one's statistics.
This is the map mentioned above:

This is the rows() method mentioned above and where we call it:

This is the open() method mentioned above:

Affects Versions
May not affect in master, but it will.
What engines are you seeing the problem on?
Core
How to reproduce
Because we didn't use the statistics information in the code after the map was created, there's no problem for now. But we're going to develop the Table statistics feature, so it will be a problem.
About reproduce:
Just write some files into a table's change store and debug the plan task stage adding debug breakpoint to the map mentioned above and watching it.
Here's my debug information:
This is 5-I-2-00000-0-0000000002.parquet which is first put in the map:

This is 4-I-2-00000-0-0000000001.parquet which is put in the map after 5-I-2-00000-0-0000000002.parquet:

We can see that they have the same object about statistics. When the latter value was put in, the former one's statistics information will be covered.
Relevant log output
See the pictures in 'How to reproduce'.

Anything else
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@HuangFru  I have searched all the issues and have not found the one about the Table Statistics feature in Arctic-Trino.
Have I missed it?

@zhoujinsong There's no issue for now. I'll open it later.


Please use tags

Thanks a lot for all the effort you put into that very helpful module!
Could you please tag stable releases so users are able to pull in a versioned requirement.

If you cannot version the requirements it is very difficult to maintain a consistent and reproducible dependency structure.
Thanks a lot!

Thanks a lot for all the effort you put into that very helpful module!

Thank you, glad to hear it!

Could you please tag stable releases so users are able to pull in a versioned requirement.

FYI this package does have stable tags: https://github.com/WyriHaximus/react-guzzle-psr7/releases

You are right :) 2.0.0 should do it. Thanks!

:+1:


Is it up to date?

so whenever I try to start my server it says [07:44:48 ERROR]: Error occurred while enabling LoginSecurity v3.2.1 (Is it up to date?) and give a crash dump and just stop the Login security please tell if you know the solution!

Is it up to date is just a hint to server owners to check if they are using the latest version of a plugin before reporting any errors.
I can't help you without having the contents of the error message. There should be a bunch of additional content printed after the error message, this is called a "stack trace". It would be nice if you could post that in here so I can take a look at your issue.

going to close this issue due to getting no additional formation.
If you are still able and willing or provide this information (server / error logs) please feel free to open a new issue


Use AJAX/XHR to fetch new data every x intervals.

Is your feature request related to a problem? Please describe.
Being a web developer, I assumed the website updates realtime. Having the network tab opened for 15 minutes, there was no XHR call made which forced me to do a manual refresh.
Describe the solution you'd like
Have a Last Local Refresh counter, and make the website pull new data every "x" intervals.
Describe alternatives you've considered
We could do away with the counter, but it is usually helpful to know the last fetch.
Additional context
None.

Adding to that if the tab is kept opened we can send out browser push notifications if there's new cases updated. But I guess we need web socket support in server side to achieve the same.

@JunaidBabu What is the process of contribution to this repo? Can you help me add as a collaborator

I have added a pull request that will do an ajax polling every 5 seconds to update the data live without refresh. https://github.com/covid19india/covid19india-react/pull/202

#196 closes this.

#202 covers the home page component that was missed in #196. also included disabling the poll when navigated to other tab

Closed with #196


Make LibLogException internal when using symbol LIBLOG_PROVIDERS_ONLY

Closes  #169

Created #271 that also fixes #267

@damianh This has been resolved by merging #271


can't see team expiration section

I do not see the teams expiration section in the teams settings page even though I received a mail warning me of expiration in 30 days (so policy is applied)

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b41d63bc-26f4-fd50-adc4-f665c1a4cd88
Version Independent ID: 24248b2d-79a1-98a7-86dd-f6dbcf9e2ab3
Content: Team expiration and renewal in Microsoft Teams - Microsoft Teams
Content Source: Teams/team-expiration-renewal.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@FlorianRD thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Migrate config_test from integration => services/main

/cc @robskillington

Interesting, any idea why coverage didn't improve?  It might need to be in the server package actually.

@robskillington yep the short skip helped. leaving it in this package adds 0.05-0.1% (multiple runs), moving it to server made it drop -0.1%


error 403 and "Call to a member function getDataType() on null" on domain redirect

Hello,
when scrapping this url
https://www.extreme-down.xyz/rss.xml
which redirect to
https://www.extreme-down.ninja/rss.xml
it doesn't work
[INFO] UAM (retry: 0) -> applying HTTPS settings
[INFO] UAM (retry: 0) -> waiting for 5 seconds!
[INFO] UAM (retry: 0) -> getting form params...
[INFO] UAM (retry: 0) -> (r param: 3f8.........lb)
[INFO] UAM (retry: 0) -> (jschl_vc param: 728e75.....756f7a1348)
[INFO] UAM (retry: 0) -> (pass param: 15788.......RIew/)
[INFO] UAM (retry: 0) -> (jschl_answer param: 2..........502)
[INFO] UAM (retry: 1) -> applying HTTPS settings
[INFO] UAM (retry: 1) -> waiting for 5 seconds!
[INFO] UAM (retry: 1) -> getting form params...
then it redirect and the html is

<title>403 Forbidden</title>

403 Forbidden

cloudflare

if i directly do the request on the new url  (https://www.extreme-down.ninja/rss.xml) it works without problem
the line number may not match exactly as i modified the code to show the html
Notice:  Undefined offset: 1 in .../CloudflareBypass/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 39

Notice:  Undefined offset: 1 in .../CloudflareBypass/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 40

Notice:  Undefined offset: 1 in .../CloudflareBypass/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php on line 41

Notice:  Undefined offset: 1 in .../CloudflareBypass/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageChallengeCode.php on line 54

Notice:  Undefined offset: 2 in .../CloudflareBypass/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageChallengeCode.php on line 54

Fatal error:  Uncaught Error: Call to a member function getDataType() on null in .../CloudflareBypass/vendor/kyranrana/cloudflare-bypass/src/main/Model/UAM/UAMPageFormParams.php:68

Try with version 3.4.0 ?

kyranrana/cloudflare-bypass dev-master requires php ^7.2 -> your PHP version (7.0.33) does not satisfy that requirement.

kyranrana/cloudflare-bypass dev-master requires php ^7.2 -> your PHP version (7.0.33) does not satisfy that requirement.

i don't think there is any reason to already drop php 7.0 support, i'm using a debian version that is still supported and which have php7.0


Retropi Gunconf loading issue

When I launch Gunconf it loads and tells me that it detected the gun and to pull the trigger to configure then it just sits at "gun detected loading configuration" . It isn't frozen because I can select quit. I have have let it sit like that over night and it still never loads.

im messing with one also. this guy quit working on this long ago. its a permission issue not letting the app read the gun. try setting it up on a windows pc first

Was this solved? Is setup on a Windows pc enough? Or are different permissions needed?

I tried setting up the gun in Windows first, but that didn't solve the issue for me. Has anyone gotten this to work?


Convert The game into Porgressive web application PWA

Currently This is only a web game. We would like to support PWA which enables users to install the game on their phone directly by just tapping one single button.
The browser prompts user to install the game.
No need to code the game again for android or different OS.
It is simple task and requires to add only a few new files like manifest file and it is ready to go.

hey @pandeyganesha . I am still new to the coding, I don't know if I have enough skill for making this task, but if you don't mind about my poorly skill. I want to give this task a try as it would be my first issue

@B2111915gb hey, it's completely Ok to give it a try. That's how we learn. Go ahead, let me know if you need any help. Go ahead and give it a try. It's not that difficult.