Consider using INSANE_SKIP="staticdev" instead of RDEPENDS=-staticdev

I have noticed on my image that using aspnet-core or dotnet-core would pull in a lot of -dev dependencies and a python3 interpreter amongst other things. I was able to trace those back to the RDEPENDS="aspnet-core-staticdev" dependency.
With a .bbappend containing
FILES_${PN}-staticdev_remove = "${datadir}/dotnet/shared/Microsoft.NETCore.App/${PV}/*.a"
RDEPENDS_${PN}_remove = "aspnet-core-staticdev"
INSANE_SKIP_${PN} += "staticdev"

the *.a files are provided through the main package. Since that would normally trigger a QA error, it is suppressed with the INSANE_SKIP.
The *.a files are an integral part of the .NET Core installation and not meant for development in the bitbake sense, so this seems like the better approach.

Thanks for the fix. I didn't realize it was adding so many additional files.


⚠ gorzdrav.org has degraded performance

In 2bf6045, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 5282 ms

Resolved: gorzdrav.org performance has improved in 8720e03.


How to control text and icons to zoom in or out as the field of view changes

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.

@yumu7777777  You have not taken the time yet to fill out the issue description, so it is not possible yet to see for others what your problem is.


Python Support for Batch File is Wrong

Situation
the SVG image file in the README.rst contains the following string:
2.7 | 3.2 | 3.3 | 3.4 | 3.5 | 3.6

However, that contradicts the setup.py metadata, which contains support for 2.7 and >=3.4.
Additionally, it seems, PyPI has some old data. When you open https://pypi.org/project/semver/ and scroll down a bit, you see:
 Programming Language
    Python
    Python :: 2
    Python :: 2.7
    Python :: 3
    Python :: 3.2
    Python :: 3.3
    Python :: 3.4
    Python :: 3.5
    Python :: 3.6

Proposed Solution
Some of these should help: :wink:

Adjust the batch
Adjust the setup.py file.
Create a new release with the correct data

It's correct, data is taken from latest published version on PyPI: https://github.com/k-bx/python-semver/blob/2.8.1/setup.py
There is a ticket for 2.9.0 release (#134) but it was blocked by few PRs @scls19fr would like to include.

Yes, probably it's covered when a new release is done. If you like, you can close this issue.
Just wanted to help. :-)

Oh no, I just wanted to say that no action is necessary to fix this issue. Some time ago I also checked why Python 3.7 isn't listed in PyPI and I found SO post explaining this :)

Ok, so I'll close this issue for the time being. :wink:  Thanks for your patience. :-)


Nms.ft.6.7.8

please merge

Tracked with branch NMS.FT.KILKARICONTROLLERIT.
So closing this request.


Reconsider default error message of confirmation macro

Greetings,
Implementing a user signup form in Hanami, @nerdinand noticed that the default error message for the confirmation macro is rather unfortunate for passwords.
A common use case for the confirmation macro is to use it for verifying a user did not mistype some pass phrase. The default error message when the confirmation value does not match, prints the value that should've been matched.
That is problematic in the context of pass phrases where you would not want to echo it back to the user (otherwise: why even bother using a password input field etc).
I realise that secrets are not the only thing one may confirm, e.g., sometimes people want you to confirm your e-mail address. But I'd argue that most commonly it is used for passwords and that a safe default message in the form of does not match suffices for all use cases.
I am, however, unsure if it is even possible to change the current default message since confirmation is a macro?
Anyway, wanted to let you know about this and hear your thoughts on the matter.
Best regards,
Kai

I think this is a good idea.
I think the current message comes straight from eql? in the expanded rule, so I guess it's not possible to change only the default message. But could there be a special confirms? (or matches? or whatever) predicate, with the same logic but a different message?

Closing because confirmation is going away in the 1.0.0 rewrite


[url_launcher] Fix crashes on a lot of devices

