IndexError: pop from empty list in Flask apps

Using Python 3.4, Flask 0.10.1, in what appears to be error path when the application code throws an exception to indicate 403:
IndexError: pop from empty list
  File "flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "flask/_compat.py", line 33, in reraise
    raise value
  File "flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "librato_python_web/instrumentor/instrument.py", line 338, in wrapper
    return wrapper_function(f)(*args, **keywords)
  File "librato_python_web/instrumentor/web/flask_.py", line 88, in decorator
    context.pop_tag()
  File "librato_python_web/instrumentor/context.py", line 224, in pop_tag
    o = _get_stack().pop()

We have a soft fix for this issue on master. I tried a couple of ways to reproduce this, but unsuccessfully. What exception does your application raise that triggers this issue?

Sorry, didn't consider the possibility this could be affected by exceptions handling configuration (I should have). Here are the relevant bits:
from werkzeug.exceptions import default_exceptions
…
app = Flask(__name__, instance_relative_config=True)
…
class InvalidUsage(Exception):
    def __init__(self, message, status=400):
        self.status = status
        self.message = message
    def __str__(self):
        return '%d %s' % (self.status, self.message)

@app.errorhandler(InvalidUsage)
def api_error_handler(error):
    response = jsonify(status=error.status, message=error.message)
    response.status_code = error.status
    return response

def json_error_handler(error):
    if isinstance(error, HTTPException):
        message = error.description
        status = error.code
    else:
        message = str(error)
        status = 500
    response = jsonify(status=status, message=message)
    response.status_code = status
    return response

for code in default_exceptions.keys():
    app.register_error_handler(code, json_error_handler)

@app.route('/test')
def test():
    raise InvalidUsage('Whatever', status=403)

Thanks for the complete test app. I can't reproduce the issue with Python 3.5 and Flask 0.10.1 on OSX.

I have  a theory. I didn't mention (which I should have, but I didn't realize it could matter until I actually looked at the instrumentor code just now) that I use uWSGI+gevent. In my defense, you do claim to support gunicorn, so assuming you are greenlet-compatible wasn't that far-fetched…
Anyway: you use a context threading.local object to store the tags. My hunch is that the .pth file may be run before uWSGI performs gevent monkey-patching. If true, the code would be using non-patched threading.local which would certainly explain the behavior. It would also make for another case-in-point for #35.
Let me try what happens if I bootstrap the instrumentor explicitly as discussed in #35.

Let me try what happens if I bootstrap the instrumentor explicitly as discussed in #35.

No such luck, sadly. While this was setup wrong (gvent monkey patching must be done before the .pth file is evaluated, which is impossible), I'm still getting this error with properly setup system with threading.local replaced. I'll try to make a reproducible test case.

Here is a full, 100% reproducible, test case that doesn't involve gevent and works with Flask's builtin server — just run this script and go to http://<IP_ADDRESS>:5000/testme:

from librato_python_web.instrumentor.bootstrap import init as librato_init
librato_init()

from flask import Flask
from time import sleep
import requests
from requests.exceptions import RequestException, HTTPError
from werkzeug.exceptions import ServiceUnavailable

app = Flask(__name__)

@app.route('/bogus')
def get_test_met_bogs():
    sleep(2.0)
    return 'ok'

@app.route('/testme')
def get_test_met():
    try:
        r = requests.get("http://<IP_ADDRESS>:5000/bogus", timeout=0.5)
        r.raise_for_status()
    except HTTPError as e:
        raise ServiceUnavailable() from e
    except RequestException as e:
        raise ServiceUnavailable() from e
    return 'ok'

if __name__ == '__main__':
    app.run(debug=True)

The key is the interaction between flask and requests instrumentors. More specifically, the latter uses context.add_all_tags() which is, to use a technical term, buggy as hell and screws things up at this place — instead of calling pop_tags() in a finally block, as would be the sensible thing to do, it completely clears the context in case of an exception.
I'm not submitting a PR for this fix, because the same cringe-inducting pattern is repeated in other places in the file as well (including get_tag(), which not only does this, but eats the exceptions as well!!!) and fixing it will be a bit more involved (IMNSHO both the fail() and succeed() functions in this file are fundamentally flawed and must be eradicated).
Also, well, as a customer I had enough of doing free coding for you ;) I'd be happy to review your fix if you want, though.

Thanks, I can reproduce this now! Definitely appreciate the full test program.

Master now has some commits that ought to help. If you get a chance, let us know how that works out.

Fix to address the context stack issue above. I am able to verify that your test program runs properly.
Psycop2 instrumentation is disabled on Python 3 till we push a fix. You shouldn't need to modify the agent configuration file on Python3 going forward.
I am not encountering any issues with Gunicorn+Gevent. As a precaution, threading is now loaded lazily, upon first access, as opposed to during module loading. This ought to address any possibility of importing threading before monkey patching occurs.

Thank you!

Fix to address the context stack issue above.

Using the nuclear option I see…

I am not encountering any issues with Gunicorn+Gevent

Well, you didn't before either, even though they were trivially observable (repr(context._globals.context) would show threading.local type, not gevent.local). You're unlikely to hit them without sufficient load to encounter concurrency.

As a precaution, threading is now loaded lazily, upon first access, as opposed to during module loading

This is an unwise kludge. You're working around one specific demonstration of the underlying problem, without addressing (or as much as acknowledging) the actual underlying problem at all. Please reconsider. By doing this, you only hide symptoms of the problem. For this approach to work, you'd have to

