Application context keeps refreshing for cloud config server after fixed duration

The spring application context gets refreshed after fixed interval of time ~15s.
Issue#1 -- I would like to know if this is desired behavior to reload the context continously. Does @EnableConfigServer keeps polling for the configurations? If not what is the way to disable it. I see it happens due to the health check but using property  "spring.cloud.config.server.health.enabled=false" did not have any affect.
Issue#2 --  This causes extra noise in the logs as well. Any way to disable them apart from putting custom filter in logback?
Spring boot version:- 1.3.5.RELEASE
Spring cloud version:- 1.0.4.RELEASE
Example logs:-
2016-06-23 16:03:35,526 INFO  [XNIO-3 task-126] org.springframework.context.annotation.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@50b345ea: startup date [Thu Jun 23 16:03:35 IST 2016]; root of context hierarchy
2016-06-23 16:03:35,528 INFO  [XNIO-3 task-126] org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2016-06-23 16:03:35,550 INFO  [XNIO-3 task-126] org.springframework.context.annotation.AnnotationConfigApplicationContext - Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@50b345ea: startup date [Thu Jun 23 16:03:35 IST 2016]; root of context hierarchy
2016-06-23 16:05:20,763 INFO  [XNIO-3 task-133] org.springframework.context.annotation.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@715e3d3a: startup date [Thu Jun 23 16:05:20 IST 2016]; root of context hierarchy
2016-06-23 16:05:20,766 INFO  [XNIO-3 task-133] org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring

Config server does not do polling. Do you have config clients that get /health pinged every 15s?

Apologies for replying late here.
Yes we have consul which regularly does the health check for all services including the config-server as well. Will check for any config client doing it as well.
But I'm surprised why simple health check refreshes the application context.

@spencergibb do you think I've to develop another health check point for consul in this case to avoid application refresh or we can achieve this by any other means?

Adding some debug information:-
While doing ConfigServer health check in ConfigServerHealthIndicator, there is a call to findOne environment which internally which creates and refreshes the application context via SpringApplication class.

Solved this temporarily by disabling the config-server endpoint for now, applying spring.cloud.config.server.health.enabled=false in bootstrap.yml. Earlier I applied in application.yml but it did not work as had a dependency of spring cloud config in my project.
Keeping this issue open as I'm waiting to see if refreshing / reloading the spring application context is avoidable while doing a health check.

I also getting this issue where did you put spring.cloud.config.server.health.enabled? this is not valid properties in my config application or my client application? why would consul health check make config reload entire context? this does not make any sense.

@ekfliu it's pretty clear the answers to your question in the comments above.

spring.cloud.config.server.health.enabled=false in bootstrap.yml
The health check of the application tries to get configuration from config server, it consul is pinging /health every 10 seconds it will get config from config server every 10 seconds. It doesn't reload the entire context. See https://github.com/spring-cloud/spring-cloud-config/issues/260 for conversation about if the health check should be enabled by default or not.

okay but the issue is spring.cloud.config.server.health.enabled is not considered to be a valid property in my application in both the config or the client application. I put the settings in anyway but it does not stop the config refresh.
This application originally uses eureka and works fine. but after moving to consul i kept getting this intermittent timeout on my zuul proxy service. I am not sure if this is related to config refreshing or not, but trying to remove all the variables to debug this issue.

okay looks like you need it on both on the config server and the client application.
Thanks

okay the actual settings that i got it to work is health:config:enabled: false in the application.yml for both the config server and the client application. now when manually hitting the url http://your-service/health used by consul it no longer check the server for new configs.
Thanks Again.

Hi all, one thing that i didn't get yet from the answers.
Why the configuration service is recreating the application context again and again every few seconds... I have a standalone configuration service which get timeout when i try to call it because it is refreshing the application context all the time

@ezraroi that's an implementation detail of how config server works. Something is hitting it every few seconds. Likely a monitoring solution hitting /health of clients.

@spencergibb i understand this, but isn't it possible to do the health check without recreating the context? If there is no such case i think it is better to not allow it at all as this makes the configuration service to become not responsive

@ezraroi it's not the main application context.

@spencergibb , ok.. but still looks like it is making the configuration service very loaded and prevents it to answer calls

Config server does not do polling. Do you have config clients that get /health pinged every 15s?

Yes , i had... i disabled this after reading in this issue.. It helped reducing the load from the configuration service

Can we close this then?

looks like yes


Updated validations.py python script

…a forbidden character
Closes: #1
Updated validations.py python script. Fixed the behavior of validate_user function in validations.py.
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Updates to Installs, should fix a few tools especially on 14.04

Also fixes #127 subsequently.
xrop after so long has been fixed - turns out it was just a bad symlink and missing package.
Taintgrind also is fixed - needed valgrind 3.12 to build properly.
Sourceforge links can now all be https, and easier to wget thanks to their changes siteside.

Thanks!


Hearings: on create hearing, set value to null

SSCS-12151
Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

not needed due to latest changes on tribs


OldPassword Assumes password_salt exists

I'm using devise with bcrypt and it doesn't need a password_salt so I removed it along with the one in old_passwords table in 0.6.0 and attr_accessible :password_salt was added to OldPassword in 0.6.2
It would be nice if there was a way to work around it by defining my own OldPassword class or some config to specify the accessible attributes.

I think the code should not assume :password_salt exists. This change solves it for me:
  def old_password_params
    old_params = { :encrypted_password => self.encrypted_password_change.first }
    salt_change = if self.respond_to?(:password_salt_change) and not self.password_salt_change.nil?
      params[:password_salt] = self.password_salt_change.first
    end
    old_params
  end

I think the code should not assume :password_salt exists. This change solved it for me:
  def old_password_params
    old_params = { :encrypted_password => self.encrypted_password_change.first }
    salt_change = if self.respond_to?(:password_salt_change) and not self.password_salt_change.nil?
      params[:password_salt] = self.password_salt_change.first
    end
    old_params
  end

Since password_salt was removed in Commit 77708b3 I believe this is no longer an issue.


[WIP] refactor

This includes build-script change and it's requested exclude them from this PR by @yanorei32.
Closing this PR and open new PR without them.


[SPARK-33660][DOCS][SS]  Fix Kafka Headers Documentation

What changes were proposed in this pull request?
Update kafka headers documentation, type is not longer a map but an array
jira
Why are the changes needed?
To help users
Does this PR introduce any user-facing change?
no
How was this patch tested?
It is only documentation

@HeartSaVioR

Can one of the admins verify this patch?

Thanks for the contribution! I merged into master, branch-3.1, branch-3.0 respectively.


Remove the (already ignored) .DS_Store file

.DS_Store is already part of .gitignore, so it should not be committed.

@goneall Would you mind having a look at this PR?

@sschuberth - I'm away from my development environment for the next few days - I'll merge in the pull request next week when I get back from my travels

I was able to clone/fix this remotely - The file has been removed and committed to git.spdx.org.  It should be reflected in the git repository soon.


Update resource name for agentPoolOnly API model

What this PR does / why we need it:
This PR updates resource name for agentPoolOnly API from "hostedMaster" to "managedCluster" as decided by the team.

This change is

SGTM!


Understanding enum types in Java

Article checklist
Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes
This closes #4154.

Plagiarism check done ✔

Thank you for your response
On Tue, 2 Nov 2021, 10:41 am Peter Kayere, @.***> wrote:

Plagiarism check done ✔
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/pull/4447#issuecomment-957271334,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFRLSUV7WPQYQAUAIR6D5ILUJ6W4VANCNFSM5GEKANKQ
.

Ok, I'll check it out.
On Wed, 3 Nov 2021 at 17:21, Briana Nzivu @.***> wrote:

@.**** requested changes on this pull request.
Hey @ehizman https://github.com/ehizman 👋 .
Your class_diagram image is still large. Should be 600 x 400 px.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/pull/4447#pullrequestreview-796795112,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFRLSUSSPPKVNMNMCDOYJ2DUKFOPVANCNFSM5GEKANKQ
.

Done with tech review 👍

Ok, I'll check it out.
…
On Wed, 3 Nov 2021 at 17:21, Briana Nzivu @.> wrote: @.* requested changes on this pull request. Hey @ehizman https://github.com/ehizman 👋 . Your class_diagram image is still large. Should be 600 x 400 px. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#4447 (review)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFRLSUSSPPKVNMNMCDOYJ2DUKFOPVANCNFSM5GEKANKQ .

Let me know when you fix it. Otherwise I am done with the review 👍 .
Waiting on you.

@BrianaNzivu.
I just fixed it.
Thank you much for your patience

I will go through the corrections made
Thank you @BrianaNzivu

Hi @ehizman
Awesome job on the article.
cc: @BrianaNzivu

Thank you
On Fri, 12 Nov 2021 at 11:27, linusmuema @.***> wrote:

Hi @ehizman https://github.com/ehizman
Awesome job on the article.
cc: @BrianaNzivu https://github.com/BrianaNzivu
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/section-engineering-education/engineering-education/pull/4447#issuecomment-966991577,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFRLSUU3MZOUPRG2XRDB4FTULTTZ3ANCNFSM5GEKANKQ
.


Crash on startup macOS la13.0 Beta (22A5331f)

Lapce Version
The Lapce version you are using, which can be found in "About Lapce" at the top right settings icon.
System information
the operating system used, including its version, e.g. Windows 10, Ubuntu 18.04
Describe the bug
A clear and concise description of what the bug is.
Additional information
Other information that can be used to further reproduce or isolate the problem.
This commonly includes:

screenshots
logs
theories about what might be going wrong
workarounds that you used

whoops hit enter too soon

duplicate of #650

duplicate of https://github.com/lapce/lapce/issues/650


Tutorial: Automated deployments

Also fixed the next/prev for the tutorials

Great tutorial!