Please see https://github.com/flutter/flutter/issues/72863 for a lot of people facing this issue making the app crash.
List which issues are fixed by this PR. You must list at least one issue.
Closes https://github.com/flutter/flutter/issues/72863
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
N/A
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the relevant style guides and ran the auto-formatter. (Note that unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Thanks for the submission! I'm closing in favor of the existing https://github.com/flutter/plugins/pull/4174, which is further along; feel free to suggest changes there.
In the future, please don't check boxes in the checklist for steps you haven't completed. The checklist is there for a reason. Ignoring it will only slow reviews and waste developer time.

@stuartmorgan Sure. Sorry for that.

@stuartmorgan Hi, I see that PR not merged after months. On the other hand, my PR only contains 3 lines of code (indeed only 1 line useful). So maybe this can be reopened?

If you're interested in completing the PR I'm happy to re-open it. Since it's incomplete I'll mark it as a draft; please remove that designation once you've actually worked through the PR checklist.

@stuartmorgan IMHO I am done now.

oops wait a minute

@stuartmorgan IMHO I am done now.

Where is the new test you are indicating here:

[x]  I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.

that you have added? It does not appear to have been pushed to your PR branch.

@stuartmorgan IMHO this is quite safe so test exempt; but if needed I can add a test.

@stuartmorgan IMHO this is quite safe so test exempt; but if needed I can add a test.

You've indicated in the checklist that you've read the contributing guide, which endeavors to be very clear on this topic. Could you point me to the specific section that made you believe this PR would be exempt so that we can improve it?

@stuartmorgan Could you please provide some suggestions on how I should test it?
Firstly, https://github.com/flutter/plugins/blob/master/packages/url_launcher/url_launcher/android/src/test/java/io/flutter/plugins/urllauncher/MethodCallHandlerImplTest.java seems only to deal with MethodCallHandlerImpl, so should not put here.
Secondly, there is no such things as WebViewActivityTest.java. And imho, if those 189 lines of code have no tests, should my 3 (indeed 1) lines of code have tests? Espeically considering that, this is just defensive programming, not useful real logic.
Thirdly, it seems also not appropreate to write test in dart, as this is quite android specific.

@stuartmorgan Could you please provide some suggestions on how I should test it?

I would use a Java unit test, probably extracting a utility method to configure a webview from an intent and then unit testing that.

Secondly, there is no such things as WebViewActivityTest.java.

Making a new file is trivial.

And imho, if those 189 lines of code have no tests, should my 3 (indeed 1) lines of code have tests?

https://github.com/flutter/flutter/wiki/Plugin-Tests#faq-do-i-need-to-add-tests-even-if-the-part-of-the-code-im-changing-isnt-already-tested
You've repeatedly cited your own opinion as justification for not testing; the criteria for test exemptions are clearly laid out in the documents you've indicated that you've read, and that's not one of them.
Again, the documentation and the checklist exist to avoid rehashing things in every PR, as that is not a good use of anyone's time. If you want to argue for the Flutter testing project to change its testing policy, this isn't the place for it..

Espeically considering that, this is just defensive programming, not useful real logic.

Not crashing seems useful to me; the fact that you are submitting a PR suggests that you believe it's useful as well. Therefore it needs tests to avoid regressing in the future.

Thirdly, it seems also not appropreate to write test in dart, as this is quite android specific.

There's nothing wrong with doing platform-specific tests in Dart, but in this particular case I don't see a way to do that.

Closing in favor of https://github.com/flutter/plugins/pull/4507, which has working tests, and has passed review.


[YUNIKORN-1378] Add predicate with equivalence cache to improve the scheduler performance

What is this PR for?
Now we call Filter every time when we predicate, we can cache some operations for predicate so that we can improve the scheduler performance.
What type of PR is it?

[ ] - Bug Fix
[x] - Improvement
[ ] - Feature
[ ] - Documentation
[ ] - Hot Fix
[ ] - Refactoring

Todos

[ ] - Task

What is the Jira issue?

Open an issue on Jira https://issues.apache.org/jira/browse/YUNIKORN-1378
Put link here, and add [YUNIKORN-Jira number] in PR title, eg. [YUNIKORN-2] Gang scheduling interface parameters

How should this be tested?
Screenshots (if appropriate)
Questions:

[ ] - The licenses files need update.
[ ] - There is breaking changes for older versions.
[ ] - It needs documentation.

We need unit tests for the new code. The change also causes existing unit tests to fail with a panic.
The change introduces a huge memory leak: there is no clean up of the cache which means it will grow unbound. I can understand that the cache might speed things up but we need to have cache management. Without proper cache management we should not do this.

Thank you @wilfred-s for review, great suggestions,  i will change Unit test, and try to add cache management!

The latest commit still leaks resources badly, as the cache will only be cleaned up when nodes are removed. This is very infrequent, and in some clusters may never be called. The result is that the cache will grow without bound, containing an entry for every node/pod combination. In a cluster with 1000 nodes, you'll get 1 million entries with only 1000 pods, and a billion entries with 1 million pods (cumulative over time). A simple nested map structure isn't going to be sufficient.
I also have doubts as to how safe caching the predicate results is. The key for the cache seems to only be {node name, pod uid}. The state of either the pod or node is not considered. So for example, nodeunschedulable may return different results at different times based on the node status, but the first time we see a result for a given node that value will be cached indefinitely for the pod. This is clearly incorrect behavior, and may result in YuniKorn picking a node which is unsuitable for a pod, or never picking a node even if it's the only one that pod is able to schedule to. This could have disastrous results especially when auto-scaling. The other two predicates that are cached here have similar issues - the results that are cached are subject to change.
Finally, I really question how much performance can be gained here. The three predicates that are cached are all relatively inexpensive, as they are doing simple in-memory operations such as map lookups (not unlike what the new cache itself needs to do). I'd like to see some solid benchmarking proving that this is indeed solving a real scalability bottleneck.

Thank you, @craigcondit for your review, you are right, we also need to add more work to make this without leaking resources.
And the performance may not be gained very well, and i saw volcano add cache for this, and i don't know the performance gain for vovano, but they add a flag to enable cache, they set the flag disable cache default.
https://github.com/volcano-sh/volcano/pull/1165

We do things completely different than Volcano. Even if they see an improvement it does not mean we will see one too. In other words: even if they say they see an impact that will not change the requirement from our side.
Closing this PR and moving the discussion to the jira to work through some of the real basic points made earlier.


Need help !

Hi,
Can you help me to solve this problem ?
http://www.france-ioi.org/algo/task.php?idChapter=256&idTask=0&sTab=task&iOrder=0
thanks.

Hi,
Sorry for my late reply. I didn't have time to implement a solution to this
problem, but I will give you my 2 cents on how I would approach it.
Firstly, I would implement the directions and based on the rotations I
would increment or decrement a counter modulo 4 (this is obvious). As the
data structure to use, I would use a deque (you can search on the
internet), but I believe that even a queue would do the job. I would update
the size of my snake stored in the queue and a map to see whether or not a
case it is contained in the snake or not. From that point on, it's brute
force, nothing more, but you have to be a little more careful on details. I
hope this helps you.
Razvan
On Sun, Dec 25, 2016 at 12:39 AM, mayarblack<EMAIL_ADDRESS>wrote:

Hi,
Can you help me to solve this problem ?
http://www.france-ioi.org/algo/task.php?idChapter=256&
idTask=0&sTab=task&iOrder=0
thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rstancioiu/France-ioi/issues/1, or mute the thread
https://github.com/notifications/unsubscribe-auth/AK3fCMKt9Z3J-iR6n_4zoe9kSg0befn7ks5rLa0ogaJpZM4LVUBi
.

Thanks,
This my solution in Python3:
<
def inTheMatrix (line,column):
return (line >= 0) and (line < nbLines) and (column >= 0) and (column < nbColumns)
def readMatrix(nbLines,nbColumns):
matrix = []
for i in range(nbLines):
values=input().split()
row = [int(value) for value in values]
matrix.append(row)
return matrix
def readActions(nbActions):
actions={}
for i in range(nbActions):
tour,action=input().split()
actions[int(tour)] = int(action)
return actions
def move (directions,action,direction):
if action == 1:
return directions[direction][0]
elif action == -1:
return directions[direction][1]
else:
return direction
def playGame(matrix,actions,snake,directions):
tour = 1
energy = 0
# snake is looking to the right
direction = 0
x = 0
y = 0
while True:
    size = len(snake)

    if not tour in actions:
        action = 0
    else:
        action = actions[tour]

    energy = energy + matrix[x][y]
    matrix[x][y] = 0

    '''print str(tour)+" "+str(x)+" "+str(y)+" "+str(energy)+" "+str(direction)
    print snake'''

    if energy == 0:
        snake.pop(0)
    else:
        energy = energy - 1
    direction = move(directions,action,direction)

    if direction == 0:
        y = y + 1
    elif direction == 1:
        y = y - 1
    elif direction == 2:
        x = x - 1
    elif direction == 3:
        x = x + 1
    tour = tour + 1
    if not inTheMatrix(x,y):
        break
    if (x,y) in snake:
        break
    snake.append((x,y))

return tour

#Main
nbLines,nbColumns = input().split()
nbLines = int(nbLines)
nbColumns = int(nbColumns)
matrix = readMatrix(nbLines,nbColumns)
nbActions = input()
nbActions = int(nbActions)
actions = readActions(nbActions)
snake=[(0,0)]
directions = [[3,2],[2,3],[0,1],[1,0]]
print (playGame(matrix,actions,snake,directions))

but it fails in 2 tests (test #5 (wrong answer) et #6 (TLE))

Thanks,
This my solution in Python3:
<
def inTheMatrix (line,column):
return (line >= 0) and (line < nbLines) and (column >= 0) and (column < nbColumns)
def readMatrix(nbLines,nbColumns):
matrix = []
for i in range(nbLines):
values=input().split()
row = [int(value) for value in values]
matrix.append(row)
return matrix
def readActions(nbActions):
actions={}
for i in range(nbActions):
tour,action=input().split()
actions[int(tour)] = int(action)
return actions
def move (directions,action,direction):
if action == 1:
return directions[direction][0]
elif action == -1:
return directions[direction][1]
else:
return direction
def playGame(matrix,actions,snake,directions):
tour = 1
energy = 0
# snake is looking to the right
direction = 0
x = 0
y = 0
while True:
    size = len(snake)

    if not tour in actions:
        action = 0
    else:
        action = actions[tour]

    energy = energy + matrix[x][y]
    matrix[x][y] = 0

    '''print str(tour)+" "+str(x)+" "+str(y)+" "+str(energy)+" "+str(direction)
    print snake'''

    if energy == 0:
        snake.pop(0)
    else:
        energy = energy - 1
    direction = move(directions,action,direction)

    if direction == 0:
        y = y + 1
    elif direction == 1:
        y = y - 1
    elif direction == 2:
        x = x - 1
    elif direction == 3:
        x = x + 1
    tour = tour + 1
    if not inTheMatrix(x,y):
        break
    if (x,y) in snake:
        break
    snake.append((x,y))

return tour

#Main
nbLines,nbColumns = input().split()
nbLines = int(nbLines)
nbColumns = int(nbColumns)
matrix = readMatrix(nbLines,nbColumns)
nbActions = input()
nbActions = int(nbActions)
actions = readActions(nbActions)
snake=[(0,0)]
directions = [[3,2],[2,3],[0,1],[1,0]]
print (playGame(matrix,actions,snake,directions))

but it fails in 2 tests (test #5 (wrong answer) et #6 (TLE))


Error with DateTime.Ticks when creating new package

Hello
When trying to create a new package on Business Central On Premise (dk version) I do get an error:

Processing of message 'al/createPackage' failed with error: 'Ticks must be between DateTime.MinValue.Ticks and DateTime.MaxValue.Ticks.
Parameter name: ticks'
Details:
System.ArgumentOutOfRangeException: Ticks must be between DateTime.MinValue.Ticks and DateTime.MaxValue.Ticks.
Parameter name: ticks

AL Langauge: 2.1.79379
Business Central: 13.0.27183.0

I was trying to find any instances of DateTime variables, fields etc. but these do not cause the problem. Did any of you encounter a similar error?
Mat

Hi @MatDDev,
Do you have some more information on the issue?
Was there a StackTrace with the error?
Can you share a zip file here with the needed files to reproduce it.

Processing of message 'al/createPackage' failed with error: 'Ticks must be between DateTime.MinValue.Ticks and DateTime.MaxValue.Ticks.
Parameter name: ticks'
Details:
System.ArgumentOutOfRangeException: Ticks must be between DateTime.MinValue.Ticks and DateTime.MaxValue.Ticks.
Parameter name: ticks
at System.DateTime..ctor(Int64 ticks)
at Microsoft.Dynamics.Nav.CodeAnalysis.Utilities.DateTimeUtilities.CSideDateToDateTime(Int32 date) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Utilities\DateTimeUtilities.cs:line 60
at Microsoft.Dynamics.Nav.CodeAnalysis.Utilities.DateTimeUtilities.FormatCSideDate(Int32 date, String formatString) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Utilities\DateTimeUtilities.cs:line 130
at Microsoft.Dynamics.Nav.CodeAnalysis.Utilities.ObjectDisplay.FormatDate(Int32 date) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Utilities\ObjectDisplay.cs:line 39
at Microsoft.Dynamics.Nav.CodeAnalysis.BoundLiteralPropertyValue.get_ValueText() in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\BoundTree\BoundPropertyValues\BoundLiteralPropertyValue.cs:line 31
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SourcePropertySymbol.get_ValueText() in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Symbols\Source\SourcePropertySymbol.cs:line 208
at Microsoft.Dynamics.Nav.CodeAnalysis.SymbolReference.SerializableSymbolModelConverter.ConvertProperties(Symbol symbolWithProperties) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\SymbolReference\SerializableSymbolModelConverter.cs:line 682
at Microsoft.Dynamics.Nav.CodeAnalysis.SymbolReference.SerializableSymbolModelConverter.<>c.b__20_1(FieldSymbol f) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\SymbolReference\SerializableSymbolModelConverter.cs:line 410
at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()    at System.Linq.Buffer1..ctor(IEnumerable1 source)    at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source)
at Microsoft.Dynamics.Nav.CodeAnalysis.SymbolReference.SerializableSymbolModelConverter.ConvertTableFields(ApplicationObjectTypeSymbol table) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\SymbolReference\SerializableSymbolModelConverter.cs:line 405
at Microsoft.Dynamics.Nav.CodeAnalysis.SymbolReference.SerializableSymbolModelConverter.ConvertTableBase(ApplicationObjectTypeSymbol tableBase) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\SymbolReference\SerializableSymbolModelConverter.cs:line 383
at Microsoft.Dynamics.Nav.CodeAnalysis.SymbolReference.SerializableSymbolModelConverter.ConvertTables(IEnumerable1 tables) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\SymbolReference\SerializableSymbolModelConverter.cs:line 353    at Microsoft.Dynamics.Nav.CodeAnalysis.SymbolReference.SerializableSymbolModelConverter.ConvertModuleToSerializableSymbolModel(IModuleSymbol module) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\SymbolReference\SerializableSymbolModelConverter.cs:line 24    at Microsoft.Dynamics.Nav.CodeAnalysis.Packaging.PackageModuleOutputter.AddSymbolReference(IPackageWriter writer, IModuleSymbol moduleSymbol) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Packaging\PackageModuleOutputter.cs:line 651    at Microsoft.Dynamics.Nav.CodeAnalysis.Packaging.PackageModuleOutputter.FinalizeModule() in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Packaging\PackageModuleOutputter.cs:line 603    at Microsoft.Dynamics.Nav.CodeAnalysis.Compilation.WriteToOutput(ModuleOutputter outputter, ModuleBuilder moduleBuilder, ModuleSymbol compiledModuleSymbol) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compilation\Compilation.cs:line 854    at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.PackageTheModule(Compilation compilation, CompilerTextWriter consoleOutput, CancellationToken cancellationToken, ErrorLogger errorLogger, AnalyzerDriver analyzerDriver) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 596    at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.RunCore(CompilerTextWriter consoleOutput, ErrorLogger errorLogger, CancellationToken cancellationToken) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 435    at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.Run(CompilerTextWriter consoleOutput, CancellationToken cancellationToken) in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 313    at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.CreatePackageRequestHandler.<HandleAsync>d__4.MoveNext() in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\CreatePackageRequestHandler.cs:line 47 --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at Microsoft.Dynamics.Nav.EditorServices.Protocol.MessageProtocol.RequestHandlerBase1.d__10.MoveNext() in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\MessageProtocol\RequestHandlerBase.cs:line 45
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.Dynamics.Nav.EditorServices.Protocol.RequestRegistry.d__6.MoveNext() in C:\a\42\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\Endpoints\RequestRegistry.cs:line 59

Unfortunately I cannot share the files. If it's not directly related to DateTime variables or fields, what the error might be related to? According to the error, it crashes when trying to use DateTime constructor with invalid arguments, but I cannot find a case like that in the code.

So, I've found what was wrong with this and maybe this could be useful to some of you. There was a MinValue in one of the Date fields in the table (NAV 5.01) set to:

and was successfully converted by txt2al to:

But when trying to build a package this particular property was causing a problem. There was no problem with MaxValue. Maybe there should be the error that this value is not valid for this property?

Thanks @MatDDev for locating the issue.

The fix for this issue has been checked in to the master branch. It will be available in the bcinsider.azurecr.io/bcsandbox-master Docker image starting from platform build number 28496.
If you don’t have access to these images you need to become part of the Ready2Go program: aka.ms/readytogo
For more details on code branches and docker images please read:
https://blogs.msdn.microsoft.com/nav/2018/05/03/al-developer-previews-multiple-releases-and-github/
https://blogs.msdn.microsoft.com/freddyk/2018/04/16/which-docker-image-is-the-right-for-you/


AssertionError when running pipenv from systemd service unit

Issue description
Seeing an AssertionError when running a command using sudo pipenv run within a systemd service unit on a Raspberry Pi Zero W. I have the same setup with a few other RPi devices and don't see the error, so I think it is possibly caused by trying to install Pip separately for some unrelated scripts I was testing.
This isn't blocking as I can flash the SD card, but if possible, I would like to understand the cause of the issue to avoid in the future.
Let me know what other debugging information would be helpful in debugging this. Thank you1
Expected result
No error output.
Actual result
Running my command within the service unit:
sudo pipenv run python3.7 /opt/project/main.py
I see the following error output in journalctl but the script still executes as expected:
Using /usr/bin/python3 (3.7.3) to create virtualenv…
usage: __main__.py [-h] [-p PYTHON] [-i PACKAGES] [-r REQUIREMENTS] [-d]
                   [-a PROJECT]
                   envname
__main__.py: error: the following arguments are required: envname
Virtualenv location:
Creating a Pipfile for this project…
Traceback (most recent call last):
  File "/usr/bin/pipenv", line 11, in <module>
    load_entry_point('pipenv==11.9.0', 'console_scripts', 'pipenv')()
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pipenv/cli.py", line 602, in run
    core.do_run(command=command, args=args, three=three, python=python)
  File "/usr/lib/python3/dist-packages/pipenv/core.py", line 2196, in do_run
    ensure_project(three=three, python=python, validate=False)
  File "/usr/lib/python3/dist-packages/pipenv/core.py", line 636, in ensure_project
    ensure_pipfile(validate=validate, skip_requirements=skip_requirements)
  File "/usr/lib/python3/dist-packages/pipenv/core.py", line 289, in ensure_pipfile
    project.create_pipfile(python=python)
  File "/usr/lib/python3/dist-packages/pipenv/project.py", line 475, in create_pipfile
    config_parser = ConfigOptionParser(name=self.name)
  File "/usr/lib/python3/dist-packages/pipenv/vendor/pip9/baseparser.py", line 149, in __init__
    assert self.name
AssertionError

Steps to replicate
Pipfile:
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
requests = "*"
getch = "*"
Flask = "*"
astral = "*"
isodate = "*"
colorama = "*"
google-auth = "*"

[requires]
python_version = "3.7"

[packages.rpi-ws281x]
version = "*"
sys_platform = "== 'linux'"

Please run $ pipenv --support, and paste the results here. Don't put backticks (`) around it! The output already contains Markdown formatting.
I get Error: no such option: --support when running this command.

This was an old bug introduced in 2018.11.26 and was already fixed in the latest release, closing it now.

@frostming Thanks for looking. It seems like I'm on the latest version, and I get the following when I run pip install --upgrade pipenv.
Requirement already satisfied, skipping upgrade: virtualenv-clone>=0.2.5 in /usr/local/lib/python
3.7/site-packages (from pipenv) (0.5.4)
Requirement already satisfied, skipping upgrade: pip>=18.0 in /usr/local/lib/python3.7/site-packa
ges (from pipenv) (20.1.1)
Requirement already satisfied, skipping upgrade: setuptools>=36.2.1 in /usr/local/lib/python3.7/s
ite-packages (from pipenv) (40.6.2)
Requirement already satisfied, skipping upgrade: certifi in /usr/local/lib/python3.7/site-package
s (from pipenv) (2019.3.9)
Requirement already satisfied, skipping upgrade: virtualenv in /usr/local/lib/python3.7/site-pack
ages (from pipenv) (20.0.25)
Requirement already satisfied, skipping upgrade: appdirs<2,>=1.4.3 in /usr/local/lib/python3.7/si
te-packages (from virtualenv->pipenv) (1.4.4)
Requirement already satisfied, skipping upgrade: distlib<1,>=0.3.0 in /usr/local/lib/python3.7/si
te-packages (from virtualenv->pipenv) (0.3.0)
Requirement already satisfied, skipping upgrade: six<2,>=1.9.0 in /usr/local/lib/python3.7/site-p
ackages (from virtualenv->pipenv) (1.12.0)
Requirement already satisfied, skipping upgrade: filelock<4,>=3.0.0 in /usr/local/lib/python3.7/s
ite-packages (from virtualenv->pipenv) (3.0.12)
Requirement already satisfied, skipping upgrade: importlib-metadata<2,>=0.12; python_version < "3
.8" in /usr/local/lib/python3.7/site-packages (from virtualenv->pipenv) (1.6.1)
Requirement already satisfied, skipping upgrade: zipp>=0.5 in /usr/local/lib/python3.7/site-packa
ges (from importlib-metadata<2,>=0.12; python_version < "3.8"->virtualenv->pipenv) (3.1.0)

Anything else I can try to resolve this?

Thanks for taking a look. I've already tried updating through sudo apt install --upgrade pipenv and I'm on the latest version of Pipenv. Anything else I should be trying?
But when I'm trying to update pipenv through pip, I see the following. Is this caused by competing installs/uninstalls of pip?
$ sudo pip install --upgrade pipenv
sudo: pip: command not found
$ sudo apt install python3-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-pip is already the newest version (18.1-5+rpt1).
python3-pip set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.


Handle flat scenes

There should be a reconstruction initialization for scenes that are flat. Right now, flat scenes get no reconstruction because the homography test discards all possible starting pairs.
For flat scenes, there should be reconstruction bootstrapper that uses the plane homography and not the 5 point algo to compute the initial two-view reconstruction.
See here https://github.com/OpenDroneMap/OpenDroneMap/issues/228 for an example of flat scene that fails to build.

At least a huge improvement would be to output a message like "Scene is too flat for reconstruction" or something. Instead, I get the message "0 partial reconstructions on total".
I had no idea this meant that the OpenSFM flatness check (outlier ratio being higher than 0.3) had failed. Would this be possible without having to make modifications to OpenSFM? I assume having to modify the library is undesired.

+1
Any updates on this?


Joint posterior distribution of local level model

\tau_0 = 0, \sigma_\eta = c \sigma^2 = Done.

Hey @rruiliu1005
The contribution is interesting. I edited a few things keeping the essence as you proposed. Unfortunately, you committed in this PR changes to files other than index.qmd and I can't merge it.
I propose that you create a new fork introduce changes to the new qmd file (with my edits or without) and we will work with the other PR. Sadly, this one is unusable (with my advancement in git).
Let me know if you want to do that. Thanks.
Greetings, Tomasz

Hey @rruiliu1005
The contribution is interesting. I edited a few things keeping the essence as you proposed. Unfortunately, you committed in this PR changes to files other than index.qmd and I can't merge it.
I propose that you create a new fork introduce changes to the new qmd file (with my edits or without) and we will work with the other PR. Sadly, this one is unusable (with my advancement in git).
Let me know if you want to do that. Thanks.
Greetings, Tomasz

Hi Tomasz,
Sorry committing the other files. I will create a new fork later today. You should be able to see it tomorrow morning.
Best,
Rui


[fix](inverted index) add in list to fast execute logic after hit index

Proposed changes

resolve the issue where the case fails when enable_common_expr_pushdown is set to false

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run performance

run beut

run feut

run cloudut


Fix /explore/clusters/$cluster/nodes/$node endpoint

The /explore/clusters/$cluster/nodes/$node endpoint is currently broken, just returns a 404.
curl localhost:9000/explore/clusters/default/nodes
{
    "links": {
        "self": "/explore/clusters/default/nodes"
    },
    "nodes": [
        {
            "id"<EMAIL_ADDRESS>        }
    ]
}

but
curl<EMAIL_ADDRESS>404 Not Found

The /config endpoint for that node works, though:
curl<EMAIL_ADDRESS>200 OK, long effective config json

I wonder if what I added for the config endpoint broke this.  I'll look into it.
Definite motivation for the integration tests I've started working on today. :)

Hahaha, yea, I was just thinking that, re integration tests :)


Support registry configuration for containerd

Towards https://github.com/giantswarm/giantswarm/issues/24237
Implements https://github.com/giantswarm/rfc/pull/49

Example Input:
registry:
  configure: true
  mirrors:
  - name: docker.io
    endpoints:
    - registry-1.docker.io
    - giantswarm.azurecr.io
  - name: quay.io
    endpoints:
    - quay.io
  - name: gcr.io
    endpoints:
    - gcr.io
  configs:
   - endpoint: "registry-1.docker.io"
     credentials:
       username: "erkanerol"
       password: "dckr_pat_erkanerol_password"
   - endpoint: "quay.io"
     credentials:
       username: "erkanerolgs+pulltoken"
       password: "erkanerolgspassword"
   - endpoint: "gcr.io"
     credentials:
       auth: "mygcrtoken"
       identitytoken: "myidentity"

Example output (content of registry-config.toml file)
version = 2

[plugins."io.containerd.grpc.v1.cri".registry]

[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = [ "registry-1.docker.io", "giantswarm.azurecr.io" ]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
endpoint = [ "quay.io" ]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
endpoint = [ "gcr.io" ]

[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.configs."registry-1.docker.io".auth]
password="dckr_pat_erkanerol_password"
username="erkanerol"
[plugins."io.containerd.grpc.v1.cri".registry.configs."quay.io".auth]
password="erkanerolgspassword"
username="erkanerolgs+pulltoken"
[plugins."io.containerd.grpc.v1.cri".registry.configs."gcr.io".auth]
auth="mygcrtoken"
identitytoken="myidentity"

Testing

[x] fresh install works
[x] upgrade from previous version works

Checklist

[x] Update changelog in CHANGELOG.md.
[x] Make sure values.yaml and values.schema.json are valid.
[ ]Update Lastpass values if required.

Should/Could we reference a secret instead in which we store the registry's settings (name, endpoint, creds) ?
In order to avoid having creds in the cluster values file.

Should/Could we reference a secret instead in which we store the registry's settings (name, endpoint, creds) ? In order to avoid having creds in the cluster values file.

It is OK to have sensitive data in values.yaml. helm stores them in secrets. I just applied what we have decided here https://github.com/giantswarm/rfc/pull/49/files#diff-c449152200c5f86a1a74be904a38486e9a9beb6a4344d0350fc51647934d1982R187

Regarding the way this PR proposes properties with a name default* (defaultMirrors, extraMirrors). My understanding is that in general, the file values.yaml in the repo should contain the default values, while a user can overwrite these by providing their own values. There would not be the need for an extra property.
If the intent is however to have a fixed set of registry mirrors that should always be used, I would not include this in the values schema at all, but hardcode it somewhere instead. You can then still decide to have a values property to define additional mirrors and credentials.


point out to correct packet in pip

Hi,
I believe the correct library to be used for serial port handling is pyserial.

Actually, I used "pip3 install serial". My "pip list" has version "serial 0.0.51"
As I suspect there is no real difference. Let's go for it. :+1:
Thank you for your input and help!


removed exiting with a non-zero exit code when docker ping fails so that ops-runner doesn't fire.

:+1:


Update Storybook to v5.3.13

Closes #554
Summary

Upgrade Storybook version (read more here), update the config based on the migration guide, migrate one story from storiesOf to CSF.
A few of the commits here have extra context in the commit body for reference
Unfortunately it was unavoidable to touch every story and therefore every storyshot

Change List (commits, features, bugs, etc)

upgrade relevant deps to 5.3.13
rename/remove/refactor configuration files to new names and formats (main.js, preview.js).
refactor webpack config to use full-control mode instead of deprecated extend mode
refactor stories to use the recommended root/hierarchy separator, \ instead of previous |
refactor all imported/reexported carbon stories to use a named export - it's a workaround because they're using the old storiesOf API
modify jest config to avoid an esm import issue and transform CSF story names
increase heap size for static storybook (prod) builds - it times out locally due to an issue that should be fixed in Storybook v6.
remove TitleAddon - is no longer needed
refactor Welcome story to use CSF format instead of old storiesOf api
update snapshots

Acceptance Test (how to verify the PR)

View all the stories in the storybook, verify they render as intended.
Ensure knobs and other storybook addons/functions are working as expected.

To keep this scoped down, I've created new issues for follow on items that I've deferred:

use addon-docs instead of addon-info #963
refactor stories to use CSF #964

Not sure why but this image is broken in preview and not in production.
https://deploy-preview-961--carbon-addons-iot-react.netlify.com/?path=/story/watson-iot-dashboard--basic-dashboard

as well as this

@davidicus Thanks, good catch! The default storybook webpack config already has a file loader, we were defining a second one which was conflicting causing the issue. Just pushed a fix that should remedy.


fix converting google.protobuf.Empty to () when compiling well-known protobuf types

Motivation
https://github.com/hyperium/tonic/issues/521 covers the work for Tonic to compile the well-known protobuf types instead of relying on the prost-types crate. (One reason to do that is for projects that want google.protobuf.Any to use Bytes instead of Vec<u8> for binary data.)
https://github.com/hyperium/tonic/pull/522 added initial support for Tonic to configure Prost and itself to compile the well-known protobuf types.
That support is incomplete, however: tonic-build fails to compile when configured to convert google.protobuf.Empty to (). This configuration occurs if the user calls config.extern_path(".google.protobuf.Empty", "()") where config is an instance of prost_build::Config. The error occurs because the existing code tries to interpret () as a Rust path and parsing, for example, super::() as a Rust path will always fail.
Solution
This PR fixes the conversion of google.protobuf.Empty to () by specifically allowing the use of () as a valid Rust conversion without attempting to prepend any Rust path.
There are several stacked commits in this PR:

Update the wellknown-compiled integration test to configure the google.protobuf.Empty -> () conversion. This first commit fails to compile without the fix.
Refactor tonic_build::prost::Service::request_response_name to remove the duplication of logic between converting request and response types.
Fix the conversion by introducing an allow list of types (consisting only of () for now) and just generate a token stream in that case without trying to interpret as a Rust path.

Rebased cleanly and pushed.


[BUG] Streamers List does not handle new items being added to the list correctly

Describe the bug
When replaying an event in the dashboard/streamers route, the replayed event is added to the top of the list as it is now the most recent event. If you have an item below expanded, when the list is populated with the new event the item that is expanded is a different item.
To Reproduce
Steps to reproduce the behavior:

Go to 'dashboard/streamers'
Click on 'an event under Websocket Stream to expand it'
Click the 'Replay' button
When the list is refreshed notice that a different item in the list is expanded.

Expected behavior
The item that was expanded remains in the expanded state
Screenshots
N/A
Deployment:
Deployment is via railway.
The version is the latest version on main as of Apr 27, 2022.
Additional context
Nope

Theory: Without looking at the code, it appears that the items that are expanded are being tracked based upon an index in an array, and when there is a new item added to the start of the array it now points at the wrong item in the array.

This bug is specific to Websocket Stream section and not the streamers page. It happens on main Dashboard page as well.

I did a little digging and this issue is due to a bug in the PrimeVUE Accordion component when you use :multiple="true" with dynamic tabs. I have opened a bug report with them to fix: https://github.com/primefaces/primevue/issues/2524
Only way for you to fix it for time being would be to manually override with @click actions and manage the active indexes by yourself.


Change transition background

Hello,
Is there any possible way to change the background color when transitioning from one controller to another via segue?
Currently it displays a black background, but it kinda feels like old for modern apps.
It would feel a more personalized experience, also, is it possible to have a gradient background while transitioning?
Thanks.

@felixsolorzano if you are using the segues, we don't support custom background yet 😞

@JakeLin black color is used somewhere by segue transition or the black means there is no view?
ps: since there is color in asset, if somewhere we use black as default color, we could use instead UIColor(named: "IBColorForXXX") ?? .black

@phimage If I understand correctly, not all the transitions can see the background black color, only some of them like flip. fade won't' see. It is from default iOS app window.background. There is a way to change it. But not customizable from IBAnimatable lib.
We can set the window?.backgroundColor to any color. Then during the transition, we will see the color. Also, we can change it back to black if we need
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    window?.backgroundColor = .red
    return true
  }

@felixsolorzano can you please have a look that fits your requirement?


Inconsistency in query invalidation as part of a dom event callback

Describe the bug
Query invalidation (or removal) doesn't seem to happen consistently when done as part of DOM event callback where in ReactDom.unstable_batchedUpdates() gets involved.
To Reproduce
Steps to reproduce the behavior:

Go to https://codesandbox.io/s/silly-davinci-6rjwr?file=/src/index.js

Have the debugger console open for log statements

Click on the Reload button a few times

Notice the api call / rendering log statements (API call doesn't happen more than once)

Now instead type and execute reload() from within the debugger console (its exposed on the window object)

Notice the api call / rendering log statements (API call happens on every call)

Expected behavior
Behavior of invalidating the query while calling the reload() function directly should be roughly the same as when calling it as part of a DOM event callback.
Desktop (please complete the following information):

OS: any
Browser: any
Version: any

do you expect disabled queries to not refetch if you pass refetchActive: false to invalidateQueries? Because disabled and inactive are not the same thing.
In fact, if I remove the enabled thingy completely, both calls behave the same: https://codesandbox.io/s/rough-glade-rovcf?file=/src/index.js
So I think this is more about how react batches updates together in event callbacks, but not outside of it: You setting enabled to false and then true in the same event handler might lead react to discard that setState altogether, because it happens in the same event handler.
On the other hand, when called from outside, react doesn't do that. Now it disables the query, calls refetch (which doesn't do anything because of refetchActive: false, and then it enabled the query. The query enabling is then what triggers the fetch imo. You can also observe that if you log the enabled flag in addition when rendering: https://codesandbox.io/s/compassionate-agnesi-svup4?file=/src/index.js

the first reload click calls the api, and then enabled is true.
any further click will only render once with enabled: true, because the enabled:false setting is discarded
called from the window, you'll see an additional render in between with enabled: false, and then it goes back to enabled: true.

further, if you await invalidateQueries and make your function async, react will also not be able to batch updates, and you can see that the re-renders are happening in between as well.

all in all, this looks like the expected behaviour of how react batches updates, and I don't think there's anything react-query can do about it ...

FYI, React 18 will bring some changes to automatic batching, in which case it should work out of the box in more situations: https://github.com/reactwg/react-18/discussions/21
The discussion also explains quite well how it works in current v17, and also shows that your two setStates to setEnabled will be batched in synchronous functions.
I don't think it would affect this situation though, because you have one setState before the async action, and then another one after it. So they can't be batched together, because an async action can take quite some time to complete :)

I am purposely disabling the query in the example, and also making refetchActive as false to control when the new request goes out - onclick of the button for this particular example. Essentially trying to trigger a refetch (without using the refetch of useQuery) every time the component renders after a reload button push.
Initially it is disabled to start off with. It will get enabled after the 1st time you hit reload. The request goes out as expected.
Reloading after that, still triggers a re-render of the component (irrespective of being batched or not, just the amount of re-renders change) as you can see from the logs. However this time the request doesn't go out again despite the fact that there is invalidateQueries in there.
If react batched the updates and determined nothing really changed it would not trigger a re-render, which you can try by just commenting out the 1st setEnabled(false). Then the component doesn't re-render.

BTW same issue if I use queryClient.removeQueries() instead of invalidate. I would have expected that if the query is enabled but invalidated or non existent after being removed, it would trigger a auto-refetch on the next render pass. I may be wrong if this is not the intended behavior.

Another example https://codesandbox.io/s/silent-firefly-tcn4m?file=/src/index.js

Not rendering anything in this, no reload button, just console logs.
Exposed queryClient and a setState to the window object to be executed manually.

After the 1st load/render, the API call goes out as expected.
Now using the console if I do

queryClient.invalidateQueries("whatever", { refetchActive: false }) // to invalidate the query
setSomething(2) // To trigger a manual re-render of the component, like forceUpdate()

The API call still doesn't go out

I would have expected that if the query is enabled but invalidated or non existent after being removed, it would trigger a auto-refetch on the next render pass. I may be wrong if this is not the intended behavior.

no, that's not what invalidation is doing. react-query will never re-fetch just because you re-render. staleTime defaults to zero, so all queries are instantly "stale" per default.
invalidation marks a query as stale, and it automatically re-fetches active queries (an active query is a query that is currently used by useQuery) right away (not in the next render cycle or so). But since you set refetchActive: false, all that the invalidation is doing is setting the query to stale, which means it will be refetched the next time react-query does a smart refetch, e.g. when a new observer mounts or when you focus the window. That is clearly not what you want to achieve.
This also explains the last example. Invalidating the query and triggering a re-render will not get you a refetch, because again, that's not what invalidation means.
I think it's time you take a step back and tell us about your use-case: What do you want to achieve instead of what code you already have that isn't working. If all you want to do is have a disabled query and then refetch when a button is clicked, there are other ways. If you want a lazy query, there are also other ways...
Meanwhile, I'm converting this to a discussion because I'm convinced that there is no issue in react-query per se.


console.exception() and console.error() are not functionally identical

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details

On the page https://developer.mozilla.org/en-US/docs/Web/API/Console/error it says that:

Note: console.exception() is an alias for console.error(); they are functionally identical.

I have found out that at least on Chrome (Version 86.0.4240.111 64-bit) this is not true because "console.exception()" also throws the exception whereas "console.error()" does not.
Example:
console.log("console.error - Begin");
try {
  nonExistentFunction();
} catch (error) {
  console.error(error);
}
console.log("console.error - End");

console.log("console.exception - Begin");
try {
  nonExistentFunction();
} catch (error) {
  console.exception(error);
}
console.log("console.exception - End"); // <-- Not executed

Example on jsfiddle: https://jsfiddle.net/30z6nkhs/

Issue moved to mdn/content #1447 via ZenHub

Issue moved to mdn/content #1447 via ZenHub


Fix downloading bug

Single-file downloads were not being downloaded to the correct location, since the download destination was constructed as: ${destination}/${file.name}. For multiple files this makes sense, but for a single file it
constructs the wrong path; we just want ${destination}.
Also replaced one use of / with path.join, to create proper paths on Windows. There may be some other uses of / that cause problems, but it seems unlikely; node apparently interprets / as the path separator regardless of operating system.

I am in favor of using / everywhere, even if node reinterprets it correctly on Windows. Experience tells me that being pedantic pays off when reliability is a goal.

Pull request looks good to me, but the tabbing should be fixed first.

I don't understand. I think you made a typo.
Anyway, we probably shouldn't use path.join everywhere, since it means Windows users will create siapaths with \ and others will create siapaths with /, and I don't know if that will cause incompatibility when sharing .sia files. It might be best to use / everywhere and convert the Windows \ as soon as it's passed in.

Yeah I meant to say path.Join everywhere.
Urg and what happens when you share files across filesystems? Internally, Sia should definitely use / and then switch to the compatible version when going to disk.
hmph

at any rate, this PR is good to go. We can address these things more thoroughly in 0.5.1


test: add sriov device plugin API unit tests

+1 LGTM
Thanks for this PR. I'm sure we can add this tests into master branch if future with increased coverage.


a[i] in steps for failure printouts ...

This is more of a question than an issue (but perhaps may be an issue).
Would "click a[i]" be equivalent to the following JavaScript?
document.querySelectorAll("a")[i].click();

It doesn't seem to be lining up that way in my testing. And if it isn't, then perhaps some better output for steps is called for so that manual reproduction / diagnosis of failures would be possible...

Ah, yes this is perhaps misleading. It would be the same as your line of JS if all a elements returned by the query are deemed clickable. So, in the following case:
<button>A</button>
<button disabled>B</button>
<button>C</button>

Then Click button[1] would refer to button C.

Ah, yes this is perhaps misleading. It would be the same as your line of JS if all a elements returned by the query are deemed clickable. So, in the following case:
<button>A</button>
<button disabled>B</button>
<button>C</button>

Then Click button[1] would refer to button C.

Maybe better to be verbose and print something like 5th clickable element.

Maybe better to be verbose and print something like 5th clickable element.

Related, I'm going to add hover support to actions in the HTML report also. Then you can get a marker on the screenshot which element was interacted with by an action.

Related, I'm going to add hover support to actions in the HTML report also. Then you can get a marker on the screenshot which element was interacted with by an action.

What is the predicate (in JS pseudo code preferable) that determines if something is “clickable”? Is it just !disabled or more complex?
Also, is the HTML reporting in a usable state as of yet? If so, are there docs on how to use it yet?

What is the predicate (in JS pseudo code preferable) that determines if something is “clickable”? Is it just !disabled or more complex?
Also, is the HTML reporting in a usable state as of yet? If so, are there docs on how to use it yet?

Unfortunately it's more complex, in order to prevent actions that WebDriver will later reject. So it checks if elements are visible, enabled, if inputs are focused, etc. Quickstrom currently lacks but needs to add a check if elements are inside the viewport, too.
Yeah, it's not quite "done" but should be usable. You'll find the docs at https://docs.quickstrom.io/topics/reporters.html#html.

Unfortunately it's more complex, in order to prevent actions that WebDriver will later reject. So it checks if elements are visible, enabled, if inputs are focused, etc. Quickstrom currently lacks but needs to add a check if elements are inside the viewport, too.
Yeah, it's not quite "done" but should be usable. You'll find the docs at https://docs.quickstrom.io/topics/reporters.html#html.

Ah, so the following error(s) are likely emanating from the elements being out of viewport?
2021-01-22 00:43:10 ERROR  Error Response: 400 Bad Request
{
    "data": null,
    "error": 400,
    "stacktrace": "#0 0x556098a7eaa9 <unknown>\n",
    "message": "element not interactable\n  (Session info: headless chrome=85.0.4183.83)"
}

Ah, so the following error(s) are likely emanating from the elements being out of viewport?
2021-01-22 00:43:10 ERROR  Error Response: 400 Bad Request
{
    "data": null,
    "error": 400,
    "stacktrace": "#0 0x556098a7eaa9 <unknown>\n",
    "message": "element not interactable\n  (Session info: headless chrome=85.0.4183.83)"
}

Yes, that's what I suspect. Quickstrom should exclude those actions with some predicate.

Yes, that's what I suspect. Quickstrom should exclude those actions with some predicate.

I have been unable to get Quickstrom to generate HTML reports. I added --reporter=html and --html-report-directory to its arguments but no files get produced in the provided directory. If I try with the console reporter, I get the usual output.

Might it be that the directory already exists? It then refuses to overwrite it, so you have to provide a new directory (like mktemp -u -d) or delete the old one.

Unfortunately that wasn't it. I tried with and without the directory pre-existing.
FWIW, here are the last few log lines from my Quickstrom run (if that helps any):
...
2021-02-09 20:21:09 ERROR  Error Response: 400 Bad Request
{
    "data": null,
    "error": 400,
    "stacktrace": "#0 0x556936045aa9 <unknown>\n",
    "message": "element not interactable\n  (Session info: headless chrome=85.0.4183.83)"
}
Running shrunk test at level 1.
Running shrunk test at level 1.
Running shrunk test at level 2.
Running shrunk test at level 2.
Running shrunk test at level 2.
Running shrunk test at level 3.
Running shrunk test at level 3.
Running shrunk test at level 3.
Running shrunk test at level 3.
Running shrunk test at level 4.
Running shrunk test at level 4.
Running shrunk test at level 4.
Running shrunk test at level 4.
Running shrunk test at level 4.
Running shrunk test at level 4.
2021-02-09 20:38:33 ERROR  Error Response: 400 Bad Request
{
    "data": null,
    "error": 400,
    "stacktrace": "#0 0x56207e25aaa9 <unknown>\n",
    "message": "element not interactable\n  (Session info: headless chrome=85.0.4183.83)"
}
Running shrunk test at level 4.
Running shrunk test at level 5.
Running shrunk test at level 5.
Running shrunk test at level 5.
Running shrunk test at level 5.

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

ubuntu@ip-redacted:~/src/my-app$

OK. What command did you run? Would it be possible to post the entire log?

This is the command:
docker run --rm --network quickstrom --volume="$PWD:/web-cljs" quickstrom/quickstrom:latest quickstrom check --reporter=html --html-report-directory=./quickstrom/report --max-trailing-state-changes=10 --trailing-state-change-timeout=250 --webdriver-host=webdriver --webdriver-path=/wd/hub --browser=chrome --tests=5 /web-cljs/quickstrom/specs/app.spec.purs https://oursite.com/login 2>&1 | tee output.txt

I can post the log a bit later on.

Ah, I think I know what is. You're running quickstrom through Docker, and the HTML report is written inside the docker container. ./quickstrom isn't a mounted volume, right? So it writes the HTML report to a directory only inside the container. If you add a volume mount and use the absolute path for --html-report-directory, does that work?

Ah yep, that was it. Using an absolute path into the already mounted $PWD works.

Nice!

Closing this issue now. Feel free to open a new one if the printouts are problematic.

This issue pertains to the CLI reports, not the HTML ones. Are you suggesting that CLI reports are deprecated ?

And actually this issue still applies to the HTML reports (which still list clicks as, e.g., "a[i] clicked" without any way to know which a was actually clicked). The only difference is that there is indeed more circumstantial evidence (i.e., the screenshots) but it isn't always possible to infer what happened (or even when it is, it can be difficult).

Sorry, got a bit derailed by our discussion. OK, so let's add some specific new issues, if these make sense:

Show which if the N possible candidates were taken (e.g. "5th out of 7 candidate elements") for both CLI and HTML reports
Add a highlight-on-hover for the actions in the HTML report

That sounds awesome. Two things though:
For the CLI solution, I'm not sure how much that would help. Perhaps we can think about a "deeper" fix or some way to integrate w/ screenshots/highlights for the CLI as well.
For HTML, that would be awesome. I think we will need to be mindful of the positions of the clicked elements such that we can "scroll" them into view (via an animation) on hover. (Either that or resize the viewport to take up the full size of the render). The former is probably more impressive from a pure wow factor point of view but the latter may end up being more practical / useful (as the distinguishing/relevant bits may be off screen [or far away from the click]). Also, the "resize viewport" option could be done globally independently of clicks [for the same reason(s) of usefulness/practicality].

For the CLI solution, I'm not sure how much that would help. Perhaps we can think about a "deeper" fix or some way to integrate w/ screenshots/highlights for the CLI as well.

Yeah I've thought about writing screenshot files in that case to, but with "static" highlights already added (using something like ffmpeg or GraphicsMagick to draw rectangles). That would work for if only highlighting the action, but perhaps not highlight all queried elements.
Also, if we write a directory of screenshot files, then we're sort of half way to the HTML anyway. I guess it depends on how you want to consume the information. I'm starting to lean towards the console reporter not being a very useful troubleshooting tool for failed checks.
Another option is writing a JSON file (like the .jsonp file in the HTML report directory) with all information in some standardized format, and then writing tooling for displaying that report data. Possibly as separate projects. This is what I'd like to do for https://app.quickstrom.io.

For HTML, that would be awesome. I think we will need to be mindful of the positions of the clicked elements such that we can "scroll" them into view (via an animation) on hover. (Either that or resize the viewport to take up the full size of the render). The former is probably more impressive from a pure wow factor point of view but the latter may end up being more practical / useful (as the distinguishing/relevant bits may be off screen [or far away from the click]). Also, the "resize viewport" option could be done globally independently of clicks [for the same reason(s) of usefulness/practicality].

Right. Currently the screenshots are scaled down to fit horizontally, but not vertically. I had planned to instead display them at a 1:1 size with overflow, and perhaps automatically scroll. If I understand you correctly, you mean we could supply two modes which you could toggle between? Like "100%" or "Fit to screen".
And automatic scrolling could be cool, but also potentially very annoying. Maybe that should also be a user setting.

Yes for CLI, the JSON file + separate renderer sounds good although I agree it is starting to approach the HTML approach at that point.
Regarding HTML, actually rather than two separate modes, it just occurred to me that we could support both simultaneously if we merely allow the screenshots to themselves be scrollable. It would effectively give the user the impression of having miniature browser windows inside the page. And they could be “pre-scrolled” to the relevant element for the action in any transition page. Then if the user were to scroll away, a hover over the action could once again “re-scroll” it back into view.


C# - Add Instructions for compiling in Linux and Mac systems

Go to the folder for C# where the name of the folder should be the name of the language itself. Inside the folder should be the Hello World! code of the file (there will be quite a few files there).
Your task is to edit the README for the same and make sure it covers all instructions on how to set up C# Dev Environment. For more resources, you can check them out here
If you don't know any of these steps, kindly ping back in the comments so that I can help you out.
Ground rules:

Whoever claims the Issue first, should send a Pull Request within 24 hours else it'll be assigned to another claimant and further Pull Requests regarding that issue will not be entertained.
Pull Requests sent without claiming and referencing the Issue will not be entertained.
Make sure your Pull Requests have just one commit in them. Squash multiple commits into one if you have to.

Best of luck. Let the Hacktoberfest begin!!

Hey, it is my first time dooing this stuff. Can I do this task? I have programmed in C# a lot but I have never contribuited in one repo.
Thanks 4 all, and greate git.

Sure why not!

Sure why not!

Any updates? 6 Hours more and then the Issue will be re-assigned!

yes, Im working on it, this afternoon I will upload the readme

@Duxy1996 claim the Issue again in case you're still working on it!


Multi-account deployment did not add infra account to Key Policy for cicd stack

Describe the bug
When deploying data.all in a multi-account setup (1 account for CICD, 1 account for infra), using v1.5, the deployment failed immediately in the dataall-staging-backend-stage Prepare step with the error:
The ciphertext refers to a customer master key that does not exist, does not exist in this region, or you are not allowed to access. (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: .......; Proxy: null)
Upon investigation, the S3 Bucket "dataall--ci-..." Encryption Key Policy did not allow the Decrypt action for the infrastructure account.  It only allowed Decrypt for the CICD account.
Once I added the following to the Key Policy, the Prepare was able to run successfully against the infrastructure account:
`
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::INFRA_ACCT_ID:role/ROLE-REGION"
},
"Action": [
"kms:Decrypt",
"kms:DescribeKey"
],
"Resource": "*"
}
`
...where INFRA_ACCT_ID is replaced by the ID of the infrastructure account, ROLE is replaced with the role name that is present in the Allow Principal in the Key Policy for the CICD account, and REGION is replaced by the region.
Somehow, the Key Policy was not correctly setup for the Infrastructure account ID.
How to Reproduce
data.all v1.5
Multi-account deployment, with 1 CICD account and 1 Infrastructure account.
Expected behavior
No response
Your project
No response
Screenshots
No response
OS
N/A
Python version
N/A
AWS data.all version
1.5
Additional context
No response

Thanks for opening the issue, we will look into it

The above key policy in question relates to the Artifacts Bucket Encryption Key created by CDK Pipelines when initializing a new CodePipeline(...) construct
CDK should handle granting Read Access and Decrypt Permissions to the Pipeline Artifacts S3 Bucket and KMS Key autoamtically - I was not able to replicate the above error in my cross account deployment of data.all.

I would think re-bootstrapping the accounts and deploying the pipeline again may resolve the above error...
On the tooling account:
cdk bootstrap aws://<tooling-account-id>/<aws-region>
And on the deployment/infra account:
cdk bootstrap --trust <tooling-account-id> --trust-for-lookup <tooling-account-id> -c @aws-cdk/core:newStyleStackSynthesis=true --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess aws://<deployment-account-id>/<aws-region>
Be sure to pass @aws-cdk/core:newStyleStackSynthesis=true

Closing stale issue


Strip whitespace characters from leading characters

Fix the issue when STIX pattern starts with white spaces in the leading characters of the pattern.

Codecov Report

Merging #64 into master will increase coverage by 0.13%.
The diff coverage is 95%.

@@            Coverage Diff             @@
##           master      #64      +/-   ##
==========================================
+ Coverage   81.62%   81.75%   +0.13%
==========================================
  Files          10       12       +2
  Lines        2405     2423      +18
==========================================
+ Hits         1963     1981      +18
  Misses        442      442

Impacted Files
Coverage Δ

stix2patterns/test/test_validator.py
100% <ø> (ø)
:arrow_up:

stix2patterns/test/test_helpers.py
100% <100%> (ø)

stix2patterns/helpers.py
100% <100%> (ø)

stix2patterns/validator.py
65.06% <66.66%> (+0.42%)
: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 3053beb...54cad4b. Read the comment docs.

Hi @squioc, thanks for both of these Pull Requests! Before we merge these in, can you please sign the individual CLA for OASIS?

Hi @clenk, I have created my individual CLA.
Regards


WYSIWYG editor Component

It's would be sounds good if we have in vuesax a component like summernote or something similar.
In some cases, it can be very helpfull.
Example: https://summernote.org/
Thanks again for your excellent work.

See this WYSIWYG built (or wrappep) with Vue.js : Vueditor
https://github.com/hifarer/vueditor

It's a good example to try wrap it in vuesax. Then i would haven't other dependency in my build. Thanks 🙂

Here an more precise solution.
https://tiptap.scrumpy.io
I understand that you want but I think these complex components need to be done by third party..


Adding script for k8s deployment

Description

Please include a summary of the changes and which issue has been fixed. Please also include relevant motivation
and context. List any dependencies that are required for this change.

Adding kubernetes deployment script to our list of supported platforms.
Fixes #1361
Type of change

Please delete options that are not relevant.

New feature (non-breaking change which adds functionality)
This change requires a documentation update

How Has This Been Tested?
Manually
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

@geekup-legodevops Looks good to me. Please "Squash & merge" this in.


Adding a jmespath! compiler plugin

The jmespath_macros crate provides the jmespath! macro used to statically compile JMESPath expressions.
By statically compiling JMESPath expressions, you pay the cost of parsing and compiling JMESPath expressions at compile time rather than at runtime, and you can be sure that the expression is valid if your program compiles.
Note: This only works with a nightly compiler.
#![feature(plugin)]

#![plugin(jmespath_macros)]
extern crate jmespath;

use std::collections::BTreeMap;

fn main() {
    // Create our statically compiled expression. The build will fail
    // if the expression is invalid.
    let expr = jmespath!("foo.bar");

    // Build up and search over a BTreeMap directly.
    let mut outer = BTreeMap::new();
    let mut inner = BTreeMap::new();
    inner.insert("bar", true);
    outer.insert("foo", inner);

    // Perform the search.
    let result = expr.search(&outer).unwrap();

    // Convert to an actual bool and compare with what's expected.
    assert_eq!(true, result.as_boolean().unwrap());
}

Coverage remained the same at 82.242% when pulling 5c93973e534c6527ad3145e6b037b48c00d2699f on static-codegen into f6c72683ba82be8d246e5d4bfc78c052c5c3d107 on master.


feat: add PerfMsTracker

Fixes #9

Codecov Report

Merging #10 (2294940) into main (2c3ada9) will increase coverage by 1.34%.
The diff coverage is 91.66%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #10      +/-   ##
==========================================
+ Coverage   81.04%   82.38%   +1.34%
==========================================
  Files           2        3       +1
  Lines         153      176      +23
==========================================
+ Hits          124      145      +21
- Misses         29       31       +2

Impacted Files
Coverage Δ

asgi_matomo/trackers.py
90.90% <90.90%> (ø)

asgi_matomo/__init__.py
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[SourceKit] Add required rpath back to sourcekitd RPATH_LIST

This was modified to .../swift/host in
b338472a2b78d09e3ea9017e20214be1208eea3b, but the SourceKit libraries are not under swift/host.
Resolves rdar://103006159.

@swift-ci please test


Add metadata to invokeActorReq

Signed-off-by: Addison Juarez<EMAIL_ADDRESS>Description

Issue reference

Update invokeActor() to use new metadata field.
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[x] Unit tests passing
[x] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@addjuarez  Please, follow up with an unit test or E2E PR.


Node memory pressure - pod eviction

Hi
Currently evaluating some workloads running on a low tier AKS cluster of 3 b2 machines
I've setup robusta minimal without prometheus purely because I need to capture issues with evictions while I evaluate which tier of machine we need for our workloads
Currently a couple of deployments get evicted and rescheduled on another node because of node: low memory
However, these aren't pod oom killed issues, its the node memory threshold I guess which is the reason for the eviction
I expected robusta to alera me when this happened, like it does for pod OOM issues, however it doesn't appear to - i had 50 instances of a pod evicted, and no alerts
Is there not a default playbook setup for this?
do I have to setup a custom playbook, or is what I want not possible with robusta?
thanks

Hey, you'll have to setup a custom playbook for this. It's not captured by default due to the potential for a lot of noise on auto-scaled clusters.
I believe there is a Kubernetes event (kubectl get events) that you can use for the custom playbook trigger - can you confirm?

Hi @prom3theu5, we have a pod eviction trigger now. You can use a playbook like below and get alerted on evictions.
customPlaybooks:
- triggers:
  - on_pod_evicted: {}
  actions:
  - create_finding: #
      title: "Pod $name in namespace $namespace was Evicted"
      aggregation_key: "PodEvictedTriggered"

More details here


OLS-40: Add provider and model to llm request

Description
Adds provider and model to llm request.
Prerequisites:

[x] Add QueryHelper parent
[x] docs_summarizer to query_helpers

Type of change

[X] New feature

Checklist before requesting a review

[x] I have performed a self-review of my code.
[x] PR has passed all pre-merge test jobs.
[x] If it is a core feature, I have added thorough tests.

Testing

Start app make run, visit the /ui, and provide values (or not) to provider/model fields.

or do posts to /query endpoint directly

/assign @bparees

needs a rebase
/approve

/lgtm

/retest

/lgtm


Page is outdated. Does not include v2.4.0 or 2.5.0 change logs

[Enter feedback here]

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

ID: 173b5929-529b-938b-b6ab-59f05a5d69a8
Version Independent ID: 0a3dfe5e-938f-933d-637e-b7449e3b8aa5
Content: Microsoft Teams PowerShell Release Notes - Microsoft Teams
Content Source: Teams/teams-powershell-release-notes.md
Service: msteams
GitHub Login: @brandber
Microsoft Alias: brandber

Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

The article was updated.
@scanum please kindly close.


Fix yarn container failed when docker container exited quickly.

Fixes Jenkins CI failed.
docker_pid was used for detect cgroup failed, which has been removed to make all OOM as user failed, 55.
Since Jenkins CI just runs bash --version as command, which usually be finished quickly, there is a bad case that the container exited before docker attach and will cause yarn failed.
This PR reverts this part.

Coverage increased (+4.2%) to 52.627% when pulling 68c80d488ea0e258aa29594b6354ec366bca49c6 on qixcheng/rest-server/fix-docker-attach into 4294699e0bf2e4d8f8255a4be45c8b0d133c4fa7 on master.


TlsExceptionHostPort (HandshakeFailed Error_EOF) "chrome.google.com" 443

Not the greatest issue title but I can't think of a more concise summary! This is happening with any request I make to chrome.google.com, and nowhere else (that I've found -- notably working sites include Steam, Amazon, iTunes). It occurs with both tlsManagerSettings and a constructed manager with TLSSettings True False False, and also with regular HTTP on port 80. It's possible this is some sort of deliberate rejection, but EOF during the handshake isn't the usual signal for that and I've dug about as far as my "expertise" reliably allows. Figured I should pass it upstream for review, at least.
The application is a product data scraper service, public source available here: https://github.com/tejon/Meeseeks

