Enhanced BeanConfig to support @Path JAX-RS resources. Fixed BasicJaxrsReader operations recognition

Hey guys,
Resubmitting https://github.com/swagger-api/swagger-core/pull/793 against develop_scala-2.10 branch.
While working on JAX-RS applications, I have run into the issues that Swagger has a bit limited support of the native JAX-RS services/resources which do not use @ApiXxx annotations, however the most of required implementation is already there, in Swagger JAX-RS module.
The small change in BeanConfig allows to introspect not only @Api - annotated classes but @Path - annotated ones as well. When used with BasicJaxrsReader, the @ApiXxx annotations are not required anymore. The small fix inside BasicJaxrsReader makes operations recognition more picky (otherwise all Object methods like wait(), equals(), toString() .... will be included, it is current behavior).
The tests have been added to confirm that by default the BeanConfig behavior is not changed. And, by setting reader to BasicJaxrsReader, the proper JAX-RS API description is being built (without any @ApiXxx annotations) for native JAX-RS service/resource.
I think these small changes allow to integrate Swagger into existing JAX-RS applications much faster and easier, while developers are immediately benefiting from using it in conjunction with Swagger UI. Apache CXF has already support for Swagger but it is going to be better with these fixes.
Thank you.
Best Regards,
Andriy Redko

@reta - would you like to see if a similar functionality can be implemented in 1.5?

@webron - Yes, I think so. It could be useful. Do you want me to submit a PR against 1.5? Thanks.

Sure, that would be the develop_2.0 branch. We try concentrating our efforts there now.

Awesome, will try to submit the PR this week. Thanks!

@webron Would you guys merge this PR into develop_scala-2.10 / v1.3.xxx release? Thanks.

@reta - still not sure if/when we're going to release 1.3.13, but it's marked for it so we'll take a look at it when the time comes.

@webron - thanks a lot for clarification, IMHO it would be good to see 1.3.13 rolled out (1.3 is widely used) but it is definitely up to you guys to decide.