Awesome!  Great work, @ArjenSchwarz!

Thank you so much for your contribution, @ArjenSchwarz!  Your tutorial has been committed, and is now live at http://gohugo.io/tutorials/automated-deployments/


Add example section in UDF map section

Summary
What change needs making?
Add an example section in UDF map similar to Reduce section.
Docs Link: https://numaflow.numaproj.io/user-guide/user-defined-functions/map/map/

Thanks @tasneemkoushar  for taking up this issue


SecretSelect namespace filtering

[x] Choices in the dropdown aren't sorted

[x] The secrets are shown from all namespaces.  Most/all uses of this should only be offering secrets in a single selected (from NameNsDescription usually) namespace.  Should take a prop for the namespace and filter the choices down to those.

IF choosing from among all namespaces is needed somewhere (I don't think it is, since it won't work right now):

[ ] The emitted info needs to include the namespace, right now only the bare name is emitted so there's no way to identify the namespace.

[ ] The select shows no indication of what namespace each item is in.  Should have something like the equivalent of <optgroup>s to delineate, or at least prefix each one.

[ ] Blows up with duplicate (vue v-for) keys (I'm assuming this won't be a problem if filtered down to one NS since names can't be duplicated):

It shouldn't need access to all namespace so I took care of the first two items.

As I consulted with @codyrancher, verifying this fix is relevant to the "logging" app's output creation and how the secret select was a problem.
On branch 2.5.1,
When you try to create a logging output there was no selector available

Verified on 2.5-master, e971e07
With fix the secrets are filtered by namespaces and show secrets in that namespace and so that users can't select from another namespace.


beaconing design needs work

Here's a pic of a wireshark capture of poet in action

since poet's beacons are woefully simple and literally based on whether the client can socket.connect() to the server, at a network level, this equates to a client sending a tcp syn, and the unlistening server sending back a tcp rst. this is pretty noisy, and all those rsts are really suspicious looking if anyone's looking at traffic.
really need to refactor the beacons to use an actual protocol (beacon over http(s), dns, etc). good examples for this might be

https://github.com/silentbreaksec/Throwback
https://github.com/silentbreaksec/ThrowbackLP
potentially mudge's open source stuff

but of course, if we want these beacons to not trigger rsts, that necessitates a different server-always-on design


include hue manager for hadoop stack

Please could you please find time to include a gui manager for hadoop . Some users are not techies : ) .

@lavvy, will look into it. Will be a little bit before I get a chance to add something. Thanks for the feedback!

@lavvy, it looks like Hue wants Oozie/Pig available to submit jobs via.. Yarn? I'm not 100% on the ecosystem, but does that sound right? I was hoping to keep this somewhat core with HDFS/Yarn, but can certainly see the utility of HUE.

Yeah,  it helps most hadoop apps,  i think we should have some relevant
hadoop apps too like impala for sql like operations.
I can't remember again where i came across a docker image that includes
most of the relevant apps including impala ,  maybe i should look for it
again if it's necessary
On Nov 7, 2015 6:38 AM, "Bill Maxwell"<EMAIL_ADDRESS>wrote:

@lavvy https://github.com/lavvy, it looks like Hue wants Oozie/Pig
available to submit jobs via.. Yarn? I'm not 100% on the ecosystem, but
does that sound right? I was hoping to keep this somewhat core with
HDFS/Yarn, but can certainly see the utility of HUE.
—
Reply to this email directly or view it on GitHub
https://github.com/rancher/compose-templates/issues/4#issuecomment-154628460
.


Imply "localhost" when loopback IPs are excluded

as "localhost" is usually mapped via "hosts" file to a loopback IP address.
Resolves: https://github.com/lycheeverse/lychee/issues/319

Hmm, is CI only enabled on master branch (of forks)?

Does structopts somehow pull the help text from the code comments in options.rs? As I cannot find an explicit assignment anywhere.


Adding a new event fails

@tisto At the moment it is not possible to add new events with Volto. Tying to do that sends you to an empty page.

Steps to reproduce:

Go to https://volto.kitconcept.com
Login as admin:admin
Add new event: https://volto.kitconcept.com/add?type=Event
-> Empty page
-> Open network tab, request to https://volto.kitconcept.com/api/@types/Event fails with a 500 error. Trace:

{
  "message": "No converter for making <function default_timezone at 0x7f11e46a2b18> (<type 'function'>) JSON compatible.",
  "traceback": [
    "File \"/plone/lib/python2.7/site-packages/ZPublisher/Publish.py\", line 138, in publish",
    "    request, bind=1)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/ZPublisher/mapply.py\", line 77, in mapply",
    "    if debug is not None: return debug(object,args,context)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/ZPublisher/Publish.py\", line 48, in call_object",
    "    result=apply(object,args) # Type s<cr> to step into published object.",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/rest/service.py\", line 23, in __call__",
    "    return self.render()",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/services/__init__.py\", line 19, in render",
    "    content = self.reply()",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/services/types/get.py\", line 52, in reply",
    "    self.request",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/types/utils.py\", line 208, in get_jsonschema_for_portal_type",
    "    fti, context, request, excluded_fields=excluded_fields)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/types/utils.py\", line 194, in get_jsonschema_for_fti",
    "    'properties': json_compatible(properties),",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/serializer/converters.py\", line 72, in json_compatible",
    "    return IJsonCompatible(value, None)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/zope/component/hookable.py\", line 33, in __call__",
    "    return self.__implementation(*args, **kw)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/zope/component/hooks.py\", line 119, in adapter_hook",
    "    return siteinfo.adapter_hook(interface, object, name, default)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/serializer/converters.py\", line 133, in dict_converter",
    "    values = list(map(json_compatible, values))",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/serializer/converters.py\", line 72, in json_compatible",
    "    return IJsonCompatible(value, None)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/zope/component/hookable.py\", line 33, in __call__",
    "    return self.__implementation(*args, **kw)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/zope/component/hooks.py\", line 119, in adapter_hook",
    "    return siteinfo.adapter_hook(interface, object, name, default)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/serializer/converters.py\", line 133, in dict_converter",
    "    values = list(map(json_compatible, values))",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/serializer/converters.py\", line 72, in json_compatible",
    "    return IJsonCompatible(value, None)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/zope/component/hookable.py\", line 33, in __call__",
    "    return self.__implementation(*args, **kw)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/zope/component/hooks.py\", line 119, in adapter_hook",
    "    return siteinfo.adapter_hook(interface, object, name, default)",
    "",
    "  File \"/plone/lib/python2.7/site-packages/plone/restapi/serializer/converters.py\", line 86, in default_converter",
    "    ' {0!r} ({1}) JSON compatible.'.format(value, type(value)))"
  ],
  "type": "TypeError"
}

@tisto what version of plone.restapi?

@tisto It's fixed since 3.5.2, now it's working fine, thanks to @davisagli :)
However, it seems that editing the object fail to get the current value in the form, I will open an issue for that.


Migrate version logic to pkg:build_version

Very nice! (build_version will be quite a useful utility builder.)

😄


Python Extension issue

Hi folks.
I'm using VS Code with the Python extension. For some days now, I am experiencing high CPU load from VS Code which I could trace back to the Python extension.
The issue occurs latest after trying to run a Python Script (via Ctrl+F8).
Best regards,
Maic

Issue Type: Bug
Extension Name: python
Extension Version: 2021.4.765268190
OS Version: Windows_NT x64 10.0.18363
VS Code version: 1.55.2

:warning: We have written the needed data into your clipboard. Please paste! :warning:
{
	"messages": [],
	"activationTimes": {
		"codeLoadingTime": 209,
		"activateCallTime": 7,
		"activateResolvedTime": 465,
		"activationReason": {
			"startup": false,
			"extensionId": {
				"value": "VisualStudioExptTeam.vscodeintellicode",
				"_lower": "visualstudioexptteam.vscodeintellicode"
			},
			"activationEvent": "api"
		}
	},
	"runtimeErrors": []
}

CPU-20210427T142116.281Z.cpuprofile.txt

Hi, sorry for the delay, can you please share your python output logs?


Add failsOnly cli option(issue 4295)

Summary
CLI option to only print failed tests + summary issue_4295

Test plan

Codecov Report

Merging #5554 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #5554      +/-   ##
==========================================
+ Coverage    61.7%   61.72%   +0.01%
==========================================
  Files         213      213
  Lines        7150     7153       +3
  Branches        3        4       +1
==========================================
+ Hits         4412     4415       +3
  Misses       2737     2737
  Partials        1        1

Impacted Files
Coverage Δ

packages/jest-config/src/index.js
25.92% <ø> (ø)
:arrow_up:

packages/jest-config/src/valid_config.js
100% <ø> (ø)
:arrow_up:

...ackages/jest-cli/src/reporters/default_reporter.js
91.78% <100%> (+0.35%)
:arrow_up:

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 5f8ad63...1a45e3e. Read the comment docs.

Hey @hramezani, thanks for the contribution!
As mentioned in #4295, this can be best solved with a custom reporter
Check out jest-silent-reporter as an example


Import: make visibility of KML points configureable

resolves #2722

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

20 of 20 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 99.685%

Totals

Change from base Build<PHONE_NUMBER>5:
0.005%

Covered Lines:
13510

Relevant Lines:
13511

💛  - Coveralls


Add integration testing

This change adds a basic framework for doing baselined integration tests.
This is very similar to what we do elsewhere with generated files and
tests that read them from resources.
What's here now is the support to do this kind of baselining with IR in a
pretty readable serialization format.
This is a building block and the intent is that we'd do something similar
in the future for syntax nodes and C# source.
Looking at the code of the tests in particular, we'll also build the
ability to capture the documents at key points (such as before/after a
targeted phase) and then verify them in the same manner.

/cc @NTaylorMullen

Reviewed changes in person with @NTaylorMullen