I'm having a similar issue, one of my application that was running fine before failed after a new build/deploy today with this message:
TlsExceptionHostPort (HandshakeFailed (Error_Protocol ("certificate rejected: [SelfSigned]",True,CertificateUnknown))) "api.enterprise.apigee.com" 443
But if I open https://api.enterprise.apigee.com in chrome I get the green lock icon indicating that the connection is secure. I can provide code or can try the tls settings mentioned by @tejon if necessary.

I'm also getting this exact same error on google related pages which even includes google.com. More interestingly, I don't get this error on m.google.com.

I get this same error when trying to access calendar.google.com. Curl does not complain about the same URL.

This was a problem in hs-tls. See here: https://github.com/vincenthz/hs-tls/issues/152
You should just be able to use tls-1.3.9 it in stackage lts-7.16 and nightles of course. It worked for me.

Not a wreq problem, closing.


Unable to download file from blob storage due to SSL error

Package Name: azure-storage-blob
Package Version: 12.7.1
Operating System: Windows 10
Python Version: 3.7.3

Describe the bug
Unable to download file from blob storage due to SSL error
Error
azure.core.exceptions.ServiceRequestError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])",)
Expected behaviour
Zip File should be downloaded.
Code Used
blob_service_client = BlobServiceClient.from_connection_string(CONNECT_STR)
download_file_path = os.path.join(path.strip(), 'HelloWorld.zip')
blob_client = blob_service_client.get_blob_client(container=container_name, blob=blobname)
print("\nDownloading blob to \n\t" + download_file_path)
with open(download_file_path, "wb") as my_blob:
blob_data = blob_client.download_blob()
blob_data.readinto(my_blob)
**** Tried with below commented part - Still facing the same error *****
#####with**_ open(download_file_path, "wb") as download_file:
#####download_file.write(blob_client.download_blob().readall())
Error
azure.core.exceptions.ServiceRequestError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])",)
Steps Followed
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python