identify all uses of anything potentially patched by gevent (you won't) and delay-import them all
never accidentally regress and add new code that isn't delayed (you inevitably will; case in point: reintroductions of py3 incompatibilities)

That simply won't happen. And gevent patches a lot. You'll never be able to be 100% sure the library is gevent compatible this way. But you can, with very little effort, fix it to be compatible with no maintenance burden in the future:
The established, simplest, most robust and most reliable way of using it is to simply monkey patch as soon as possible, before importing your app's code, doing it as early as possible. The only problem here, and trivially fixable, is that you abuse a Python feature to do a non-standard hack that it wasn't meant for. If you didn't install the magically-importing .pth file, there would be no gevent compatibility issue whatsoever.

Vaclav, I want to make sure I understand how the .pth file is impacting your situation. You're instrumenting your app from the code, correct? Wouldn't the .pth file be a no-op since LIBRATO_INSTRUMENT_PYTHON isn't set? Your suggestions are appreciated and we'll look at a way to auto-instrument without the .pth file magic. But I wan't to make sure I understand.

(Sorry, I missed the notification about your question in an inbox flood…) I don't use the .pth now, but I did at first and the consequences for gevent weren't immediately obvious.

Wouldn't the .pth file be a no-op since LIBRATO_INSTRUMENT_PYTHON isn't set?

In its current for, yes — almost. Some code is still being imported, including the os module (which gevent patches) too, but it is or should be — again, in the current state of the code — harmless.


fix(nuxt): generate component types

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

An error component type was generated, like this (pascalName is null)

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Thanks for spotting this. This might be an upstream issue in that library which should be fixed. Additionally, we should fix in Nuxt, but probably by filtering the component list earlier when it is generated rather than just here when the types are written.

I see. I add a filter for scanComponent function now.


Feature: Remove machine from settings sync

There is currently no way to remove a machine from Settings Sync. It is only possible to turn it off.
I wish there was a way to remove it completely from the data in the cloud.
The reason is that if I e.g. have a "Work" computer named, and I get a new Work computer (due tot he old being old), I want to rename my new machine "Work" as well. That is not possible today, so I need to name it "Work new" or "Work 2" and you can imagine it becoming cumbersome as time goes.

/duplicate

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!

@sandy081 I search and could not find :(

https://github.com/microsoft/vscode/issues/141663


Add pip freeze to sddb info (see #989)

It's pretty voluminous, but we often want this information.
Note that I also put \'\'\' at the start and end, in the hope that people will paste that in and we'll see formatted data in the bug reports. :-D

Codecov Report
Patch coverage: 75.00% and project coverage change: +0.01% :tada:

Comparison is base (4a1946e) 78.41% compared to head (5d11100) 78.43%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #992      +/-   ##
==========================================
+ Coverage   78.41%   78.43%   +0.01%
==========================================
  Files         100      100
  Lines        6209     6217       +8
==========================================
+ Hits         4869     4876       +7
- Misses       1340     1341       +1

Files Changed
Coverage Δ

superduperdb/cli/info.py
90.69% <75.00%> (-3.59%)
:arrow_down:

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Initial stab at building the Ruby gem on CircleCI

Was meant to be opened against the forked repository.


[2.0.6] Save an article : works even if no third-party services configured

Hello,
On Miniflux 2.0.6, if you use "Save" link on article with no third-party services configured, your article is saved but where ?

You can click on the link but it's not going to do anything if not configured. The link should be hidden to avoid confusion.

You can click on the link but it's not going to do anything if not configured

Not agree.  Actual result :

Expected result : error message
Step to reproduce :

use a default account
add a feed
save an article

For me, it's a bug, not an enhancement.

I tried using the link, but didn't understand what it did (until now). As a first fix, I agree that it makes sense to hide it. However, I wouldn't know about the feature if the link wasn't there - could clicking it maybe give some info about what it's supposed to do when it's configured?

Since the version 2.0.7 the link is shown only when at least one integration is configured.
@miniyou There is some documentation about that here: https://docs.miniflux.net/en/latest/usage.html


Automated cherry pick of #3649: fix: agent-list show zone info

Cherry pick of #3649 on release/2.11.
#3649: fix: agent-list show zone info

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@db1235e). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.11   #3651   +/-   ##
==============================================
  Coverage                ?   7.14%
==============================================
  Files                   ?     479
  Lines                   ?   77849
  Branches                ?       0
==============================================
  Hits                    ?    5561
  Misses                  ?   71820
  Partials                ?     468

Flag
Coverage Δ

#aFlag
7.14% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/baremetalagents.go
7.2% <0%> (ø)

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 db1235e...e1f1214. Read the comment docs.

/lgtm
/approve


[rstmgr] Update reset info to include software reset

Addresses #10383

Signed-off-by: Timothy Chen<EMAIL_ADDRESS>

hey @matutem please have a look at the latest and if it's better.


Revert category changes

Description
Revert category changes
Issues Resolved

Screenshot

Testing the changes

Check List

[ ] All tests pass

[ ] yarn test:jest
[ ] yarn test:jest_integration
[ ] yarn test:ftr

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] Update CHANGELOG.md
[ ] Commits are signed per the DCO using --signoff

Codecov Report

Merging #243 (3f3e2b2) into workspace-pr-integr (8ff9e88) will decrease coverage by 10.70%.
The diff coverage is 0.00%.

@@                   Coverage Diff                    @@
##           workspace-pr-integr     #243       +/-   ##
========================================================
- Coverage                66.25%   55.56%   -10.70%
========================================================
  Files                     3396     1189     -2207
  Lines                    65141    23928    -41213
  Branches                 10508     3995     -6513
========================================================
- Hits                     43159    13295    -29864
+ Misses                   19350    10000     -9350
+ Partials                  2632      633     -1999

Flag
Coverage Δ

Linux_
?

_2
55.56% <0.00%> (ø)

_3
?

_4
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

src/core/public/core_app/errors/url_overflow.tsx
88.23% <ø> (ø)

...rc/core/public/core_app/errors/url_overflow_ui.tsx
66.66% <ø> (ø)

...re/server/ui_settings/saved_objects/ui_settings.ts
33.33% <ø> (ø)

...on/index_patterns/index_patterns/index_patterns.ts
1.40% <0.00%> (-54.93%)
:arrow_down:

...lugins/data/server/saved_objects/index_patterns.ts
25.00% <0.00%> (ø)

... and 2527 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[website] Fix typos in the rebranding

I have spotted the issues using https://www.grammarly.com/.

I merging as I believe there are no controversial changes.


Formal documentation of the with parameters

Description:
This action is lacking formal documentation of the with options. Existing docs only consists of examples that don't explain the options. For example I can not find what the default value for  registry-url is.
Justification:
Every action should have formal documentation on its with parameters. Take actions/checkout as a example on how to do it right.
Are you willing to submit a PR?
No, i don't know the internals of the action well enough.

Hello @silverwind. Thank you for your report. We'll take a look on it.

Hello @silverwind. We updated documentation in this pull request. For now I'm going to close the feature request.


Plots are not shown.

Im trying a fairly simple script to plot a line from python.
The session is created, there is no exception being thrown
however when I go to the session no plots are created.
Here is my code:
l = Lightning(host="http://localhost:3000")
l.create_session("line")
l.plot(data=[1,2,3], type="line")

If I go to the webinterface I am able to create a plot and it actually shows alright.

Hey @dav009,
Sorry the docs in the README were a little outdated. I've updated, and the most up-to-date docs are also here: http://lightning-viz.org/lightning-python/
You can shorten your code to:
l = Lightning(host="http://localhost:3000")
l.create_session("line")
l.line([1,2,3])

Also, FYI, the following does work:
l.plot(data={"series": [1,2,3]}, type="line")

The plot method is a generic plotter that will let you generate any plot type (including a custom one), but does no parsing or formatting of the input. It will pass the dictionary along directly to the plot. So it will work fine if the dictionary is in the correct format (e.g. {"series": [1,2,3]} for the default line chart).
This is mainly useful for generating custom visualizations for which there is not (yet) an associated method in the official client.
Will expand the documentation to explain this!

awesome! thanks for the quick support


refactor: remove goerli

What I did
https://blog.ethereum.org/2023/11/30/goerli-lts-update
https://www.alchemy.com/blog/goerli-faucet-deprecation
Goerli support on all networks is ending soon:

February 16th - Base Goerli
March 7th - Optimism Goerli
March 18th - Arbitrum Goerli
April 1st - Ethereum Goerli
April 6th - Polygon zkEVM Goerli
April 11th - Starknet Goerli
April 13th - Polygon Mumbai

Checklist

[ ] Passes all linting checks (pre-commit and CI jobs)
[ ] New test cases have been added and are passing
[ ] Documentation has been updated
[ ] PR title follows Conventional Commit standard (will be automatically included in the changelog)

Is Ganache deprecated? https://github.com/trufflesuite/ganache

Yes, we should archive this repo


Add ability to hide unused zones

At the moment I have a 16 Zone Rachio but I only use 4 zones. It would be nice to have the ability to hide the unused zones either automatically or through specifying in the config file. (Winkv3 plugin does this now in the config file using a "hide_ids" field, for reference)

Are you using beta 4 of the plugin? I think I’m respecting the enabled flag properly with that release.

Ooo no... running: homebridge-rachio-platform v1.0.0-beta.0
I’ll try the updated beta. Thanks!

Updated to beta.4 and looks great! The unused zones did indeed disappear. Thank you!
On a slightly different note — got this warning on the install and thought it was peculiar considering the update was successful.
npm WARN deprecated<EMAIL_ADDRESS>This version is no longer maintained. Please upgrade to the latest version.
+<EMAIL_ADDRESS>updated 1 package in 9.441s```


Auto-diff compatible fidelities between density matrices

Fixes https://github.com/qgrad/qgrad/issues/53

I use trace distance fidelity equivalence on pg 415 of Chuang's book (10th ed). See eq 9.101


Update awssdk:auth, awssdk:core, ... to 2.17.155

Updates

software.amazon.awssdk:auth
software.amazon.awssdk:core
software.amazon.awssdk:regions

from 2.17.141 to 2.17.155.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #60.


"You must add a reference to assembly 'RazorEngine'" error when following "Typical literate setup" docs

I tried following the documentation at:
http://tpetricek.github.io/FSharp.Formatting/literate.html
and got the error: "error FS0074: The type referenced through 'RazorEngine.Templating.ITemplateResolver' is defined in an assembly that is not referenced. You must add a reference
to assembly 'RazorEngine'."
Rightly or wrongly I fixed this problem by adding the following line to the top of my build.fsx script:
#I "packages/RazorEngine/lib/net40"
I also had to change the path to the formatting library, as it doesn't seem to include the version number in the package directory:
#I "packages/FSharp.Formatting/lib/net40"

Should be fixed by https://github.com/tpetricek/FSharp.Formatting/commit/e6c755fe79ced0b1d776004a6d33484288ebb7dd and https://github.com/tpetricek/FSharp.Formatting/commit/5283f91951f0c38d88c1e1816a6e657b6439338c. Thanks for reporting this!


Text editor overlaps dialogs if function hints are being displayed

Operating system or device - Godot version:
Ubuntu 16.04 64b, Godot fea1fb0925142c3279fd3afaf27e80e78cd2e1e8
Issue description (what happened, and what was expected):
One image speaks a thousand words:

It might be related to commit 9eb54e5b6e89b51fb3287de3b89f009109242bad ?
Steps to reproduce:
Only seems to happen in the scenario shown in the screenshot, where some function hint is being displayed and a dialog is opened.

It's indeed caused by #6716. I was worried that something like this might happen, but couldn't find a case where it does.
So we need to find a better solution.

Damn, how come I missed this commit for 2.1? :/


Unable to get this working when using Parcel bundler

Hi.
I have been trying to get this extension working for almost 3 days, I think I am going to throw my laptop. My problem being : Firefox does not hit my breakpoints, they stay "Unverified". (yes, another one)
My project folder is very simple :

Fresh install of your extension + fresh install of Firefox Developer Edition.
I am using Parcel as bundler. The default command to start up a development server generates source-maps.
I followed your instructions, and checked other issues to see if I could use them to solve mine.. Nothing. But I do understand the problem must be related to path mappings, I am just unable to know what to write, I tried so many things...
My configuration in launch.json :
{
  "type": "firefox",
  "request": "launch",
  "name": "Launch ff",
  "url": "http://localhost:1234/",
  "pathMappings": [{
    "url": "http://localhost:1234/",
    "path": "${workspaceFolder}/dist/"
  }],
  "log": {
    "consoleLevel": {
      "PathConversion": "Debug",
      "default": "Error"
    }
  }
},

Log from PathConversion :
DEBUG|003.989|PathConversion: Converted url http://localhost:1234/web.9ad09f98.js to path /Users/_my_user_/Dev/game-of-life/dist/web.9ad09f98.js
DEBUG|004.062|PathConversion: Converted url http://localhost:1234/web.e31bb0bc.js to path /Users/_my_user_/Dev/game-of-life/dist/web.e31bb0bc.js
DEBUG|004.063|PathConversion: Sourcemapped path: /Users/_my_user_/Dev/web/index.js

The last Sourcemapped path: reports an incorrect path, it should be /Users/_my_user_/Dev/game-of-life/web/index.js
I also followed the "Loaded Scripts > Right click on a folder > Map to a local directory" but I am not sure to understand why I have 2 entries here, especially the ../../web that seems to be related to the wrong path reported by PathConversion logger:

On the other hand, I am really surprise that the extension Debugger for Chrome just works perfectly, without any tedious configuration. But I don't want to use it so...
Thanks a lot for any help you can provide !

Do you by instance use ES6 modules?

Do you by instance use ES6 modules?

@rugk
We can use this feature with Parcel, but in this project I don't, my index.js is as simple as that :
'use strict';

const foo = 'foo'; // breakpoint-ed

// console.warn( new Date() );

const bar = 'bar'; // breakpoint-ed
console.log( bar );

That was a bug - I didn't handle the relative path in the sourcemap (that's why you saw ../../web in the Loaded Scripts Explorer). I just published a new version containing the fix, with this version my test project works with
  "url": "http://localhost:1234/",
  "webRoot": "${workspaceFolder}"

and without any pathMappings.

It seems a bit better now, at least some breakpoints are hit, thank you !
I say "some" because I still have a lot of issues, breakpoints moved or not hit, debugger paused somewhere else, browser stuck due to some settings (reAttach for example) ... Its operation is too random in my case.

I'm still seeing this. A simple project that uses React and Typescript does not work. All the proje whct files are in src subfolder, the index.html just directly loads index.tsx script which simply renders a component to the DOM. WIth
"url": "http://localhost:1234/",
"webRoot": "${workspaceFolder}"
I get this in console:
Converted url http://localhost:1234/node_modules/react/index.js to path E:\dev\react\parcel-test\localhost:1234\node_modules\react\index.js (the right path is the one without localhost:1234.
This configuration:
"name": "Firefox localhost",
"type": "firefox",
"request": "launch",
"url": "http://localhost:1234",
"pathMappings": [{
"url": "http://localhost:1234",
"path": "${workspaceFolder}"
}]
shows correct paths, and breakpoints are verified, but not hit...
This is something that looks wrong to me, from the log:
SourceMappingSourceActorProxy: Computing generated location for http://localhost:1234/src/ts/index.tsx:5:undefined
SourceActorProxy: Breakpoint has been set at undefined in http://localhost:1234/ts.b6d0f0dc.js
not sure if this is helpfull, the project is really simple, seems to me that it should work...
Attaching the log, if you want the source, it's few kilobytes, so just say... Or is something missing in my config?
log.txt


datasophon UI界面排版问题

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
海豚调度器总览界面有APIserver启动时间，APIserver运行时长，我删除过APIserver服务，然后重新装了一个。
结果这两个界面把新旧服务的情况都显示出来了。
DataSophon Version
datasophon-manager-1.0.2
Error Exception
海豚调度器总览界面有APIserver启动时间，APIserver运行时长，我删除过APIserver服务，然后重新装了一个。
结果这两个界面把新旧服务的情况都显示出来了。

Screenshots
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

就是UI的排版出现问题了


[qt5-base] fix arm64 compiling

Fix https://github.com/microsoft/vcpkg/issues/35031

[x] Changes comply with the maintainer guide
[ ] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Is there an upstream PR?

I doubt upstream is active about (open-source) Qt5.

Is there an upstream PR?

https://bugreports.qt.io/browse/QTBUG-119340

Is there an upstream PR?

https://bugreports.qt.io/browse/QTBUG-119340

so, what is news? how about the patch? it is mainlined at the vcpkg now? I try to vcpkg install qt5-webengine:arm64-windows, I get the same issue.

Is there any new progress?

Closed by https://github.com/microsoft/vcpkg/pull/41536


tooltip

pull request for tooltip

The force is not strong enough in you to allow changes to the Jedi Academy, young padawan.


Move manual web building to a docker based building

Building the web version hasn't been as repeatable as expected, even though things are very easy. We should have a docker environment with all dependencies, or a docker + script to get dependencies, to guarantee things reproduce. This will make eventually moving to a different ci system easier - be to appveyor itself, circle-ci, to azure, or to make travis itself more repeatable.
Here is an example of a possible docker image

This can make things even harder than they should and build is working fine now, so I am closing this.

Just to note, I'm pretty sure that right now (after fixing more of my own self inflicted parallel sorting issues) if you override the timestamp for the build you should be able to checksum the build folders and the checksums should match between multiple runs. So in theory, we can now test builds on multiple operating systems and pandoc versions and see if any produce a different result (likely a CI task needs to pickup all checksums and compare them as a test job).

@morganwillcock thanks, this may be a new verify task, but this means building twice, once with a time stamp and once with a fixed one, and using only the fixed one for comparison, right?

Also, if you think this is important you can open a new issue for this test job.

but this means building twice, once with a time stamp and once with a fixed one, and using only the fixed one for comparison, right?

Yes, unless you can somehow pass the same datetime value to all jobs to ensure they use the same timestamp on the pages (on Windows I think the format is already slightly different, so even builds starting on the same second wouldn't work) or switch from using a timestamp to last commit ID.
But given that the build matrix to check all OS versions with all Pandoc versions would be quite large, just one more job for the actual deployment is probably not such a big deal in comparison.

Also, if you think this is important you can open a new issue for this test job.

Possibly I will try to move everything to the single CI system first, so that the checksums are available on the same system.


Is it possible to add custom class on “trumbowyg-button-group” div?

I've trying add custom class to trumbowyg-button-group.
Yes I know it's easy to add though btnsDef using class: attribute to a button. But I need to add to the button group not to the button.

Any help would be appreciable.

No option allows that.
What are trying to do?

Use :nth-child :)


fix flaky test ApiServerTest.testCreateAddressSpaceRoleTenantEdit

Type of change

Bugfix

Description

Checklist

[ ] Update/write design documentation in ./documentation/design
[x] Write tests and make sure they pass
[ ] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[x] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

@enmasse-ci run tests testcase=ApiServerTest#testCreateAddressSpaceRoleTenantEdit

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: pr
TEST_CASE: ApiServerTest#testCreateAddressSpaceRoleTenantEdit
TOTAL: 1
PASS: 1
FAIL: 0
SKIP: 0


Add time outs and dev environment to Okta

[x] Okta - migrate our account to prod. (Blocked on getting access/account up)
[x] upload users accounts
[x] Create separate prod and dev env
[ ] Set static site dev/prod urls
[x] Turn on MFA
[ ] Ensure there's a time out period
[x] Add auth prod client security auth tokens
[x] Sent production link to Skylight

Waiting on Cam to give access, HARD blocked until that comes through

@nickrobison-usds How's this coming along? Have we heard back from Cam?

@aliciabeckett-gov @willusds I've enabled MFA requirements on the Dev application, a couple of decisions going forward.

When can we roll out the changes to prod?
Right now, we have a 2 hour session timeout, is that sufficient going forward?

Middle of the day/afternoon EST seems to be a good time. Most testing is in the morning or evening.

Is that for dev users or for prod users? And is it 2 hours of inactivity or 2 hours total?

Sounds good.
Prod users, it applies to dev users right now (which no one is using at this point). 2 hours total is my understanding, but still digging.


Remove deprecated set-errand-state command

[pivotal-cf/om#221]

This would break usage in pcf-pipelines at the moment. We are investigating what it would take to remove this.
We've also validated that third party users are using it, too.

one possible option for folks is to pin back to a version of om that works until they can consume the breaking change.

We are locking at a current version of om on pcf-pipelines. Merging.
In commit 0dbd0f63adc68a487aa77e20072c61cf4cdea61f, rebased on master.


Fixes #11: Added support for referenced schema definitions.

Refs #11.
Schema definitions & references
This library partially supports inline schema definition dereferencing, which is Barbarian for avoiding to copy and paste commonly used field schemas:
{
  "definitions": {
    "address": {
      "type": "object",
      "properties": {
        "street_address": { "type": "string" },
        "city":           { "type": "string" },
        "state":          { "type": "string" }
      },
      "required": ["street_address", "city", "state"]
    }
  },
  "type": "object",
  "properties": {
    "billing_address": { "$ref": "#/definitions/address" },
    "shipping_address": { "$ref": "#/definitions/address" }
  }
}

(Sample schema courtesy of the Space Telescope Science Institute)
Note that it only supports local definition referencing, we do not plan on fetching foreign schemas over HTTP anytime soon. Basically, you can only reference a definition from the very schema object defining it.
Feedback=? @magopian @leplatrem

nice!
r+

Thanks, this was indeed suprisingly (suspiciously?) easy :)
I'll add more tests before landing this though.

@magopian brace yourself, I think we'll need to support referenced schema defaults propagation here :D

errr, wat, can you explain?

errr, wat, can you explain?

We need to deeply propagate schema defaults including when a referenced subschema is used for a given field. That means resolving the node where the definition is, checking for a default value and use it if any. Shouldn't be too hard tbh.

We need to deeply propagate schema defaults including when a subschema is referenced at some given node in the tree

Addressed in 4ad85cdfba67d57504a10840a4097adc82a966f9

Now need to ensure referenced schema definitions can be ordered using uiSchema's ui:order directive.


Example.env

Hello there
Great repo, both api and frontend
I cloned and followed instructions but has some issues on login.
Can you possibly include example.env file ?

@tweetzal there is no .env required to run it locally.
Just make modifications to: api/src/config/index.js and frontend/src/config/index.js in case you want to set it up for production.
However in case you are looking for .env based configurations, check out https://github.com/atulmy/wispy/blob/master/web/src/setup/config/env.js and an example here https://github.com/atulmy/wispy/blob/master/web/.env.local


Fix TSLint warnings in msbot-clone.ts

Related to #313
Proposed Changes
Fix the following warnings in the file msbot-clone.ts:

typedef
no-any

Testing
Travis will no longer report this issue

Pull Request Test Coverage Report for Build 583

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 78.258%

Totals

Change from base Build 574:
0.0%

Covered Lines:
2836

Relevant Lines:
3526

💛  - Coveralls


Get currency symbol from currency code

Can I get $ from USD somehow?

I don't understand the question.
On Mon, 12 Apr 2021, 6:38 pm Daniel, @.***> wrote:

Can I get $ from USD somehow?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/noojee/money.dart/issues/30, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAG32OHLBEBTBBA66U53WFTTIKWOPANCNFSM42YZZZNQ
.

well, pretty much that, if I can get the symbol with that information

ok, never mind, I figured it out by doing:
var format = NumberFormat.simpleCurrency(locale: _language); <-- doesn't really what matter what language you pass
print(format.simpleCurrencySymbol("EUR"));


Cache desynchronizes from reality

Over time it starts to think that it is storing more than the underlying layers. Some locks were added to combat this, though there are still some edge cases where this doesn't happen.
Current recommendation would be to have a lock layer which wraps whole calls to the cache, then figuring out a more granular way later.

This is fixed with using Redis.


Proposal: Decision Table Execution

Gist: https://gist.github.com/slu-it/4aa76c27d59de2976f011cf7f5a4a8b9

implemtation of this concept can be found here: #62


CMake file should include -Wall -pedantic for GCC builds

Added. It would take a lot more work to add -pedantic as well, but that's arguably too restrictive for C metaprogramming.


Geodatabase Coded Value Domain Order

In 10.x when editing features, the coded value domains appear out of order.  Would like to see something added to the script to order them.

So after a little research this is a interesting little issue. Prior to Python 3.6, dictionaries are not sorted but order by a hash table. This is why they enter ordered in ArcGIS Pro but not in ArcGIS Desktop 10.x. There are two options to resolve this:

arcpy.management.SortCodedValueDomain could be used to sort the domain values, however, it was not implemented until ArcGIS Desktop 10.6. Versions below 10.6 would not be supported. However, from others there are people still using 10.2 and 10.5.
The second option is to switch from using a dictionary to a list. This requires some code refactor but should resolve the issue.

I will test changing the variable type and report back.

This has been resolved by converting the dictionary of domain values to a list and sorting prior to executing the ArcPy Add Domain command. However, it sorts every domain. If this is a problem, the alternative is to change the domain codes and descriptions from a dictionary to a list.
Please test and see if this is working as requested. Thank you.

I have tested and the script completed successfully in 10.5.1 and the domains are now sorted when making a selection in the attribute table.. Thanks!

Tom, Just letting you know that this fix broke the Pro toolbox. iteritems() is not supported at Python 3. I've opened another issue for you with details on this.

Ack! I was pretty sure I tested that in Pro before pushing. I will double-check again tonight. Thanks for the catch!


CoffSymbol cant access underlying ImageSymbol field

Hi id like to get access to the storage_type and derived_id fields of the ImageSymbol structure when it is encapsulated into CoffSymbol... Seems you only have wrapper methods that return some higher level information.
Maybe I am missing something, can i convert a CoffSymbol into a ImageSymbol?
Thanks.
References:
https://docs.rs/object/latest/object/read/coff/struct.CoffSymbol.html (CoffSymbol)
https://docs.rs/object/0.30.0/src/object/read/coff/symbol.rs.html#325 (id like access to this field)
https://docs.rs/object/0.30.0/src/object/pe.rs.html#791 (and this field)
Possible Solution:
https://docs.rs/object/latest/object/read/trait.ObjectSymbol.html#provided-methods
Add another provided method that returns the underlying symbol (clone it)...
fn native_symbol(&self) -> NativeSymbolType where you can do type NativeSymbolType and whomever impliments ObjectSymbol needs to set the NativeSymbolType (for example ImageSymbol for coff).

My strong opinion is that if you care about such file format specific details, then you should be using the low level API, not the format independent unified API. For example: https://github.com/gimli-rs/object/blob/0941701f1222d0946791868b7b13385f54cf1d4a/crates/examples/src/readobj/pe.rs#L569-L571
However, I can't stop people from doing otherwise, and in the past we have added methods to do this, such as PeFile::nt_headers. So we could add a method to CoffSymbol.
Note that we wouldn't add another method to ObjectSymbol, because without having a common trait for NativeSymbolType it would be impossible to have generic code that uses it, and if the code isn't generic then you already know that it is CoffSymbol so you can use any method on it.

https://github.com/gimli-rs/object/pull/494/commits/aac8c9b47bc15f4e93cae038cecd13a3818b50e8

I am new to rust but I assume you could get around the generic base class issue with native_symbol by using an Option? where we return None if the symbol has no underlying native symbol type

My strong opinion is that if you care about such file format specific details, then you should be using the low level API, not the format independent unified API. For example:
https://github.com/gimli-rs/object/blob/0941701f1222d0946791868b7b13385f54cf1d4a/crates/examples/src/readobj/pe.rs#L569-L571
However, I can't stop people from doing otherwise, and in the past we have added methods to do this, such as PeFile::nt_headers. So we could add a method to CoffSymbol.
Note that we wouldn't add another method to ObjectSymbol, because without having a common trait for NativeSymbolType it would be impossible to have generic code that uses it, and if the code isn't generic then you already know that it is CoffSymbol so you can use any method on it.

I am new to rust but I assume you could get around the generic base class issue with native_symbol by using an Option? where we return None if the symbol has no underlying native symbol type.
Anyways heres a pull rq for this issue: https://github.com/gimli-rs/object/pull/494

How you would call this code? For example:
fn use_symbol<S: ObjectSymbol>(symbol: &S) {
    let native = symbol.native_symbol();
    // What code would you write here? You know nothing about the type of native.
}

In comparison, if you know that the type is CoffSymbol, then you can use any method on CoffSymbol without needing to add it to ObjectSymbol. For example, if you added CoffSymbol::raw_symbol then you can do this:
fn use_symbol(symbol: &CoffSymbol) {
    let native = symbol.raw_symbol();
    println!("{:?}", native);
}

I see your PR, but have you written and tested code that uses that PR?

I think your CoffSymbol::raw_symbol idea is actually better in this situation since I dont want to mess with anything outside of the scope of coff files atm. No i havent tested the code either. I'll revert to master and implement raw_symbol for CoffSymbol.

If you don't want to mess with anything outside of coff files, then why not use the low level API?

From my understanding to get a ImageSymbol you need to parse a pe::SymbolTable which requires parsing a ImageFileHeader.
All this parsing is already done behind the scenes by the higher level wrapper code. Addtionally it would be messy to reparse all of this just for me to get derived_id and storage_class....?

Yes, adding raw_symbol is good. I just wanted an understanding of your perspective.

Ok i went ahead and removed my original changes, added the raw_symbol function.
I went ahead and added a test case for the code too...
Ready to merge.


calico authentication error to access apiserver

Hi sir,
I just try your newest updates based on canal. However, I just got stuck at deployment of canal. I find calico-node try to access <IP_ADDRESS>:443 ( I think that is apiserver). Then, I see the apiserver prompt lots of authentication error like "Unable to authenticate the request due to an error". I tried to delete all secrets to make the secrets re-generated, but it doesn't work. Have you suffered from the same trouble or had any experiences to handle this?
Besides, I also want to ask you a question about clean removal of kubernetes. Actually, I tried "kubeadm reset" all the things (I have drained and deleted node first) and then follow your commands to remove the files. However, I still find calico pods initialized after kubeadm init automatically. Do you have any ideas about this?
Thanks,
Augustin

Remove this settings - --apiserver-count=3, this setting is not necessary, and restart docker and kubelet, is it works?

I don't find your script sets --apiserver-count=3. The default value is 1? Where should I set it obviously?

OK! I got what you said. You indicate this configuration in go-ha section. However, I find this trouble in the first section. In other words, I got troubles in init master01
BTW, I could ignore this step "--apiserver-count=3" in the later section?

Which step you found this error? After deploy canal or after restart kubelet? This canal deployment use kubernetes api as datastore, later I will try use etcd as datastore to test it.

I find this error after deploy canal. Just now, I bring canal up. Here is what I done for this trouble.

delete all pods
kubectl drain node..
kubectl delete node..
kubeadm reset
reset etcd, I mean including etcd1, etcd2, etcd3
keep using <IP_ADDRESS>/16
replay the jobs you mention in the readme
(actually, I check each log at every step)
Done.

Thanks for your kindly reply and nice sharing.
I will try to contribute something here, if I could :)

@iamaugustin Actually this commands will reset all kubernetes settings and clean all etcd data
# reset kubernetes cluster
$ kubeadm reset

# clear etcd cluster data
$ rm -rf /var/lib/etcd-cluster

# reset and start etcd cluster
$ docker-compose --file etcd/docker-compose.yaml stop
$ docker-compose --file etcd/docker-compose.yaml rm -f
$ docker-compose --file etcd/docker-compose.yaml up -d


[BUG]: Registry initialization error

What is the bug related to?
Registry CLI
What went wrong?
I ran the Registry init command with the following environment:
Docker version 20.10.8, build 3967b7d28e
docker-compose version 1.29.2, build unknown
Node: v16.13.1
using default example, I got the following error:
Successfully copied over necessary files
✖ An unexpected error occurred while starting the registry: Command failed with exit code 125: docker-compose up -d
What did you expect to see?
A bug should not have happened, instead ... for sure
Additional Context
No response
Relevant logs/output
No response

Hi @spiliti,
Could you please run docker compose up in the same directory and paste the output? Thanks.

Please close this. I have e-installed docker-compose and the problem "disappered". Thanks


Mention in docs that rustup installed through snap has different paths set and creates issues

Hey!
I'm new to rust and was on to trying to replace some of my esp32 coding on arduino IDE with rust. I tried following this guide, but ran into trouble that I now resolved by installing rustup not via snap, but manually. Apparently the snap version of rustup stores its data somewhere else and therefore the default paths do not match well with the defaults set here.
Maybe it's enough for the next person to stumble upon this issue. I did not work out the snap paths but installed it manually instead, making it work instantly.
Cheers and keep up the good work :).

@lenalebt Thank you for reporting the problem.
The recommended installation method is to use https://github.com/esp-rs/rust-build/blob/main/install-rust-toolchain.sh
We also recommend to use: https://github.com/esp-rs/rust-build/blob/main/test-rust-toolchain.sh
The test script performs whole installation and builds an example of rust-std-demo application
In case of ESP32C3 you can use Rust compiler directly from rust-lang, because it has RISC-V architecture which is part of standard toolchain.
Regarding snaps we will add it to test scenario.

Yeah, so I used the https://github.com/esp-rs/rust-build/blob/main/install-rust-toolchain.sh - but rustup was already installed on my system beforehand, using a snap package, from some time ago (another rust project). And the script fails to install the esp toolchain into the "correct" directory then, leaving me with "rustup toolchain list" working, just not showing the esp toolchain... I did not understand what happened at first, this is why I thought it might make sense to mention that in the docs.

@SergioGasquez Please, could you take a look and Snap installation?

Just tried running ./install-rust-toolchain.sh having rust installed via snap, here is the error that I am getting:
* installing /home/sergio/.espressif/tools/xtensa-esp32-elf-clang/esp-13.0.0-20211203-x86_64-unknown-linux-gnu
already installed
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--       0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     100   140  100   140    0     0    410      0 --:--:-- --:--:-- --:--:--   409
100   653  100   653    0     0   1071      0 --:--:-- --:--:-- --:--:--  1071
Warning: Failed to create the file /home/sergio/.cargo//bin/cargo-espflash: No
Warning: such file or directory
  0 9783k    0   877    0     0    955      0  2:54:50 --:--:--  2:54:50   955
curl: (23) Failure writing output to destination

If I remove Rust installation from snap, the error disappears

We would recommend different approach: Use Dev Containers instead of Snaps.
It provides same base functionality and adds more conveniet way to develop. It also works across different operating systems.
Example of project with Dev Container with Wokwi integration is here: https://github.com/georgik/rustzx-esp32#build-and-run-wokwi-simulation
Other alternative is to use GitPod, which provides the same functionality like Dev Containers, but it cloud: https://github.com/georgik/rustzx-esp32#build-using-gitpod
Closing the issue since there is different solution which provides the same functionality. Feel free to reopen the issue if none of those methods mentioned above is working for you.


Potential issue: it is possible to subscribe to store updates multiple times

Since subscribers is an array (and Set is not really possible, there is no good way for subscribers to be Hashable) two consecutive subscribe calls will add subscriber two times, but unsubscribe removes only one instance.
Possible solutions:

Fail fast with assert/abort
Silently ignore next subscription (maybe log something to console)

Good catch @garnett! I think we should silently ignore the second subscription. From an API perspective we guarantee that the StoreSubscriber will be notified of the new state when they subscribe, this promise would still hold true when we silently ignore a second subscription.
Further the API promises that a call to unsubscribe will stop the StoreSubscriber from receiving further updates - this promise would be held true as well.
So we ignore further subscriptions as an implementation detail. Are you interested in implementing this @garnett? Otherwise I'm happy to tackle it as well!

@Ben-G will be happy to do it


PreparedPut for StorIOContentProvider with PreparedPutObject impl

Plus little refactoring (sorry for that..)
@nikitin-da take a look, please
Part of #164
I'll add unit tests for PreparedPut after finishing all PreparedPut variants

Cool!!
Annotations from new line produce many changes=)

Yeah, I decided to use standard IDEA formatting rules :smile:

Ivan is very angry about inline style;)

Haha :)
Actually, I don't love inline style non-determenistic, when line is too long, it will wrap annotation, if line is not very long, it won't..


Issue with font size on grid theme title

The Grid THEME title option doesn't appear large when you set it.
Tested on this page:
https://web-equinor-web-sites-prod.c2.radix.equinor.com/api/preview?type=page&locale=en&id=drafts.1d99a1c1-b3e1-4327-82df-67bc93e24e4e&secret=CMdXeGRwn2JUuwEYVhBb

@BorghildSelle - is it possible to fast track this for the next deploy (today?). This is a bug and already in use on pages.

In production:
When selecting THEME title in the Text block. The title does not display large. And for some reason sometimes doesnt show at all?
When using title without theme selected, the title does display large and works with other background colours. But not red.


Add nav elements for

The Canada.ca templates were changed and now wrapping the top skip to main content navigation in a nav. Should we update it in CDTS?
Does it help accessibility
Is there side effects (Check ajax inclusion)
Documentation:
(https://www.w3.org/WAI/GL/wiki/Grouping_related_links_using_the_nav_element)
Canada.ca

Skip to main content

[…]

CDTS

Skip to main content

Skip to "About this Web application"

Accessibility is fine

Is there an update on this issue?
Should an aria-label be added to the nav since there are multiple nav? I chose an aria-label because there is no heading for the Skip links, otherwise I would have chosen aria-labelledby="headingForSkipLinks".
E.g.
`

Skip to main content
[…]

 `


Virtual Arsenal blocked save/load.

Short Issue Description
Just wanted to see if there's any additional issues like this from other users.
vArsenal save and load blocks loadouts at random. I have two loadouts, both exactly the same. One is blocked, the other is fine. If I exit the save/load screen then go back, it might be a different combination (both blocked, both fine or vice versa to the original issue etc). It's seemingly entirely random, can be a pain when the save/load function already can take a few seconds to open. There are no "issue items", all loadouts can be taken fine from the original "easy pick" menu, only happens once inside vArsenal and again, very random (closing and opening the save/load menu changes up the issue). I've experienced this on different combinations of mods and maps.
Expected Behaviour
For it to be smooth and wonderful. :wink:
It just shouldn't be randomly blocking loadouts for no reason and at different times/loadouts.

In the first image below, I was unable to load any of the greyed out loadouts. They have no "issue items" as said before, I was using them fine in my last session also and can load them fine in this session via that "easy pick" menu. Then 5 minutes later after a restart, same loadouts are greyed but this time I can still click load. I was thinking it'd be usual Arma "feature not a bug" but wanted to point it out and get some feedback.

I've experienced the same strange behaviour in the virtual arsenal sometimes. But I was always able to click on "load", even if the loadout was greyed out in the list. My guess is that you're right that it could just be an "ArmA Thing" when you use some mods which add gear content, etc.

Yea, I definitely couldn't load anything greyed in the first instance. It's why I didn't think to include the load button in the snip at the time. Will post any new info of it if I can. Hoping it's not an Arma thing as it bugs me to hell! 😛

Today I have greyed loadouts but I can save/load always as you say. Yesterday I definitely couldn't save some loadouts, I'd have to empty the save name, write a new one and then save, that works fine. Saving over the greyed save tho sometimes seems disallowed.

Is the massive amount of lag you get when you load a loadout also an Arma thing? Whenever I host locally i have to yell "lag inbound" whenever choose a loadout.

I don't know about it hitting other clients however I play on a dedicated server but yea, I get a "loading time" per  save/load action, 2-5 seconds at least. Would be okay if it was the first action but every action in the same arsenal "session" seems excessive. I only have 5 or 6 loadouts and we don't use Vana Loadout Management as that adds no end of lag to the server.

are you using the blacklist method? i think that's the point, because the crawler must search every loadout for blacklisted items.


libnd4j: scalar boolean broadcast op issues

    @Test
    public void testLt(){

        INDArray x = Nd4j.scalar(0);
        INDArray y = Nd4j.createFromArray(2,1,2);

        INDArray result = Nd4j.create(DataType.BOOL, 3);
        INDArray lt = Nd4j.exec(new LessThan(x,y,result))[0];

        INDArray exp = Nd4j.createFromArray(true, true, true);
        assertEquals(exp, lt);
    }

Expected :[      true,      true,      true]
Actual   :[      true,     false,      true]

Same thing happens with GreaterThan, Equals etc, and possibly others.
Also occurs when x is a rank 1 scalar (shape [1]) and when x/y order are switched (so it's LessThan([3],[]) instead of LessThan([],[3]))

Fixed


Dynamic table to sort and search

New table

Thanks for the PR @BabuNamburi but i won't be accepting this.
I'm not willing to make any design changes or add more js libraries (other than the one for charting). If you can add search in pure javascript while sticking to the current design then sure (it could be a search bar on the left end of the nav buttons, with a dropdown next to it which decides which field is being searched on).


Submit expense - Submit button returns briefly after submitting expense

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.72-0
Reproducible in staging?: Yes
Reproducible in production?: Unable to check
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Yes, reproducible on both
If this was caught during regression testing, add the test name, ID and link from TestRail: https://github.com/Expensify/App/pull/53051
Email or phone of affected tester (no customers): N/A
Issue reported by: Applause Internal Team
Action Performed:
Preconditions: Admin created a WS and added employees A and B. Admin enabled workflows and rules. Added a workflow with user  user B as approver. Delay submissions is enabled and set to Manually.

As user A launch the Hybrid app and sign in.
Submit an expense to the Workspace chat.
Tap "Submit" on the Expense preview.

Expected Result:
Submit button disappears after tapping on it.
Actual Result:
Submit button briefly returns after tapping on it.
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[x] iOS: Standalone
[x] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/6ded3400-53c7-4d60-b7d4-0145abaf60d6
View all open jobs on GitHub

This seems incredibly minor - it only reappears for a split second, blink and you'd miss it. I don't think this is worth using our resources on at the moment


🦺[Tech debt] Add configuration to hide / unhide card tab

Problem
The users are using Litewallet and some are located outside the US which means they are unable to use the Litecoin Card. This causes major support issues and generally makes Litewallet bad as a product. There is also alot confusion about what the Card does and who does what.
Fixes device locale and the users ability to see the Card tab and it will reduce the confusion
Approach

Rather than refactor the UITabBarViewController into a  TabView a US and Non-US TabViewController is used
Added checks at launch to verify users locale
Added tests to make sure that if the user is using a non-English language but still in the US, they are shown the Card tab
Added  tests that when the user is in the US, the correct views are shown , or at least the boolean switch is working.

Keywords
Closes #40

@kcw-grunt , I know you didn't add me as a reviewer but I took a look at it anyways and don't have any issues. I see we have a test that failed. Im not too familiar with how checks work on github, but I guess we should look at that.
I still can't build but i don't think you were mean this pull request would fix that when you mentioned it was a start. So, I can't test it locally but let me know if you'd like to me to approve it, because I didn't find any issues.

Thanks @JasperHeist really appreciate it.  I cc'ed you while we get you into the repo org.
Later I will set you up accordingly.

Ok sounds good to me 👍

Thanks for the 🍀.
As you have probably already figured out , the code base is in need of a serious refactor.  Yet, we need to make progress as well.

@mosadialiou going to merge this after the changes you recommended were brought up and tests pass.  TYVM.

@kcw-grunt can you please attach here a screenshot or clip of the localchangeView

Ok sounds good to me 👍

Thanks for the 🍀.
As you have probably already figured out , the code base is in need of a serious refactor.  Yet, we need to make progress as well.

A code base in serious need of a refactor? I've never HEARD of such a thing 🤣 /s


HOCS-2015 : When case converted then remove allocation if user not in new team

Create stage validates the provided user is in the provided team.

Calling createStage with a userUUID is used by "STAGE_WITH_USER" flow.
The "STAGE" flow calls createStage at line 39, which at line 40 calls the above method with a null userUUID.
So setting the userUUID to null at line 52 simulates the request to change stage without a userUUID, resulting in no user being allocated when the case changes stage.

Calling createStage with a userUUID is used by "STAGE_WITH_USER" flow.
The "STAGE" flow calls createStage at line 39, which at line 40 calls the above method with a null userUUID.
So setting the userUUID to null at line 52 simulates the request to change stage without a userUUID, resulting in no user being allocated when the case changes stage.


Use %Cyanide.Binary{} when decoding

Represents a binary subtype with an atom.

Coverage increased (+0.08%) to 98.667% when pulling 73d9384e8f142439ab447d143daa960b812f12e3 on Annopaolo:cyanide_binary_decoding into 8afb6cf6b85402146d94fb6cf981b82e90b3d155 on ispirata:master.


How can I update a component having no parentChild relationship from another component

Le me simplify the question . Component x as a button , doesn't know about another component y . when I click on x , y should change it's color . How can I do this with redux

Keep the color as part of the Redux store’s state.
Both components are connected with connect() from react-redux. When component X is clicked, you call this.props.dispatch(changeColor(color)) where changeColor is your Redux action creator. The reducer will be called, and it should return the color from the action. Then component Y, which is also connect()-ed, receives the new color via props.
Please consult Usage with React for a more in-depth intro.


Option to export solution as managed

This allows me to use the unpack command to export and unpack a solution as managed, and then run import to pack and import the solution as managed.

To rattle on a bit... without this change, when I use the following spkl.json
"solutions": [
    {
      "profile": "default, debug",
      "packagetype": "managed",
      "solution_uniquename": "solutionname",
      "solutionpath": "solutions/solutionname_{0}_{1}_{2}_{3}_managed.zip",
      "packagepath": "crmpackage",
      "increment_on_import": false
    }
  ]

I receive the following error:
SolutionPackager: Exception thrown: System.ArgumentException: Solution package type did not match requested type.
Command line argument: Unmanaged
Package type: Managed
   at Microsoft.Crm.Tools.SolutionPackager.Helper.LoadSolutionInformation(Stream solutionXml, Context context)
   at Microsoft.Crm.Tools.SolutionPackager.ZipReader.Load()
   at Microsoft.Crm.Tools.SolutionPackager.SolutionPackager.Run(IPackageReader reader, IPackageWriter writer)
   at Microsoft.Crm.Tools.SolutionPackager.SolutionPackager.Run()
   at Microsoft.Crm.Tools.SolutionPackager.Program.Main(String[] args), returning error code '1'

Nice one- will get this in the next release.

Included in https://www.nuget.org/packages/spkl/1.0.206-beta


Transactions not reliably broadcasted

I think electron cash choses its peers randomly on startup. Sometimes I end up with peers that seem to not forward my transactions. I'm not sure how to best handle these bad nodes you sometimes get.. perhaps an automatic rebroadcast mechanism.. or more random peers? Maybe checking peers and banning them if they're not reliable..
Just imagine a newbee paying a bill with bitpay but after sending the tx the money is just gone but not received by bitpay.. this happened e.g. for 2e2e6d02c753c6a28aa2d1eae8ca327fbb3e56c204af14fd593f981fa9501302. I sent it with electron-cash but noone seems to know it.

not sure but if you connect to new node it will be broadcast

ok, weird. Actually after restarting electron the 2 tx (I created an additional cpfp one) have disappeared from the history. Now sending a new tx gives me "error: {'code': 1, 'the transaction was rejected by network rules.\n\n258: txn-mempool conflict ...

that means its broadcast but for some reason your history didnt update.  try switching servers or maybe your wallet file got corrupted


[ISSUE] migrate-tables DBUtilsCore.mounts() is not whitelisted on class error

Description
When running migrate-tables workflow a Py4J Security Exception is thrown on all migrate tasks.
Reproduction
When running the migrate-tables workflow from Databricks UI, all migrate tasks dbfs-root/non-delta/external/views fail with the error below.
Expected behavior
The migrate-tables workflow succeeds migrating tables/views.
Is it a regression?
Have been running these workflows in multiple workspaces typically with UCX version 0.27.1 have not seen the error before. Current running version is 0.28.2.
Debug Logs
16:46:22 DEBUG [databricks] {MainThread} Task crash details Traceback (most recent call last):   File "/local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/databricks/labs/ucx/runtime.py", line 100, in trigger     current_task(ctx)   File "/local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/databricks/labs/ucx/hive_metastore/workflows.py", line 29, in migrate_dbfs_root_delta_tables     ctx.tables_migrator.migrate_tables(   File "/local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/databricks/labs/ucx/hive_metastore/table_migrate.py", line 80, in migrate_tables     all_principal_grants = None if acl_strategy is None else self._principal_grants.get_interactive_cluster_grants()   File "/local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/databricks/labs/ucx/hive_metastore/grants.py", line 557, in get_interactive_cluster_grants     mounts = list(self._mounts_crawler.snapshot())   File "/local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/databricks/labs/ucx/hive_metastore/locations.py", line 252, in snapshot     return self._snapshot(self._try_fetch, self._list_mounts)   File "/local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/databricks/labs/ucx/framework/crawlers.py", line 116, in _snapshot     loaded_records = list(loader())   File "/local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/databricks/labs/ucx/hive_metastore/locations.py", line 247, in _list_mounts     for mount_point, source, _ in self._dbutils.fs.mounts():   File "/databricks/python_shell/dbruntime/dbutils.py", line 362, in f_with_exception_handling     return f(*args, **kwargs)   File "/databricks/python_shell/dbruntime/dbutils.py", line 497, in mounts     self.print_return(self.dbcore.mounts()), MountInfo.create_from_jschema)   File "/databricks/spark/python/lib/py4j-<IP_ADDRESS>-src.zip/py4j/java_gateway.py", line 1355, in __call__     return_value = get_return_value(   File "/databricks/spark/python/pyspark/errors/exceptions/captured.py", line 224, in deco     return f(*a, **kw)   File "/databricks/spark/python/lib/py4j-<IP_ADDRESS>-src.zip/py4j/protocol.py", line 330, in get_return_value     raise Py4JError( py4j.protocol.Py4JError: An error occurred while calling o432.mounts. Trace: py4j.security.Py4JSecurityException: Method public com.databricks.backend.daemon.dbutils.DBUtilsCore$Result com.databricks.backend.daemon.dbutils.DBUtilsCore.mounts() is not whitelisted on class class com.databricks.backend.daemon.dbutils.DBUtilsCore 	at py4j.security.WhitelistingPy4JSecurityManager.checkCall(WhitelistingPy4JSecurityManager.java:473) 	at py4j.Gateway.invoke(Gateway.java:305) 	at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) 	at py4j.commands.CallCommand.execute(CallCommand.java:79) 	at py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:199) 	at py4j.ClientServerConnection.run(ClientServerConnection.java:119) 	at java.lang.Thread.run(Thread.java:750)
Other Information

OS: Windows
Version: 10
Additional context
UCX version 0.28.2
DBCLI version 0.221.1

Moving this to ucx: https://github.com/databrickslabs/ucx/issues/2498

@maruppel : What Databricks runtime is the migrate-tables workflow failling for?

@maruppel : What Databricks runtime is the migrate-tables workflow failling for?

DBR is 15.3, also this is after assessment has been run, which was a question in the other issue.

@maruppel : Thank you for reporting back. I'll tack the question of the assessment being run in the other issue. Want to cover the mounts issue here:
I am trying to reproduce the error using the following (shortened) code path in ucx:
from databricks.sdk import WorkspaceClient
ws = WorkspaceClient()
ws.dbutils.fs.mounts()

You mentioned that the workflow worked before with ucx versoin 0.27.1 and not anymore with version 0.28.2. The difference in sdk dependency is:

Ucx 0.27.1 -> databricks-sdk>=0.27,<0.29
Ucx 0.28.2 -> databricks-sdk~=0.29.0 (note that there is only one patch version for sdk 0.29.0)

When I run the above code snippet after installing the sdk 0.29.0 on a cluster with DBR 15.3 in AWS (see complete configuration below), I do not receive the same whitelist error.
%pip install databricks-sdk~=0.29.0
dbutils.library.restartPython()

Cluster configuration

{
    "cluster_id": "REDACTED",
    "creator_user_name": "REDACTED",
    "driver": {
        "private_ip": "REDACTED",
        "node_id": "REDACTED",
        "instance_id": "i-REDACTED",
        "start_timestamp":<PHONE_NUMBER>770,
        "node_aws_attributes": {
            "is_spot": false
        },
        "node_attributes": {
            "is_spot": false
        },
        "host_private_ip": "REDACTED"
    },
    "spark_context_id":<PHONE_NUMBER>054547000,
    "driver_healthy": true,
    "jdbc_port": 10000,
    "cluster_name": "cor-test-cluster",
    "spark_version": "15.3.x-scala2.12",
    "spark_conf": {
        "spark.master": "local[*, 4]",
        "spark.databricks.cluster.profile": "singleNode"
    },
    "aws_attributes": {
        "first_on_demand": 1,
        "availability": "SPOT_WITH_FALLBACK",
        "zone_id": "auto",
        "spot_bid_price_percent": 100,
        "ebs_volume_count": 0
    },
    "node_type_id": "r6id.large",
    "driver_node_type_id": "r6id.large",
    "custom_tags": {
        "ResourceClass": "SingleNode"
    },
    "autotermination_minutes": 30,
    "enable_elastic_disk": true,
    "disk_spec": {
        "disk_count": 0
    },
    "cluster_source": "UI",
    "single_user_name": "REDACTED",
    "enable_local_disk_encryption": false,
    "instance_source": {
        "node_type_id": "r6id.large"
    },
    "driver_instance_source": {
        "node_type_id": "r6id.large"
    },
    "data_security_mode": "SINGLE_USER",
    "runtime_engine": "STANDARD",
    "effective_spark_version": "15.3.x-scala2.12",
    "state": "RUNNING",
    "state_message": "",
    "start_time":<PHONE_NUMBER>131,
    "last_state_loss_time":<PHONE_NUMBER>310,
    "last_activity_time":<PHONE_NUMBER>193,
    "last_restarted_time":<PHONE_NUMBER>353,
    "num_workers": 0,
    "cluster_memory_mb": 16384,
    "cluster_cores": 2,
    "default_tags": {
        "Vendor": "Databricks",
        "Creator": "REDACTED",
        "ClusterName": "cor-test-cluster",
        "ClusterId": "REDACTED",
        "Budget": "opex.sales.labs",
        "Owner": "REDACTED"
    },
    "init_scripts_safe_mode": false,
    "spec": {
        "cluster_name": "cor-test-cluster",
        "spark_version": "15.3.x-scala2.12",
        "spark_conf": {
            "spark.master": "local[*, 4]",
            "spark.databricks.cluster.profile": "singleNode"
        },
        "aws_attributes": {
            "first_on_demand": 1,
            "availability": "SPOT_WITH_FALLBACK",
            "zone_id": "auto",
            "spot_bid_price_percent": 100,
            "ebs_volume_count": 0
        },
        "node_type_id": "r6id.large",
        "driver_node_type_id": "r6id.large",
        "custom_tags": {
            "ResourceClass": "SingleNode"
        },
        "autotermination_minutes": 30,
        "enable_elastic_disk": true,
        "single_user_name": "REDACTED",
        "enable_local_disk_encryption": false,
        "data_security_mode": "SINGLE_USER",
        "runtime_engine": "STANDARD",
        "effective_spark_version": "14.3.x-scala2.12",
        "num_workers": 0,
        "apply_policy_default_values": false
    }
}

Could you try the above code snippets in your environment and report back if it recreations the issue for you?

Note that you can verify the installed sdk version:
from databricks.sdk.version import __version__
print(__version__)

Running the above code I am getting the same whitelist error, sdk=0.29.0

Oke, thank you. If you have an idea what could cause the whitelist error, please share. It sounds like some network restrictions are causing this issue.
Otherwise, I will leave it to the sdk team to resolve this


[ECS] workload ECS for NPM tests

What does this PR do?
ECS workload used by NPM tests
Which scenarios this will impact?
Motivation
Additional Notes

/merge


Array initialization functions and range conversions

This PR implements, as described in #104, several array initialization and range conversion functions:

SequenceI (from : Int, to : Int) : Int[] Array of integers from to to
SequenceL (from : BigInt, length : Int) : BigInt[] Array of integers from from of length length
Numbers (count : Int) : Int[] Array of integers from 0 to count - 1
ArrayFromRange (range: Range) : Int[] Array with elements visited in range

Remarks:

There is an inconsistency in the parameters in SequenceI and SequenceL, since the size of an array is initialized using an Int.
The function name Numbers may be too general.
The function ArrayFromRange iterates the range twice. For simple ranges with increment 1, SequenceI is faster. This is noted in the doc string.

Thanks for the PR, @msoeken! I'll review momentarily, then. In the meantime, with respect to your remarks, had just a few thoughts:

Remarks:

There is an inconsistency in the parameters in SequenceI and SequenceL, since the size of an array is initialized using an Int.

I think it could be more natural here to keep the inputs the same (other than type), and to fail if from - to is too large to store in an Int.

The function name Numbers may be too general.

Agreed, perhaps it may be better to use SequenceI(0, _) in preference to Numbers?

The function ArrayFromRange iterates the range twice. For simple ranges with increment 1, SequenceI is faster. This is noted in the doc string.

We currently have `RangeAsIntArray](https://docs.microsoft.com/qsharp/api/qsharp/microsoft.quantum.convert.rangeasintarray), which uses the [`RangeStart`](https://docs.microsoft.com/en-us/qsharp/api/qsharp/microsoft.quantum.core.rangestart), [`RangeEnd`](https://docs.microsoft.com/en-us/qsharp/api/qsharp/microsoft.quantum.core.rangeend, and [`RangeStep` functions from Microsoft.Quantum.Core to avoid looping through twice, perhaps it would be good to use that approach here as well?
Thanks again for the PR, really appreciate it!

Thanks for your comments, @cgranade.

I have unified SequenceL with SequenceI by providing to both from and to parameters. Right now there is no BigIntAsInt function in Q#, which probably needs to be implemented in qsharp-runtime. I have a work-around through an Bool[], but this seems to be an overkill. Should I make a issue or PR to integrate BigIntAsInt into qsharp-runtime first before proceedings. Or is there another way that I am overlooking?
I removed Numbers and mention in the docs to SequenceI that one can use it to generate a numbers function in the way you suggested it. However, the semantics is a little different. For example, before Numbers(5) did not include 5 but now it does.
I used the Range functions to implement my private _RangeLength function. This may be a good candidate for Microsoft.Quantum.Core as well.

Another question came to mind though: Would it make sense to have ArrayFromRange in the Microsoft.Quantum.Convert namespace instead of Microsoft.Quantum.Arrays?

I have unified SequenceL with SequenceI by providing to both from and to parameters. Right now there is no BigIntAsInt function in Q#, which probably needs to be implemented in qsharp-runtime. I have a work-around through an Bool[], but this seems to be an overkill. Should I make a issue or PR to integrate BigIntAsInt into qsharp-runtime first before proceedings. Or is there another way that I am overlooking?

Oh, goodness, that is a good point. We've generally only used XAsY functions for type conversions that always succeed, but that presents a bit of a problem for BigIntAsInt. I'm not sure what the best name would be, but it definitely seems like we will want something to drop back down to ints from big ints in qsharp-runtime.

I removed Numbers and mention in the docs to SequenceI that one can use it to generate a numbers function in the way you suggested it. However, the semantics is a little different. For example, before Numbers(5) did not include 5 but now it does.

That's a good point, but I think it still is worth it to reduce duplication in the API offered by the standard libraries.

I used the Range functions to implement my private _RangeLength function. This may be a good candidate for Microsoft.Quantum.Core as well.

RangeLength might be a good candidate for inclusion in Microsoft.Quantum.Core, though we may also want to take the whole Range type in another direction as well. At one point, @bettinaheim and I had floated the idea of making Range a UDT so that we don't need the Start, Step, and End functions. Doing that, Length could make sense as a specialization Length<Range>, depending on how that language feature comes together.

Another question came to mind though: Would it make sense to have ArrayFromRange in the Microsoft.Quantum.Convert namespace instead of Microsoft.Quantum.Arrays?

It might make sense, yeah. That was the thinking behind RangeAsIntArray, for instance.  Maybe it would it make sense to consolidate ArrayFromRange with RangeAsIntArray, improving the implementation and documentation of the latter?

Hi @cgranade, thanks for your comments and answers.

I have unified SequenceL with SequenceI by providing to both from and to parameters. Right now there is no BigIntAsInt function in Q#, which probably needs to be implemented in qsharp-runtime. I have a work-around through an Bool[], but this seems to be an overkill. Should I make a issue or PR to integrate BigIntAsInt into qsharp-runtime first before proceedings. Or is there another way that I am overlooking?

Oh, goodness, that is a good point. We've generally only used XAsY functions for type conversions that always succeed, but that presents a bit of a problem for BigIntAsInt. I'm not sure what the best name would be, but it definitely seems like we will want something to drop back down to ints from big ints in qsharp-runtime.

Is it worth to move this discussion to qsharp-runtime, maybe with a PR? It's little work.

I removed Numbers and mention in the docs to SequenceI that one can use it to generate a numbers function in the way you suggested it. However, the semantics is a little different. For example, before Numbers(5) did not include 5 but now it does.

That's a good point, but I think it still is worth it to reduce duplication in the API offered by the standard libraries.

Yes, I agree.

I used the Range functions to implement my private _RangeLength function. This may be a good candidate for Microsoft.Quantum.Core as well.

RangeLength might be a good candidate for inclusion in Microsoft.Quantum.Core, though we may also want to take the whole Range type in another direction as well. At one point, @bettinaheim and I had floated the idea of making Range a UDT so that we don't need the Start, Step, and End functions. Doing that, Length could make sense as a specialization Length<Range>, depending on how that language feature comes together.

Another question came to mind though: Would it make sense to have ArrayFromRange in the Microsoft.Quantum.Convert namespace instead of Microsoft.Quantum.Arrays?

It might make sense, yeah. That was the thinking behind RangeAsIntArray, for instance. Maybe it would it make sense to consolidate ArrayFromRange with RangeAsIntArray, improving the implementation and documentation of the latter?

I'll implement it as RangeAsIntArray in Microsoft.Quantum.Convert and leave _RangeLength a private function for now.

Hi @cgranade, thanks for your comments and answers.

Thanks for the PR, and for the discussion!

Is it worth to move this discussion to qsharp-runtime, maybe with a PR? It's little work.

Probably, given that any BigInt → Int function would have to be intrinsic anyway.

It might make sense, yeah. That was the thinking behind RangeAsIntArray, for instance. Maybe it would it make sense to consolidate ArrayFromRange with RangeAsIntArray, improving the implementation and documentation of the latter?

I'll implement it as RangeAsIntArray in Microsoft.Quantum.Convert and leave _RangeLength a private function for now.

Sounds good!

I noticed that RangeAsIntArray already exactly does the exact same thing as ArrayFromRange, so I removed it from the PR. I have also opened https://github.com/microsoft/qsharp-runtime/pull/33 to discuss about the conversion from BigInteger to Int.


[WIP] Text search support for mongodb backend

resolves #1462
depends on #1460 (incorporates all the changes of #1460)
This pr adds text search support for the assets when using mongodb as the backend.
Main changes:

added a wildcard text index to the assets collection
added a mongodb only backend query text_search that implements all the functionality provided by mongodb

For usage examples check this unit test and the mongodb documentation for the $text operator
Not sure that we should expose the entire text search functionality on the API because goal is to provide querying on the assets and not necessarily text search.
This is just a first cut of adding querying support.
Todo:

Filter out assets from invalid transactions
Handle the fact that rethinkdb does not support text search (this is the first case where we create a query that only works on one of the backends). NotImplementedError provided by singledispatch is not an accurate error in the case.
Create the api endpoint (can be done in a separate pr)
Update client driver
Documentation

Codecov Report

Merging #1469 into master will decrease coverage by 0.01%.
The diff coverage is 98.97%.

@@            Coverage Diff             @@
##           master    #1469      +/-   ##
==========================================
- Coverage   98.38%   98.36%   -0.02%
==========================================
  Files          56       56
  Lines        2593     2697     +104
==========================================
+ Hits         2551     2653     +102
- Misses         42       44       +2


Invalid instance type: c6g.xlarge.elasticsearch

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
https://docs.amplify.aws/cli/start/install/
If applicable, what version of Node.js are you using?
N/A
Amplify CLI Version
6.3.1
What operating system are you using?
N/A
Amplify Categories
api
Amplify Commands
push
Describe the bug
I just created a new environment and pushed to it for the first time and got:
Invalid instance type: c6g.xlarge.elasticsearch

THis is probably because of the change in elasticsearch, https://aws.amazon.com/opensearch-service/pricing/ if I use c6g.xlarge.search it will throw an error because of the allowed values, amplify update api does not seem to update the allowed values.
Expected behavior
This should not happen.
Reproduction steps
Read above.
GraphQL schema(s)
N/A
Log output
N/A
Additional information
No response

So no fix for this yet?

Sorry for the delay. We have received an update on this issue. The c6g instance type is only supported in Elasticsearch 7.9 or later or any version of OpenSearch. Amplify will likely need to stop offering this instance type until we upgrade to a newer version of the search service.

Sorry for the delay. We have received an update on this issue. The c6g instance type is only supported in Elasticsearch 7.9 or later or any version of OpenSearch. Amplify will likely need to stop offering this instance type until we upgrade to a newer version of the search service.

How do I handle this then? What do I put into the template? Because I'm going to create the production environment tomorrow for one of our clients

@cjihrig hoping to get actionable items tomorrow as we need to have a production environment by Thursday. Thanks so much 🙏🏻

closing this as duplicate of https://github.com/aws-amplify/amplify-cli/issues/9956. track resolution of that ticket for a more thorough fix


GitHub got more fussy about markdown

Maybe I should git grep and check for more of these.

Thanks @zoidbergwill!


Use pt-web-vnc over further-link-vnc

Status
Ticket/Issue

Ready
Ticket SWE-68

Main changes

Use pt-web-vnc over further-link-vnc
Replace start option novnc with novncOptions which can set dimensions
fix: docker container unbuffered output
fix: reserve display ids 0-99 for other uses

Other notes (e.g. implementation quirks, edge cases, questions / issues)

The unbuffered output is not really related, but it was making the docker container slow to start and output first line
Reserved display ids prevents clashing with pt-os-web-porta-wpa-gui-vnc and others https://github.com/pi-top/pi-topOS-Web-Portal/pull/395#discussion_r929779304

Manual testing tips

https://github.com/pi-top/further-frontend/pull/1569

LGTM! ... tested it manually using wscat using commands like { "type": "start", "process": "1", "data": { "runner": "python3", "code": "print('hi'); from time import sleep; import turtle; turtle.Screen(); sleep(30); print('bye!')", "novncOptions": {"enabled": true} } }


add a page about Security Level + one typo

Doug, I count on you to review and merge

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Docs/Overview/encryption.md
:white_check_mark:Succeeded

Docs/Overview/securitylevel.md
:white_check_mark:Succeeded

Docs/images/security_level.png
:white_check_mark:Succeeded

Docs/images/security_level_2000.png
:white_check_mark:Succeeded

Docs/images/security_level_3000.png
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Docs/Overview/encryption.md
:white_check_mark:Succeeded

Docs/Overview/securitylevel.md
:white_check_mark:Succeeded

Docs/images/security_level.png
:white_check_mark:Succeeded

Docs/images/security_level_2000.png
:white_check_mark:Succeeded

Docs/images/security_level_3000.png
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

The table isn't being formatted correctly because you need to add a blank line before and a blank line and another line with a  tag below the table (the  tag makes sure there is space between the bottom of the table and the top of the next paragraph.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Docs/Overview/encryption.md
:white_check_mark:Succeeded

Docs/Overview/securitylevel.md
:white_check_mark:Succeeded

Docs/images/security_level.png
:white_check_mark:Succeeded

Docs/images/security_level_2000.png
:white_check_mark:Succeeded

Docs/images/security_level_3000.png
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Docs/Overview/encryption.md
:white_check_mark:Succeeded

Docs/Overview/securitylevel.md
:white_check_mark:Succeeded

Docs/images/security_level.png
:white_check_mark:Succeeded

Docs/images/security_level_2000.png
:white_check_mark:Succeeded

Docs/images/security_level_3000.png
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Using single collection for storing models. #45

Coverage decreased (-0.003%) to 99.764% when pulling 08f40b96e191c1be922e7fd6df4fe904348f8645 on issue_45 into 65b0481fdbd377f14a7f0baeca16bbb049fefcf8 on master.

Coverage decreased (-0.004%) to 99.763% when pulling 43bf65f24fa1282a1db6c678bc90dfddfec38107 on issue_45 into 65b0481fdbd377f14a7f0baeca16bbb049fefcf8 on master.

Coverage decreased (-0.004%) to 99.763% when pulling 4cd810a63d9ff03a81009bbde0d0fa75ee87db40 on issue_45 into 65b0481fdbd377f14a7f0baeca16bbb049fefcf8 on master.


Question: is there a recommended way to convert GraphQL fragments to reusable containers?

There have been a few places I've run into this, but most recently I was working on a profile page and it seems like anyplace you'd want to display repos (pinned, starred, users' repos, etc), you could make  a graphql fragment that mirrors the SearchRepos Query and reuse existing functionality from there.. eg reuse the code in GithubClient.search to return SearchReposResult models, and then reuse the SearchResultSectionControllers.
So is there a way to handle the Repo fragment in different queries and convert them to SearchRepoResult models without duplicating a bunch of code each time? Or a best practice that you all have been using?
update 6/14:
The following represents my current best try.
the recurring fragment that will be in multiple queries:
fragment RepoSearchFields on Repository {
  id
  owner {
    login
  }
  defaultBranchRef {
    name
  }
}

making all the instances of the fragment conform to a protocol:
protocol RepositoryFragment {
    var _id: String { get }
    var _owner: String { get }
    var _defaultBranch: String { get }
}

extension UserStarredReposQuery.Data.User.StarredRepository.Node: RepositoryFragment {
    var _id: String                          { get { return id }}
    var _owner: String                       { get { return owner.login }}
    var _defaultBranch: String               { get { return defaultBranchRef?.name ?? "master" }}
}

extension UserReposQuery.Data.User.Repository.Node: RepositoryFragment {
    var _id: String                          { get { return id }}
    var _owner: String                       { get { return owner.login }}
    var _defaultBranch: String               { get { return defaultBranchRef?.name ?? "master" }}
}

The advantage of using a protocol being I think that it makes it easier to handle those fragments when returned inside an array:
extension RepositoryFragment {
    func searchRepoResultModel() -> SearchRepoResult {
        return SearchRepoResult(
            id: _id,
            owner: _owner,
            //...
            defaultBranch: _defaultBranch
        )
    }
}

extension Sequence where Element: RepositoryFragment {
    func searchRepoResultModels() -> [SearchRepoResult] {
        return self.map { $0.searchRepoResultModel() }
    }
}

Might be worth asking in the Apollo repo too. I'm not sure what the best approach should be here. The duplication does stink, but its the least complex solution that I can think of at the moment.


Manage delivery service static dns entries

So the TO UI has these routes for CRUDing static DNS entries for a Delivery Service:
	# -- Staticdnsentry
	$r->route('/staticdnsentry/:id/edit')->via('GET')->over( authenticated => 1, not_ldap => 1 )->to( 'StaticDnsEntry#edit', namespace => $namespace );
	$r->post('/staticdnsentry/:dsid/update')->over( authenticated => 1, not_ldap => 1 )->to( 'StaticDnsEntry#update_assignments', namespace => $namespace );
	$r->get('/staticdnsentry/:id/delete')->over( authenticated => 1, not_ldap => 1 )->to( 'StaticDnsEntry#delete', namespace => $namespace );

However, the API only has a single endpoint for static DNS entries which just returns all static DNS entries that exist:
# -- STATIC DNS ENTRIES
	$r->get("/api/$version/staticdnsentries")->over( authenticated => 1, not_ldap => 1 )->to( 'StaticDnsEntry#index', namespace => $namespace );

In order to CRUD static DNS entries for a delivery service using Traffic Portal, we need to add more API endpoints for doing so.
Also, it's a bit weird to have the button to view all static dns entries shown when you are viewing a cachegroup or when viewing the A type (for DNS A records). That button should probably exist on the page for viewing all deliveryservices. When viewing a single deliveryservice, you should be able to view all static DNS entries for that delivery service and add/edit/remove entries.

@dewrich implemented the rest of the api endpoints. see routes.go and search for staticdnsentries
@rivasj is working on plugging those endpoints into TP

this is all done and merged


mautic 4.3-rc ERROR

After installation, when clicking the multi domain button, nothing happens and i see this error in the log file.
[2022-05-21 03:25:30] mautic.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\TableNotFoundException: "An exception occurred while executing 'SELECT COUNT() AS dctrn_count FROM (SELECT DISTINCT id_10 FROM (SELECT m0_.is_published AS is_published_0, m0_.date_added AS date_added_1, m0_.created_by AS created_by_2, m0_.created_by_user AS created_by_user_3, m0_.date_modified AS date_modified_4, m0_.modified_by AS modified_by_5, m0_.modified_by_user AS modified_by_user_6, m0_.checked_out AS checked_out_7, m0_.checked_out_by AS checked_out_by_8, m0_.checked_out_by_user AS checked_out_by_user_9, m0_.id AS id_10, m0_.email AS email_11, m0_.domain AS domain_12 FROM multi_domain m0_ ORDER BY m0_.email ASC) dctrn_result) dctrn_table':  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mt.multi_domain' doesn't exist" at /home/mt/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 61 {"exception":"[object] (Doctrine\DBAL\Exception\TableNotFoundException(code: 0): An exception occurred while executing 'SELECT COUNT() AS dctrn_count FROM (SELECT DISTINCT id_10 FROM (SELECT m0_.is_published AS is_published_0, m0_.date_added AS date_added_1, m0_.created_by AS created_by_2, m0_.created_by_user AS created_by_user_3, m0_.date_modified AS date_modified_4, m0_.modified_by AS modified_by_5, m0_.modified_by_user AS modified_by_user_6, m0_.checked_out AS checked_out_7, m0_.checked_out_by AS checked_out_by_8, m0_.checked_out_by_user AS checked_out_by_user_9, m0_.id AS id_10, m0_.email AS email_11, m0_.domain AS domain_12 FROM multi_domain m0_ ORDER BY m0_.email ASC) dctrn_result) dctrn_table':\n\nSQLSTATE[42S02]: Base table or view not found: 1146 Table 'mt.multi_domain' doesn't exist at /home/mt/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:61, Doctrine\DBAL\Driver\PDO\Exception(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mt.multi_domain' doesn't exist at /home/mt/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18, PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mt.multi_domain' doesn't exist at /home/mt/public_html/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:141)"} {"hostname":"contact","pid":30966}

Hi there is an issue with initialization here.
Reinstalling the plugin should help.


Feature Request

Can you implant WEB UI on this project?
So, we can use esp32 without display...

I will write it on my TODO list


Test compatibility with xplan-part-extraction

https://gitlab.sd2e.org/rpg/xplan-part-extraction is a new repo that uses pysbol. Test the compatibility and determine if additional work is needed.

#167 is related

#178 is related

This was completed with the 1.0b4 milestone


Add pagination support

List APIs for manga and chapters support pagination, same needs to be added to cli

Pagination added using https://petereon.github.io/beaupy/


Add global except list for egress to avoid SNAT (#2707)

For some environment, some destination(not podCIDR/svcCIDR) can be
communicate with each other directly for better network performance,
we should avoid SNAT for such destination.
Signed-off-by: Yang Li<EMAIL_ADDRESS>

/test-all

/test-ipv6

/test-e2e

/test-e2e

/test-all

@tnqn hi, can you help review this MR...

For some environment, some destination(not podCIDR/svcCIDR) can be
communicate with each other directly for better network performance,

How about:
For some environment, Pod can communicate with some destination
(not podCIDR/svcCIDR) directly for better network performance,

/test-all

For some environment, some destination(not podCIDR/svcCIDR) can be
communicate with each other directly for better network performance,

How about:
For some environment, Pod can communicate with some destination
(not podCIDR/svcCIDR) directly for better network performance,

Good suggestion, I have fixed it.

This implementation does not work for Windows? Could we add Windows support too? It might be required for running Antrea on GKE Windows.

HI, like @tnqn said, Egress feature is not supported on Windows yet: https://github.com/antrea-io/antrea/blob/main/docs/feature-gates.md#requirements-for-this-feature-6
We can add Windows support in another issue

This implementation does not work for Windows? Could we add Windows support too? It might be required for running Antrea on GKE Windows.

HI, like @tnqn said, Egress feature is not supported on Windows yet: https://github.com/antrea-io/antrea/blob/main/docs/feature-gates.md#requirements-for-this-feature-6
We can add Windows support in another issue

We need a way to bypass the default SNAT / masquerade on Windows. I am fine to have a separate PR for that. But we need it. @wenyingd @lzhecheng