[Swagger specification] skip the reference object property [OPENAPI 3.+]

Swagger specification :
Consider in the case of "allOf" , i don't want to use one of the properties from my reference object , how should I achieve that?
example :
recipientAddress:
allOf:
- $ref: '#/components/schemas/Addresses'
Addresses:
properties:
addressCategory:
type: string
maxLength: 10
description: Type of Address
enum:
- PERMANENT
- COMMUNICATON
example: PERMANENT
addressLine1:
type: string
maxLength: 40
description: First line of the Address
example: host tower
here i don't want property "addressCategory" in my object "recipientAddress".

What's the point in cross posting here and https://github.com/OAI/OpenAPI-Specification/issues/2116#issuecomment-981813071? Also, when posting snippets, please make sure to use github's markdown otherwise it's hard to read your examples.


Ability to Define Homepage for Consoleme Webserver

Is your feature request related to a problem? Please describe.
We currently have a workflow in place for developers to assume role into different accounts in the AWS Console. As a result, the AWS Console Roles page will not be used by us. However, that is the homepage of the webserver.
It would help documentation and User eXperience within the company if I could define the homepage of the webserver. Specifically, to either /policies or /selfservice.
Describe the solution you'd like
Additional configuration in the consoleme config to define the homepage of the webserver
Describe alternatives you've considered
N/A
Additional context
Discussed briefly in the Consoleme Discord

Resolved in mentioned PR

Thank you!!


partially works on linux!

I have come from the reddit post and I mentioned on using linux, I have spent a few days on trying to get the hammer++ to work on linux and I finally got it working, now I have tested your plugin and it seems to work so far with basic geometry squares and rectangles (havent tested complex geometry yet) and it seems to work for that, but the textures dont seem to load in, though I am missing one third party dependency since it is an exe file I am not sure how it will work on the linux side.

Since I'm not a Linux user, I'm not sure how to help you with it.
Sorry about that.

I understand, I simply wanted to tell you it kinda works haha.

@Dragon20C Thank you :)


go-sqlcmd and install impacts

The documentation appears to assume that no prior installations of [sqlcmd] are present.  I would like to see a section added to the documentation at [https://learn.microsoft.com/en-us/sql/tools/sqlcmd/go-sqlcmd-utility?view=sql-server-ver16&tabs=windows] to include reference to how the install deals with prior installations of [sqlcmd] since the command to install doesn't have a different name.

Do I need to remove prior installations of [sqlcmd]?
Will this overlay the existing installations of [sqlcmd]?
Can earlier editions co-exist side-by-side?

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

ID: 094da575-8e25-b22b-9db0-4355c446109a
Version Independent ID: 094da575-8e25-b22b-9db0-4355c446109a
Content: go-sqlcmd utility - SQL Server
Content Source: docs/tools/sqlcmd/go-sqlcmd-utility.md
Service: sql
Sub-service: tools-other
GitHub Login: @grrlgeek
Microsoft Alias: jeschult

Thanks for the suggestion, @LindaLF. We will take this feedback into account when we review the documentation for go-sqlcmd. Stay tuned!

We have updated the article. The changes should be up in the next day or so.
#please-close


Enquire for missing service allocation - To be discussed with Devs

Description
What sould our flow for service allocation be? empty / not valid --> topic --> location?
the user is asked explicitely: "Es tut mir sehr leid, aber leider kann ich nicht erkennen, um welchen Tickettypen es sich handelt. Ist es ein Issue oder ein Service Request?"
Below the text input field two choices should appear, one stating "Issue" and the other "ServiceRequest". The user can then choose the correct one, with the information being included in the ticket as value for RequestType.
After the user made a choice, the following message appears: "Vielen Dank! ich habe Dein Ticket erfolgreich angelegt [dead link behind ticket]."
User story

As a IT support ticket agent
I want / need the tickets to be assigned to the correct services
So that I can deal with the correct tickets

Acceptance criteria

[ ] the messages are displayed as described aboce
[ ] the valid choices are visible
[ ] the user's choice is included in the ticket

Definition of done (DoD)

Work products are uploaded to the Github repository and merged to the main branch
If necessary, the bill of materials section of the planning documents is updated
Code/feature passes suited tests
Code is peer-reviewed
Help documentation (README) is updated
Fits into our architecture, where possible

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

How to we recognise not being able to recognise service, and we need to follow up with the user.


spacer_between_sections setting missing text input

The settings for "spacer_between_sections" only provide a checkbox, I see no possibility to set it to "after_description" so a new line is only added after the description and not between all sections.

Setting spacer_between_sections to after_description in config.csondoesn't seem work either. In lib/docblockr.js, its type is set to boolean.

PR #145 tries to fix this.


:PluginInstall on vim 8.

I just changed my linux distro into a newer one and 'sudo apt install vim' downloaded vim 8.
Vundle was working fine with vim 7 but now after I cloned the repo and put everything in .vimrc, running :PluginInstall yields a 'not an editor command' error. So I cloned vundle into a .vim/plugin instead of .vim/bundle and :PluginInstall finally worked but it only installed vundle plugin and completely ingnored the rest of the plugins.

I just removed vim and  the .vim folder and reinstalled it again and everything worked.

Thanks for follow-up. so the initial issue was incorrectly clonig into plugin folder?
Closing


Is that possible to send emojis?

All is in the title :)
Btw, nice job

Hi!
It is not possible for now! we will fix it in near future


Use https://github.com/fortio/log/releases/tag/v1.17.1

windows seems to have issues, merging anyway


the first argument is null when i use history.listen in Component

I use history.listen in Component but get null
export default class App extends Component {

  constructor(props) {
    super(props);

    let history = this.props.history;
    history.listen((location) => {
      console.log(location)  // here get null
    })
  }
}

however,  in entry file I write these, get a Object
const history = syncHistoryWithStore(myhistory, store)
history.listen(function (location) {
  console.log(location) // here get a Object
  return location
 })

ReactDOM.render(
  <Provider store={store}>
    <Router history={history} >
        { routes }
    </Router>
  </Provider>,
  document.getElementById('root')
);

A lot of info is missing here. What library versions are you using? How does your App component get the history prop? Is it a route component?
I would ask this on Stack Overflow. I don't see a bug with the library here, so this isn't the right place for a usage question.

Probably the problem was solved, but the smilce code helped me, because none of the documentation says how to use history in a component like in the example, thanks!example if someone else has the same question:
//index.js
import React from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
import { ConnectedRouter } from 'react-router-redux';
import store, { history } from './store';
import App from './containers/App';
...
const target = document.querySelector('#root');
render(
    <Provider store={store}>
        <ConnectedRouter history={history}>
            <div>
                <App />
            </div>
        </ConnectedRouter>
    </Provider>,
    target
);

//containers/App
...
import { alert } from '../actions/alert';