Thanks for opening this issue, we'll investigate as soon as possible.

Hi @deepaleekhare31, could you specify the failing line? is it blob_data = blob_client.download_blob()?

Yes, that's right.

Here are the logs in detail:
C:\Python37\python.exe C:/Users/Utility/DownloadArtifact.py
Downloading blob to
C:\Users\Utility\Artifact.zip
Traceback (most recent call last):
File "C:/Users/Utility/DownloadArtifact.py", line 46, in
browse_path(UTF_PATH=str(sys.argv))
File "C:/Users/Utility/DownloadArtifact.py", line 42, in browse_path
download_file.write(blob_client.download_blob().readall())
File "C:\Python37\lib\site-packages\azure\core\tracing\decorator.py", line 83, in wrapper_use_tracer
return func(*args, **kwargs)
File "C:\Python37\lib\site-packages\azure\storage\blob_blob_client.py", line 820, in download_blob
return StorageStreamDownloader(**options)
File "C:\Python37\lib\site-packages\azure\storage\blob_download.py", line 316, in init
self._response = self._initial_request()
File "C:\Python37\lib\site-packages\azure\storage\blob_download.py", line 366, in _initial_request
**self._request_options
File "C:\Python37\lib\site-packages\azure\storage\blob_generated\operations_blob_operations.py", line 182, in download
pipeline_response = self._client._pipeline.run(request, stream=True, **kwargs)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 211, in run
return first_node.send(pipeline_request)  # type: ignore
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 71, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 71, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 71, in send
response = self.next.send(request)
[Previous line repeated 2 more times]
File "C:\Python37\lib\site-packages\azure\core\pipeline\policies_redirect.py", line 158, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 71, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\storage\blob_shared\policies.py", line 515, in send
raise err
File "C:\Python37\lib\site-packages\azure\storage\blob_shared\policies.py", line 489, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 71, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 71, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 71, in send
response = self.next.send(request)
[Previous line repeated 1 more time]
File "C:\Python37\lib\site-packages\azure\storage\blob_shared\policies.py", line 290, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 71, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 71, in send
response = self.next.send(request)
File "C:\Python37\lib\site-packages\azure\core\pipeline_base.py", line 103, in send
self._sender.send(request.http_request, **request.context.options),
File "C:\Python37\lib\site-packages\azure\storage\blob_shared\base_client.py", line 325, in send
return self._transport.send(request, **kwargs)
File "C:\Python37\lib\site-packages\azure\core\pipeline\transport_requests_basic.py", line 285, in send
raise error
azure.core.exceptions.ServiceRequestError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])",)
Process finished with exit code 1