Hey @webron. Sorry for delay, finally found the time and resubmitted this feature against Swagger 1.5 (develop_2.0 branch, https://github.com/swagger-api/swagger-core/pull/961)

Thank you for that. I'm going to close this PR though as we're keeping 1.3.X in maintenance mode only and will provide only crucial fixes.


Trigger presubmit ci workflows from ci.yml via workflow_call.

Progress on https://github.com/iree-org/iree/issues/9305. This adds alerting back for linux_x64_bazel, linux_x64_clang, and linux_x64_clang_asan. We could instead add alerting with https://github.com/iree-org/iree/pull/19446.
History
These workflow jobs were originally part of ci.yml but they were moved out of part of https://github.com/iree-org/iree/issues/17957.
Reasons to keep them separate

Run history for each workflow is independent, e.g. https://github.com/iree-org/iree/actions/workflows/ci_linux_x64_clang.yml and https://github.com/iree-org/iree/actions/workflows/ci_windows_x64_msvc.yml.
Performance metrics for each workflow are independent:
Status badges are independent

Reasons to merge them back

Less code duplication, particularly for setup and summary steps (see https://github.com/iree-org/iree/pull/19444)

Less noise in the checks view in pull requests (note all the setup jobs, and the PR above will add similarly dupliated summary jobs):

Centralized logs for checks, not split between multiple pages like they are currently:

Current
With this PR

This gives us a single ci_summary check in ci.yml to set as a required check instead of multiple split across workflows

Given enough runner capacity / budget, we could run all these jobs on presubmit/postsubmit and not just on nightly schedules

I'm on the fence with this. I think it improves the experience on pull requests but it makes monitoring more complicated. I think with custom queries we can look up job statistics within workflow runs to build our own metrics though.
Thoughts, @iamakanshab @Eliasj42 @amd-chrissosa @marbre ?


Update aws.ha.reference.conf

Fixed typo of "hiverserver2_load_balancer"

This one was already fixed internal to Cloudera, but we must have missed synchronizing the fix out to here. Thank you!


Update Release Drafter configuration

add "Performance" section
add "CI" label in "Misc" category

Perhaps we should add a "Breaking Changes" section too? We already have the breaking change label. And maybe Tests and Utility API too?


Update language-packs.md

Added additional instructions on how to update inbox apps to support the newly installed languages

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

Hi @MayDay47 - PMs should work in the private repository, per the contributor guide. Substantial content updates should be made in the private repo, in any case, so they can be verified on staging and complete quality checks. Would you submit this content update in the private repo? We'll close this PR. Thanks.

Hi @MayDay47 - PMs should work in the private repository, per the contributor guide. Substantial content updates should be made in the private repo, in any case, so they can be verified on staging and complete quality checks. Would you submit this content update in the private repo? We'll close this PR. Thanks.

Hi Kristine,
sorry, this is my first major update to an article. Can you send me the instructions on how to submit the content to the private repo?

@MayDay47 Yes, I'll send it in email. Thanks.


Videochat design changes for 2021 [Closes #592][#593]

Previously, the default behavior was that all rooms had videochat, unless a noMediaChat property was set to true. This flips that: by default, rooms do not have videochat, and they need "mediaChat": true set to enable it.
In 2022, the current design plan is to only enable videochat for mods and speakers in the speaker breakout rooms. This design will better facilitate that.
Additionally, this makes it so that, while all users can "join" videochat (in the sense that their client will receive others AV streams), only admins can actively broadcast their own audio/video. We will eventually expand this to include speakers, but we do not yet have an in-engine way to determine which users are speakers.

It's worth noting we may need finer-grained controls around when videochat is allowed by non-admins -- @MoyTW mentioned the idea of a "use at your own peril" room people can go to for videochat, and if we eventually do some sort of integrated games showcase we may want to allow audio and/or video chat in there for spectators. But I don't think there's a reason to block merging this for now.


Demo query exploration

We need to look at each and every query run by the frontend (post-view inlining) as part of the demo decks.  Each query needs to be checked individually in the repl to see if the qscript we're generating looks sane.  If it does not look sane, it should be separately ticketed and the undesirable pattern identified and implemented as a rewrite.

@alissapajer I can't remember, but did you end up getting a definitive list of these queries as they are seen by the backend?

@djspiewak no. The only list I have contains the queries as seen by a frontend user.

@alissapajer Ok, then part of this task is getting/deriving that list.

We've collected a small handful of these queries in various issues, but there has been no thorough/deliberate collection effort to date.

Discussed with @rabbitonweb -> as a hack, either log statements in quasar REST api upon receipt of query and put this temp jar on demo site for a bit (and revert) or use becky's pr @ https://github.com/slamdata/slamdata/pull/2498 and get a temp slamdata jar and do the same. @rabbitonweb please advise. In terms of fixing it right, @safareli's work on https://github.com/slamdata/slamdata/issues/1501 should hopefully drop by early next week, now that he is unblocked by @garyb . IMHO, it shouldn't be so hard to just get a log of queries generated by oneself !!

As https://github.com/slamdata/slamdata/pull/2527 is merged you it's no possible to run copy(window.sqlRef.value.join("\n")) which will copy queries in markdown form as @beckyconning once created.

Calls that workspaces generate will be stored under this gist: https://gist.github.com/rabbitonweb/9af3cb01f19c64a2ebf495a6544e481f

Attaching files used in gist
Archive.zip

@dugdun in https://gist.github.com/rabbitonweb/9af3cb01f19c64a2ebf495a6544e481f I've included ALL workspaces that I am aware of (both working and not working currently). Are there any other workspaces that you guys are using during demos for our potential clients?

@rabbitonweb There seems to be quite a few instances of missing calls.  The first section is missing some module creation.  A couple other sections are missing invokes, at the very least.  All of the sections are missing module creation for rounding (which really shouldn't be a thing anyway).
I've re-massaged your gist into the following: https://gist.github.com/e8ded4ad6b21fcae4e0765b6597b180a  This is closer to what we really need, because we need to be able to take fully-inlined queries and drop them directly into repl/integration tests.

@djspiewak

I just was on call with @beckyconning . The reason we did not see all module creations might be due the fact that existing folders had some .tmp folders in them. We can remove those folders and see if that gives you full set of calls that you anticipate.

I've updated demo environment with latest backend and frontend. That allows you to use both my and @beckyconning feature to see what were the queries being called and created. @beckyconning has nicer output, is missing however calls to INVOKE.

updating frontend and backend broke some workspaces with some backend errors like

Failed to plan query.: ReifyBuckets: Expected to find a mappable region in 'qsu36 based on one of NonEmpty['qsu25].```

3 is known. This is the issue @alissapajer is working on at present.

3 is now tracked in https://github.com/quasar-analytics/quasar/issues/3182. It's separate from https://github.com/quasar-analytics/quasar/issues/3021.

@rabbitonweb can you update (or rather recreate with "raw" copy-paste) @djspiewak 's gist, with all the missing components added in?
We need to be able to copy-paste these queries, fully inlined, into the REPL and integration tests, so the final form of the gist should meet this criteria. So if you can improve the gist in any way to get us to this copy-paste state, that is what we need.
The next step of this project is running these queries in the REPL to get actual results, and then creating integration tests for all the demo queries.

@alissapajer I dont know if I understand your comment but let me copy paste conversation I had with @djspiewak on Friday late afternoon (summing it all up)
@rabbitonweb:
general output that i’ve generated in the past was ok for you but
1. it was missing some modules creations and that was most probably due to the fact that i was running this  on already existing workspaces, removing `.tmp` fiels should help
2. the out was ok, but you would prefer something closer to “copy-and-paste” to integration tests

@djspiewak
1.a) it was also missing some invokes, so some modules were just never used
but basically yes
the goal would be just a flat list of queries that are run in the course of doing the demos, with all variables and modules and imports inlined away

@rabbitonweb
regarding 1.a) there is only on place with `/invoke` that we have in backend (it is `POST`)
so I don’t know how that could be missed because I print out every call

@djspiewak
no idea.  but there were several times where modules were created and never used.  even whole sections (e.g. I think the geo stuff) where no queries were ever actually run

@rabbitonweb
magic?

@djspiewak
yeah not sure
it was weird

@rabbitonweb
ok, i will double check it on monday, do what I’ve mentioned above

@alissapajer so in other words my plan for monday is to

change my println to something that will generate an out as close as possible to sth you guys can copy-paste to integration testes
will delete all .tmp files in my generated workspaces and rerun the queries

This is no fun, but as @djspiewak said "somebody has to do it"  :)
If anything above does not make sense, or you need something extra for me to do, please let me know

I will post all workspaces here as comments:
-- extracted from /execute GET
SELECT DISTINCT (state) FROM `/hdfs/patients3.ldjson` ORDER BY state ASC

-- extracted from /mount PUT, storing module
CREATE FUNCTION cardfae59abe799a44e4ae8d86503c55b948(:minage, :gender, :maxage, :state) BEGIN SELECT * FROM `/hdfs/patients3.ldjson` WHERE state = :state AND (CASE :gender WHEN "male" THEN gender = "male" WHEN "female" THEN gender = "female" WHEN "both" THEN gender IN ("male", "female") END) AND (CASE WHEN :minage > 0 THEN age >= :minage ELSE age > 0 END) AND (CASE WHEN :maxage > 0 THEN age <= :maxage ELSE age > 0 END) END

-- extracted form /invoke GET
cardfae59abe799a44e4ae8d86503c55b948(minage = 40., maxage = 55., state = "CO", gender = "both")

-- extracted from /mount PUT, storing module
IMPORT `./../outfae59abe-799a-44e4-ae8d-86503c55b948/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION card77a0fabd08484acc9afebbffb4b4bf0e(:minage, :gender, :maxage, :state) BEGIN tmp__0 := cardfae59abe799a44e4ae8d86503c55b948(:minage, :gender, :maxage, :state)
SELECT AVG(weight) AS measure, city AS category, gender AS stack, null AS parallel FROM (tmp__0) AS tmp__1 GROUP BY gender, city ORDER BY gender ASC, city ASC END

-- extracted from /mount PUT, storing module
IMPORT `./../out77a0fabd-0848-4acc-9afe-bbffb4b4bf0e/`
CREATE FUNCTION card817b2da6048742659570318b17ebbb4a(:gender, :chart, :filter, :minage, :maxage, :state) BEGIN tmp__0 := card77a0fabd08484acc9afebbffb4b4bf0e(:minage, :gender, :maxage, :state)
CASE WHEN :chart = "bar" THEN SELECT * FROM (tmp__0) AS res WHERE :filter END END

-- extracted form /invoke GET
card77a0fabd08484acc9afebbffb4b4bf0e(state = "CO", maxage = 55., minage = 40., gender = "both")

"Data Types"
Raw
-- extracted from /mount PUT, storing module
CREATE FUNCTION cardbe59bacfde9b410aa92b815d498b75ef(:types) BEGIN SELECT `_id` AS id, TYPE_OF(`_id`) AS id_Description, field1 AS F1, TYPE_OF(field1) AS F1_Description, field2 AS F2, TYPE_OF(field2) AS F2_Description, field3 AS F3, TYPE_OF(field3) AS F3_Description FROM :types END

-- extracted from /execute GET
IMPORT `./.tmp/outbe59bacf-de9b-410a-a92b-815d498b75ef/`; tmp__0 := cardbe59bacfde9b410aa92b815d498b75ef(:types); SELECT COUNT(*) AS count FROM (tmp__0) AS tmp__1

-- extracted form /invoke GET
/cardbe59bacfde9b410aa92b815d498b75ef(types = `/hdfs/types.ldjson`)

Inlined
TBD

Flight Cost
Raw
This is weird. Functions are created, but never called! Workspace works btw.
-- extracted from /mount PUT, storing view
SELECT source AS Source, destination AS Destination, fuel AS Cost FROM `/hdfs/flights.ldjson`

-- extracted from /mount PUT, storing view
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END; CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END; CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END; SELECT Source AS source, Destination AS target, SUM(Cost) AS weight FROM `./oute81a0117-fd7e-4d43-9ba3-956a25e0fc8c` GROUP BY Source, Destination ORDER BY Source ASC, Destination ASC

-- extracted from /mount PUT, storing view
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END; CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END; CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END; SELECT DISTINCT row.Source AS Source, [row.Destination...] AS Destination, [row.Cost...] AS Cost FROM `./oute81a0117-fd7e-4d43-9ba3-956a25e0fc8c` AS row GROUP BY row.Source ORDER BY row.Source ASC

-- extracted from /mount PUT, storing module
CREATE FUNCTION card30ffb2a31a1743199af8ddb237ebdac3(:chart, :filter) BEGIN CASE WHEN :chart = "sankey" THEN SELECT * FROM `./../out5408f04d-43ef-445b-b51c-e2cd37474a06sankey` AS res WHERE :filter END END

-- extracted from /mount PUT, storing module
CREATE FUNCTION card5a192fcf397f48cf9494f387ebea9e9a(:filter) BEGIN SELECT DISTINCT * FROM `./../out3d65669e-df1e-44ca-bf96-96ce07a8b3a3` AS res WHERE :filter END

Inlined
TBD

✓ - Geo Heatmap State Comparison
Raw
-- extracted from /execute GET
SELECT state_list[*] FROM :states ORDER BY state_list[*] ASC

-- extracted from /execute GET
SELECT state_list[*] FROM :states ORDER BY state_list[*] ASC

-- extracted from /mount PUT, storing module
CREATE FUNCTION card80986bd0f91845f38abfbb1ebbd3c9fc(:state1, :patients, :states) BEGIN SELECT COUNT(*) AS cnt, loc[1] AS lat, loc[0] AS lng FROM :patients WHERE state = :state1 GROUP BY loc[1], loc[0] ORDER BY loc[1] ASC, loc[0] ASC END

-- extracted from /mount PUT, storing module
CREATE FUNCTION card330e1e6120d5461493168780cb446d82(:state1, :patients, :states) BEGIN SELECT COUNT(*) AS Cnt, city FROM :patients WHERE state = :state1 GROUP BY city ORDER BY COUNT(*) DESC LIMIT 10 END

-- extracted from /mount PUT, storing module
CREATE FUNCTION cardd386f1d189a54b03add2cce867fccd0b(:state2, :patients, :states) BEGIN SELECT COUNT(*) AS Cnt, city FROM :patients WHERE state = :state2 GROUP BY city ORDER BY COUNT(*) DESC LIMIT 10 END

-- extracted from /mount PUT, storing module
CREATE FUNCTION card6cb90341de5c4018ac6b155195f19555(:state2, :patients, :states) BEGIN SELECT COUNT(*) AS cnt, loc[1] AS lat, loc[0] AS lng FROM :patients WHERE state = :state2 GROUP BY loc[1], loc[0] ORDER BY loc[1] ASC, loc[0] ASC END

-- extracted from /execute GET
IMPORT `./.tmp/out80986bd0-f918-45f3-8abf-bb1ebbd3c9fc/`; tmp__0 := card80986bd0f91845f38abfbb1ebbd3c9fc(:state1, :patients, :states); SELECT COUNT(*) AS count FROM (tmp__0) AS tmp__1

-- extracted from /execute GET
IMPORT `./.tmp/out330e1e61-20d5-4614-9316-8780cb446d82/`; tmp__0 := card330e1e6120d5461493168780cb446d82(:state1, :patients, :states); SELECT COUNT(*) AS count FROM (tmp__0) AS tmp__1

-- extracted from /execute GET
IMPORT `./.tmp/outd386f1d1-89a5-4b03-add2-cce867fccd0b/`; tmp__0 := cardd386f1d189a54b03add2cce867fccd0b(:state2, :patients, :states); SELECT COUNT(*) AS count FROM (tmp__0) AS tmp__1

-- extracted from /execute GET
IMPORT `./.tmp/out6cb90341-de5c-4018-ac6b-155195f19555/`; tmp__0 := card6cb90341de5c4018ac6b155195f19555(:state2, :patients, :states); SELECT COUNT(*) AS count FROM (tmp__0) AS tmp__1

-- extracted form /invoke GET
/card80986bd0f91845f38abfbb1ebbd3c9fc(state1 = "FL", patients = `/hdfs/patients3.ldjson`, states = `/hdfs/states.ldjson`)

-- extracted form /invoke GET
/card6cb90341de5c4018ac6b155195f19555(state2 = "WY", patients = `/hdfs/patients3.ldjson`, states = `/hdfs/states.ldjson`)

-- extracted form /invoke GET
/card330e1e6120d5461493168780cb446d82(state1 = "FL", patients = `/hdfs/patients3.ldjson`, states = `/hdfs/states.ldjson`)

-- extracted form /invoke GET
/cardd386f1d189a54b03add2cce867fccd0b(state2 = "WY", patients = `/hdfs/patients3.ldjson`, states = `/hdfs/states.ldjson`)

-- extracted form /invoke GET
/card80986bd0f91845f38abfbb1ebbd3c9fc(state1 = "FL", patients = `/hdfs/patients3.ldjson`, states = `/hdfs/states.ldjson`)

-- extracted form /invoke GET
/card6cb90341de5c4018ac6b155195f19555(state2 = "WY", patients = `/hdfs/patients3.ldjson`, states = `/hdfs/states.ldjson`)

-- extracted from /mount PUT, storing module
IMPORT `./../out6cb90341-de5c-4018-ac6b-155195f19555/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION card13c43325ec734945b5ee6b0df4bc35c3(:state2, :patients, :states) BEGIN tmp__0 := card6cb90341de5c4018ac6b155195f19555(:state2, :patients, :states)
SELECT lat AS lat, lng AS lng, SUM(cnt) AS intensity FROM (tmp__0) AS tmp__1 GROUP BY lat, lng ORDER BY lat ASC, lng ASC END

-- extracted from /mount PUT, storing module
IMPORT `./../out80986bd0-f918-45f3-8abf-bb1ebbd3c9fc/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION card20e910e3250048dba82b39c1007b89d5(:state1, :patients, :states) BEGIN tmp__0 := card80986bd0f91845f38abfbb1ebbd3c9fc(:state1, :patients, :states)
SELECT lat AS lat, lng AS lng, SUM(cnt) AS intensity FROM (tmp__0) AS tmp__1 GROUP BY lat, lng ORDER BY lat ASC, lng ASC END

-- extracted form /invoke GET
/card13c43325ec734945b5ee6b0df4bc35c3(state2 = "WY", states = `/hdfs/states.ldjson`, patients = `/hdfs/patients3.ldjson`)

-- extracted form /invoke GET
/card20e910e3250048dba82b39c1007b89d5(states = `/hdfs/states.ldjson`, state1 = "FL", patients = `/hdfs/patients3.ldjson`)

-- extracted form /invoke GET
/card20e910e3250048dba82b39c1007b89d5(states = `/hdfs/states.ldjson`, state1 = "FL", patients = `/hdfs/patients3.ldjson`)

-- extracted form /invoke GET
/card13c43325ec734945b5ee6b0df4bc35c3(state2 = "WY", states = `/hdfs/states.ldjson`, patients = `/hdfs/patients3.ldjson`)

Inlined
TBD

✓ - Geo Markers - Texas
Raw
-- extracted from /mount PUT, storing module
CREATE FUNCTION card19e98100e65a4a9180f4cc0f3987fe4b(:patients) BEGIN SELECT COUNT(*) AS cnt, loc[1] AS lat, loc[0] AS lng FROM :patients WHERE state = "TX" GROUP BY loc[1], loc[0] ORDER BY loc[1] ASC, loc[0] ASC END

-- extracted form /invoke GET
/card19e98100e65a4a9180f4cc0f3987fe4b(patients = `/hdfs/patients3.ldjson`)

-- extracted from /mount PUT, storing module
IMPORT `./../out19e98100-e65a-4a91-80f4-cc0f3987fe4b/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION card776146cda75e402db9814bcdd48a7253(:patients) BEGIN tmp__0 := card19e98100e65a4a9180f4cc0f3987fe4b(:patients)
SELECT lat AS lat, lng AS lng, null AS series, null AS size FROM (tmp__0) AS tmp__1 GROUP BY lat, lng ORDER BY lat ASC, lng ASC END

Inlined
TBD

✓ - IOT Sensor Report
QUERY STOPPED WORKING!
Raw
-- extracted from /mount PUT, storing module
CREATE FUNCTION card1fe77130a9614a998ef4efe3fd53a032(:sensors) BEGIN SELECT * FROM `/hdfs/timeseries.ldjson` WHERE sensor IN :sensors END

-- extracted form /invoke GET
/card1fe77130a9614a998ef4efe3fd53a032(sensors = ("S0", "S1", "S2", "S3", "S4"))

-- extracted from /mount PUT, storing module
IMPORT `./../out1fe77130-a961-4a99-8ef4-efe3fd53a032/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION card5f7e47d89ec44d4582d012b561161736(:sensors) BEGIN tmp__0 := card1fe77130a9614a998ef4efe3fd53a032(:sensors)
SELECT SUM(value) AS measure, dt AS dimension, sensor AS series FROM (tmp__0) AS tmp__1 GROUP BY sensor, dt ORDER BY sensor ASC, dt ASC END

Inlined
TBD

✓ - Markdown Examples
Raw
TBD

Inlined
TBD

✓ - Olympics Filter and Download
Raw
TBD

Inlined
TBD

✓ - Olympics Search and Download
Raw
TBD

Inlined
TBD

✓ - Revenue Distribution
Raw
TBD

Inlined
TBD

Markdown Examples
Raw
-- extracted from /execute GET
SELECT DISTINCT (city) FROM `/hdfs/patients3.ldjson` WHERE state = "TX" ORDER BY city ASC

Inlined
TBD

Olympics Filter and Download.
Raw
-- extracted from /mount PUT, storing module
CREATE FUNCTION card04e4c8f924184020ac19f1255562eb23(:olympics) BEGIN SELECT * FROM :olympics END

-- extracted form /invoke GET
/card04e4c8f924184020ac19f1255562eb23(olympics = `/hdfs/olympics.ldjson`)

-- extracted from /mount PUT, storing module
IMPORT `./../out04e4c8f9-2418-4020-ac19-f1255562eb23/`
CREATE FUNCTION carde35a2df4722848cdb0f764aeceb7d717(:olympics, :selection) BEGIN tmp__0 := card04e4c8f924184020ac19f1255562eb23(:olympics)
SELECT * FROM (tmp__0) AS res WHERE res.country IN :selection END

-- extracted form /invoke GET
/carde35a2df4722848cdb0f764aeceb7d717(selection = ("AUT"), olympics = `/hdfs/olympics.ldjson`)

-- extracted from /mount PUT, storing module
IMPORT `./../oute35a2df4-7228-48cd-b0f7-64aeceb7d717/`
CREATE FUNCTION card9b3aefb59e7d4daea06b1152dc93819d(:olympics, :selection, :selection__1) BEGIN tmp__0 := carde35a2df4722848cdb0f764aeceb7d717(:olympics, :selection__1)
SELECT * FROM (tmp__0) AS res WHERE res.type IN :selection END

-- extracted from /execute GET
IMPORT ./.tmp/out9b3aefb5-9e7d-4dae-a06b-1152dc93819d/; tmp__0 := card9b3aefb59e7d4daea06b1152dc93819d(:olympics, :selection, :selection__1); SELECT COUNT(*) AS count FROM (tmp__0) AS tmp__1

-- extracted form /invoke GET
/card9b3aefb59e7d4daea06b1152dc93819d(olympics = `/hdfs/olympics.ldjson`, selection__1 = ("AUT"), selection = ("Gold"))

Inlined
TBD

✓ - Olympics Search and Download
Raw
-- extracted from /mount PUT, storing module
CREATE FUNCTION card323d3aa642284f23a8dbbc0e3c2434f2(:olympics) BEGIN SELECT * FROM :olympics END

-- extracted form /invoke GET
/card323d3aa642284f23a8dbbc0e3c2434f2(olympics = `/hdfs/olympics.ldjson`)

-- extracted from /mount PUT, storing module
IMPORT `./../out323d3aa6-4228-4f23-a8db-bc0e3c2434f2/`
CREATE FUNCTION card65d6987e68194d7b8492484ce0dcc2b5(:olympics, :`distinct`, :filter) BEGIN tmp__0 := card323d3aa642284f23a8dbbc0e3c2434f2(:olympics)
CASE WHEN :`distinct` THEN SELECT DISTINCT * FROM (tmp__0) AS tmp__1 WHERE :filter ELSE SELECT * FROM (tmp__0) AS tmp__2 WHERE :filter END END

-- extracted from /execute GET
IMPORT `./.tmp/out65d6987e-6819-4d7b-8492-484ce0dcc2b5/`; tmp__0 := card65d6987e68194d7b8492484ce0dcc2b5(:olympics, :`distinct`, :filter); SELECT COUNT(*) AS count FROM (tmp__0) AS tmp__1

-- extracted form /invoke GET
/card65d6987e68194d7b8492484ce0dcc2b5(olympics = `/hdfs/olympics.ldjson`, filter = (((SEARCH(city, "^.*NOR.*$", true)) OR ((SEARCH(country, "^.*NOR.*$", true))) OR ((SEARCH(discipline, "^.*NOR.*$", true))) OR ((SEARCH(event, "^.*NOR.*$", true))) OR ((SEARCH(gender, "^.*NOR.*$", true))) OR ((SEARCH(sport, "^.*NOR.*$", true))) OR ((SEARCH(type, "^.*NOR.*$", true))) OR ((SEARCH(year, "^.*NOR.*$", true))))), distinct = false)

Inlined

-- extracted from /mount PUT, storing module
CREATE FUNCTION cardc33d0862b9b74985981e6e89de1cf5c0(:ordered_items, :customers, :inventory_items, :orders) BEGIN SELECT * FROM :customers END
-- extracted form /invoke GET
/cardc33d0862b9b74985981e6e89de1cf5c0(inventory_items = /hdfs/inventory_items.ldjson, orders = /hdfs/orders.ldjson, ordered_items = /hdfs/ordered_items.ldjson, customers = /hdfs/customers.ldjson)
-- extracted from /mount PUT, storing module
IMPORT ./../outc33d0862-b9b7-4985-981e-6e89de1cf5c0/
CREATE FUNCTION card74dd3b747b704081bf0eb57dc41f108d(:ordered_items, :customers, :inventory_items, :orders, :selection) BEGIN tmp__0 := cardc33d0862b9b74985981e6e89de1cf5c0(:ordered_items, :customers, :inventory_items, :orders)
SELECT * FROM (tmp__0) AS res WHERE res.state IN :selection END
-- extracted from /mount PUT, storing module
IMPORT ./../out74dd3b74-7b70-4081-bf0e-b57dc41f108d/
CREATE FUNCTION card4ab45ad90bff4e278dfa3604ef435fc7(:ordered_items, :customers, :inventory_items, :orders, :selection) BEGIN tmp__0 := card74dd3b747b704081bf0eb57dc41f108d(:ordered_items, :customers, :inventory_items, :orders, :selection)
SELECT o.order_key AS OrderKey, o.purchase_date AS PurchaseDate, c.last_name || ", " || c.first_name AS Name, c.city AS City, c.state AS State, i.clothing_size AS Size, i.clothing_type AS Type, i.clothing_color AS Color, i.price AS UnitPrice, oi.qty AS Quantity, i.price * oi.qty AS PricePaid, SUM(i.price * oi.qty) AS TotalPaid, i.clothing_brand AS Brand FROM (tmp__0) AS c INNER JOIN :orders AS o ON c.customer_key = o.customer_key INNER JOIN :ordered_items AS oi ON oi.order_key = o.order_key INNER JOIN :inventory_items AS i ON i.item_key = oi.item_key GROUP BY i.price * oi.qty END

Dashboard Example
Raw
-- extracted from /mount PUT, storing module
CREATE FUNCTION carde69ccb8f706443c49ba4e407cf1d8e6e(:patients, :timeseries) BEGIN SELECT COUNT(*) AS cnt, state, gender FROM :patients WHERE LIKE(codes[*].`desc`, "%flu%", "\\") GROUP BY state, gender ORDER BY COUNT(*) DESC END

-- extracted from /mount PUT, storing module
CREATE FUNCTION card7f8b3a9e051f4894b6cc857b67dc4ba8(:patients, :timeseries) BEGIN SELECT COUNT(*) AS Visits, TO_STRING(DATE_PART("year", TIMESTAMP(last_visit))) || "-Q" || TO_STRING((DATE_PART("quarter", TIMESTAMP(last_visit))) - (DATE_PART("quarter", TIMESTAMP(last_visit)) % 1)) AS QUARTER FROM :patients GROUP BY TO_STRING(DATE_PART("year", TIMESTAMP(last_visit))) || "-Q" || TO_STRING((DATE_PART("quarter", TIMESTAMP(last_visit))) - (DATE_PART("quarter", TIMESTAMP(last_visit)) % 1)) ORDER BY QUARTER ASC END

-- extracted from /mount PUT, storing module
CREATE FUNCTION card41ce866ce37848648a65f1c88a3ffdcf(:patients, :timeseries) BEGIN SELECT COUNT(*) AS cnt, city FROM :patients WHERE state = "NY" GROUP BY city ORDER BY COUNT(*) DESC LIMIT 10 END

-- extracted from /mount PUT, storing module
CREATE FUNCTION card199b2e30599545c88b48cee3fd2a2b79(:patients, :timeseries) BEGIN SELECT dt, sensor, value FROM :timeseries END

-- extracted form /invoke GET
/carde69ccb8f706443c49ba4e407cf1d8e6e(timeseries = `/hdfs/timeseries.ldjson`, patients = `/hdfs/patients3.ldjson`)

-- extracted form /invoke GET
/card41ce866ce37848648a65f1c88a3ffdcf(timeseries = `/hdfs/timeseries.ldjson`, patients = `/hdfs/patients3.ldjson`)

-- extracted form /invoke GET
/card199b2e30599545c88b48cee3fd2a2b79(timeseries = `/hdfs/timeseries.ldjson`, patients = `/hdfs/patients3.ldjson`)

-- extracted from /mount PUT, storing module
IMPORT `./../out199b2e30-5995-45c8-8b48-cee3fd2a2b79/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION card1b5f9e6b519b409d8df32ff325dedcad(:patients, :timeseries) BEGIN tmp__0 := card199b2e30599545c88b48cee3fd2a2b79(:patients, :timeseries)
SELECT SUM(value) AS measure, dt AS dimension, sensor AS series FROM (tmp__0) AS tmp__1 GROUP BY sensor, dt ORDER BY sensor ASC, dt ASC END

[Stage 18:==================================>                       (3 + 2) / 5]-- extracted from /mount PUT, storing module
IMPORT `./../out1b5f9e6b-519b-409d-8df3-2ff325dedcad/`
CREATE FUNCTION card7f1f04aa6ef44e61a4a8759eeb886579(:chart, :filter, :patients, :timeseries) BEGIN tmp__0 := card1b5f9e6b519b409d8df32ff325dedcad(:patients, :timeseries)
CASE WHEN :chart = "area" THEN SELECT * FROM (tmp__0) AS res WHERE :filter END END

-- extracted form /invoke GET
/card1b5f9e6b519b409d8df32ff325dedcad(timeseries = `/hdfs/timeseries.ldjson`, patients = `/hdfs/patients3.ldjson`)

-- extracted from /mount PUT, storing module
IMPORT `./../out41ce866c-e378-4864-8a65-f1c88a3ffdcf/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION card90913f7058624d48b3f1753e8487055f(:patients, :timeseries) BEGIN tmp__0 := card41ce866ce37848648a65f1c88a3ffdcf(:patients, :timeseries)
SELECT city AS category, SUM(cnt) AS measure, null AS donut, null AS parallel FROM (tmp__0) AS tmp__1 GROUP BY city ORDER BY city ASC END

-- extracted from /mount PUT, storing module
IMPORT `./../oute69ccb8f-7064-43c4-9ba4-e407cf1d8e6e/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION carda985be404bfe4078b43e9e1109cc0e97(:patients, :timeseries) BEGIN tmp__0 := carde69ccb8f706443c49ba4e407cf1d8e6e(:patients, :timeseries)
SELECT SUM(cnt) AS measure, state AS category, gender AS stack, null AS parallel FROM (tmp__0) AS tmp__1 GROUP BY gender, state ORDER BY gender ASC, state ASC END

-- extracted from /mount PUT, storing module
IMPORT `./../out90913f70-5862-4d48-b3f1-753e8487055f/`
CREATE FUNCTION card6af94e57522c41c8a5c1e5794534cad2(:patients, :chart, :filter, :timeseries) BEGIN tmp__0 := card90913f7058624d48b3f1753e8487055f(:patients, :timeseries)
CASE WHEN :chart = "pie" THEN SELECT * FROM (tmp__0) AS res WHERE :filter END END

-- extracted from /mount PUT, storing module
IMPORT `./../outa985be40-4bfe-4078-b43e-9e1109cc0e97/`
CREATE FUNCTION card0ec90e3e096541a7aa0b744bf5d60b03(:chart, :filter, :patients, :timeseries) BEGIN tmp__0 := carda985be404bfe4078b43e9e1109cc0e97(:patients, :timeseries)
CASE WHEN :chart = "bar" THEN SELECT * FROM (tmp__0) AS res WHERE :filter END END

-- extracted form /invoke GET
/card90913f7058624d48b3f1753e8487055f(timeseries = `/hdfs/timeseries.ldjson`, patients = `/hdfs/patients3.ldjson`)

-- extracted form /invoke GET
/carda985be404bfe4078b43e9e1109cc0e97(timeseries = `/hdfs/timeseries.ldjson`, patients = `/hdfs/patients3.ldjson`)

Inlined
TBD

@damonLL can you please confirm this are all workspaces that you guys use during demos? (this are all I'm aware of)

Game Comparison
Raw
-- extracted from /mount PUT, storing module
CREATE FUNCTION card3fbecc90932c4f3daaa12366669d2854(:genre, :name, :games, :maxlimit, :minreviews, :score) BEGIN SELECT A_Name AS Game, B_Released AS ReleaseDate, C_Recommendations AS Reviews, D_Metacritic AS Score, PriceInitial AS Price FROM `/hdfs/steamgames.ldjson` ORDER BY A_Name ASC LIMIT INTEGER(:maxlimit) END

-- extracted from /execute GET
IMPORT ./.tmp/out3fbecc90-932c-4f3d-aaa1-2366669d2854/; tmp__0 := card3fbecc90932c4f3daaa12366669d2854(:genre, :name, :games, :maxlimit, :minreviews, :score); SELECT COUNT(*) AS count FROM (tmp__0) AS tmp__1

-- extracted form /invoke GET
/card3fbecc90932c4f3daaa12366669d2854(name = "", genre = "All", maxlimit = "20", score = 0, minreviews = 0, games = `/hdfs/steamgames.ldjson`)

Chained Markdown
Raw

-- extracted from /execute GET
SELECT DISTINCT (state) FROM :patients ORDER BY state ASC

-- extracted from /execute GET
SELECT DISTINCT (city) FROM :patients WHERE state = :state ORDER BY city ASC

-- extracted from /mount PUT, storing module
CREATE FUNCTION cardbc201e93392049b4adfcf2b5c70e9e3c(:patients, :city, :state) BEGIN SELECT * FROM :patients WHERE state = :state AND city = :city ORDER BY last_name ASC END

-- extracted from /mount PUT, storing module
CREATE FUNCTION card372a7943fa41491cbea67c2764fbe93d(:patients, :city, :state) BEGIN SELECT COUNT(*) AS cnt, gender FROM :patients WHERE state = :state AND city = :city GROUP BY gender END

-- extracted form /invoke GET
/cardbc201e93392049b4adfcf2b5c70e9e3c(city = "DENVER", state = "CO", patients = `/hdfs/patients3.ldjson`)

-- extracted from /execute GET
IMPORT ./.tmp/out372a7943-fa41-491c-bea6-7c2764fbe93d/; tmp__0 := card372a7943fa41491cbea67c2764fbe93d(:patients, :city, :state); SELECT COUNT(*) AS count FROM (tmp__0) AS tmp__1

-- extracted form /invoke GET
/card372a7943fa41491cbea67c2764fbe93d(city = "DENVER", state = "CO", patients = `/hdfs/patients3.ldjson`)

-- extracted from /mount PUT, storing module
IMPORT `./../outbc201e93-3920-49b4-adfc-f2b5c70e9e3c/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION cardb07e304aa9664824aec912e88aedc3d1(:patients, :city, :state) BEGIN tmp__0 := cardbc201e93392049b4adfcf2b5c70e9e3c(:patients, :city, :state)
SELECT DISTINCT row.city AS city, row.gender AS gender, [row.last_name...] AS last_name, [row.first_name...] AS first_name, [row.height...] AS height, [row.age...] AS age FROM (tmp__0) AS row GROUP BY row.city, row.gender ORDER BY row.city ASC, row.gender ASC END

-- extracted form /invoke GET
/card372a7943fa41491cbea67c2764fbe93d(city = "DENVER", state = "CO", patients = `/hdfs/patients3.ldjson`)

-- extracted from /mount PUT, storing module
IMPORT `./../out372a7943-fa41-491c-bea6-7c2764fbe93d/`
CREATE FUNCTION ROUND2(:val, :n) BEGIN ROUND(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION CEIL2(:val, :n) BEGIN CEIL(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION FLOOR2(:val, :n) BEGIN FLOOR(:val * 10.0 ^ :n) / 10.0 ^ :n END
CREATE FUNCTION card4de04c52fcaa417caa0ca23a21b36f10(:patients, :city, :state) BEGIN tmp__0 := card372a7943fa41491cbea67c2764fbe93d(:patients, :city, :state)
SELECT gender AS category, SUM(cnt) AS measure, null AS donut, null AS parallel FROM (tmp__0) AS tmp__1 GROUP BY gender ORDER BY gender ASC END

So the list in the description is all demo workspaces that I am aware of. @damonLL or @dugdun - please confirm that this is complete

@damonLL please verify this is all

@rabbitonweb Damon is no longer with SlamData.  @dugdun is the one who needs to verify this.

The only demo that is missing on the Spark demo server is Warfighter which is an involved workspace to build out and could be why it wasn't created on the Spark demo machine. I will add that one today.
Looking through the notes above the queries are provided for 14 of the workspaces. There are 18 workspaces that we've used at one time or another against MongoDB (although we have to version of Customer Orders by State and these only differ in that one uses :results (from an Open card to join to other tables while the other one just selects this table directly in the SQL card).
The list of workspaces that @rabbitonweb provided SQL queries for has only one of the Customer Order by State queries, not sure how much different things are if we use the :results of an Open card.
I don't see any notes for Location By Date which is in the prev_workspaces folder and is a workspace we use for demos as it shows some date arithmetic to convert times from UTC to MST. This is not working on HDFS but does in MongoDB.
One of these workspaces (Dynamic Fields) has a query that will never return anything meaningful based on how the workspace and query were created and it not shown during demos, bu the query is interesting nonetheless. This query is currently failing and an issue was filed when 4.2.6 came out. I thought @damonLL created a ticket for this, but I'm not seeing with a quick search through both open and closed issues.
Other than the above it looks like all other workspaces have the query information provided.

Closing this issue. Further work in https://github.com/quasar-analytics/quasar/issues/3211 and https://github.com/quasar-analytics/quasar/issues/3271


[BUG]

description
AtlasMap Data Mapper UI v2.3.17 (standalone) displays in some cases complex types as simple types and disabled
environment
Microsoft Edge Version 100.0.1185.36 (Offizielles Build) (64-Bit)
Windows 10
Java 8 (xjc)
AtlasMap Data Mapper UI v2.3.17
reproduction

unzip flatten.zip
cd flatten/out
xjc -d ./ -catalog ../catalog.cat ../xbau-nachrichten-baugenehmigung.xsd
find ./ -name "*.java" > sources.txt
javac -cp ./ -d ./ @sources.txt -Xlint:unchecked
find ./ -name "*.java" -type f -delete
jar cvf ./antrag200.jar ./de/./net/
AtlasMap Data Mapper UI -> import a java archive  in
select the antrag200.jar
AtlasMap Data Mapper UI -> Load Java Document From Custom Class
then select custom class name "de.xleitstell.xbau._2._3.BaugenehmigungAntrag0200"
expand some elments
you will see the misbehavior like in description

expected behavior

complex types are displayed with directory icon and can be expanded and are not in disabled color

zip attachment
flatten.zip
screenshot

Duplicate of #255

Is there than a workaround to map those fields ?


[mpl] fix inserting mechanism and timer handling

The #3557 greatly improved the MPL performance. However, while looking at logs from our stress tests where multiple nodes ping each other using ff03::1 address I spotted that nodes very rarely receive more Echo Responses for single Echo Request that they should. In short, something is wrong with de-duplication mechanism.
I think i found three problems, however, this PR tries to address only two.

With hundreds of MPL messages sent over the air, I spotted that the default timeout of 5 seconds for removing the MPL entry does not work as it should. The issue was related to not checking the mSeedSetTimer status and starting it again before it has a chance to fire. This code is inherited from the last implementation, although it leads to different behavior now.

While debugging de-duplication algorithm, I found out this scenario (below prints from mSeedSet):

ID | SeedID  | Seq
---|---------|-----
0  | 0xe800  | 34
1  | 0xe800  | 35
2  | 0xe800  | 36
3  | 0x8c00  | 26
4  | 0x8c00  | 29
5  | 0x8c00  | 38
6  | 0xc800  | 33
7  | 0xc800  | 44
8  | 0xc00   | 27

After receiving MPL message from Seed 0xc800 the last entry has been removed.
ID | SeedID | Seq
---|--------|-----
0  | 0xe800 | 34
1  | 0xe800 | 35
2  | 0xe800 | 36
3  | 0x8c00 | 26
4  | 0x8c00 | 29
5  | 0x8c00 | 38
6  | 0xc800 | 33
7  | 0xc800 | 44
8  | 0xc800 | 46

If I didn't miss any special case this PR should fix this issue too.

There is one strange behaviour which I'm not sure how to address (maybe its a valid behaviour). But there is some problem when sequence number wrapping around from 255 to 0+. In dense network where multiple MPL entries are stored in mSeedSet it sometimes causes block of MPL messages for up to 5 seconds or some strange mSeedSet modification that leads to incorect de-duplication mechanism (i have feeling that bad entries are evicted - the newer ones but with smaller sequence - but I don't have hard proof :smile:).

@LuDuda, thanks for stress testing, tracking down these issues, and submitting fixes!
I have an idea for Issue 3 above - will submit a PR soon.


Change heuristic for ContentNotFound error when scraping a video

Coverage remained the same at 99.653% when pulling c94f09d4d8bcc92291dd55fef43ebc2a1abddd9b on change-scraping into 78e64538853434e9c80491b364c02f8acffcf27a on master.

lgtm =D


Support Vite 5

Nuxt v3.9 has been released with Vite 5 built-in.
This PR bumps all deps to make sure they all depend on Vite 5.
Note this is a breaking change as we now import type of Options of plugin-leagcy instead of copying it,

Thanks! Mind adding a npx changeset changelog record?

Published as 1.2.0. 👍


feat: implement StakingExample

Signed-off-by: Ricky Rodriguez<EMAIL_ADDRESS>Created a staking example.
Related issue(s):
Fixes #1004
Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

@rickyrodmac  https://github.com/hashgraph/hedera-sdk/blob/main/reference/examples/StakingExample.md


Add Torch android demo application with cifar-10 model

This demo contains test options with cifar-10 original test set and images from cifar-10 web sites for easy understanding with menu "Start Cifar test set  detector".
This demo also can recognize image files of 10 categories with cifar-10 based model with menu "Start Cifar Image detector".
I will add readme file next time.

nice! i have stopped my android development after i changed jobs, but i am happy you are taking this forward.

Thanks Soumith.
I didn't expect that this development was stopped.
I thought your work on this was not easy for different platform. So I'm sorry to hear that.
Then there are no plan for torch-android now?
My co-worker and me try to use torch-android for more complicated models as imagenet.
And I have another question about torch android and torch ios branch address.
Why this branches are remained in your repository? And ios also in
differently from other torch modules like nn,nnx.
I'm beginner of Github, so I'm just curisous about that.

i personally have no plan for torch-android now, but torch-android is just torch + some android functions. Torch is always growing, so no problems there :)
The branches remained in my repository because for me it was a personal project for fun.


Swig Python Wrapper Install Requiring Two Attempts

When building the Python wrapper for people at this Hack Week, we came into the issue where it seemed like python setup.py install would need to be run multiple times for the libraries to get copied over to the python distribution. This was also the solution to get the Python installation to work for the Dockerfile in #166.
@hsnee Suspects that this may be a known issue with SWIG build order. http://stackoverflow.com/questions/17666018/using-distutils-where-swig-interface-file-is-in-src-folder has a suggestion that making a custom build class and forcing the use of it might be able to solve this.
However, I do not know if this is relevant given #151 and issues raised in #159. Thoughts are appreciated.

This issue requires travis integration. We have decided this is not crucial for public release, but we will keep working on this.

@fjaviersanchez Has this been addressed already and can it be closed?

I think that this is solved automatically with the new setup.py and I never found this problem with it. However, it would be good if more people tried to reproduce this problem before closing the issue.

Let's close this issue now. We can reopen if it becomes a problem again.


Add missed keywords and character encoding

Motivation
Resolves https://github.com/apple/swift-openapi-generator/issues/34
The initial plan was to just resolve #34 , but then on checking noticed these could also improve.
Modifications

Added Protocol to the keywords set.
Added await to the keywords set.
Added a hexadecimal encoding for un-supported characters rather than having just an underscore for everything.
Removed redundant keywords.

Result

Would be able to support Protocol and await as property names
Encoding would help distinguish types properly. For eg. both a b and a_b would be rendered as a_b. This change would make it render a20b and a_b respectively.
This also helps us reduce the reserved keywords set by removing symbols and any keywords that prepend such symbols.

Test Plan
Tested and verified for most of the combinations of special characters in-between alphanumeric characters.

Sure, that makes sense.
Quick question @czechboy0 , the initial issue mentions only the Protocol keyword. Should there be a new issue for await or can it be added on to that?

You can add await as well in this PR, the change is well understood.
The hex stuff is new and we'll want to think about the implications to existing code etc, thus the separate PR.

@swift-server-bot add to allowlist


Add support for date partitioned table names

These names have the format "tablename$YYYYmmdd".  Previously the dollar
sign caused this to be deemed invalid.

R: @sb2nov

@kgraney Can you update the tests in https://github.com/apache/incubator-beam/blob/python-sdk/sdks/python/apache_beam/io/bigquery_test.py#L173 so that we can catch if this is broken in the future.

LGTM, Thanks

@sb2nov how do merges work?  Is @asfgit supposed to pick this up automatically?

@kgraney merges have to be done by one of the committers to beam http://beam.incubator.apache.org/contribute/team/
R: @robertwb for review and merge

Thanks, looks good.

Merged. You can close this PR now.


Cleanup proposals

Organisation

[ ] Move all functions in tools/common.py that do not depend on any Cats code into a separate 'utils' module. I have already run into cyclic dependency issues when I only want to import a specific function instead of the whole module. This should also help break up the huge file into smaller parts.
[ ] If, after moving all non-Cats-dependent functions to a different module, there are still way too many functions in common, split it up further into submodules with the functions grouped by what they do or what types of objects they act on. (similarly split up the 'utils' module if that ends up huge)
[ ] Remove all unused code unless it's been intentionally temporarily disabled. If any is needed again, the history of the repository is always available.
[ ] Move exporter code out of importer.py into new file exporter.py.
[ ] Move all Cats added properties in bpy.types.Scene and other types to Cats specific PropertyGroups. The more properties we add directly the the Scene and other types, the more we run the risk of being incompatible with other addons due to a naming conflict. Generic sounding properties like 'armature' and 'head' are particularly concerning. The alternative would be to prefix all Cats properties with 'cats_' or similar, but I've got enough clutter in my bpy.types.Scene from other addons that aren't using a PropertyGroup already that I would much rather put them into a PropertyGroup.

Formatting

[ ] Follow the PEP 8 style guide a little more. I recommend that contributors use an IDE with syntax highlighting if they are unfamiliar with common PEP 8 formatting. A lot of code has been getting let into Cats recently with missing or extraneous spaces and/or newlines. I wouldn't recommend following the max line length of 79 characters though since we have nice and wide monitors now that 79 is rather small, I'm personally sticking with PyCharm's default of 120 characters where possible.
[ ] snake_case all function names (unless overriding a method that is not snake_case)
[ ] Prefix any functions or module-level variables that are not expected to be used by other modules with _.

Coding conventions and optimisation

[ ] Remove all bare except clauses. There should always be at least one exception in the except clause so that it is clear what exceptions are expected that they might happen and so that unexpected exceptions are not mistakenly handled incorrectly. If it's easy to check if the exception will occur before running the code in the try block then do so instead of relying on an except clause.
[ ] Remove use of bpy.context in functions that already have access to the current context. This will also allow those functions to use context overrides.
[ ] Replace as much existing code as possible, that depends on changing the selection of objects in the current context's view layer prior to running operators, to use context overrides so that the selection of the current context's view layer does not need to be changed. This one is a bit more complicated now as Blender 3.2 has introduced a Context.temp_override function that acts as a context manager and has deprecated the old way of passing a context override as a dictionary into the operator as the first variable, meaning it might eventually be removed.
[ ] Where possible, replace iteration of vertices/polygons/uvs/etc. with using the bpy_prop_collection foreach_get and foreach_set fast access methods. This is less important when needing to iterate through collections that won't have anywhere near as many items, such as bones in an armature.
[ ] If functions in classes don't use the self parameter (and aren't overriding a method from a superclass), remove it and add @staticmethod to the function.

Personally, I would also like to drop support for 2.79 (or even all versions older than the current oldest LTS release of 2.83). 2.79 had its final update just over 4 years ago and 2.80 had a lot of breaking changes so there's a lot of code in Cats for specifically handling 2.79 that could be removed. Moving to 2.80+ also moves the minimum Python version to 3.6, giving us access to variable annotations (so we can remove the annotations part of @register_wrap and define properties using annotations), formatted string literals (print(f"Found {mesh.name}")) and dictionaries that preserve insertion order by default (yes, it's only an implementation detail in CPython 3.6, but we know that it was made the standard Python 3.7).
As far as I can tell, the only reason we have google_trans_new copied directly into Cats instead of as a submodule, is so that we can disable all the code that uses urllib3 due to it not being included with 2.79's bundled Python.
Additionally, if we were to drop support for 2.79, would we be able to stop including mmd_tools directly and instead include it as a submodule too? The new 2.3.0 version of mmd_tools itself, that is now in the development branch as mmd_tools_local, dropped support for 2.79 so I can see that we've had to modify it for 2.79 support.

Dropping 2.79 also means we could change some code that requires Edit mode and iterates through a list of meshes, to open all of the required meshes into Edit mode simultaneously instead of opening each mesh individually, due to 2.80's new feature of multi-editing.


Fix CreateDispatchCommand when Dispatcher and inside man are different.

cc @NTaylorMullen

Hi @prafullbhosale, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

:shipit:

@Eilon Could you please give me write access to this repo?


Try and get regular pip install working in colab again

Seems to be working... couldn't see any deprecationwarnings.


B3 tracing header cannot be modified in VirtualService

Bug Description
I have enabled tracing for Istio, sampling rate 100%. But I want to disable tracing for some endpoints, and one way I could think of is setting the B3 header X-B3-Sampled to "0" for related destinations in a VirtualService, for example:
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: httpbin-test
  namespace: httpbin-test
spec:
  gateways:
  - default/default-gateway
  hosts:
  - subdomain.example.com
  http:
  - headers:
      request:
        set:
          X-B3-Sampled: "0"
    match:
    - uri:
        prefix: /httpbin-test
    rewrite:
      uri: /
    route:
    - destination:
        host: httpbin-svc
        port:
          number: 80

Expected behavior: X-B3-Sampled value is set to "0" for every HTTP request to httpbin service.
Acutal behavitor: Any request to subdomain.example.com/httpbin-test/ always have X-B3-Sampled set to "1":
curl -H "accept: application/json" https://subdomain.example.com/httpbin-test/headers
{
  "headers": {
    "Accept": "application/json",
    "Host": "subdomain.example.com",
    "User-Agent": "curl/7.77.0",
    "X-B3-Sampled": "1",
    "X-B3-Spanid": "aade27661ab6379f",
    "X-B3-Traceid": "5c81dd76c996679faade27661ab6379f",
    "X-Envoy-Attempt-Count": "1",
    "X-Envoy-Decorator-Operation": "httpbin-svc.httpbin-test.svc.cluster.local:80/httpbin-test*",
    "X-Envoy-Original-Path": "/httpbin-test/headers",
    "X-Envoy-Peer-Metadata": "<redacted>",
  }
}

I'm not sure if this is a bug or expected behavior, given that the sampling rate is 100%, and X-B3-Sampled is among the headers used to propagate to downstream service.
Version
istioctl version
client version: 1.14.1
control plane version: 1.14.3
data plane version: 1.14.3 (64 proxies), 1.13.2 (4 proxies)

kubectl version
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.4", GitCommit:"95ee5ab382d64cfe6c28967f36b53970b8374491", GitTreeState:"clean", BuildDate:"2022-08-17T18:46:11Z", GoVersion:"go1.19", Compiler:"gc", Platform:"darwin/arm64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.8-gke.1900", GitCommit:"79209257257c051b27df67c567755783eda93353", GitTreeState:"clean", BuildDate:"2022-07-15T09:23:51Z", GoVersion:"go1.17.11b7", Compiler:"gc", Platform:"linux/amd64"}

Additional Information
No response

maybe you should try with Telemetry API?

@zirain I've checked Telemetry API but it looks like it doesn't suit my needs, because I want to disable tracing for specific endpoints, not for a deployment or service.
For example I have a service named booking, and I need to disable tracing for requests to /static but not for requests to /verification. Telemetry API cannot be used for this situation, right?

@zirain I've checked Telemetry API but it looks like it doesn't suit my needs, because I want to disable tracing for specific endpoints, not for a deployment or service. For example I have a service named booking, and I need to disable tracing for requests to /static but not for requests to /verification. Telemetry API cannot be used for this situation, right?

yes

@zirain By "yes" do you mean "No, Telemetry API cannot be used in such case", or "Yes, you actually can use Telemetry API"? 😅

No, Telemetry API cannot be used in such case

@zirain So is the reported behavior is expected? Can we override the values of B3 headers from a Virtual Service?


[BUG] Native HTML background is showing when keyboard appears.

On iOS, a white background is shown behind the editor when the keyboard opens.
See video
https://user-images.githubusercontent.com/3680002/218483561-55ef3b89-7e08-40d6-8b75-f1b1ad52cd77.MP4
Reproduction code:
    return Scaffold(
      backgroundColor: Colors.red,
      appBar: AppBar(
        title: const Text('Compose'),
      ),
      body: Stack(
        children: [
          ListView(
            children: [
              QuillHtmlEditor(
                hintText: 'New message',
                controller: controller,
                height: 400,
                defaultFontSize: 14,
                isEnabled: true,
                backgroundColor: Colors.red,
              ),
            ],
          ),
        ],
      ),
    );

Hi @Lyokone,
Thanks for the sample code. Could you please confirm if this is being tested on a simulator or a physical device?

Thanks! Will check it out.

Hi @Lyokone ,
This bug has been resolved and deployed with the new version v2.0.7
Thanks!

Thanks for the quick fix!


Bell cannot be disabled in Windows

If you set bell to false, and then hit tab in the terminal several times (currently SSH'd into another machine), the bell sounds, which it shouldn't
// Future versions of Hyper may add additional config options,
// which will not automatically be merged into this file.
// See https://hyper.is#cfg for all currently supported options.

module.exports = {
  config: {
    // choose either `'stable'` for receiving highly polished,
    // or `'canary'` for less polished but more frequent updates
    updateChannel: 'stable',

    // default font size in pixels for all tabs
    fontSize: 16,

    // font family with optional fallbacks
    fontFamily: 'Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',

    // default font weight: 'normal' or 'bold'
    fontWeight: 'normal',

    // font weight for bold characters: 'normal' or 'bold'
    fontWeightBold: 'bold',

    // terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
    cursorColor: 'rgba(248,28,229,0.8)',

    // terminal text color under BLOCK cursor
    cursorAccentColor: '#000',

    // `'BEAM'` for |, `'UNDERLINE'` for _, `'BLOCK'` for █
    cursorShape: 'BLOCK',

    // set to `true` (without backticks and without quotes) for blinking cursor
    cursorBlink: false,

    // color of the text
    foregroundColor: '#fff',

    // terminal background color
    // opacity is only supported on macOS
    backgroundColor: '#000',

    // terminal selection color
    selectionColor: 'rgba(248,28,229,0.3)',

    // border color (window, tabs)
    borderColor: '#333',

    // custom CSS to embed in the main window
    css: '',

    // custom CSS to embed in the terminal window
    termCSS: '',

    // if you're using a Linux setup which show native menus, set to false
    // default: `true` on Linux, `true` on Windows, ignored on macOS
    showHamburgerMenu: '',

    // set to `false` (without backticks and without quotes) if you want to hide the minimize, maximize and close buttons
    // additionally, set to `'left'` if you want them on the left, like in Ubuntu
    // default: `true` (without backticks and without quotes) on Windows and Linux, ignored on macOS
    showWindowControls: '',

    // custom padding (CSS format, i.e.: `top right bottom left`)
    padding: '12px 14px',

    // the full list. if you're going to provide the full color palette,
    // including the 6 x 6 color cubes and the grayscale map, just provide
    // an array here instead of a color map object
    colors: {
      black: '#000000',
      red: '#C51E14',
      green: '#1DC121',
      yellow: '#C7C329',
      blue: '#0A2FC4',
      magenta: '#C839C5',
      cyan: '#20C5C6',
      white: '#C7C7C7',
      lightBlack: '#686868',
      lightRed: '#FD6F6B',
      lightGreen: '#67F86F',
      lightYellow: '#FFFA72',
      lightBlue: '#6A76FB',
      lightMagenta: '#FD7CFC',
      lightCyan: '#68FDFE',
      lightWhite: '#FFFFFF',
    },

    // the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
    // if left empty, your system's login shell will be used by default
    //
    // Windows
    // - Make sure to use a full path if the binary name doesn't work
    // - Remove `--login` in shellArgs
    //
    // Bash on Windows
    // - Example: `C:\\Windows\\System32\\bash.exe`
    //
    // PowerShell on Windows
    // - Example: `C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`
    shell: '',

    // for setting shell arguments (i.e. for using interactive shellArgs: `['-i']`)
    // by default `['--login']` will be used
    shellArgs: ['--login'],

    // for environment variables
    env: {},

    // set to `false` for no bell
    bell: false,

    // if `true` (without backticks and without quotes), selected text will automatically be copied to the clipboard
    copyOnSelect: true,

    // if `true` (without backticks and without quotes), hyper will be set as the default protocol client for SSH
    defaultSSHApp: true,

    // if `true` (without backticks and without quotes), on right click selected text will be copied or pasted if no
    // selection is present (`true` by default on Windows and disables the context menu feature)
    // quickEdit: true,

    // URL to custom bell
    // bellSoundURL: 'http://example.com/bell.mp3',

    // for advanced config flags please refer to https://hyper.is/#cfg
  },

  // a list of plugins to fetch and install from npm
  // format: [@org/]project[#version]
  // examples:
  //   `hyperpower`
  //   `@company/project`
  //   `project#1.0.1`
  plugins: [],

  // in development, you can create a directory under
  // `~/.hyper_plugins/local/` and include it here
  // to load it and avoid it being `npm install`ed
  localPlugins: [],

  keymaps: {
    // Example
    // 'window:devtools': 'cmd+alt+o',
  },
};

Please fill in the issue template, one of the things in the list is "have you searched the issues", there is already an issue like this: https://github.com/zeit/hyper/issues/1613


Rule to check for complex boolean expressions

this could check cfelseif, cfloop conditions etc as well.

Think it catches those as well as cfreturn's. I'll add some more test to double check.


feature request: fancy verbose output

like a combination of TAP and the default (utfTerminal) with the colored dots. Perhaps tie it to -vv ('doubly verbose'), or a new output type.
(as discussed on #lua with @ajacksified)

https://github.com/Olivine-Labs/busted/pull/394 somewhat addressed this, but if anyone is interested, we have a new handler in Neovim that definitely addresses this request:
https://github.com/neovim/neovim/blob/master/busted/outputHandlers/nvim.lua

I came along to open an issue for this as well and found it has already been opened.
For reference  the updated link for the output NeoVim output handler is here now: https://github.com/neovim/neovim/blob/master/test/busted/outputHandlers/nvim.lua
My input on this would be that Mocha's output is much nicer in this regard. With Busted you don't get any information about passing tests, just a dot and a count. Errors output is fine, but it doesn't even print out a list of what was being tested. You have to read the code and find the describe() and it() lines.
With Mocha you get a descriptive list of what passed that looks like this:
  fluent helper
    ✓ should take a key and return for the default language
    ✓ should take a key with an attribute and return
    ✓ should take a key that uses context data and return
    ✓ should take a key that uses context data and and override value and return
    ✓ should take a key and return for the override language

  errors:
    ✓ should throw an error when an invalid key is passed:
    ✓ should throw an error when no language is undefined.
    ✓ should throw an error when the given property is missing.

  8 passing (22ms)

With Mocha you get a descriptive list of what passed that looks like this:

@alerque which output handlers did you try? That already happens with TAP, gtest, and Nvim handlers. Sounds like you have only tried the default handler.

I'm going to close this because as far as I an tell from the initial issue, the later addition of the gtest output handler should have closed this. Upstreaming the nvim output handler is certainly something we could consider too but should be tracked in another issue.


merge from arlac77/npm-package-template-esm-only

package.json

chore(package): add ^16.0.0 remove ^15.14.0 (devDependencies.semantic-release)

Codecov Report

Merging #1230 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #1230   +/-   ##
======================================
  Coverage     100%    100%
======================================
  Files           1       1
  Lines          28      28
  Branches        5       5
======================================
  Hits           28      28

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 9613ffa...b9b013e. Read the comment docs.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Module Proposal]: Landing Zone Subscription Vending

Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes.

Bicep or Terraform?
Bicep
Module Classification?
Pattern Module
Module Name
avm/ptn/lz/sub-vending
Module Details
Hi Jack,
With every landing zone deployment we also deploy a PIM role. is this something we can implement in lz-sub-vending as well?
This makes the roleassignment we deploy with the landing zone a little bit more secure.
ref: assign-azure-privileged-identity-management-roles-using-bicep
Do you want to be the owner of this module?
No
Module Owner's GitHub Username (handle)
Jack Tracey
(Optional) Secondary Module Owner's GitHub Username (handle)
No response

@Dylan-Prins, thanks for submitting this issue. As this is related to an existing module, I'm converting it to a module issue, and moving it to the BRM repo (where the modules' code reside).
To open an issue specific to an existing module, please submit a module issue (https://aka.ms/AVM/Bicep/ModuleIssue). You can also do this by selecting the Bicep module issue option on the new issues page:


ABIChecker: teach ABI descriptor JSON to also keep track of constant values known at compile-time

Emitted at the emit-module step, ABI descriptor is of an entensible JSON format. This patch sets
up a segment in the file to also keep track of all compile-time constant values for other tools
to consume. As the initial step, we only keep track of string literals in the source files.

@swift-ci please smoke test


ignore broken symlinks (issue #202)

quick fix for #202

Tested, and can confirm this fixes my #202 issue, thanks

Thank you!


set shell in publish step

Fixes a failure in the publish step on Windows by explicitly setting the shell to bash

Quick fix for pipeline


 Can't figure them out.~

Fleshed this out with some data from the correct RPCs.


[Розширений пошук] UI  wrong alignment of club information when clubs are displays is list

Environment: MacOS Google Chrome 91.0.4472.106..
Reproducible: always.
Build found: last commit
Steps to reproduce

Go to 'https://speak-ukrainian.org.ua/dev/'
Click on advanced search icon
Click on list display icon

Actual result
all clubs are displays in a list with alignment issue

Expected result
text alignment should correspond with figma

User story and test case links
E.g.: "User story #274
Test case"

For center alignment use same logic as for clubs

'Centers' names placement does not correspond to mock-up

The bug is still reproducible

The bug is not reproducible


frontend: Fix failing transfers

Fixes #968
Seems like the code where the provider.getTransaction function was used was not properly checking if the transaction was actually mined in a block or indexed yet therefore making the app crash due to returned null values inside the corresponding functions.
From the official ethers docs it is clear that the calls to provider.getTransaction method are not always returning the values we are expecting currently. When network is congested or for any other reason, mining the blocks might take longer and that needs to be properly accounted for when trying to fetch the transactions from the blockchain.
Knowing this, i switched to using a call to provider.waitForTransaction first which expects at least 1 confirmation, which will partially ensure us that the transaction was mined & indexed? .
By removing the call to transaction.wait() we avoid the possible error exception for when the value of the transaction property is null which was mostly making the app crash unpredictably.
Tested locally on ganache and saw a difference in how the steps are being resolved. Most importantly, with this update, the app accounts for delayed blocks and the call to provider.waitForTransaction waits until the block has been mined & transaction has 1 confirmation after which returns the receipt.
Would love some input from someone else experienced in Web3.

Tested locally on ganache and saw a difference in how the steps are being resolved. Most importantly, with this update, the app accounts for delayed blocks and the call to provider.waitForTransaction waits until the block has been mined & transaction has 1 confirmation after which returns the receipt.

In the agent we wait for all transactions' receipts, for all calls.


Brief error state from failure to install ipmitool

Traceback (most recent call last):
File "/var/lib/juju/agents/unit-hob-0/charm/./src/charm.py", line 173, in
ops.main(HardwareObserverCharm)  # type: ignore
File "/var/lib/juju/agents/unit-hob-0/charm/venv/ops/main.py", line 456, in call
return main(charm_class, use_juju_for_storage=use_juju_for_storage)
File "/var/lib/juju/agents/unit-hob-0/charm/venv/ops/main.py", line 441, in main
_emit_charm_event(charm, dispatcher.event_name)
File "/var/lib/juju/agents/unit-hob-0/charm/venv/ops/main.py", line 149, in _emit_charm_event
event_to_emit.emit(*args, **kwargs)
File "/var/lib/juju/agents/unit-hob-0/charm/venv/ops/framework.py", line 344, in emit
framework._emit(event)
File "/var/lib/juju/agents/unit-hob-0/charm/venv/ops/framework.py", line 841, in _emit
self._reemit(event_path)
File "/var/lib/juju/agents/unit-hob-0/charm/venv/ops/framework.py", line 930, in _reemit
custom_handler(event)
File "/var/lib/juju/agents/unit-hob-0/charm/./src/charm.py", line 60, in _on_install_or_upgrade
redfish_creds = self._get_redfish_creds()
File "/var/lib/juju/agents/unit-hob-0/charm/./src/charm.py", line 158, in _get_redfish_creds
bmc_tools = bmc_hw_verifier()
File "/var/lib/juju/agents/unit-hob-0/charm/src/hw_tools.py", line 309, in bmc_hw_verifier
apt.add_package("ipmitool", update_cache=False)
File "/var/lib/juju/agents/unit-hob-0/charm/lib/charms/operator_libs_linux/v0/apt.py", line 761, in add_package
pkg, success = _add(p, version, arch)
File "/var/lib/juju/agents/unit-hob-0/charm/lib/charms/operator_libs_linux/v0/apt.py", line 802, in _add
pkg.ensure(state=PackageState.Present)
File "/var/lib/juju/agents/unit-hob-0/charm/lib/charms/operator_libs_linux/v0/apt.py", line 289, in ensure
self._add()
File "/var/lib/juju/agents/unit-hob-0/charm/lib/charms/operator_libs_linux/v0/apt.py", line 261, in _add
self._apt(
File "/var/lib/juju/agents/unit-hob-0/charm/lib/charms/operator_libs_linux/v0/apt.py", line 255, in _apt
raise PackageError(
charms.operator_libs_linux.v0.apt.PackageError: Could not install package(s) [['ipmitool=1.8.18-11ubuntu2.1']]: None

The error state seems to clear up a few seconds later.

Do you mind to provide more information about the environment? It may relate to the network status.
Furthermore, what's the state of juju status ? thanks!

No futher information, so we can close this issue


Allow specifying Release Channel in eas build

expo build allows you to specify --release-channel, however no such option appears to exist for eas build.
What is the intended way to specify the release channel?

as far as I'm aware, eas build does not perform an over-the-air (OTA) update. Release channel is really built around the OTA update feature if I understand correctly.

Hi guys,
Please see the docs - https://docs.expo.io/build/eas-json/
You can specify the release channel in your build profile, sth like:
{
  "builds": {
    "android": {
      "release": {
        "workflow": "generic",
        "releaseChannel": "debug"
      }
    }
  }
}

I think this is still a needed feature, at least for my use-case where the release channels are dynamically generated.
For example, my project has this script (in package.json):
{
  ...
  "scripts": {
    "current-version": "node -e 'console.log(require(\"./app.json\").expo.version)'",
    "build": "expo build:ios --release-channel staging-`npm run current-version --silent`"
  }
}

... which generates staging-2.0.1, based on the app version.
If the release channel is now hard-coded in eas.json, I can't really modify it from eas build, unless I write a script to dynamically generate eas.json?

I think this is still a needed feature, at least for my use-case where the release channels are dynamically generated.
For example, my project has this script (in package.json):
{
  ...
  "scripts": {
    "current-version": "node -e 'console.log(require(\"./app.json\").expo.version)'",
    "build": "expo build:ios --release-channel staging-`npm run current-version --silent`",
    "publish": "expo publish --release-channel staging-`npm run current-version --silent`"
  }
}

... which generates staging-2.0.1, based on the app version.
If the release channel is now hard-coded in eas.json, I can't really modify it from eas build, unless I write a script to dynamically generate eas.json?

Can the expo team please provide guidance on how to handle dynamic release channels with EAS? We've been doing something similar to @cheeaun. If this is no longer recommended, how can we ensure JS code isn't published code to an incompatible build (missing native dependencies) and how do we hotfix specific releases?

For EAS build with multiple release channels you would have to do eas build --profile <profile-name>. And from what I understood from their documents is that releaseChannel is only supported in classical builds and in eas.json it has been changed to just channel.
Hope it helps!

For EAS build with multiple release channels you would have to do eas build --profile <profile-name>
Hope it helps!

And --profile is the same as --release-channel? Why the naming change?

profile is not the same as release channel, release channel is more specific, you can have different channels under production profile, reopen this task @dsokal , it is important, now we should continue use old expo build

@AuthorProxy
I see, I find it difficult to find information/documentation about this. Is there some tutorial? Interface expo.io isn't very explanatory either.

OTA is possible with eas. I just did it with the preview profile. Regarding your question though, I'm quite confused too since in regular expo publish you could specify a release channel. I think there is a way to do something similar with eas. still learning...

So do eas build --profile dev  is equal to expo build --release-channel dev  ?  I got more than 3 release channel that serving different purpose, it is safe to using eas build?

Let's reopen this issue! It's still relevant and super valuable

So do eas build --profile dev is equal to expo build --release-channel dev ? I got more than 3 release channel that serving different purpose, it is safe to using eas build?

Yes, it is completely safe and the same. I also did migrate from expo build to EAS few weeks ago and I do have 3 release channels.
To my knowledge the only differences between the two builds are:

EAS builds are faster and smaller in size.
EAS build does not publish the build automatically, like expo build does. Which, is a good thing.
EAS builds comply with the latest Android SDK requirements, idk if expo build complies.

No, I don't think it is the same. The --profile <name> pulls a statically-defined profile block out of eas.json. That block can contain a static channel value but does not allow the channel to be dynamically defined. (I haven't found the channel key to be respected at all during my eas build but that's probably a different bug.)

This needs to be reopen, we have a few release channels that we like to use for testing purposes before we were able to do:
expo build --release-channel ${RELEASE_CHANNEL}
Now we have to hard code the release channel in eas.jso which removes the ability  to set them dynamically which is currently use by our CI, having multiple profiles is not a replacement for this issue.

eas update --auto seems to create a branch and a channel that have the name of the current git branch, but eas build has no such behaviour? Does anyone know how we're supposed to reconcile the two (especially in the context of continuous deployments via Github Actions)


Issues with GlobalVariablesSniff

Ok, so I ran into a lot of warnings with the GlobalVariablesSniff where local function variables where flagged because they had the same name as a global variable. While this may not be good practice/could be confusing, the sniff is wrongly flagging these uses as errors.
Additionally complex variables are not being flagged while they should be.
So I created a number of extra unit tests. Haven't figured out how to fix the sniff yet, but I thought I'd put the tests out there for whomever wants to have a go at this. Should I send in a PR for this ? The build obviously wouldn't pass as is.
The extra tests can be found here: https://github.com/jrfnl/WordPress-Coding-Standards/commit/54a9352db45c6ef40c195a30aec1ad292c3dd8f4

Thanks for the link to the commit. When someone wants to pick this up, they can cherry-pick your commit into a new feature branch and then issue a PR when the additional changes have been made.

How's this doing? On 0.6.0, I'm getting flagged for stuff like
add_filter( "comments_open", function( $open, $post_id ) {

    $post = get_post( $post_id );

    return "post" === $post->post_type;

}, 10, 2 );

The sniff needs to be smarter about determining whether the $post is being assigned in the global scope, or if it is inside of a function and global $post; is present. In other cases, it should not be flagged as an issue.

Duplicate: #486

[ ] Also exclude global variable overrides from being reported as errors if the instance occurs inside of a class method that starts with test_, and thus is interpreted to be part of a unit test (which has to override globals often).


Failed to get allure-2.7.0.zip

Environment
Windows 7
Bobcat version:
How to know the version of bobcat.  I just clone it from github, suppose it's the latest verison.
Bobcat modules used:

bb-junit

Browser + version:
geckodriver-v0.23.0-win64
Expected Behavior
N/A
Actual Behavior
The error is printed in the command line as below:

What went wrong:
Execution failed for task ':downloadAllure'.

Can't get https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.7.0/allure-2.7.0.zip to E:\appium\bobcat-gradle-template\generated-project\build\allure-2.7.0.zip

I tried to access above address directly via the browser, it shows forbidden.
I want to know how to resolve this error.
Steps to reproduce

running the command "gradlew clean test" in Windows command line

More Info
This error won't impact the final test result report(index.html).

But I still want to know what's wrong with my operation.  Anyone met the same issue?

Hi, there is probably problem with you firewall or network settings. Maybe your provider is blocking the site. I tried and there was no issues with downloading the zip file

If so, I will try again, thanks.


Track dependencies added by qAddDependentFile

File dependencies are currently untracked by ghcide. If you modify a file which is tracked by qAddDependentFile it should trigger a reload when it changed.

I have a patch, once #457 is closed.
https://github.com/mpickering/ghcide/commit/1df59e246138f21fd4eb87f8be91689bddfb32a4


[Dependency update] Bump axios version to 0.21.1 to fix vulnerability

Summary
Running npm audit, there's a high priority security vulnerability reported for<EMAIL_ADDRESS>
The change here just bumps axios to version 0.21.1, in which the issue was patched.
An issue was opened for this in the main localtunnel repo recently, but it doesn't appear that the maintainers are active there anymore.

The issue from the main localtunnel repo has been merged yesterday.

The issue from the main localtunnel repo has been merged yesterday.

Hello, how are you? I have this error in my CI, how long will this PR be launched?

Hello, how are you? I have this error in my CI, how long will this PR be launched?

Closing this in favor of https://github.com/chromaui/localtunnel/pull/7
Thanks for helping out!

Closing this in favor of https://github.com/chromaui/localtunnel/pull/7
Thanks for helping out!


Subscribe header component to CASL ability update

Notes for Reviewers
This PR fixes #
Header is pure class based component, which is why it is not subscribed to CASL ability update which causes the issue of users not able to click on settings and k8s switcher icon on first load, this PR manually subscribe header component to CASL ability change
Signed commits

[ ] Yes, I signed my commits.

@betelgeuse-code have you not passed this to k8 switcher component?

K8s switcher used inside header component, hence rerendering header after ability update will automatically rerender the k8s switcher


Adding updates to quay image

Description
Adding new quay image for cerberus
Fixes
helps with https://github.com/cloud-bulldozer/krkn-hub/actions/runs/2220938317

Can one of the admins verify this patch?

@paigerube14 we might want to update the image in the installation guide as well: https://github.com/cloud-bulldozer/cerberus/blob/master/docs/installation.md#containerized-version.

@chaitanyaenr good catch, updated


resolve sanity check last id file acces problems

Description
This PR...

Fixes: #5156

Types of changes

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

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[x] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[x] Major
[ ] Minor
[ ] Trivial

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

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6825 (SL-JID-2487)

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6825 (SL-JID-2492)

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4454

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@acs-robot a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6825 (SL-JID-2507)

@blueorangutan package

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4468

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

Trillian test result (tid-5133)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 40921 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6825-t5133-kvm-centos7.zip
Smoke tests completed. 102 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_08_upgrade_kubernetes_ha_cluster
Failure
549.07
test_kubernetes_clusters.py

test_hostha_kvm_host_fencing
Error
10.08
test_hostha_kvm.py

Trillian test result (tid-5145)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 52317 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6825-t5145-kvm-centos7.zip
Smoke tests completed. 102 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_08_upgrade_kubernetes_ha_cluster
Failure
559.10
test_kubernetes_clusters.py

test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers
Failure
460.37
test_vpc_redundant.py

Trillian test result (tid-5167)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 44870 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6825-t5167-kvm-centos7.zip
Smoke tests completed. 104 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

@sureshanaparti are you fine with the changes?

The file sanity-check-last-id is still not updated when the usage jobs completes. It updated only when the cli sanity check is executed.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4744

@blueorangutan package

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_multiplication_x: el8 :heavy_multiplication_x: debian :heavy_check_mark: suse15. SL-JID 4778

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 4793

@blueorangutan test

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

Trillian test result (tid-5435)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 39429 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6825-t5435-kvm-centos7.zip
Smoke tests completed. 105 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

The file sanity-check-last-id is still not updated when the usage jobs completes. It updated only when the cli sanity check is executed.

can you have another look @vladimirpetrov I think the problem is the wait time, It will only start executing the sanity check after a day.


[information request] lidar point cloud color data

in my implementation it seems that webviz defaults all points to being white. However, in the demo and in my local compiled driver for the lidar sensor i have i can see color coded data when streaming and replaying bag files. How can we visualize the color coded pointclouds in webviz?

Reopening as i still have not been able to figure out how to render color based on things like luminosity or distance, etc. Is there a message for the 3d view that i would need to make sure is present? what would I be missing?

click Edit Topic Settings....from there you should be able to select the color based on field of the pointcloud

@flynneva is this on all topics or only some topics? i am not sure mine has the edit logo on the standalone, i did not see that till now. That is a big help thank you. feel free to close this out.

i think it should be on all of them. its just to edit how the data is visualized so its specific to webviz not the topic.

@flynneva i got to test this a little bit today on my lunch break. turns out if you don't see the pencil next to the logo (this was my case) this means its running default settings. the three dot menu  that you pointed out to select edit settings is sure enough there. that was awesome to flip on. Thanks a bunch.


Is there a way to update header for all HTTP requests made within Poltergeist?

Hi,
The website that I am writing UI integration tests for is using Kerberos authentication. This means that all HTTP request to the website requires authentication token.
So I have a block like this in spec_helper.rb.
config.before :each do
  @kerberos_token = SomeRandomLibrary.getKerberosToken(Capybara.app_host)
  page.driver.add_headers("Authorization" => "Negotiate #{@kerberos_token}")
end

By having this, the first request to the remote website is successfully handled. However, subsequent requests (getting CSS files, JS files, and making AJAX requests) made from PhantomJS headless browser all get rejected, because same @kerberos_token value gets used in the header and it does not change over the course of single test.
The website throws an error if same token gets used because it thinks that requests are 'replay attack'.
Is there a way to configure/override/intercept all HTTP calls? So that I can assign new kerberos token for all of them?

There's nothing built-in to poltergeist - however you could use a proxy to potentially add headers to requests -- Take a look at the puffing-billy gem - it may allow you to do this (although I don't think it allows for modifying requests last time I looked, just setting responses), or at least give you direction on how you can configure poltergeist for a proxy


Add edits to CONTRIBUTING.md

Add GCC to dependencies
Add job limit fix for RAM exhaustion
Add missing argument to mirrord-console command

Congrats on the first PR 🥳


Question about Computational Resources

Hello! It would be very beneficial if you mention your used computational resources (Number and model of GPU/TPU's used). Looking forward to hearing from you.

We use 8 V100 for training. But TITANXP can also do the trick.


error on startup with custom set comment strings

I started getting an error on startup:
kommentary/lua/kommentary/config.lua:215: attempt to index local 'defaults' (a function value)
I have the following settings which seem to cause this:
kommentary.configure_language("lua", {
  single_line_comment_string = "--",
  prefer_single_line_comments = true,
})

kommentary.configure_language("vimwiki", {
  multi_line_comment_strings = { "<!--", "-->" },
  prefer_multi_line_comments = true,
})

Do I need to set them differently now after the latest updates?

Hi, that's a bug, thanks for pointing this out. I'll fix it as soon as possible.

Should be fixed with f0b6d75df0a263fc849b0860dc8a27f4bed743db, if you could check it out and let me know that would be great.

Perfect, thanks 🙌