class App extends Component {
  constructor(props) {
    super(props);

    this.props.history.listen(() => {
      this.props.dispatch(alert.clear());
     });
  }
...


Help updating user resource

Apologies if I should be adding this somewhere else (I wasn't able to find a google group) but I am having trouble finding how to update the user resource after being authenticated.  I am using a remote authentication with something similar to this: http://4trabes.com/2012/10/31/remote-authentication-with-devise/ that doesn't use an ORM.  In the remote_authentication method I am calling a remote service to authenticate and the response has an auth_token that I am storing int he User model that is a PORO.  My code looks like this:
      def remote_authentication(authentication_hash)
        params = {
          'username' => authentication_hash[:email],
          'password' => authentication_hash[:password],
          'client_id' => 'special-client',
          'grant_type' => 'password'
        }
        result = AuthClient.get_oauth_token(params)
        return false unless result.success?
        response = JSON.parse(result.response)
        self.email = authentication_hash[:email]
        self.auth_token = response['access_token']
        self.refresh_token = response['refresh_token']
        self.expires_at = Time.now + response['expires_in']
        return self
      end

      module ClassMethods
        def serialize_from_session(data, salt)
          resource = self.new
          resource.email = data['email']
          resource.auth_token = data['auth_token']
          resource.refresh_token = data['refresh_token']
          resource.expires_at = data['expires_at']
          resource
        end

        def serialize_into_session(record)
          [
            {
              :email => record.email,
              :auth_token => record.auth_token,
              :refresh_token => record.refresh_token,
              :expires_at => record.expires_at
            },
            nil
          ]
        end

This stores the user object in the session which is good but in later requests I need to check if the auth token is expires and refresh it.  I am doing this in my ApplicationController but I am having trouble updating the User resource and having it stored in the session data so all subsequent requests will use the new data that is pulled in by serialize_from_session.  Any pointers on where I should update this data?  I could keep storing it in session[:auth_token], etc but the User resource will always have old data which seems weird to me.  Any suggestions on how to update the user resource?  Thanks in advance.

I think the easiest thing to do here would be to call warden.set_user (or sign_in with devise). on each request. I think something like.
warden.user.refresh_things!
warden.set_user(warden.user)


codeunit 10144 "Posted Deposit-Delete" - OnBeforeDelete - Event Request

codeunit 10144 "Posted Deposit-Delete"
{
Permissions = TableData "Posted Deposit Header" = rd,
TableData "Posted Deposit Line" = rd;
TableNo = "Posted Deposit Header";
trigger OnRun()
begin
    PostedDepositLine.SetRange("Deposit No.", "No.");
    PostedDepositLine.DeleteAll();

    //NPO begin
    OnBeforeDelete(Rec);
    //NPO end

    Delete;
end;

//NPO begin
[IntegrationEvent(false, false)]
local procedure OnBeforeDelete(var Rec: Record "Posted Deposit Header")
begin
end;
//NPO end

var
    PostedDepositLine: Record "Posted Deposit Line";

}

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Keep versionCode and versionName in source control

We need a convenient way to set the versionCode and versionName of an app when we are sending it to the PlayStore. Currently it can be set manually in the android project generated in the platforms folder but we try to keep it out of source control.
So a few options are to keep them in:

app/App_Resources/android/app.gradle
app/App_Resources/android/AndroidManifest.xml
package.json
anywhere appropriate for source control

related to: https://github.com/NativeScript/template-hello-world/pull/36

This issue was discussed with the tns CLI team and they will provide it.


Webpack cant resolve module 'babel-runtime'

Hi there, I've just started using this library and its going well except for an issue that I haven't been able to resolve.  I'm not sure what's causing it, but it started when I installed this library and the required RXJs libraray, and updated WebPack (1.13.2) and Babel (core 6.14) to handle the ES2016 features.
The babel-runtime is in dependencies, babel-plugin-transform-runtime is in devDependencies, I've tried clearing the NPM cache, removing and reinstalling node_modules, changing parameters on the webpack CommonsChunkPlugin, .bablerc, etc for 2 days and the exception is still thrown in the browser.  Even odder, the application seems to be working, but I cant have this browser exception.
Here is the output from webpack --display-error-details
> webpack --display-error-details

clean-webpack-plugin: /Applications/MAMP/htdocs/tonight/build has been removed.
Hash: 5d841416e86a960afb3d
Version: webpack 1.13.2
Time: 58269ms
                           Asset       Size  Chunks             Chunk Names
                      robots.txt   26 bytes          [emitted]
  vendor.b47001ac2219ce9e5fe0.js    3.09 MB    0, 2  [emitted]  vendor
manifest.7f098e6c96f193b21664.js  763 bytes       2  [emitted]  manifest
    app.edc2af931ca5a3a1776b.css    16.2 kB    1, 2  [emitted]  app
                     favicon.ico    1.15 kB          [emitted]
                      index.html    2.04 kB          [emitted]
     app.edc2af931ca5a3a1776b.js    2.39 MB    1, 2  [emitted]  app
           styles/icon-style.css    1.14 kB          [emitted]
               fonts/icomoon.svg    8.34 kB          [emitted]
               fonts/icomoon.eot    3.26 kB          [emitted]
              fonts/icomoon.woff    3.18 kB          [emitted]
               fonts/icomoon.ttf     3.1 kB          [emitted]
   [0] multi vendor 496 bytes {0} [built] [1 error]
    + 2483 hidden modules

ERROR in multi vendor
Module not found: Error: Cannot resolve module 'babel-runtime' in /Applications/MAMP/htdocs/tonight
resolve module babel-runtime in /Applications/MAMP/htdocs/tonight
  looking for modules in /Applications/MAMP/htdocs/tonight
    /Applications/MAMP/htdocs/tonight/babel-runtime doesn't exist (module as directory)
    resolve 'file' babel-runtime in /Applications/MAMP/htdocs/tonight
      resolve file
        /Applications/MAMP/htdocs/tonight/babel-runtime doesn't exist
        /Applications/MAMP/htdocs/tonight/babel-runtime.js doesn't exist
        /Applications/MAMP/htdocs/tonight/babel-runtime.jsx doesn't exist
  looking for modules in /Applications/MAMP/htdocs/tonight/node_modules
    resolve 'file' babel-runtime in /Applications/MAMP/htdocs/tonight/node_modules
      resolve file
        /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime is not a file
        /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime.js doesn't exist
        /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime.jsx doesn't exist
    resolve 'file' or 'directory' /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime
      resolve file
        /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime is not a file
        /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime.js doesn't exist
        /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime.jsx doesn't exist
      resolve directory
        directory default file index
          resolve file index in /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime
            /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime/index doesn't exist
            /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime/index.js doesn't exist
            /Applications/MAMP/htdocs/tonight/node_modules/babel-runtime/index.jsx doesn't exist
[/Applications/MAMP/htdocs/tonight/babel-runtime]
[/Applications/MAMP/htdocs/tonight/babel-runtime]
[/Applications/MAMP/htdocs/tonight/babel-runtime.js]
[/Applications/MAMP/htdocs/tonight/babel-runtime.jsx]
[/Applications/MAMP/htdocs/tonight/node_modules/babel-runtime.js]
[/Applications/MAMP/htdocs/tonight/node_modules/babel-runtime.js]
[/Applications/MAMP/htdocs/tonight/node_modules/babel-runtime.jsx]
[/Applications/MAMP/htdocs/tonight/node_modules/babel-runtime.jsx]
[/Applications/MAMP/htdocs/tonight/node_modules/babel-runtime/index]
[/Applications/MAMP/htdocs/tonight/node_modules/babel-runtime/index.js]
[/Applications/MAMP/htdocs/tonight/node_modules/babel-runtime/index.jsx]

Here is .babelrc
{
  "presets": [
    "es2015",
    "es2016",
    "react"
  ],
  "plugins": [
    ["transform-runtime", {
      "polyfill": false,
      "regenerator": true
    }],
    "syntax-async-functions",
    "transform-class-properties",
    "transform-regenerator",
    "transform-object-rest-spread"
  ]
}

Any help is appreciated

Babel can be a little tricky to get setup properly, but I'll see if I can help you figure it out.
Typically in most of my projects these days I require as a dependency babel-core and babel-loader (for webpack), but yes you should be able to use babel-runtime along with the transform-runtime instead.
Could you point me to a repo or gist with your package.json and webpack config so I can see if I can help you figure out the problem?
You also might just try to see if using babel-core and babel-loader first without the transform-runtime to see if things work that way, then we can for sure know that it is something to do with the babel-runtime and transform setup.

Hi Jeff, thanks for taking a look at this.  Here are the gists:
package.json https://gist.github.com/MrRoyce/4f017e273f77181daaea63776b382c1f
webpack.config.js https://gist.github.com/MrRoyce/280063164a5f744cb0ec3ecc36be84a7
babel.prod.js https://gist.github.com/MrRoyce/3ba2f36e50cab5fc8c3c17122f8c0e6d
webpack error log https://gist.github.com/MrRoyce/a834a0da679c9073b0d6a84cb468c566
The other piece of information that may be relevant is that I did NOT use the create-react-app for this application.  I had started it a few months ago before that starter kit was available.  I was using @bebraw survive.js as a base and that was going fine.
I posted about this problem on the survive.js site and he recommended that I use your babel.prod.js config instead of the very simple one that I was using.  I tried that, but the problem still occurs.
Thanks again for your help with this.
Royce

Royce,
I assume that your project lives in '/Applications/MAMP/htdocs/tonight' from where webpack is looking for its files.
One of the lines in the webpack error log says that
/Applications/MAMP/htdocs/tonight/node_modules/babel-runtime doesn't exist
Can you check that this directory does exist and in it is the code for babel-runtime?
Does npm ls return any warnings?
For some reason it just looks like the module isn't where it is expected to be.

Yes, the directory does exist, here is a screen shot of it.  I don't see any index.js file, but I'm not sure if that file is supposed to be there, or even how I can check to see if the index.js file is on GitHub/NPM??  I do see an index.js file in the regenerator sub-directory, should babel be using that file??

The only error I see on npm ls, is an error I've been getting for weeks for something with a bad peer dependency:
npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>

Well from looking at https://github.com/babel/babel/tree/master/packages/babel-runtime it looks like in its package.json it doesn't define a main so it would default to index.js if it existed. Though maybe babel-runtime never actually is required directly, maybe it always transforms into requiring a relative path like babel-runtime/core-js/foo in which case there wouldn't need to be an index.js
Though it looks like in webpack that it is actually looking for the default import for babel-runtime which doesn't exist. So the next question is why?

It is my understanding that you would not do that. It is something only injected by babel itself and it should be using a module relative require not requiring babel-runtime but babel-runtime/...

Thanks for the quick response!
No, I never heard of babel-runtime, and never used it in my code.  I just did a quick search in my 'src' directory and it doesn't show anywhere.
If I do a search in the entire app including node_modules, the only places it shows up is in package.json?
I've thought about writing a bug on the babel page, but I'm not sure if it is a real bug or something with my configuration.  Plus it seems they have hundreds of open issues, and not enough time or resources to sort through them all.

@MrRoyce You enabled regenerator to transpile generator functions (I assume?). To my knowledge, enabling regenerator requires babel-runtime (in versions after v6).
You have two options. Disable regenerator (if you aren't using ES2015 Generators), or configure Babel's Transform Runtime Plugin.

I don't believe there is anything we need to do with redux-logic for this issue (it seems to be a webpack/babel configuration issue). I'll close it for now.

For anyone still having the same issue, I think u might encounter this problem when u want to bundle babel-runtime into either common chunk or webpack DLL. It is not going to work because babel-runtime does not have a 'main' in their package json, it is exposed as several utilities function, not as a module. Thus it can not be resolved.


[WEBSITE] Add script for md links update

…sidebar links and change path to correct

Closed as inactual


IllegalArgumentException: The value for key %s can not be null

Great library when coding against the new MongoDB driver! Just a minor issue to report when dealing with raw BSONs.
The SimpleMapTypeCodec seems to be broken when decoding a BSON null value. The BSON null is decoded as a Java null and passed on to org.bson.BsonDocument.put(String, BsonValue) which throws an IllegalArgumentException when encountering Java null values.
I think the correct fix is to use org.bson.BsonNull.VALUE in place of Java null here: https://github.com/axelspringer/polymorphia/blob/c003be2702e48441a0619e7a4733b51194fdb06d/src/main/java/de/bild/codec/SimpleMapTypeCodec.java#L32

Hi Thomas,
thanks for using polymorphia and trying to improve it!
SimpleMapTypeCodec's intention is to encode/decode ordinary Java maps.
Most java map implementations allow to put Null-values into.
The specialized map BsonDocument extends BsonValue implements Map<String, BsonValue>, Cloneable, Bson, Serializable does not allow null. Instead a placeholder BsonNull.VALUE must be used.
If every Null-map-value would be decoded as org.bson.BsonNull.VALUE this would be quite unexpected by the consumer of that map especially since most maps to be decoded are not BsonDocument
SimpleMapTypeCodec is not the correct codec to use to decode a property of type BsonDocument. Since most codecs (also those provided by mongo driver project)
are incapable of decoding Null correctly the SimpleMapTypeCodec handles that and in most cases it works.
Now the org.bson.codecs.BsonDocumentCodec handles Null values when decoding and creates org.bson.BsonNull.VALUE for such.
If you can make sure to chain the org.bson.codecs.BsonDocumentCodec before the PojoCodecProvider in your CodecRegistry setup you should be done.
Try chaining the mongo default codecs first like:
       public static CodecRegistry getCodecRegistry() {             return CodecRegistries.fromRegistries(                     MongoClient.getDefaultCodecRegistry(),                     CodecRegistries.fromProviders(                             new EnumCodecProvider(),                             PojoCodecProvider.builder().register("com.xyz.abc").build()                     )             );         }
Let me know, if that works for you.
If you need to keep your current Codec-order try adding CodecRegistries.fromCodecs(new BsonDocumentCodec()) to the top of your registry creation.

Your argument makes perfect sense!
Therefore I'd love to change the order getting the defaults into first place but some of my classes to be handled by Polymorphia implement Iterable. This causes org.bson.codecs.IterableCodec to be picked up for them, trying to start with an array for those and failing: org.bson.BsonInvalidOperationException: A StartArray value cannot be written to the root level of a BSON document. So Polymorphia must stay in first place and changing the order does not work unless altering my domain classes.
Actually I already worked around the issue by coding things differently, so that there is no test causing the error, still. Nevertheless I think transcoding BsonDocument should work for me. Therefore to avoid running into issues in the future, I follow your suggestion and add the standard BsonDocumentCodec to the top. This works perfectly fine.


Faded item stuck at drop point after draggning

On random occasions items are "stuck" where you drop them as what seems like an image of the item in the "faded" situation it is (with alpha) when it's dragged.
If you scroll after the drop when it happens the RecyclerView and DragSort keeps working as intended but the "image" of the item that was dropped is kept on the same place on the screen.
Did anyone else experience this behavior or have any idea why it happens?

Thanks for the report.
Couple of qus:
Does the stuck image disappear when you try and drag another item, or does it always remain (with 2 now on the screen)?
Does it disapear when you close/reopen the activity?
Thanks

I think i might have the same problem as described by adamro but in my case it occurs whenever i tap on the handle, no dragging involved. the faded item gets stuck on the recyclerview and it disappears when i drag another item. This is how it looks

and if you scroll the list some items gets stacked like in the image given below

Thanks for the info. So does this only happen if you tap, if you drag it does not get stuck?
Thanks

I haven't encountered any bugs while i drag an item and yeah ,it only happens when i tap on it.
hope you fix it soon.

OK It must not be receiving the "UP" event. Have you got a touch listener over the whole list item? If the drag handle is under the listener it might not receive all events

i have a relative layout which has a onclicklistener and a onlongclicklistener and within that layout i put the handle ... but the problem still persists even after i put the handle outside the relativelayout which contains the listener.
and i have no other ontouchlistener on the item.

It also happen to me. When I tap once at viewhandle , the element will stay on screen when scrolling to top and bottom. This does not happen during dragging. Only tap once. The viewhandle should support Tap once again to cancel the effect.

Unable cancel the effect item when user press again


Information resolved for <IP_ADDRESS>/26 looks wrong

https://www.ipaddressguide.com/cidr
CIDR to IP Range
Result
CIDR Range	<IP_ADDRESS>/26
Netmask	<IP_ADDRESS>
Wildcard Bits	<IP_ADDRESS>
First IP	<IP_ADDRESS>
First IP (Decimal)	167969792
Last IP	<IP_ADDRESS>
Last IP (Decimal)	167969855
Total Host	64

Result from your lib

Address Range
Subnet Mask
Prefix Size

<IP_ADDRESS> - <IP_ADDRESS>
<IP_ADDRESS>
6

Fixed!


Create new comparators

Create the following comparators:

Ensures that metadata/hw-mac, metadata/hw-manufacturer, metadata/hw-model, metadata/hw-serial-number, metadata/partner-id are the same between two events
Compare metadata/fw-name, metadata/hw-last-reboot-reason, and  metadata/webpa-protocol to see if they are the same between two events.

Closing as #9 encompasses this issue


update coffea and physlite-experiments in jupyter-physlite image

@fbarreir, can you please update the coffea/physlite image for the jupyterhub? Thanks!

hi @nikoladze, I built the image and updated jupyterhub. I tagged the image with today's date and also as "prod". The idea is that you refer to "prod" in your dask workers and you don't need to change it every time we release something new.
eu.gcr.io/gke-dev-311213/jupyter-physlite:20220305
eu.gcr.io/gke-dev-311213/jupyter-physlite:prod


arm-embedded GCC breaks Zephyr RTOS on nRF51 (Cortex-M0)

Issue description
pkgsCross.arm-embedded.buildPackages.gcc9 causes Zephyr RTOS to immediately crash on boot for all non-trivial applications. This also occurs with GCC 7, but I did most of my testing with GCC 9 for easier comparison with Arch Linux's arm-none-eabi-gcc package, which has GCC 9.1 and works correctly.
I have reproduced this on the Nordic nRF51822, which has an ARM Cortex-M0 CPU. I have no other hardware available to test.
The output of diffoscope --tool-prefix-binutils arm-none-eabi- zephyr.nix.strip.elf zephyr.arch.strip.elf can be seen here.
Most of the differences seem to be caused by different offsets (which is unexpected, but doesn't seem to be the root cause of the problem), but I did notice this:
│  Hex dump of section '.ARM.attributes':
│    0x00000000 412e0000 00616561 62690001 24000000 A....aeabi..$...
│ -  0x00000010 0541524d 2076364b 00060907 4d080109 .ARM v6K....M...
│ +  0x00000010 05436f72 7465782d 4d300006 0c074d09 .Cortex-M0....M.
│    0x00000020 01120414 01150117 0318011a 011e04   ...............

This makes me suspect that Nix's GCC is getting confused about the architecture and potentially generating code for the wrong CPU.
Steps to reproduce
Create a Zephyr application for the nRF51 that calls k_sleep in an infinite loop. Compile in a nix-shell environment as shown below. Flash the result to the device and observe that it immediately crashes with a hard fault.

shell.nix
let
  pkgs = import <nixpkgs> { overlays = [ (import ../nix) ]; };
in

with pkgs;

let
  gcc = pkgsCross.arm-embedded.buildPackages.gcc9;
  binutils = pkgsCross.arm-embedded.buildPackages.binutils;
  toolchain = buildEnv {
    name = "arm-toolchain";
    paths = [ gcc binutils ];
  };
in mkShell {
  name = "water-level-monitor-env";
  buildInputs = with python3Packages; [
    which
    git
    gcc
    binutils
    cmake
    dtc
    gperf
    west
    wheel
    breathe
    sphinx
    docutils
    sphinx_rtd_theme
    sphinxcontrib-svg2pdfconverter
    junit2html
    pyyaml
    ply
    gitlint
    pyelftools
    pyocd
    pyserial
    pykwalify
    colorama
    pillow
    intelhex
    pytest
    gcovr
  ];

  GNUARMEMB_TOOLCHAIN_PATH = toolchain;
}

This environment is what I use for development, but it cannot be easily reproduced because many of the packages are not in upstream nixpkgs. I can publish these packages somewhere if someone wants to reproduce this environment.
Technical details

system: "x86_64-linux"
host os: Linux 5.1.7-arch1-1-ARCH, Arch Linux, noversion
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2.2
channels(root): "nixpkgs"
nixpkgs: /home/ben/Documents/Projects/nixpkgs

You should make sure the right gcc & binutils are being called. mkShell awkwardly has its own ld and cc. This can be done by putting them in "nativeBuildInputs". Note sure if this is causing the issue, just one thing to make sure is happening correctly.

Yes, its definitely calling the right toolchain. Zephyr uses GNUARMEMB_TOOLCHAIN_PATH to find GCC and binutils. I have looked at make's verbose output to confirm this. I also think the build would fail quickly if it tried to use an x86_64 toolchain.

It looks like intermixing both toolchain paths, what is type of the crash, UsageFault UNDEFINSTR ? How about use gcc-arm-embedded instead of pkgsCross.arm-embedded.buildPackages.gcc ?
Reference https://github.com/NixOS/nixpkgs/issues/51907
Also I'm also thinking about usage of Zephyr SDK directly (wrapped with build FHS) as it is used for Shippable CI in Zephyr PR testing.

I'm pretty sure I've discovered the cause of this problem, although now I'm working on building ArduPilot with a fully Nix built toolchain, and I haven't gone back and tested my Zephyr project.
The key difference between pkgsCross.arm-embedded and gcc-arm-embedded (and Arch's arm-none-eabi-gcc package, which is basically equivalent) is that the latter includes multilib versions of all the target libraries (e.g. newlib, libgcc, libstdc++). These libraries are built for a variety of -march targets, and the compiler links against the appropriate version. The full list of variants and corresponding -march flags can be found here: https://github.com/gcc-mirror/gcc/blob/1fab05a885a308c19cf42b72fd36805ddf27fdc8/gcc/config/arm/t-rmprofile#L30-L31
With pkgsCross.arm-embedded, no -march flag is passed, so you get target libraries for whatever the default gcc architecture is. In this case the default appears to be -march=armv4t, which is not going to work on your standard Cortex-M based microcontroller.
The fix is to manually specify the proper -march and other flags in the Nix platform config. Unfortunately, this currently results in rebuilding two copies of gcc (stage-static and stage-final) and also means that pkgsCross.arm-embedded is basically useless. https://github.com/NixOS/nixpkgs/issues/132340 is fixed, this solution should no longer involve rebuilding gcc.
For example, to build ArduPilot for Cortex-M4 and M7 processors, I use the following platform, which is equivalent to the v7e-m+fp multilib variant:
{
  config = "arm-none-eabi";
  libc = "newlib-nano";
  gcc = {
    arch = "armv7e-m+fp";
    float-abi = "hard";
  };
}

Additionally, newlib-nano is built with -O2 instead of -Os as in gcc-arm-embedded. I've worked around this using withCFlags [ "-Os" ], but this should probably be fixed in the package to match other distributions.
These limitations are the reason there are currently only two usages of pkgsCross.arm-embedded in nixpkgs:

fusee-launcher: works because it targets a Cortex-A processor compatible with -march=armv4t and also doesn't use any of the standard libraries.
arm-trusted-firmware: built with -nostdlib


chore: update api/beta.yaml from staging v1-yaml

What kind of change does this PR introduce?
Bug fix, feature, docs update, ...
What is the current behavior?
Please link any relevant issues here.
What is the new behavior?
Feel free to include screenshots if it includes visual changes.
Additional context
Add any other context or screenshots.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Details

8 of 14 (57.14%)  changed or added relevant lines in 7 files are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.03%) to 59.524%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/bootstrap/bootstrap.go
0
1
0.0%

internal/projects/create/create.go
2
4
50.0%

cmd/projects.go
0
3
0.0%

Files with Coverage Reduction
New Missed Lines
%

internal/storage/rm/rm.go
2
89.53%

internal/gen/keys/keys.go
5
12.9%

Totals

Change from base Build<PHONE_NUMBER>7:
-0.03%

Covered Lines:
6381

Relevant Lines:
10720

💛  - Coveralls


Dual Screen workflow?

I wonder if anyone (like me) works with a dual-screen setup.
I've tried to make Godot 3 occupy both of my screens but I wasn't able to.
Is it possible at all?
Are there any plans for such options?
Any ideas?
I've searched but found nothing.

there are a bunch of issues about it. currently it is not possible. to closest you can get (and this will not make you happy ;) ) is by using vs code on one screen with godot tools Addon and godot on the other...
And there might be OS native multi window support coming. (for popup dialogs at least) but this should allow games/(and the editor) to do anything on multiple windows.
And it also might take some time to reorganise the editor layout. It is very good at being responsive to your current test. so ripping it apart for dual window might be harder than desired... but I could imagine that that it fairly easy to do the filling modes:

screen 1: fullscreen centre window (2d 3d script...) screen 2: all the docks
pop out 2d, 3d, script, shader editor... to a new window and move it to the other screen.

As toger5 said there are numerous issues about the topic, this is better you go and discuss your ideas there. And close this one.
And from what I know we won't be seeing this feature in 3.1 for it will require a pretty hefty overhaul. But it is on the roadmap and we can hope to get it sooner rather than later.

Duplicate of #9059, not possible for now as Godot does not support multiple windows.


#2932: Aligned contract tests with Spring HATEOAS 1.x

Minor version upgrades of spring dependencies. Aligned contract tests with Spring HATEOAS 1.x. Fixed wrong client encoding used in tests.

This PR is equal to the PATCH, so you could apply what you prefer.


feat: new macro (mp_retainedkey) for adding retained key values to a …

feat: new macro (mp_retainedkey) for adding retained key values to a staging table
docs: https://core.sasjs.io/mp__retainedkey_8sas.html

:tada: This PR is included in version 3.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Expose test npm token to docker build

Change-type: patch
Signed-off-by: Giovanni Garufi<EMAIL_ADDRESS>

This would need to be injected from the pipeline as a param right? And the token would be in Vault.
By the way, can't we use a npm user for this? just asking because of the groups we made

@kaisoz we should still use the tokens for automation like CI systems.
Related to https://github.com/balena-io/balena-concourse/pull/485

@balena-ci retest


#274 Add Remaining Conversion Tools

Description

Add remaining conversion tools:
See: #274
Related Issue

See: #274
Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.

@csmoore Merged.


add quill-monix to modules list

I forgot to add quill-monix into the module list in #1263. Remedying that here.

[ ] Unit test all changes
[ ] Update README.md if applicable
[ ] Add [WIP] to the pull request title if it's work in progress
[ ] Squash commits that aren't meaningful changes
[ ] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

Shoot, also formatting was not done because quill-monix was not in modules list.


Fix bug in counting items for search query

The implementation of GenericBaseDao#searchAndCount() can result in incorrect count. This happens because the implementation of the GenericBaseDao#getCount method ingores the groupBy components of the search queries completely. This means the count returned will always be larger than
the actual count when not considering pagination.
The change to ignore the group by components was brought in b0ce8fd which also fails to explain the rationale. This was probably because the groupby would be executed after select count(*) has finished.
Further investigation of the getCount usage reveal they are always accompanied by search queries which include groupBy components via GenericBaseDao#searchIncludingRemoved method.
Current code diff between search and count methods is as follows -
@@ -371,7 +371,7 @@ public abstract class GenericDaoBase<T, ID extends Serializable> extends Compone
             clause = null;
         }

-        final StringBuilder str = createPartialSelectSql(sc, clause != null, enableQueryCache);
+        final StringBuilder str = createCountSelect(sc, clause != null);
@@ -384,19 +384,12 @@ public abstract class GenericDaoBase<T, ID extends Serializable> extends Compone
             }
         }