Hi @deepaleekhare31 do you happen to be using some sort of a proxy?
This issue seems to occur when the remote endpoint (azure) is not signed with a certificate in your local certificate authority store.
Useful links https://stackoverflow.com/questions/64981482/azure-python-sdk-throwing-ssl-bad-handshake-error-when-connecting-from-service-p and https://github.com/Azure/azure-sdk-for-python/issues/1384
If troubleshooting this issue does not work, you can create your own session object and set session.verify=False and pass it while instantiation your client.
import requests
session = requests.session()
session.verify = False
BlobServiceClient.from_connection_string(CONNECT_STR, session=session)
...

Let me know what approach works for you.

I had similar issue during local testing with self-signed certs and Azurite.
this construction helped me:
blob_service_client = BlobServiceClient.from_connection_string(conn_str=os.environ.get("AZURE_STORAGE_CONNECTION_STRING"),
                                                               retry_total=0,
                                                               connection_verify=False)

Package version: 12.11.0


[pt-pt] Add minimum required content for European Portuguese localization

Moved to https://github.com/kubernetes/website/pull/45894

@falsovsky feel free to review and make comments

As a native Portuguese I can confirm that the translation looks OK to me.
Nice job @ricardoamaro !

Thanks
We avoid issue references in commit messages, so:
/retitle [pt-pt] Add minimum required content for European Portuguese localization