-        List<Object> groupByValues = addGroupBy(str, sc);
-        addFilter(str, filter);
-
+        // we have to disable group by in getting count, since count for groupBy clause will be different.
+        //List<Object> groupByValues = addGroupBy(str, sc);
         final TransactionLegacy txn = TransactionLegacy.currentTxn();
-        if (lock != null) {
-            assert (txn.dbTxnStarted() == true) : "As nice as I can here now....how do you lock when there's no DB transaction?  Review your db 101 course from college.";
-            str.append(lock ? FOR_UPDATE_CLAUSE : SHARE_MODE_CLAUSE);
-        }
-
@@ -410,20 +403,19 @@ public abstract class GenericDaoBase<T, ID extends Serializable> extends Compone

+            /*
             if (groupByValues != null) {
                 for (Object value : groupByValues) {
                     pstmt.setObject(i++, value);
                 }
             }
+             */

-            if (s_logger.isDebugEnabled() && lock != null) {
-                txn.registerLock(pstmt.toString());
-            }
             final ResultSet rs = pstmt.executeQuery();
             while (rs.next()) {
-                result.add(toEntityBean(rs, cache));
+                return rs.getInt(1);
             }
-            return result;
+            return 0;
--
2.17.1

The fix is to update the way we setup query for counting with group by params. We need to do the below query to get accurate count -
SELECT COUNT(DISTINCT GROUP_ROW1...) FROM.......
Description

Fixes: #2874
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Screenshots (if appropriate):
How Has This Been Tested?

Example API call - http://localhost:8080/client/api?command=listPublicIpAddresses&response=json&associatednetworkid=72954e98-7fa5-41a0-85f1-97b719f8ff0a&forloadbalancing=true&listall=true&_=1561816856393
Here is it's response -
{
  "listpublicipaddressesresponse": {
    "count": 2,
    "publicipaddress": [
      {
        "id": "b65b9d02-9135-4f3a-89c7-c6d1948ad3ce",
        "ipaddress": "<IP_ADDRESS>",
        "allocated": "2019-06-29T19:21:01+0530",
        "zoneid": "c3476f05-69ea-4b4a-a38c-c7436188a727",
        "zonename": "KVM-advzone1",
        "issourcenat": false,
        "account": "admin",
        "domainid": "96fb4917-97e5-11e9-8e69-34e12d5f623e",
        "domain": "ROOT",
        "forvirtualnetwork": true,
        "vlanid": "8f7413bc-3d85-423e-b685-60910b91a819",
        "vlanname": "vlan://untagged",
        "isstaticnat": false,
        "issystem": false,
        "associatednetworkid": "72954e98-7fa5-41a0-85f1-97b719f8ff0a",
        "associatednetworkname": "tier1",
        "networkid": "5a0679dc-1f52-4e40-a7aa-1253848e4886",
        "state": "Allocated",
        "physicalnetworkid": "ac5912b6-6461-4d4a-b137-f730f29ef241",
        "vpcid": "89195bd2-28b1-4afa-b67f-6c8b468ac3f6",
        "tags": [

        ],
        "isportable": false,
        "fordisplay": true
      }
    ]
  }
}

After fix the correct count is returned.
An example at database level :
Here is an SQL Query below for fetching data for ipaddresses for lb in an environment -
SELECT user_ip_address.id, user_ip_address.account_id, user_ip_address.domain_id,
    user_ip_address.public_ip_address, user_ip_address.data_center_id, user_ip_address.source_nat,
    user_ip_address.allocated, user_ip_address.vlan_db_id, user_ip_address.one_to_one_nat,
    user_ip_address.vm_id, user_ip_address.state, user_ip_address.mac_address,
    user_ip_address.source_network_id, user_ip_address.network_id, user_ip_address.uuid,
    user_ip_address.physical_network_id, user_ip_address.is_system, user_ip_address.vpc_id,
    user_ip_address.dnat_vmip, user_ip_address.is_portable, user_ip_address.display,
    user_ip_address.rule_state, user_ip_address.forsystemvms, user_ip_address.removed,
    user_ip_address.created