I would like to help with this localization (pt-pt). I am already a member of the kubernetes org.

Moved to https://github.com/kubernetes/website/pull/45894


Symbol Map / Deminifier

Include a map of the symbols and create a tool to deminify a script / create an MDK project from a script blueprint

symbol map must be optional as some people use the minifiers as a base-level obfuscator.

i like this but... tbh if the creator of the script wants they can post it in github.. if they dont want to, they arnt gonna share the symbol map either, most likely.

Correct, but the minifier isn't an obfuscator tool, and a fair few of us actually want people to be able to learn from what we do.

I think adding a deminifier tool with an optional symbol map would be a valuable feature for the community, especially for those looking to learn from more complex scripts. While it's true that some creators may prefer not to share their symbol maps, making the feature optional keeps control in their hands while still supporting those who want to promote educational use and code transparency. For users who want to understand how advanced scripts work or troubleshoot them, having a way to “reverse engineer” an MDK project from a minified script could be a big step forward, especially given the heavy optimization and custom methods involved in many Space Engineers scripts.
It's also not entirely out of the question to add an obfuscator alongside the minifier, which could help protect more sensitive scripts while still allowing this deminifier feature for creators focused on transparency. Even then, I wonder—what really stops someone from deobfuscating any given script if they're determined? Obfuscation can make it harder to read, but it’s not a failsafe against reverse engineering.
Finally, for more complex scripts with nested classes or regions, any thoughts on how a deminifier tool might handle symbol maps in those cases? The structure could get tricky, but if done right, this could really streamline the process for creators who want to share both clear and optimized versions without constantly managing separate codebases.