FROM user_ip_address
    INNER JOIN vlan ON user_ip_address.vlan_db_id=vlan.id
    INNER JOIN account ON user_ip_address.account_id=account.id
    INNER JOIN firewall_rules ON user_ip_address.id=firewall_rules.ip_address_id
WHERE user_ip_address.account_id=2 AND user_ip_address.network_id = 207  AND
    user_ip_address.display = 1  AND user_ip_address.allocated IS NOT NULL  AND
    user_ip_address.removed IS NULL  AND  (vlan.vlan_type = 'VirtualNetwork' ) AND (account.type != 5 )
GROUP BY user_ip_address.id ORDER BY user_ip_address.public_ip_address DESC  LIMIT 0, 500;

Corresponding to the above query, the count query executed was -
SELECT COUNT(*)
FROM user_ip_address
    INNER JOIN vlan ON user_ip_address.vlan_db_id=vlan.id
    INNER JOIN account ON user_ip_address.account_id=account.id
    INNER JOIN firewall_rules ON user_ip_address.id=firewall_rules.ip_address_id
WHERE user_ip_address.network_id = 207  AND user_ip_address.display = 1  AND user_ip_address.allocated IS NOT NULL  AND user_ip_address.removed IS NULL  AND  (vlan.vlan_type = 'VirtualNetwork' ) AND (account.type != 5 )

As evident the queries don't match when grouping is involved. After change the query executed is -
SELECT COUNT(DISTINCT  user_ip_address.id)
FROM user_ip_address
    INNER JOIN vlan ON user_ip_address.vlan_db_id=vlan.id
    INNER JOIN account ON user_ip_address.account_id=account.id
    INNER JOIN firewall_rules ON user_ip_address.id=firewall_rules.ip_address_id
WHERE user_ip_address.network_id = 207  AND user_ip_address.display = 1  AND user_ip_address.allocated IS NOT NULL  AND user_ip_address.removed IS NULL  AND  (vlan.vlan_type = 'VirtualNetwork' ) AND (account.type != 5 )

For queries without grouping we proceed as before.

ping for review - @rhtyd , @shwstppr , @borisstoyanov , @PaulAngus , @nvazquez

@blueorangutan package

@anuragaw a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-74

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

I'll review it tomorrow @anuragaw thanks.

Trillian test result (tid-85)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 30224 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3457-t85-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_internal_lb.py
Intermittent failure detected: /marvin/tests/smoke/test_vpc_vpn.py
Smoke tests completed. 70 look OK, 1 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_01_redundant_vpc_site2site_vpn
Failure
284.77
test_vpc_vpn.py

test_01_vpc_site2site_vpn_multiple_options
Failure
434.69
test_vpc_vpn.py

@blueorangutan test centos7 vmware-65u2

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + vmware-65u2) has been kicked to run smoke tests

Trillian test result (tid-90)
Environment: vmware-65u2 (x2), Advanced Networking with Mgmt server 7
Total time taken: 39738 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3457-t90-vmware-65u2.zip
Smoke tests completed. 69 look OK, 2 have error(s)
Only failed tests results shown below:

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✔debian. JID-92

@blueorangutan test

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-106)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 29190 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3457-t106-kvm-centos7.zip
Smoke tests completed. 70 look OK, 2 have error(s)
Only failed tests results shown below:

I cannot see tests with errors, where do we get those @rhtyd ? Logs don't mention any tests name but just this -
Smoke tests completed. 70 look OK, 2 have error(s)
Only failed tests results shown below:

@anuragaw I'll need to check why the errors are not being printed in the comment. You can download the marvin logs, then use python tools/travis/xunit-reader.py <path to marvin logs directory> and this will print all the fail/pass/success tests.

I get:

python tools/travis/xunit-reader.py ~/Downloads/pr3457-t106-kvm-centos7/MarvinLogs
+----------------------+----------------------+---------+----------------------+
|         Test         |        Result        |  Time   |      Test file       |
+======================+======================+=========+======================+
| test_04_rvpc_interna | exceptions.TypeError | 204.740 | test_internal_lb.py  |
| llb_haproxy_stats_on |                      |         |                      |
| _all_interfaces      |                      |         |                      |
+----------------------+----------------------+---------+----------------------+
| ContextSuite context | exceptions.Exception | 0       | test_deploy_virtio_s |
| =TestDeployVirtioSCS |                      |         | csi_vm.py            |
| IVM>:setup           |                      |         |                      |
+----------------------+----------------------+---------+----------------------+

Copy @rhtyd , Thanks!!

This can be merged after some manual testing.
@borisstoyanov can you advise?
@blueorangutan test centos7 vmware-65u2

@rhtyd a Trillian-Jenkins test job (centos7 mgmt + vmware-65u2) has been kicked to run smoke tests

Trillian test result (tid-116)
Environment: vmware-65u2 (x2), Advanced Networking with Mgmt server 7
Total time taken: 40667 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr3457-t116-vmware-65u2.zip
Smoke tests completed. 68 look OK, 4 have error(s)
Only failed tests results shown below:


5.0: Time needs to properly support different time units

There needs to be some solid unit tests for time parsing and it should handle all these cases (same ones supported by elastic server side:
https://github.com/exceptionless/Exceptionless.DateTimeExtensions/blob/master/tests/Exceptionless.DateTimeExtensions.Tests/TimeUnitTests.cs
I bring this up because I did new Time("-3h").ToTimeSpan() and it returned a timespan of -3ms which is completely wrong, it should be -3 hours.

@Mpdreamz Looks like there are many more use cases we are not thinking about I'm trying to pass month, day to a date histogram interval and it's blowing up.
at Nest.Time..ctor(String timeUnit) in C:\Users\russ\source\elasticsearch-net-5.x\src\Nest\CommonOptions\TimeUnit\Time.cs:line 53
Could we look through all the test cases that elastic has and add them to the time parser? Also, any ideas on the next release date? We have customers asking for date range histograms by month :D

@niemyjski DateHistogram Aggregation takes a Union<DateInterval, Time> so can be passed either; For passing "month", "day", etc. use the respective DateInterval enum field value.

Well why is it being parsed when I set the interval as a string on the date histogram object? It should just allow it to be sent to elasticsearch and fail.

Can you show an example?

 return new DateHistogramAggregation(originalField) {
                Field = field,
                Interval = new Union<DateInterval, Time>("month"),
                Format = "date_optional_time"
            };

I'm guessing month is implicit conversion to time which can't be parsed it probably should be DateInterval | Time | string or Time shouldn't blow up if it can't be parsed. Elasticsearch might add a new time range that you don't support...

@russcam I can't use the enum.... This is coming straight from our parser https://github.com/exceptionless/Foundatio.Parsers/blob/master/src/Foundatio.Parsers.ElasticQueries/Extensions/DefaultAggregationNodeExtensions.cs#L38
a string is a valid overload and what es takes, you shouldn't blow up if you can't parse it and month and day are valid time/date intervals.

Maybe the solution is to have Time(string) return a nullable timespan or timespan.zero and have the two string (or how ever your populating the query) return the raw value if you don't know how to handle it. That would allow us to pass it anything.

a string is a valid overload and what es takes

Currently, there is no implicit conversion from string to DateInterval so it's not currently a valid overload for setting an interval in NEST.
It's important to keep the responsibilities of Time and DateInterval types separate, hence why the interval on date histogram take a union of those two types. There are other places within the API surface that accept Time, so allowing a conversion from "month" or any other interval string to an instance of Time doesn't seem like the best thing to do.

Can you create something that detects if it's a time unit or date interval and does the right thing? It's not user friendly from an api consumer and something not a lot of people are going to know. I don't want to have to know about DateInterval or time unit. I just want it to work by passing a string.....

I’m not going to parse the passed in string to figure what it is only for you to parse it a second time a “month” string is a valid value and you blow up when I pass in a valid string value so I gotta do a new Time() in a try catch and then try casting it to an enum just to use an interval generically?
The first thing someones going to do is go to the date histogram docs and the first example shows off “month” and “day” and they are going to put it into nest and then have it blow up, not a great onboarding experience.
What about if you created a new Interval type that with a base type of Union<DateInterval, Time> had an implicit conversion that checked for known interval values and returned the correct instance... win, win and it's semi future proof :)

Here is the code I added to get this (this is specific to my use case)
        private static Union<DateInterval, Time> GetInterval(string proximity, DateTime? start, DateTime? end) {
            if (String.IsNullOrEmpty(proximity))
                return new Union<DateInterval, Time>(GetInterval(start, end));

            switch (proximity.ToLower().Trim()) {
                case "second":
                    return DateInterval.Second;
                case "minute":
                    return DateInterval.Minute;
                case "hour":
                    return DateInterval.Hour;
                case "day":
                    return DateInterval.Day;
                case "week":
                    return DateInterval.Week;
                case "month":
                    return DateInterval.Month;
                case "quarter":
                    return DateInterval.Quarter;
                case "year":
                    return DateInterval.Year;
                default:
                    return new Union<DateInterval, Time>(proximity);
            }
        }


Determine if help was requested using CommandLine in addition to command object itself

Do you think is possible to get something like:
public class PicocliCommandLineRunner implements CommandLineRunner {

    private final Object command;

    public PicocliCommandLineRunner(Object command) {
        this.command = command;
    }

    @Override
    public void run(String... args) throws Exception {
        CommandLine cli = new CommandLine(command);
        if (cli.isHelpRequested()) {
            CommandLine.usage(cli.getCommand(), System.out);
            return;
        }
    }
}

Since in my use case, command is injected so I can't control the type of my command!

Would you be able to provide a pull request to clarify what you have in mind?

I am a bit confused by this feature request to be honest. How would the CommandLine object know which field(s) should trigger the help message? For example, it is common for command line apps to have a --version option that is also annotated with @Option(help=true). (The help=true attribute value tells picocli to omit validation of missing required fields.)
Also, what injection framework do you use? Would it be possible for your domain objects to implement an interface that has the isHelpRequested method?

I think the main issue comes from

The help=true attribute value tells picocli to omit validation of missing required fields, it does not mean this field triggers the usage help. Confusing naming, sorry.

I'm currently trying to develop a Spring boot starter for Picocli which simplify and integrate Picocli inside CommandLineRunner.
Indeed, today in Spring boot if you want to do some stuff with CLI you can use CommandLineRunner or ApplicationRunner but both are not so great as Picocli.
That why I though created a Spring boot starter that will retrieve any beans with at least @Command, @Option or @Parameter annotations present and configure inside a CommandLineRunner.
For example, user will be allow to create such bean:
@Component
@Command("info")
class InfoCli implements Runnable {
    public void run() {
        System.out.println("Info message here");
    }
}

that will be automatically integrated inside a CommandLineRunner and thus when using its artifact like following
java -jar artifact_name_here.jar info

will execute run() method and thus printing out Info message here.
User can defined more complexe command, and multiple beans or even not a command like
class MainCli implements Runnable {
    @Option(names = {"-V", "--version"}, description = "display version info")
    boolean version;

    public void run() {
        if (version) {
            System.out.println("3.2.3");
        }
    }
}

Since I though help=true wanted to say

I want to display help usage

I was thinking to automatically call usage on CommandLineRunner like following
public class PicocliCommandLineRunner implements CommandLineRunner {

    private final PicocliCommand command;

    private final Set<PicocliSubCommand> subCommands;

    PicocliCommandLineRunner(PicocliCommand command, Set<PicocliSubCommand> subCommands) {
        this.command = command;
        this.subCommands = subCommands;
    }

    @Override
    public void run(String... args) throws Exception {
        CommandLine cli = new CommandLine(command);
        subCommands.forEach(s -> cli.addSubcommand(s.getSubCommandName(), s));
        try {
            cli.parse(args);
        } catch (Exception ex) {
            System.err.println(ex.getMessage());
            cli.usage(System.err, Help.Ansi.ON);
            return;
        }
        if (isHelpRequested(command)) {
            cli.usage(System.out, Help.Ansi.ON);
            return;
        }
        Optional<Object> subCommand = cli.getSubcommands()
                .values()
                .stream()
                .map(CommandLine::getCommand)
                .filter(PicocliCommandLineRunner::isHelpRequested)
                .findFirst();
        if (subCommand.isPresent()) {
            CommandLine.usage(subCommand.get(), System.out);
            return;
        }
    }

    private static boolean isHelpRequested(Object object) {
        return object != null
                && Optional.ofNullable(AopUtils.getTargetClass(object).getAnnotation(Option.class))
                           .map(Option::help)
                           .orElse(false);
    }
}

But as you can see I have to scan every Object to lookup for help = true and I though that Picocli already did that, thus duplicate work...

Taking another look at this since I've had an additional request for this feature.
Still thinking about how to implement this. I see 2 options:

change the meaning of the help = true attribute to automatically call usage. Introduce a new attribute  (omitValidation?) for Version and other options where picocli should not check for required fields
introduce a new attribute (printHelp?) to automatically call usage.  Keep existing help attribute to mean "don't check for required fields"

@remkop it only depends if you want to create a breaking change or not :)
About first option if think omitValidation = true should be default since when asking help we usually won't validate :)