Yeah I was working on understanding a minified script with 0 source code otherwise, and it was going very slowly.. and then i tried pasting a whole class into chatgpt and told it to guess at what all the symbols were/meant, and i gave it some context and viola it actually got it majorly right as far as i could tell. made sense to me.

That’s actually a great point, dosluke! AI tools can be surprisingly effective at interpreting code when given enough context, even with minified scripts. It’s impressive that ChatGPT was able to make accurate guesses about symbol meanings—that highlights just how helpful an integrated deminifier with an optional symbol map could be for those looking to reverse-engineer scripts for learning purposes.
Incorporating a deminifier directly in MDK, especially one designed to recognize and preserve class and method structures, would provide a much more streamlined and accessible solution. Users wouldn’t need to rely on external tools or guesswork to understand symbol meanings, and they’d have a clearer, more reliable starting point when analyzing complex scripts.
Plus, with the deminifier designed specifically for MDK and Space Engineers scripts, it could account for quirks unique to this environment, like custom region directives or specific naming conventions. This could make the tool particularly valuable, even for users familiar with AI assistance, by delivering more tailored and contextually accurate results.
Ultimately, having both an optional symbol map and the choice to obfuscate would allow creators to balance transparency with control over their code’s accessibility. If nothing else, the feedback we’re discussing here suggests there’s a lot of interest in tools that make advanced scripting easier to understand and share.