Issue is related to my starter that can be now checkout on https://github.com/kakawait/picocli-spring-boot-starter

I'm thinking to add usageHelp and versionHelp to the @Option annotation.
Also, thinking to add  isUsageHelpRequested and isVersionHelpRequested to the CommandLine class. These return true if the corresponding option was specified on the command line.

By the way, I just wanted to say that I like your picocli Spring boot starter initiative very much!

@remkop But you still maintain help into @Option? If yes no problem but we need to write clear doc to explain difference between help and usageHelp.
And yes with versionHelp and both methods is*HelpRequested I will be able to update Picocli Spring boot starter to remove some tricks I did to achieve that :)

@kakawait Yes, help remains, with the same semantics as now.
Agree that documentation is important here. Please also take a look at related ticket #161.
I hope to be able to push the code for both to master this weekend.

Pushed the above changes to master. Please review.


"Compare decks" function seems to not work at all

In the my decks window the "with selection" dropdown opens but neither of the compare buttons seem to do anything.

do you have 2 or more decks selected already?
shift-click the decks before selecting the decks.
Are you trying this on mobile?  it doesn't seem to work on mobile because there isn't a shift-click option.  :(

Ah. In that case is there any chance we could have a "select deck" button explicitly somewhere? It does not seem intuitive as it stands. I believe I was trying it on desktop.

Yeah, checkboxes or something would be better.  I can easily add a bit of
help text quickly, at least.
On Tue, Nov 23, 2021, 4:09 AM Jo X @.***> wrote:

Ah. In that case is there any chance we could have a "select deck" button
explicitly somewhere? It does not seem intuitive as it stands. I believe I
was trying it on desktop.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/NetrunnerDB/netrunnerdb/issues/565#issuecomment-976363762,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADA2EUOJF4IYPUS5BBWQJ3UNNR7PANCNFSM5HYL545A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Is this a mistake?

Hi Tobias,
I like v2. Thank you for this project.
I added homebridge. I use it via http without any problems.
But I have a problem via homebridge. I select color.
When I want to adjust the brightness, it flashing at every level (once).
and the current color is light color. not dimmed, the color is light color.
via http brightness setting decreases the light.
you can see the serial print output below.
I want to reduce the light via homebridge.
also will it be mqtt support?

Dear @ssolmaz,
this looks unexpected, but I have currently no homebridge installation available to test that out, because my raspberrys SD card died and i have to reinstall. When I have a working system again, I will have a look at it. In McLighting v1 it worked, in v2 I did not try it out so far.
I did not find time to look into MQTT support right now, but maybe one day...

Thank you for your answer Tobias.
I did a clean setup last night (different nodemcu).
There is no problem with color dimming via homebridge (home app).
It's just flashing when dimming with the home app. but via eve app no flashing.
I hope to help for the solution. I can shoot video if you want.
Also mqtt support is absolutely necessary.
Because the strip does not open that is closed color and brightness settings.

I tried that out today. the flashing seems to come from the app. It sends these extra requests to simulate a "dimming" effect, I think. There seems to be no way to deactivate this.

Hi,ime having trouble setting this up,ime getting the led flashing on my esp-01 the strip is blue,and nothing on serial,also the esp doesnt ome up as the name i defined,its coming up esp3238876,any ideas it compiles ok,ive tryed all my esp8266 modules none seem to work,ime sure there has to be somthing in serial to show what ip to use??

I haven't tried this on ESP-01 for a while because I don't have any available anymore and I find the NodeMCU boards a bit more handy.
Maybe memory is getting short on the ESP-01. Did you try out to deactivate MQTT/OTA?


[bug] Dragging/swiping on sliders with lots of items ignores "slideBy"

Issue description:  I've played with various settings and the only consistent thing I can find is that the sliders that are buggy have lots of items.
Swiping on a touch device or dragging in the browser seems to drag the whole slider in free-for-all instead of moving the slider by one.
Demo link/slider setting:   https://dev.kp11studios.com/portfolio/shashank-and-supreeta
Working slider on same site with same (ish) settings: https://dev.kp11studios.com/portfolio/sam-axe-jester
Tiny-slider version:   2.9.3
Browser name && version:  All
OS name && version:   All

I'm experiencing the same issue, though I'm not sure if it's a bug or intended behaviour. Clicking 'next' or 'prev' goes through 'slide by' images, but swiping on mobile, or mouse dragging on desktop seems to slide through the whole carousel - images just flick through.
For me it seems to happen in all cases, even with few images (say 4).

I don't THINK it's intended behavior because prior versions of tinyslider did not do this... on phone it's certainly disconcerting, especially with 20+ images loaded.

You're right, the official demos don't seem to suffer from this either. It must be the structure of my/your html, but I can't see what I'm doing wrong.

The official demos have very few slides; I'm only experiencing it on sliders with 15+ full-width slides. :/ I don't even know how to begin debugging this.

@ganlanyuan Do you think you can help with this when you have time?


fix: 避免匹配到售罄的套餐

这个 PR 实现什么功能/修复什么问题:
避免匹配到售罄的套餐
是否需要 backport 到之前的 release 分支:

release/2.12

/area region
/cc @swordqiu @yousong

Codecov Report

Merging #3712 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #3712      +/-   ##
=========================================
+ Coverage    6.94%   6.95%   +<.01%
=========================================
  Files         500     500
  Lines       84006   84000       -6
=========================================
  Hits         5838    5838
+ Misses      77672   77666       -6
  Partials      496     496

Flag
Coverage Δ

#aFlag
6.95% <0%> (ø)
:arrow_up:

Impacted Files
Coverage Δ

pkg/compute/models/dbinstances.go
1.02% <0%> (-0.01%)
:arrow_down:

pkg/compute/guestdrivers/managedvirtual.go
0% <0%> (ø)
:arrow_up:

pkg/compute/models/guest_actions.go
0% <0%> (ø)
:arrow_up:

pkg/compute/models/guests.go
0.59% <0%> (ø)
:arrow_up:

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 508fd79...df0299b. Read the comment docs.

/lgtm

/lgtm

/approve


MacOS support?

just curious: how hard it is to make this library support macos app store version?
From quick look at the code base, would changing the app store url with flag works?
Then the alert UI could be called depending on OS from the custom flag.

@anmolrajpal How do you integrate? Through SPM? I'll take a look to see if the UIKit code can be moved into a separate target. Happy to accept PRs if you're able to look at this faster?

@anmolrajpal @philipyoungg If you integrate 2.0.0 using SPM I've excluded the UIKit code from the target. Let me know how you get on.