DS-2867: Obvious fix for JSPUI edit item form

This PR can be tested simply: create an item in JSPUI and add at least two files to that item. Publish it, login as administrator if not logged in as one already and click the edit button in item view. Without this PR this produces an Internal System Error, with this patch the edit item form is opened without any problems.

I merged it as the Bug was obvious, the solution simple and it was obviously a result from changing ID type from integer to UUID.


Added delay option to retrieve the metrics.

It is used to avoid collecting data that has not fully converged.
For target, group and tag configuration, we can set the delay_minutes parameter to specify more than the 3 default minutes.

I wasn't aware that Azure had the convergence issues that CloudWatch has. Can you point me at any docs around this?

I wasn't aware that Azure had the convergence issues that CloudWatch has. Can you point me at any docs around this?

Sadly I didn't find any documentation, neither bug around that but I'm talking after experiencing it.
A request for that : /subscriptions/${subscription_id}/resourceGroups/${RG}/providers/Microsoft.Web/serverFarms/${resource_name}/providers/microsoft.insights/metrics?aggregation=Total%2CAverage%2CMinimum%2CMaximum&api-version=2018-01-01&metricnames=MemoryPercentage
gives
 {                                         "timeStamp": "2019-12-03T20:06:00Z",                                         "total": 249.0,                                         "average": 62.25,                                         "minimum": 62.0,                                         "maximum": 63.0                                     },                                     {                                         "timeStamp": "2019-12-03T20:07:00Z",                                         "total": 0.0,                                         "average": 0.0,                                         "minimum": 0.0,                                         "maximum": 0.0                                     },                                     {                                         "timeStamp": "2019-12-03T20:08:00Z",                                         "total": 0.0,                                         "average": 0.0,                                         "minimum": 0.0,                                         "maximum": 0.0                                     },                                     {                                         "timeStamp": "2019-12-03T20:09:00Z",                                         "total": 0.0,                                         "average": 0.0,                                         "minimum": 0.0,                                         "maximum": 0.0                                     }
So some zero values in the end. If you do the request later, the value at the timestamp that had a 0 has a value.
Some metrics put zeros, some do the right thing and do not return values.
I'm only talking about Azure in this case.
We discovered this because we had alerts raising for CPU used regularly and we tried to reproduce this problem.
I hope it answers your question.

That sounds like it might actually be a bug rather than an expected behaviour, considering that noone else has reported it (whereas we heard of it quite a lot for Cloudwatch). Would you mind filing an issue with Azure to see if this is intentional?

Hi @brian-brazil ! This particular case with app service plan may be an Azure bug, it's true, but having the possibility to override the exporter hardcoded delay of 3 minutes is a life-saver here, and could also be in other situations. In the current case, using a delay of 5 minutes instead of 3 fixes the issue.
I think it doesn't harm to have this flexibility.

If Azure really works this way, then this needs to be changed for everyone - not as something users find out about the hard way. Thus we need to know if this is intentional.

I created a feedback demand through the Azure portal to see if someone will give me an explanation.

Helllo @brian-brazil ,
I poked them again on the support request which was planned to be answered in 8h, but still nothing. Continuing to poke them, but I don't know if I'll have an explanation. I totally understand your concern about adding code to maintain just to fix a bug.

It's more that there's wide ranging consequences if this is how things work, and there'd be more to it than your PR. I've already dealt with this over in the cloudwatch exporter, and we could avoid that complexity here that'd be good.

Hi @brian-brazil ,
I follow-up the work of my colleague (@vincentcreusot). We got a few exchange with Azure support on the case we opened with them.
The case is now closed so here is a summary of what I can grab out from Azure support comments:

it looks like it may be due to the clustering aspect of the web app backend, I’ve opened a collaboration to that team, but unfortunately the fullest answer we may get is that this is an artifact of the backend processes and infrastructure.
when data values are not present yet azure monitor puts in the default value for the variable type. So if the variable is written as a string, the default string is just “” an empty string, but INTs cannot be “” they have to be a valid number, so its just 0.
unfortunately this seems to be part of the design of the system itself.

So on one hand, it looks like they do not consider this as a bug for AppServicePlan (Microsoft.Web/serverFarms); so it would be useful if the exporter adapt to that "feature" by supporting the possibility to override the currently hard-coded 3 minute delay.
On the other hand I understand it has only been observed on this specific resource type so far, and that the "conclusion" is not very solid with the information we were able to get.
Let me know what you think.

Silently providing data that you know to be incorrect sounds like a bug to me. Is there a way to request that Azure Monitor not do that?

On the other hand I understand it has only been observed on this specific resource type so far, and that the "conclusion" is not very solid with the information we were able to get.

It sounds related to what we see with CloudWatch. Odd that it's only on one resource type.

Silently providing data that you know to be incorrect sounds like a bug to me. Is there a way to request that Azure Monitor not do that?

Request can be made on the azure feedback page. I made a search and found "our problem"!
I "voted" it up, hopefully others will do, but I have the feeling it can be long to see a fix (or even an answer).

If we report Azure metrics from the past, wouldn't it be more correct to also include a prometheus timestamp with those metrics?
There is the NewMetricWithTimestamp function for this in the prometheus library. Currently all Azure Metrics are reported as "NOW" but actually they are from a past point in time.

If we report Azure metrics from the past, wouldn't it be more correct to also include a prometheus timestamp with those metrics?
There is the NewMetricWithTimestamp function for this in the prometheus library. Currently all Azure Metrics are reported as "NOW" but actually they are from a past point in time.

I agree with that: weather or not a new delay option is added to the exporter, I think  NewMetricWithTimestamp should be used to reflect the currently hard-coded delay.

I added a pullrequest #81 with metrices adapted to expose also timestamp.