The complete callback of tap operator is not executed on source Observable completion

Bug Report
Current Behavior
The tap operator does not executes the complete callback when the source Observable is completed (in the following example I also use  the finalize operator that works as expected).
Reproduction
import * as rx from "rxjs";
import * as op from "rxjs/operators";

const stoper = rx.fromEvent(document, "click").pipe(
  op.tap(
    m => console.log("stoper (on-message)"),
    e => console.log("stoper (on-error"),
    () => console.log("stoper (on-complete)")
  ),
  op.finalize(() => console.log("finalize"))
);

stoper.pipe(op.take(1)).subscribe({
  next(m) {
    console.log("next");
  },
  complete() {
    console.log("complete");
  }
});

// This will trigger the following lines on the console:
// => stoper (on-message)
// => next
// => complete
// => finalize

Expected behavior
I expected the following output:
// => stoper (on-message)
// => next
// => stoper (on-complete)
// => complete
// => finalize

I expect that the complete callback passed to tap operator to be called after the source Observable is completed (in this case bacause of take operator).
Environment

Runtime: Chrome v75
RxJS version: 6.5.2

This is expected behavior. The complete notification is created by take(1) and passed down the chain.
If you want to see "stoper (on-complete)" as well then you'd have to make fromEvent emit the  complete notification. In other words, in your example the source Observable created by fromEvent never completes.
finalize is called correctly because it's triggered when the chain is being disposed.


Validation and benchmarking of latest examples with single-precision geometry

AdePT can be built against VecGeom compiled with -DSINGLE_PRECISION=ON. When this happens, vecgeom::Precision typedef becomes float and all geometry interfaces work in single precision automatically. The examples were adapted to use automatically this feature when available. To validate and test performance in this mode, we should:

verify that the latest examples (starting with example12) compile and run in this mode (may not be the case for full CMS geometry)
validate the output against standard double precision mode, understand differences and provide fixes if possible
benchmark TestEM3 and more complex geometry examples

The correctness of TestEm3 should be addressed by #163. However, more complex geometries such as cms2018 still require a (temporary) push on every step, which is potentially bad.

more complex geometries such as cms2018 still require a (temporary) push on every step, which is potentially bad

We expected this since not all solids are for the moment single-precision proof, in particular the complex ones (polycone, polyhedra). We will need to continue the case-by-case shape_testXXX single-precision debugging to make the single-precision mode more robust.

The correctness of TestEm3 should be addressed by #163. However, more complex geometries such as cms2018 still require a (temporary) push on every step, which is potentially bad.

This turns out to be the reason for the wrong results when activating magnetic field in TestEm3: During field propagation, especially of low energy particles, the chordLen will get smaller than kPush. In that case, even though the pushing is temporary, the navigator has to assume that there is no boundary, just because it doesn't make sense to query a negative distance. This essentially leads to particles not seeing any boundary anymore, and depositing their energy in the wrong volume / material.


Fix iam.tf to add lambda permission

Fixes #227

Pull Request Test Coverage Report for Build 1576

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

Totals

Change from base Build 1574:
0.0%

Covered Lines:
734

Relevant Lines:
736

💛  - Coveralls


perf: ⚡ perf scanner

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.hxj seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @IWANABETHATGUY! Question though: since this is only created once per format, does using small-vec mean it will be faster for access and storage? If so, maybe we should just create our own wrapper around a fixed size array instead of having a new dependency. Would you be up for that?

Since this pull request is only inproved when the json file is large, i agree with you, i am gona close this.

How much does it help for large files? Maybe it would be better though.

How much does it help for large files? Maybe it would be better though.

About 14% acording the github ci benchmark, but has some regression in small json file like tsconfig.json, so i think maybe i should investigate other way

Also, I am a bit curious why not we use CST instead, since this crate most used in formating.

I find the github benchmark to be really inaccurate on single runs. It's probably the same speed for small files.
I am just more familiar with ASTs, but ASTs should potentially be faster because they use less memory. For formatting I've found I actually prefer keeping the comments and tokens stored separately. In a CST sometimes the author of the parser puts the comments or tokens at an annoying level of the tree.

I just tried this out and it is slower unfortunately.


Unhide Skeleton3D menu button

Fixes an issue where Skeleton3D menu button with option to "Create physical skeleton" is not showing
Related to https://github.com/godotengine/godot/pull/36409

Thanks!


Topic/chandra/unit test results2

What this PR does / why we need it
Which issue(s) this PR fixes

Fixes #
Describe testing done for PR

Release note

Additional information
Special notes for your reviewer

Can we close this PR?


Update HorizontalPodAutoscaler to the v2 CRD

The helm chart fails to apply on "newer" versions of Kubernetes because autoscaling/v2beta is no longer available
References
https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-resource-metrics
Submitter checklist

[ x] Recommended: Join WireMock Slack to get any help in #help-contributing or a project-specific channel like #wiremock-java
[ x] The PR request is well described and justified, including the body and the references
[ x] The PR title represents the desired changelog entry
[ x] The repository's code style is followed (see the contributing guide)
[ x] Test coverage that demonstrates that the change works as expected
[ x] For new features, there's necessary documentation in this pull request or in a subsequent PR to wiremock.org

@sebagomez thanks for your PR. Please check linting error above.

@sebagomez @gitkent Maybe also update the chart with latest app version?
appVersion: "3.8.0" > appVersion: "3.10.0"?


Update Flowdock logo on Sponsors page

Description
Right now, the flowdock logo on the Sponsors page (http://centerforopenscience.org/about_sponsors/) is the old one:

Flowdock has updated the logo, so we should update accordingly. On Flowdock's website, they are showing this now:

Actually, I'm working on this!

@NatashaRichter do you want me to update the flowdock logo or are you still working on this?

In my next PR. @erinspace can you close this? thanks!

Yep!


importing the translated strings from v1, removing obsolete translated strings

Summary
This PR adds the translated strings from V1 to the i18n folder and removes the obsolete strings from the translations.
From the 798 strings there are 390 that were already translated in v1.
Ticket Link
Checklist

[X ] Includes text changes and localization file updates

Release Note
NONE

Hello @ctlaltdieliet,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.


The problems about the timestamp of each Radar point and the velocity of  each Radar point

Tkanks for sharing the great work! I have two problem about the NTU4DRadLM dataset.
Firstly, the timestamp of  each radar point is missing, which is necessary to improve the accuracy of localization,  and I found the proposed method, 4DRadarSLAM, also consider the motion distrotion.  In addition, I also found the MSC RAD4R dataset(https://mscrad4r.github.io/) also not provide the  timestamp of each radar point. Thereofore, I want to know wheather the timestamp of  each radar point is provided by by the 4D radar sensor, or the post-process ignore the timestamp of  each radar point when converting the raw data to the sensor_msgs/PointCloud2.
Secondly, I am curious about the velocity of each Radar point, I think the veclocity of each radar point, provided by the NTU4DRadLM dataset,  is the relative radial velocity, is right? And the data, called radar_enhanced_pcl, has been filtered according to the absolute (i.e. ego motion compensated) radial velocity of the point, and only keep static points?
Looking forward to your reply!  Best wishes!

Tkanks for sharing the great work! I have two problem about the NTU4DRadLM dataset.
Firstly, the timestamp of each radar point is missing, which is necessary to improve the accuracy of localization, and I found the proposed method, 4DRadarSLAM, also consider the motion distrotion. In addition, I also found the MSC RAD4R dataset(https://mscrad4r.github.io/) also not provide the timestamp of each radar point. Thereofore, I want to know wheather the timestamp of each radar point is provided by by the 4D radar sensor, or the post-process ignore the timestamp of each radar point when converting the raw data to the sensor_msgs/PointCloud2.
Secondly, I am curious about the velocity of each Radar point, I think the veclocity of each radar point, provided by the NTU4DRadLM dataset, is the relative radial velocity, is right? And the data, called radar_enhanced_pcl, has been filtered according to the absolute (i.e. ego motion compensated) radial velocity of the point, and only keep static points?
Looking forward to your reply! Best wishes!

I checked with Oculii customer service, they didn't output the timestamp of each radar point, so it cannot be obtained.
Second, yes it is relative radial velocity. radar_enhanced_pcl is the raw output by Oculii driver (the manufacturer output this with their special algorithm), it is still relative radial velocity (not absolute velocity).

I get it! Thanks for your reply!


(docs) Remove Red Hat links

Description of the change:
This PR removes a RedHat specific script and the RedHat
Privacy statement link from the documentation site.
Motivation for the change:
Checklist
If the pull request includes user-facing changes, extra documentation is required:

[ ] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[ ] Add or update relevant sections of the docs website in website/content/en/docs

@anik120 so what is our privacy policy now? Is there a replacement link we should link to?

/hold
waiting for questions to be answered

/hold cancel


Repeater with fileupload and cloneable broken

Package
filament/forms
Package Version
v2.15.43
Laravel Version
v9.27.0
Livewire Version
v2.10.7
PHP Version
8.0.20
Problem description
When cloning an item in a repeatable field which has a fileupload (with a file) the form breaks.
Expected behavior
file upload should work as expected.
Steps to reproduce
Add a repeater with a fileupload and enable cloneable.
Upload a file in the first item and clone the item.
When submitting you'll get an error:

Reproduction repository
https://github.com/sweebee/filament-repeater-bug
Relevant log output
No response

Unfortunately, this is simply a Livewire file uploads limitation. When repeater items are cloned, their data gets copied exactly, which is expected behaviour. Eventually when the first image object is uploaded, Livewire will delete it from the temporary disk, meaning that it's not accessible to the other cloned repeater items.
I've just submitted a fix for this which means that uploaded files will not be cloned between items if they don't exist any more. This will silence the error.


Moving past a Chunk Border while the map is being viewed causes a StackOverFlowError

Describe the bug
Looks like I'm the first person to report this issue, so this might be an isolated case. I'll report this nonetheless because it might help later down the line.
In a 1.21.1 singleplayer world, moving past a chunk border while viewing the minimap OR chunk map crashes my game, this could be achieved by simply having the minimap open and walking, or by opening the Chunk Map while flying and coasting into a neighboring chunk.
I've occasionally had game crashes without having anything open, but this is inconsistent and they have identical crash logs.
General Info
Mod Version: ChunkDebug 2.0.0 for 1.21.1
Minecraft Version: 1.21.1
List of other mods: Fabric Loader 0.16.5, Fabric API 0.104.0+1.21.1, Lithium 0.13.0, Sodium 0.5.11+mc1.21
To Reproduce
This could be isolated, but this is what's been triggering my crashes:

View the chunk borders using F3 + B
Open the minimap
Move past a chunk border

Crash Report / Latest Log
All crash logs appear to be identical so I'm only uploading a random one
crash-2024-09-15_17.21.16-client.txt
Additional Details
I would be happy to provide additional information if it is helpful/required.

I cannot reproduce this issue with only ChunkDebug and fabric api. Can you please confirm whether this issue exists without the other mods?
If the issue persists then could you please send me a copy of the world with exact coordinates and directions to reproduce. Providing a video of the crash would also be helpful.

Welp, jokes on me because I started a new world and I can't reproduce anything now 🤦. I guess it was a fluke or something was messed up with that particular world of mine? After flying around a bit in creative there's no more crashes, consider this bug report meaningless.

If you re-encounter this issue please re-open this issue


BLD: Warning fix from scipy/special/special/gamma.h

Reference issue

Fixes https://github.com/scipy/scipy/issues/20587
What does this implement/fix?

Additional information

This is ready for review.

This is now all green, thanks @czgdp1807. It'd be nice to get this merged, since the warning is annoying (it's the only one for GCC on Linux).
I'll leave the review to @steppi.

https://github.com/scipy/scipy/actions/runs/9304146804/job/25608074162?pr=20820 fails. I think we should keep it templated. Its causing problems with 32 bit. But something similar should have happened for digamma, right?

The docs are failing though I didn't touch anything related to that.
/home/circleci/repo/build-install/lib/python3.11/site-packages/scipy/stats/_morestats.py:docstring of scipy.stats._morestats.false_discovery_control:44: WARNING: py:obj reference target not found: statsmodels.stats.multitest.multipletests

Exited with code exit status 1

Basically, SciPy can be thought of as a large monorepo of separate modules, tests for everything run for every PR

Yes. 32-bit failure felt relevant to me, but regarding docs failure I was aware that it's not relevant to my PR.
Reverted the last change I made. Please see if it looks good now.

This Windows tests is failing on multiple PRs with different limits.


feat: adds placeholder to card element

Description

feat: adds placeholder to card element

Testing required outside of automated testing?

[ ] Not Applicable

Screenshots (if appropriate):

[ ] Not Applicable

Rollback / Rollforward Procedure

[ ] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 1.194.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[BUG] {The program can be executed, but there is no export message and no error}

Describe the bug
OS : Windows 10
SDK : 2.19.0
The program can be executed.
We run both models on OAK-D with fps set to 30 and finally output x,y,z to the host.
The strange thing is that x, y, z are not output, and no error message appears.
But the python version works fine.
Minimal Reproducible Example
Pipeline Graph
If you need more information, please provide me google mail.
I will open cloud space.
Thanks.

Hi @friend045 ,
Could you please provide full MRE? As there are hardly any useful information in this issue.
Thanks, Erik

Hi , Could you please provide full MRE? As there are hardly any useful information in this issue. Thanks, Erik

Hi @Erol444 ,
Provide full MRE & Pipeline Graph here.
Thanks

Any ideas? Maybe I should try the new version 2.20.1.

We'll be looking into this in more depth this Saturday. Do you mind granting the access to the MRE?

Hi @themarpe ,
I opened the access last week.


Bootstrap v4, Tether, and Mix.extract()

Alright, so I've been searching through the community and can't seem to find anyone that has an answer; so I'm going to ask it here in desperation.
We are looking to extract out most of our vendor libraries and are running into issues with Bootstrap v4 and Tether.
In our bootstrap.js for the application we have the following:
window.$ = window.jQuery = require('jquery')
window.Tether = require('tether')
require('bootstrap')

Then in our webpack.mix.js we have the following:
const { mix } = require('laravel-mix');

if (process.env.NODE_ENV == 'production') {
    mix.disableNotifications();
}

mix.webpackConfig({
       devtool: 'cheap-source-map'
   })
   .js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css')
   .extract([
       'jquery',
       'vue',
       'bootstrap',
       'tether'
   ])
   .version([
       'css/app.css',
       'js/app.js'
   ]);

Now when we run yarn run dev this results in the following error when trying to load our application:
Uncaught Error: Bootstrap tooltips require Tether

If we remove bootstrap and tether from the extract() everything works again. Are we initializing Tether and Bootstrap wrong when it comes to using Extract?
Environment Information:

Laravel Mix: 0.8.1
Node: v7.5.0

It appears removing from bootstrap.js:
window.$ = window.jQuery = require('jquery')
window.Tether = require('tether')

Then adding to webpack.mix.js:
mix.autoload({
    jquery: ['$', 'window.jQuery', 'jQuery'],
    tether: ['window.Tether', 'Tether']
})

Resolved this issue and allows us to extract Bootstrap and Tether. Booyah!

@ellisio I'm running into the same issue. What did your final webpack.mix.js file end up looking like? I can't seem to get things working and constantly get an error about $ not being defined as well as the tether issue with Bootstrap. Thanks!

@agentphoenix This is what we ended up with:
const { mix } = require('laravel-mix');

if (process.env.NODE_ENV == 'production') {
    mix.disableNotifications();
}

mix.webpackConfig({
       devtool: 'source-map'
   })
   .autoload({
       jquery: ['$', 'window.jQuery', 'jQuery', 'jquery'],
       tether: ['window.Tether', 'Tether'],
       'tether-shepherd': ['Shepherd']
   })
   .js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css')
   .extract([
       'lodash',
       'jquery',
       'jquery.payment',
       'jquery.phone',
       'tether',
       'tether-shepherd',
       'bootstrap',
       'promise',
       'moment',
       'js-cookie',
       'axios',
       'vue',
       'vuex',
       'vue-router',
       'v-tooltip',
       'laravel-echo',
       'pusher-js',
       'raven-js',
       'raven-js/plugins/vue'
   ])
   .version();

@ellisio Thanks! Couldn't get it working without throwing some variables into my app.js file unfortunately. Not sure what I was missing.


Documentation for EVP_PKEY_CTX_get0_pkey() and EVP_PKEY_CTX_get0_peerkey()

Added missing documentation for:-

EVP_PKEY_CTX_get0_pkey()
EVP_PKEY_CTX_get0_peerkey()

Fixes #19813
Checklist

[x] documentation is added or updated

Is CLA required for adding documentation? If yes, any chance this comes under the trivial category?

No chance for 50 lines of text, sorry :)

No chance for 50 lines of text, sorry :)

oh okay, I'll need to fill up the paperwork then.
In the meantime, would appreciate any feedback on my PR. Thanks.

sent my signed CLA document for this PR.

Do I need to update the build.info file also, for the newly added .pod file EVP_PKEY_CTX_get0_pkey.pod ?

Do I need to update the build.info file also, for the newly added .pod file EVP_PKEY_CTX_get0_pkey.pod ?

Just run make update and commit the result.

@mattcaswell please reconfirm

Ping @mattcaswell please reconfirm

This pull request is ready to merge

Merged to master, 3.1, and 3.0 branches. Thank you for your contribution!


_mapview hack

Select *_mapview give petrimaps link in query result table.
Link contains query param, which is filling by the object, not a query.

If variables end with the suffix _query or _mapview all result entries in that column are links to a new query or the map view. The value of that column is used for the new queries. This is not a substitute for the Map view discussed in #102. Does this clear up the question?

Sure, I understood it's 2 different things.
But what surprises me is the link built for ?XX_mapview results: PETRIMAPS_URL/?query=wkt_literal&mode=objects&backend=...
Petrimaps is not able to handle this "query", which is not a query but a wkt string object.
Taking your instance, with OSM sample, try this query:
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX osmkey: <https://www.openstreetmap.org/wiki/Key:>
PREFIX ogc: <http://www.opengis.net/rdf#>
PREFIX osmrel: <https://www.openstreetmap.org/relation/>
SELECT ?osm_id ?hasgeometry_mapview WHERE {
  osmrel:1960198 ogc:sfContains ?osm_id .
  ?osm_id geo:hasGeometry/geo:asWKT ?hasgeometry_mapview .
  ?osm_id osmkey:building ?building .
}

Click a mapview link in a result row, petrimaps will throw an error.
Maybe mode=objects would have to handle this case in petrimaps?
Just to test, I tried a successful trick replacing PETRIMAPS_URL/?query=wkt_literal&mode=objects&backend=... by:
const query = `SELECT ?geo WHERE {BIND(${wktLiteral} as ?geo)}`;
return `PETRIMAPS_URL/?query=${encodeURI(query)}&mode=objects&backend=...`;

And built link is functional in petrimaps (example)

My hacky test is not really clean. We don't need to call API in petrimaps if we already have the object to display.
What do you think about:

building a link URL with an object param instead of query, filling it with the wkt literal
handling this case in petrimaps: if query param is missing, don't call API, if object is present, add directly this one

If you agree, I can try to provide pull requests on qlever-ui & petrimaps

This should now longer be required as of #106 and 9f39f84b9ca07d1276da5928495c6097a87e2b38?

Thanks @Qup42.
I close the issue.


FE-255: add validation for collection, document, graph, view and database names

Scope & Purpose

add extended & traiditonal validation  when adding a collection, document, graph, view and database names
add traditional validation when editing a arangosearch view – to be improved later

For more details see FE-255

[x] :pizza: New feature

Checklist

[x] Tests

[x] Manually tested

[x] :book: CHANGELOG entry made
[x] Backports

[x] Backport for 3.11: https://github.com/arangodb/arangodb/pull/18862

Related Information

[x] GitHub issue / Jira ticket: https://arangodb.atlassian.net/browse/FE-255

[ ] https://jenkins01.arangodb.biz/job/arangodb-ANY-jslint/28867/

[ ] https://jenkins01.arangodb.biz/job/arangodb-ANY-jslint/28923/

[ ] https://jenkins01.arangodb.biz/job/arangodb-ANY-jslint/28932/


Updated claim showing as "spent" / "expired"

See https://chainquery.lbry.io/api/sql?query=SELECT * FROM claim where claim_id="3187461e9df8554bbac34926f3bbfdddcd528a62"

I did some research. I don't have an answer yet. I found other claims with a similar problem.
https://chainquery.lbry.io/api/sql?query=SELECT * FROM claim INNER JOIN output ON output.transaction_hash = claim.transaction_hash_id AND output.vout = claim.vout AND output.is_spent=0 WHERE claim.bid_state="Spent" ORDER BY claim.modified_at DESC
I need to do more investigating to figure out how this could have happened. I see no reason why this would happen.

Also sometimes shows expired :

It clears itself up after a while...I'm guessing after the claimtrie sync.

So it was showing expired because when it's in the mempool its height is marked as 0. So based on the logic it is expired in this case. I added a check that if it's 0 it's never considered expired.
It was showing as spent sometimes because if the claimtrie sync would run between the claimname and the update processing, it would get marked  as spent based on the first. If the timing of the update wasn't right it would get stuck in that state too because the claim trie sync only runs on claims that have been updated.
Fixed with 037ca9dd24bf61aaa2d9217616f0acb66d2dddf2


Expose several resource/resource-saver functions

Exposes several methods for GDExtension and script languages related to Resource, ResourceUID, and ResourceSaver.
Bugsquad edit: The methods are Resource get_id_for_path, is_built_in, reset_state, set_id_for_path, set_path_cache, and ResourceSaver get_resource_id_for_path.

Hi @akien-mga, exposing a number of these Resource-specific methods is to support custom resource format loaders and savers.  Without these, implementors of custom loader/savers have to write their own ResourceCache implementation and this is sometimes at odds with the existing API that use the ResourceCache internally in other Resource methods.
The goal of exposing these is so that if a GDExtension implements a custom resource with custom loader/saver format impls that those implementations can reuse the existing ResourceCache and other facilities within the engine and only focus on supplying the bare implementation needed for the custom resource, loader, and saver wrappers.

@akien-mga applied your suggestions.

Thanks!


Gradle: Example project show casing composite builds

Composite builds provide a convenient way of working across multiple repositories which come together to form an application. Typically, we would build & publish changes to each individual project and then consume them in an application project. With composite builds, you can work across multiple project simultaneously which allows for greater refactoring without going through tedious debug cycles.
In this PR, I have made the following changes,

Added a new example for composite projects
Added symlinks for the gradle folder from each individual project to the parent folder. This will allow us to update the Gradle version from any project and also reduce the amount of binaries that we need to store in our repositories.
Updated all the Gradle wrapper scripts to the defaults shipped for 5.6.2
Cleaned up a few test cases to take advantage of the recent capabilities of Thorntail - library processing for test cases.

Additionally, I have verified the changes that I am publishing to the core project.

I'd have expected troubles on Windows, since you mentioned adding a symlink, but it seems Windows builds are passing, so that's good.

The failing test on Linux: Uberjar is unrelated.

Thank you @Ladicek for having confidence in me. I am honored by it. The simplest way to describe the composite-build capability is as follows,

Imagine if you had to make a change that affects micro-profile, wildfly-core & thorntail. Each of them sit in their own repositories.
Typically, we would make changes in one, do a mvn clean install and then consume it another .. and so on.
Composite projects are similar to the repo tool for Android, where-in you can clone all relevant repositories locally and hook them up together via convenient build script.
In the case of Gradle, that integration extends to the IDE as well (at least for IntelliJ). So, now we can work on the combined set as if they were the same project .. try out our idea .. and if we are happy with the changes, we can then push them as individual commits (and go through the usual process).

I have found this to be very useful when doing medium scale refactoring across multiple linked repositories.

Sorry for coming late folks, I've been often out of office these days. Nice work! I didn't know about composite builds. Will come handy!


[Contracts, client] Implement ASYNC_TRANSFER conditional payment app

Self-explanatory
Part of the #334 meta issue

Do we need a separate contract app for this?

Completed via https://github.com/ConnextProject/indra/pull/403


Chained token colors

First of all I want to say I really enjoy the theme!
Currently I find it difficult to use with JS. Simply due to having chained tokens being the same color.
For example if I have Object.Attribute.attribute. all three of these will be the same pinkish color. or even just having Object.attribute both be the same is difficult to read. making a single line comparing nested properties a little hellish.
I have tried to read the VS code documentation relating to this to see if I could fix it and offer a PR alas I cannot find where these keywords would be.

I think that with the last update, this problem is solved :)


Some change listener

It would be good to implement some change listener, which would be listening to any change made on storage...

If you write something with the same key value, does the Paper overwrite what was there or just create a new data file?
For example:
Paper.book().write("city", "String");
Paper.book().write("city", "Other string");
And if i do String city = Paper.book().read("city"), what do i get?

I don't think it should be part of the library. The good implementation would require thread management as a listener should be fired in UI thread. But library implemented in a way to not handle UI threads itself. I would recommend building the layer on the top of the Paper to care about safe loading in a background thread, caching and watch changes.


Support for indexed bots so that they do not collect information abou…

Indexing bots in some cases may download content that we do not want. This is blazor error information.
We can set the data-nosnippet tag to prevent this.
https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#data-nosnippet-attr
The problem is also described here:
https://github.com/dotnet/aspnetcore/issues/46289

Thanks for your PR. We don't think there is value in updating these samples, so we won't be taking this PR.
We do think, however, that updating templates with a similar change would be safe for now. We may redesign all templates during .NET 8 though.

@mkArtakMSFT Which repository is the project template in?


Trivial init.py error for Python 3

Line 69 in init.py reads
print "var", var
which fails in Python 3.  A simple fix is:
try:
print "var", var   # Python 2
except:
print("var", var)   # Python 3

also python3 does not has urlparser, do the following in init & drivers.py file
pip install urllib3 -> this is with pip3
go to files and add following lines
from urllib import parse as urlparse
instead of
import urlparser

My code does not have a drivers.py file.


Add Z80Assembler class

This PR makes it easier for consumers of this library to use it without relying on the command line part.
Usage:
var assembler = new Z80Assembler();
var result = assembler.Assemble(assemblyCode);
if (result.Success)
{
   byte[] binaryFormat = result.Value;
}

This seems specifically only for assembling Z80 source without the client having to specify on command line? I don't know if this is appropriate since the assembler is designed to support several different CPUs.

This seems specifically only for assembling Z80 source without the client having to specify on command line? I don't know if this is appropriate since the assembler is designed to support several different CPUs.

It would be OK to have a single assembler as a façade to other assemblers. In any case, my goal is to expose any artifact that makes it possible to consume the assembled data without calling to an executable and writen a file to the filesystem.
Does it makes sense to you?

This seems specifically only for assembling Z80 source without the client having to specify on command line? I don't know if this is appropriate since the assembler is designed to support several different CPUs.

It would be OK to have a single assembler as a façade to other assemblers. In any case, my goal is to expose any artifact that makes it possible to consume the assembled data without calling to an executable and writen a file to the filesystem.
Does it makes sense to you?

I think it makes sense. It seems like what you are looking for is the ability to call a package/module that implements a specific assembler. Each module could leverage shared library that handles parsing, symbols, expression evaluation, etc. but each would be responsible for generating code specific to its target CPU, and its output would be the actual in-memory generated code that caller/client could do with as it wish, like writing to disk or maybe sending back as a response for a web service or something. Is that right?

This seems specifically only for assembling Z80 source without the client having to specify on command line? I don't know if this is appropriate since the assembler is designed to support several different CPUs.

It would be OK to have a single assembler as a façade to other assemblers. In any case, my goal is to expose any artifact that makes it possible to consume the assembled data without calling to an executable and writen a file to the filesystem.
Does it makes sense to you?

I think it makes sense. It seems like what you are looking for is the ability to call a package/module that implements a specific assembler. Each module could leverage shared library that handles parsing, symbols, expression evaluation, etc. but each would be responsible for generating code specific to its target CPU, and its output would be the actual in-memory generated code that caller/client could do with as it wish, like writing to disk or maybe sending back as a response for a web service or something. Is that right?

Exactly. You said it exactly. 100%!

I don't mind doing this but can we hold off on this change for now? It's just because I would have to re-organize all the stuff responsible for the  other CPUs and probably don't have time at the moment? If so we can close.

I don't mind doing this but can we hold off on this change for now? It's just because I would have to re-organize all the stuff responsible for the other CPUs and probably don't have time at the moment? If so we can close.

No problem! I hope you can come with some nice changes to consume the library from another app.
By the way, I want to share with you the IDE for the Z80 I have created. It's here: https://github.com/SuperJMN/SuppaZ80
Thanks for your help!

I'll check it out!


rebar3 ct fails on my system (but not on Travis)

`===> Compiling lfe`
```erlang
src/lfe_qlc.erl:35: Warning: variable 'Opts' is unused
src/lfe_ms.erl:302: Warning: function fetch_binding/2 is unused
src/lfe_macro.erl:625: Warning: function trim_stacktrace/1 is unused
src/lfe_macro.erl:1025: Warning: variable 'V' shadowed in 'fun'
src/lfe_eval.erl:128: Warning: variable 'M' shadowed in 'fun'
src/lfe_eval.erl:132: Warning: variable 'M' shadowed in 'fun'
src/lfe_eval.erl:469: Warning: function init_letrec_env/1 is unused
src/lfe_eval.erl:475: Warning: function extend_letrec_env/3 is unused
src/lfe_eval.erl:475: Warning: variable 'Fbs0' is unused
src/lfe_eval.erl:744: Warning: variable 'M' shadowed in 'fun'
src/lfe_eval.erl:748: Warning: variable 'M' shadowed in 'fun'
src/lfe_edlin_expand.erl:228: Warning: function over_non_symbol/3 is unused
src/lfe_codegen.erl:851: Warning: variable 'St' shadowed in 'fun'
src/lfe_codegen.erl:974: Warning: variable 'St' shadowed in 'fun'
src/lfe_codegen.erl:981: Warning: variable 'St' shadowed in 'fun'
src/lfe_codegen.erl:986: Warning: variable 'St' shadowed in 'fun'
</details>
<details>
<summary>`===> Running Common Test suites...`</summary>
```erlang
/Applications/Xcode.app/Contents/Developer/usr/bin/make  erlc-lfec
make[1]: Nothing to be done for `erlc-lfec'.
test/andor_SUITE.lfe:94: Warning: this clause cannot match because of different types/sizes
test/andor_SUITE.lfe:94: Warning: this clause cannot match because a previous clause always matches
test/andor_SUITE.lfe:102: Warning: this clause cannot match because of different types/sizes
test/guard_SUITE.lfe:765: unbound symbol: guard_SUITE
test/guard_SUITE.lfe:765: unbound symbol: all
test/guard_SUITE.lfe:765: unbound function: #(function 3)
test/guard_SUITE.lfe:765: unbound symbol: guard_SUITE
test/guard_SUITE.lfe:765: unbound symbol: all
test/guard_SUITE.lfe:765: unbound function: #(function 3)
===> Hook for ct failed!

It seems to be upset about the switch from fun to function. If I switch back, then all the tests pass again.

patch
```diff
diff --git a/test/guard_SUITE.lfe b/test/guard_SUITE.lfe
index 33b1344..e77d916 100644
--- a/test/guard_SUITE.lfe
+++ b/test/guard_SUITE.lfe
@@ -764,9 +764,9 @@
(defun is_function_2
([config] (when (is_list config))

(line (test-pat 'true (is_function (id (function guard_SUITE all 1)) 1)))

(line (test-pat 'true (is_function (id (fun guard_SUITE all 1)) 1)))
(line (test-pat 'true (is_function (id (lambda () 'ok)) 0)))

(line (test-pat 'false (is_function (id (function guard_SUITE all 1)) 0)))

(line (test-pat 'false (is_function (id (fun guard_SUITE all 1)) 0)))
(line (test-pat 'false (is_function (id (lambda () 'ok)) 1)))
(let ((F (lambda (_) 'ok)))

</details>

Any idea what's going on here? I'm on Erlang 18.3.4, built using [this Nix package](https://github.com/NixOS/nixpkgs/blob/54a15fb2e4272ce80dc30b153b77fe8089c8a7f3/pkgs/development/interpreters/erlang/R18.nix), on macOS 10.11.5.

That is weird. You seem to have got the latest test suites but are not running the latest version of the compiler and rest of the system. Are you sure your lfe and lfec commands are pointing to this version of lfe? rebar3 uses lfec which needs lfe.

Nice catch! If this build passes, then this is ready to merge. The paths are fixed in the rebar3 ct pre_hooks now and I've removed ./bin from the $PATH open Travis to avoid similar confusion in the future.


operator-sdk unable to pull the docker image

Bug Report
What did you do?

What did you expect to see?
operator-bundle must be able to pull the docker image.
What did you see instead? Under which circumstances?
operator-sdk run bundle $BUNDLE_IMG -n test-odb
The above command is throwing the following error:
FATA[0000] Failed to run bundle: pull bundle image: error pulling image my-reg-server/mytenancy/db-repo/my-operator-bundle:v0.0.1: error resolving name : no scope specified for token auth challenge

Environment
Operator type:

/language go

Kubernetes cluster type:
Minikube
 operator-sdk version
operator-sdk version: "v1.2.0", commit: "215fc50b2d4acc7d92b36828f42d7d1ae212015c", kubernetes version: "v1.18.8", go version: "go1.15.3", GOOS: "linux", GOARCH: "amd64"
$ go version (if language is Go)
go version go1.15.8 linux/amd64
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:28:09Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:20:00Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
Possible Solution

Additional context

Are you able to pull the image without the sdk command?
It shows that you have no access to the image/registry to pull that.

@camilamacedo86
Yes, using docker pulll, I am able to pull the docker image from same registry server. However, I id docker login before docker pull.

After you do the docker login and store those credentials did you try to use the command again? Seems that the error is because was not possible to pull the image and then, the command will not have that to work.

@camilamacedo86
Where should I store the credentials? Are there any steps for operator-sdk to pull the images from private registries?

This issue maybe similar to #4650

Docs will be updated in the next release. For now you can see the requested functionality explained here.

I got the same problem and i could solve it by creating a secret of type kubernetes.io/dockerconfigjson  , by running the command : kubectl create secret docker-registry secret_name --docker-server= --docker-username= --docker-password= --docker-email=
I have created the secret in the same namespace as the serviceaccount or others manifest file generated by the framework.
you edit the serviceaccount yaml file by adding
**imagePullSecrets:

name: secret_name**

And the make deploy IMG= ........   should work.

update for previous comment https://github.com/operator-framework/operator-sdk/issues/4729#issuecomment-1487002895:
I'm able to run the operator-sdk bundle by prefixing docker.io like operator-sdk run bundle docker.io/vhosakot/nginx-operator-bundle:v0.0.1.
% operator-sdk run bundle --help
...
If using a docker.io image, you must specify docker.io(/<namespace>)?/<bundle-image-name>:<tag>.
...

But I see many such pods failing and restarting:
% kubectl get pods | grep 20ed3bdb54db8de8b2a12 | wc -l
    1232

I see this error in the above pods like:
% kubectl logs 20ed3bdb54db8de8b2a12deaafa934b3aca92f140692f73cd07a18ccdfvt6ks
Error: error loading manifests from directory: ConfigMap "20ed3bdb54db8de8b2a12deaafa934b3aca92f140692f73cd07a18ccdf3af79" is invalid: [data[demo.vhosakot_nginxes.yaml]: Invalid value: "demo.vhosakot_nginxes.yaml": duplicate of key present in binaryData, data[nginx-operator-controller-manager-metrics-service_v1_service.yaml]: Invalid value: "nginx-operator-controller-manager-metrics-service_v1_service.yaml": duplicate of key present in binaryData, data[nginx-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml]: Invalid value: "nginx-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml": duplicate of key present in binaryData, data[nginx-operator.clusterserviceversion.yaml]: Invalid value: "nginx-operator.clusterserviceversion.yaml": duplicate of key present in binaryData]


actix-web example (re-using the same port)

Hi, I've posted a question in chat. I also would like to create an issue here, I've never used warp/hyper, if tonic can work perfectly with actix-web, that'll be really great news for me because then I don't need to rewrite all my existing code.

I am not directly familiar with actix, but if you can construct their own internal http types from the hyper version than it should work. Basically, can you run actix with hyper?

Is this a thing? I'm curious to know the extent in which I can use actix actor model.

Actix the actor model != the actix-web project, I think they diverged a while back. That said, if you can run a hyper server on that port then you can run a tonic one.


[EDMTP-195] Add the ability to set properties of Alert widget

Provide 'set' and 'get' accessors for Alert widget
Add new reference type: JSON
Provide the ability to set serialized objects in text and hidden fields
Add objects comparison to isEqual method
Update Readme

Agree with @smiakchilo
That looks really nice!

Same question her
@smiakchilo, @liubou-masiuk
Can we start merging PRs without technical concern to get actual target state for other related changes?


gost34.11-2012.8 man page

Hello!
Have prepared Streebog RPM-package for openSUSE distro:
[1] https://build.opensuse.org/package/show/home:k_mikhail/GOST34.11-2012
To prevent RPMlint warning messages on absent man-page for binary file, also have prepared manual gost34.11-2012.8 man page, based on ./gost3411-2012 -h output. Because this file is absent in initial Streebog git, let it be also added here for someone, who also wants to create his own RPM/DEB and so on package.
gost3411-2012.8.txt
gost3411-2012.8.txt should be renamed to gost3411-2012.8
Placement: /GOST34.11-2012-0.11/gost3411-2012.8
Thanks!

Hello!
Man page gost3411-2012.1 is included in the source distribution, and generated with make man command (GNU's help2man is required):
$ make man
...
$ nroff -man gost3411-2012.1 |less

The resulting manpage is okay to use in any binary distribution, including that particular RPM-package in OpenSUSE, right?

Man-page was generated manually, as it described here: https://www.cyberciti.biz/faq/linux-unix-creating-a-manpage/
And then was added to .tar.gz and installation was described in spec (see https://build.opensuse.org/package/view_file/home:k_mikhail/GOST34.11-2012/GOST34.11-2012.spec?expand=1)
As you can see, I re-uploaded gost3411-2012.8.txt to bring off suse-specific strings in examples. And propose to add this man-page to your initial .tar.gz package.
P.S. If I got context of your message right, of course...

Seems, I've gotten, why gost3411-2012.1.h2m was out of my attention -- initially I used tar.gz distro from https://www.streebog.net/s/GOST34.11-2012-0.11.tar.gz , and it does't contain gost3411-2012.1.h2m. And I had to invent my own. :)
Anyway, please, consider the content of gost3411-2012.1.txt as a more informative replacement for gost3411-2012.1.h2m. Thanks!
gost3411-2012.1.txt

Yeah, good catch, thanks for pointing this out and sorry you've had to re-invent the wheel manpage.  Since 0.11 was released there were no major changes in the algorithm itself so there were no new releases.
I've just sketched (via f5cb618) a new spec file with manual page included in the resulting package so we could keep it in the source code from 0.12 onwards. Does this help?

That's no problem at all. 've got good practice experience.
Here are two wheels, seems: my man-page and your spec-file. :) Even don't know, should we need to change NAME= and other stuff, except of just putting gost3411-2012.1 to current 0.11 tar.gz... But anyway, I need to have re-packed tar.gz with 0.12 to add them to build-system to see how it will works... Because, Source0:	https://github.com/adegtyarev/streebog/archive/0.12-1.tar.gz returns nothing yet.

Because, Source0: ... returns nothing yet.

This is expected, as long as 0.12 to be released with some other commits added. Before that for testing purposes you can checkout add-spec branch to build and install the .rpm with the following commands (using OpenSUSE):
# zypper --quiet install -y rpmbuild help2man man
# make dist
# mv -v *.tar.gz /usr/src/packages/SOURCES/0.12.tar.gz
# rpmbuild -ba gost3411-2012.spec
# rpm -i /usr/src/packages/RPMS/x86_64/GOST34.11-2012-0.12-1.x86_64.rpm

This will install cli tool & manpage:
# gost3411-2012 -v
gost3411-2012 0.12
...
# man gost3411-2012

I'm going to publish on github release 0.12 with RPM spec & manual page soon.

Results. make dist has one error message.

make dist

mv -v

rpmbuild -ba gost3411-2012.spec

gost3411 -v and man gost3411-2012

Here is a little note: in SEE ALSO section gost3411-2012 (3) is mentioned, but it doesn't exist. Check this out!

see also section of man 1 gost3411-2012

P.S. Seems, all my examples of gost3411-2012 usage went to limbo... Pity, but ok.

Meanwhile of long pause, I've processed building tests for wide RPM-based distros (variable versions of openSUSE, RHEL, Mageia, Fedora and CentOS via https://build.opensuse.org).
https://build.opensuse.org/package/show/home:k_mikhail/test_012
Everything is almost be OK, except:

RHEL, which doesn't know what help2man is (nothing provides it. Here are two ways for me: to ignore entire RHEL or to file bug-report on openSUSE's bugzilla);

CentOS 6 is FAILED of something unacceptable in spec for it. Info from build-log:

[   52s] RPM build errors:
[   52s]     File must begin with "/": BSD-2-Clause
[   52s]     File must begin with "/": LICENSE
[   52s]
[   52s] build82 failed "build gost3411-2012.spec" at Tue Apr 10 19:26:22 UTC 2018.

But for CentOS 7 everything is OK.
To build 0.12 for other distros and platforms, ExclusiveArch= was changed in spec. Now it is ExclusiveArch=x86_64 i586 i686 ppc64 ppc64le.
i686 was added to be OK with CentOS.
ppc64 ppc64le were added because ppc platform was pointed in man for 3411-2012
Other stuff:

RPMLint has some warning messages, that are not critical as well, but can be fixed easily.

GOST34.11-2012.src: W: invalid-spec-name
The spec file name (without the .spec suffix) must match the package name
("Name:" tag). Either rename your package or the specfile.

GOST34.11-2012.ppc64le: W: non-standard-group Unspecified
GOST34.11-2012.src: W: non-standard-group Unspecified

We have gost3411-2012.spec and 0.12.tar.gz package name. This should be synchronized by default in release I suppose.

In particular
%prep
%setup -q -n streebog-%{version}
snippet can be changed onto:
%prep
%setup -q -n %{name}-%{version}

non-standard-group Unspecified can be cured by adding Group: tag in spec. And  Productivity/Security seems to be the most adequate here. That is one of proposed list by openSUSE online build system.

Also I've faced with Version tag parsing error. Locally Version:	%(cat VERSION) is OK, but on build.opensuse.org I had to put explicit version: Version:	0.12 to proceed build process successful.

Please, meet pre-release variation of spec file in attach. Hope, this will help to make 3411-2012 package more generic to be workable for wide row of RPM-based distros. Thanks!
gost3411-2012_pre_release.spec.txt

UPD: Resolved to be OK with CentOS 6.
[   52s]     File must begin with "/": BSD-2-Clause
[   52s]     File must begin with "/": LICENSE
[   52s]
[   52s] build82 failed "build gost3411-2012.spec" at Tue Apr 10 19:26:22 UTC 2018.

On experiments about:
[1] https://github.com/openSUSE/python-rpm-macros/issues/4#issuecomment-305898431 and
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1386639
the easiest way to workaround that and to have successful build -- not to use %license LICENSE, just merely to put LICENSE into %doc
%doc LICENSE README.md
Now we can have success for CentOS{6,7}, Fedora{25,26,27,Rawhide}, SceintificLinux{6,7}, Mageia{6,Cauldron} and couple of SLE/openSUSE versions.
gost3411-2012_2018-04-12.spec.txt
Please, consider this variation of spec to be by default on 0.12 release. Thanks!

Pre-Summary:

Further experiments show, that 0.12 can also be successfully built for armv7l and aarch64 platforms. For example, for SUSE distros.

So, ExclusiveArch: parameter is updated up to:
ExclusiveArch: x86_64 i386 i586 i686 ppc64 ppc64le aarch64 armv7l armv7hl
Do not ask me why armv7l armv7hl here. It just works. Pit. :) I suppose, here is the same nature to CentOS/ScientificLinux for x86, when CentOS requires i586 and ScientificLinux requires i386 to be successfully built, although both of them have the same root platform (RHEL).

%license LICENSE construction in spec is fixed by moving to %doc LICENSE README.md to be OK with CentOS.

Version tag has parsing error. Locally Version: %(cat VERSION) is OK, but on build.opensuse.org I had to put explicit version: Version: 0.12 to proceed build process successful.

RPMLint warnings. Here I can say, Fedora/CentOS/Scientific/Mageia distro line is much calm instead of SUSE-based ones. It's not bad at all, because package is successfully built anyway, but forces spec-writer to be more ordered.

4.1. RPMLint warning: GOST34.11-2012.src: W: invalid-spec-name
The spec file name (without the .spec suffix) must match the package name
("Name:" tag). Either rename your package or the specfile.
Solution:  initially 0.12.tar.gz archive should have the same name with spec.
Here:
Source0: https://github.com/adegtyarev/streebog/archive/%{version}.tar.gz
should be changed onto:
Source0: https://github.com/adegtyarev/streebog/archive/%{name}%-%{version}.tar.gz
This should be fixed by author of package.
4.2. Group:		Productivity/Security option in spec fixes the RPMLint warning, that package should belong to some software group (GOST34.11-2012.src: W: non-standard-group Unspecified. GOST34.11-2012.x86_64: W: non-standard-group Unspecified. The value of the Group tag in the package is not valid. Valid groups are: ...). It is actual for SUSE-based distros only.
Fixed by myself.
4.3. GOST34.11-2012.src:41: W: files-attr-not-set GOST34.11-2012.src:42: W: files-attr-not-set GOST34.11-2012.src:44: W: files-attr-not-set
This rather annoying SUSE-based warning is fixed by adding  %defattr(-, root, root) parameter to %files directive. Now it is:
%files
%defattr(-, root, root)
%{_bindir}/gost3411-2012
%{_mandir}/man1/gost3411-2012*

Fixed by myself.
Resume:
Despite on rather long text (sorry about that!), package author should fix 4.1 only and to accept other fixing changes for spec.
New version of gost3411-2012.spec is attached.
Please, use this attached version as a Release Candidate gost3411-2012.spec instead of version in Pull Request 11. Thanks!
gost3411-2012.spec.txt

All fixed by: https://github.com/adegtyarev/streebog/commit/b2953578bca7cc8332d28185069030a272e668f9


Watcher re-connection出现重连失效的问题

问题： 反复重启几次watcher连接的URL，会出现重连机制失效 或者 段错误

代码（RewatchTest.cpp）：
#define CATCH_CONFIG_MAIN
#include <catch.hpp>

#include <chrono>
#include <thread>

#include "etcd/Client.hpp"
#include "etcd/SyncClient.hpp"
#include "etcd/Watcher.hpp"

//static std::string etcd_uri("http://<IP_ADDRESS>:2379");
static std::string etcd_uri("http://<IP_ADDRESS>:12379");
static int watcher_called = 0;

void print_response(etcd::Response const & resp)
{
  ++watcher_called;
  std::cout << "print response called" << std::endl;
  if (resp.error_code()) {
    std::cout << resp.error_code() << ": " << resp.error_message() << std::endl;
  }
  else {
    std::cout << resp.action() << " " << resp.value().as_string() << std::endl;
    std::cout << "Previous value: " << resp.prev_value().as_string() << std::endl;

    std::cout << "Events size: " << resp.events().size() << std::endl;
    for (auto const &ev: resp.events()) {
      std::cout << "Value change in events: " << static_cast<int>(ev.event_type())
                << ", prev kv = " << ev.prev_kv().key() << " -> " << ev.prev_kv().as_string()
                << ", kv = " << ev.kv().key() << " -> " << ev.kv().as_string()
                << std::endl;
    }
  }
}

void wait_for_connection(etcd::Client &client) {
  // wait until the client connects to etcd server
  while (!client.head().get().is_ok()) {
    sleep(1);
  }
}

void initialize_watcher(const std::string& endpoints,
                        const std::string& prefix,
                        std::function<void(etcd::Response)> callback,
                        std::shared_ptr<etcd::Watcher>& watcher) {
  etcd::Client client(endpoints);
  wait_for_connection(client);

  // Check if the failed one has been cancelled first
  if (watcher && watcher->Cancelled()) {
    std::cout << "watcher's reconnect loop been cancelled" << std::endl;
    return;
  }
  watcher.reset(new etcd::Watcher(client, prefix, callback, true));

  // Note that lambda requires `mutable`qualifier.
  watcher->Wait([endpoints, prefix, callback,
    /* By reference for renewing */ &watcher](bool cancelled) mutable {
    if (cancelled) {
      std::cout << "watcher's reconnect loop stopped as been cancelled" << std::endl;
      return;
    }
    initialize_watcher(endpoints, prefix, callback, watcher);
  });
}

TEST_CASE("watch should can be re-established")
{
  const std::string my_prefix = "/test";

  // the watcher initialized in this way will auto re-connect to etcd
  std::shared_ptr<etcd::Watcher> watcher;
  initialize_watcher(etcd_uri, my_prefix, print_response, watcher);

  while(1)
  {
      sleep(1);
  }

/*
  // issue some changes to see if the watcher works
  for (int round = 0; round < 10; ++round) {
    try {
      etcd::Client client(etcd_uri);
      auto response = client.set(my_prefix + "/foo", "bar-" + std::to_string(round)).get();
    } catch (...) {
      // pass
    }

    std::this_thread::sleep_for(std::chrono::seconds(2));
  }

  // cancel the worker
  watcher->Cancel();

  // the watcher has been cancelled and shouldn't work anymore
  for (int round = 10; round < 20; ++round) {
    try {
      etcd::Client client(etcd_uri);
      auto response = client.set(my_prefix + "/foo", "bar-" + std::to_string(round)).get();
    } catch (...) {
      // pass
    }

    std::this_thread::sleep_for(std::chrono::seconds(2));
  }
*/

}

@sighingnow Is this bug fixed?

I failed to reproduce. Could you please give more details about your environment (e.g., system version, protobuf/grpc version, etc.) and the code snippts which you have problem with?
Thanks!

@sighingnow I can reproduce it.
You can use iptable to break connection between etcd-client  and freeswitch server.
And I notice the variable is "" in function void initialize_watcher(const std::string& endpoints,                         const std::string& prefix,                         std::function<void(etcd::Response)> callback,                         std::shared_ptr<etcd::Watcher>& watcher) when be called by wait_callback.
In addition, I has a problem about function void etcd::Watcher::doWatch(std::string const & key,                             std::string const & range_end,                             std::string const & auth_token,                             std::function<void(Response)> callback)
task_ = std::thread([this, callback]() {
    stubs->call->waitForResponse(callback);
    if (wait_callback != nullptr) {
      // issue the callback in another thread (detached) to avoid deadlock,
      // it is ok to detach a pplx::task, but we cannot use the pplx::task
      // in the core library
      std::thread canceller([this]() {
        wait_callback(stubs->call->Cancelled());
      });
      canceller.detach();
    }
  });

We capture  variable "this" in this function, and we will reset shared_ptr of watcher in wait_callback. So we will call destructor of watcher in wait_callback, does variable "this" is still available after destructor, do this need undefined behavior?

The reconnect part has been iterated for several rounds since this issue opened.
Closing as stale. Feel free to reopen if you are still blocked here with the latest version of etcd-cpp-apiv3.
Thanks!


WIP: Adding weighted average and cumsum

Added average, generalized tests for integrate/average

Codecov Report

Merging #162 into master will increase coverage by 0.2%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #162     +/-   ##
=========================================
+ Coverage    88.9%   89.11%   +0.2%
=========================================
  Files           4        4
  Lines         622      634     +12
  Branches      136      136
=========================================
+ Hits          553      565     +12
  Misses         39       39
  Partials       30       30

Impacted Files
Coverage Δ

xgcm/grid.py
90.35% <100%> (+0.3%)
:arrow_up:

Continue to review full report at Codecov.

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

Regarding the naming:
I opted for:
average as the metric-aware of mean.
integrate as the metric-aware of diff.
What would be a good name for the metric version of cumsum?
I also want a metric aware version of interp (which multiplies values, then interpolates and divides by metric again), my suggestion is remap (MOM lingo), but that might be confusing.
What do you all think?

cc ing @timothyas, @dcherian

One important aspect here is: Do we check the weights for consistency?
E.g. if for some reason the surface area and tracer values have misaligned values (I have encountered this situation in MOM5), the weighted global average would be biased.
One could select both data and metric based on an AND between xr.isnan(data) and xr.isnan(metric) but that would add overhead.
I think it would be good to eventually implement this with xarray.weighted, which does account for these things afaik.
Any comments/opinions appreciated.

In my review I forgot to mention...documentation! 😁

In my review I forgot to mention...documentation! 😁

But of course! This was just the first swing! Glad you like so far. Let me get some stuff done and get right back to this so amped

Also thoughts on the naming of additional functions @rabernat ?

What would be a good name for the metric version of cumsum?

cumint

I also want a metric aware version of interp (which multiplies values, then interpolates and divides by metric again), my suggestion is remap (MOM lingo), but that might be confusing.

Can we instead make this an option for interp?

Like this? grid.interp(da, axis, conservative=True)?

I think the metric aware function of mean should just be mean with an option for weights as an argument. But since numpy follows the same convention, this is probably appropriate.
Why is the metric aware 'diff' 'integrate'? Should it not be 'differentiate'?

I think the metric aware function of mean should just be mean with an option for weights as an argument. But since numpy follows the same convention, this is probably appropriate.

I think it is good to have a descriptively named function, to make people more aware. And yes, staying in line with numpy/xarray is another compelling reason.

Why is the metric aware 'diff' 'integrate'? Should it not be 'differentiate'?

Oh yes, that was a typo. Fixed the initial message.

Added a (hacky) version of grid.cumint (this will do for now, but should be cleaner once grid.cumsum supports multiple axes #159).
@rabernat I also removed that additional check and refactored the tests.
I will work on the docs tomorrow.

Ok so as a last feature I added the option conservative to grid.interp() (it is False by default to preserve the old behavior.
grid.interp(da, axis, conservative=True) does grid.interp(da*dx, 'X') / dx_on_new_position or grid.interp(da*dy, 'Y') / dy_on_new_position, which will conserve e.g the total tracerflux during an interpolation. Now writing the docs. I would love to get this merged before Monday so that @jhamman has a chance to integrate these into the hackathon environments.

I have generalized the conservation option in grid.interp: You can pass an axis (or several) to grid.interp like this:
grid.interp(tracer, 'X', conserve=['X', 'Y'])

What this does is to multiply tracer with the area of the tracer cell, interpolate it onto the u cell and divide it by the area of the u cell. The horizontal tracer content is exactly conserved.
I think this is an important option to have but I wasnt able to give a good example in the docs, which is why I left it out right now (the example dataset is quite smooth, so the differences between the "regular" interp and the conservative one were miniscule).
I however think that this is a way to implement finite volume differentiation as an option (see the discussion over at #163). We should chat about this over there, and move on with this PR.
@rabernat are you ok leaving this functionality 'hidden' for now? It is properly tested. Also if there is any chance you could review this before Monday that would be awesome. I will try to put out a demo binder for the hackathon.

@timothyas, that is a great suggestion! We should definitely do that.
Would it be possible to add these + the derivative docs in #163? As mentioned before, I would like to get this merged quickly.
@rabernat the functionality is explained in a very basic way, would you consider merging this so we can have it in the standard packages for the hackathon? We could still merge the docs tomorrow or later so that users can access them via rtd (no need for those changes to be on the hackathon environments!)

Would it be possible to add these + the derivative docs in #163? As mentioned before, I would like to get this merged quickly.

No problem!

Ok @rabernat, I made the changes requested.

🍾


How to deploy on Cloudflare Worker?

@Marplex @arlair
Please share instructions how to deploy these library on Cloudflare Worker.
It will be very helpful.
Thanks.

I receive next errors:
flarebase-auth.ts:1:61: ERROR: Could not resolve "jose"
src/lib/google-oauth.ts:8:7: ERROR: Could not resolve "jose"

@Marplex @arlair I receive next errors:
flarebase-auth.ts:1:61: ERROR: Could not resolve "jose" src/lib/google-oauth.ts:8:7: ERROR: Could not resolve "jose"

the error clearly states that you are missing library jose for JSON support.
Do
npm i jose


invalid bspline causes addon crash

If you provide too few knots, BSplineCurve3d.create will succeed but insertElement will cause the addon to crash.
See the failing test in core/backend/GeometryStream.test.ts called "should cleanly reject invalid bspline3d geometry"

Addressed in #4755. The skipped test will need to check for undefined return from BSplineCurve3d.create.

@swwilson-bsi can this be closed, or is some action required?


Rename methods

I thing you should add _ to box' methods to prevent collisions, like it's done at namedtuple.

Personally I disagree:

Box is mature enough that this would be a major breaking change for many using it
There are only 6 custom functions, and they do not have common key names
It is still possible to assign/access items with those names

>>> a = Box(to_json='test')
>>> a['to_json']
'test'

I see much more
d.asd        d.from_json  d.items      d.setdefault d.update
d.box_it_up  d.from_yaml  d.keys       d.to_dict    d.values
d.clear      d.fromkeys   d.pop        d.to_json
d.copy       d.get        d.popitem    d.to_yaml

Compared to namedtuple
n.count n.index

Those others are the base methods built into dict objects, of which Box is a subclass of.
from box import Box
set(dir(Box())) - set(dir(dict()))
{'from_yaml', 'from_json', 'to_json', 'to_dict', 'box_it_up', 'to_yaml'}

But your box behave like a namedtuple.

That was never its intention, its title is literally "Python dictionaries with advanced dot notation access."
The first paragraph it the overview states it well:

Box is designed to be an easy drop in transparently replacements for dictionaries, thanks to Python's duck typing capabilities, which adds dot notation access. Any sub dictionaries or ones set after initiation will be automatically converted to a Box object. You can always run .to_dict() on it to return the object and all sub objects back into a regular dictionary.

But dict methods break the "dot notation access", that's why I mentioned namedtuple...
I recently ran on this in django. object.items in templates called object.items() instead of getting object['items']

I have no power to override the default dict methods like items and this is expected behavior.  If there is some magic way to access something as both an attribute and a method I would love a PR to enhance box to be able to do both.

Then inheriting dict is probably wrong way...


Unable to use live apply with PersistentVolumes

Hello,
I'm testing a package deployment on microk8s with manually created persistent volumes. But when executing kpt live apply app/ --reconcile-timeout=10s I get the following output:
kpt live apply reservation/ --reconcile-timeout=10s
namespace/reservation unchanged
secret/env-secrets configured
secret/registry-network unchanged
service/db unchanged
statefulset.apps/db configured
persistentvolume/data configured
6 resource(s) applied. 0 created, 3 unchanged, 3 configured
statefulset.apps/db is Current: All replicas scheduled as expected. Replicas: 1
persistentvolume/data is Current: Resource is current
namespace/reservation is Current: Resource is current
secret/env-secrets is Current: Resource is always ready
secret/registry-network is Current: Resource is always ready
service/db is Current: Service is ready
persistentvolume/data is Current: Resource is current
persistentvolume/data is Current: Resource is current
persistentvolume/data is Current: Resource is current
persistentvolume/data is Current: Resource is current
persistentvolume/data is Current: Resource is current
Timeout after 10 seconds waiting for 1 out of 6 resources to reach condition AllCurrent:
PersistentVolume/data Unknown

However checking the resources everything checks out
$ kubectl get statefulsets.apps db
NAME   READY   AGE
db     1/1     69m
$ kubectl get pvc data-db-0
NAME        STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
data-db-0   Bound    data     20Gi       RWO                           69m
$ kubectl get pv data
NAME   CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                   STORAGECLASS   REASON   AGE
data   20Gi       RWO            Retain           Bound    reservation/data-db-0                           69m

Any help would be much appreciated.
Nicolas

@seans3 is this something you can take a look at?

@seans3 is this something you can take a look at?

@neuromantik33 Can you please include the config yaml for all the resources (especially the PersistentVolume). I'm having problems reproducing this.

@neuromantik33 Can you please include the config yaml for all the resources (especially the PersistentVolume). I'm having problems reproducing this.

@neuromantik33 not sure if this is still a problem but it seems like we can't repro it locally.  If the problem appears again please share the config and re-open the issue.  Sorry we were not able to help.

Hi @neuromantik33. One more note. We actually made some more progress on this issue. We believe the problem you are experiencing is because you have added a namespace to the PersistentVolume. A PersistentVolume is always cluster-scoped. A PersistentVolumeClaim can be namespaced, but not the PersistentVolume. Please let us know if this resolves the issue by closing this issue again.
On another note, kpt should be more resilient to these errors and we are working on that separately.

Hi @neuromantik33. One more note. We actually made some more progress on this issue. We believe the problem you are experiencing is because you have added a namespace to the PersistentVolume. A PersistentVolume is always cluster-scoped. A PersistentVolumeClaim can be namespaced, but not the PersistentVolume. Please let us know if this resolves the issue by closing this issue again.
On another note, kpt should be more resilient to these errors and we are working on that separately.

Here is a stackoverflow thread on this issue:
https://stackoverflow.com/questions/32316178/does-kubernetes-pv-recognize-namespace-when-created-queried-with-kubectl

Here is a stackoverflow thread on this issue:
https://stackoverflow.com/questions/32316178/does-kubernetes-pv-recognize-namespace-when-created-queried-with-kubectl

Thanks for the info. I forgot that pvs weren't namespaced. I'm working with some legacy microk8s manifests I'm trying to get managed using CI/CD with kpt. 😅

Thanks for the info. I forgot that pvs weren't namespaced. I'm working with some legacy microk8s manifests I'm trying to get managed using CI/CD with kpt. 😅


Programmatically modifying read-only buffer

Is there a way to programmatically append or modify a read-only buffer?
Basically, I want to display log output, so I specifically want a buffer the end-user cannot modify, but apparently setting a buffer to read-only prevents programmatic changes as well?
Is that expected? When I've used Qt or other GUI toolkits in the past, setting a widget read-only prevents just user modifications, rather then any changes.
What's the proper way to accomplish a display-only buffer that is updated by another thread?

Hi @fake-name,
You can call Buffer.set_document, and set bypass_readonly=True.
The reason it works this way is that it was too cumbersome to check in every key binding that did a modification, to test whether the buffer was read only or not.

Ah, that makes sense. Cool, thanks!


Update pod installation instruction for v2.0.0

Thank you but I ended up making this change myself (I didn't notice this PR)


Restructure examples directory

Feature description
The current examples directory includes a variety of unordered workflows. This should be restructured to provide a clearer entry point for users looking for specific functionality. I propose we do something like:

Optimisation Type (Fitting, Design Optim., etc.)

{model}_{cost function}.py

For both examples/notebooks/ and examples/scripts/. In this restructure we can reduce the total number of examples by using multipler optimisers for each {model}_{cost function}.py. This would look something like our integration test test_parameterisation.py.
Motivation
No response
Possible implementation
No response
Additional context
No response

Hey @BradyPlanden, I'd want to work on this one and am happy to discuss more about -

Optimisation Type (Fitting, Design Optim., etc.)

Do you want to maybe sub-group notebooks & scripts as well or just give to give them more clearer names?

Hi @arjxn-py, excellent, thanks! In terms of structure, I'm thinking we probably need to do a larger structural change with more curated examples. Currently, we have quite a few example scripts that have duplicate functionality with only an optimiser change. A first step would be to update to the below structure (open to other suggestions @NicolaCourtier @martinjrobins @agriyakhetarpal), then we can start populating the examples directory. It's worth noting that this issue cross-links to #173.

examples/notebooks

Getting Started

creating_a_model.ipynb
creating_a_problem.ipynb
creating_a_cost.ipynb
simple_parameterisation.ipynb
simple_optimisation.ipynb
simple_plotting.ipynb
import_export_parameter_sets.ipynb

Costs

simple_costs.ipynb
maximum_likelihood.ipynb
maximum_a_posteriori.ipynb

Optimisers

multi_optimiser_identification.ipynb
optimiser_interface.ipynb
optimiser_calibration.ipynb
gradient_non_gradient_optimisers.ipynb

Identification Workflows

pouch_cell_identification.ipynb
diffusion_identification.ipynb (GITT)
thevenin_identification.ipynb
single_particle.ipynb
single_particle_with_electrolyte.ipynb
doyle_fuller_newman.ipynb

Optimisation Workflows

spm_electrode_design.ipynb

Observers

unscented_kalman_filter.ipynb

Monte Carlo Samplers

simple_monte_carlo.ipynb
parameter_transformation.ipynb
*different_methods.ipynb
summary_diagnostics.ipynb

Thanks @BradyPlanden and @arjxn-py for getting started on this issue! My suggestion would be to group the examples as follows - focusing more on workflows rather than specific costs/models/optimisers since we have designed these objects to be fairly interchangeable.
Getting Started (focused around objects that can be visualised)

plotting_a_dataset (loading an example dataset from within PyBOP and plotting)
importing_a_pybamm_model (importing, running and plotting the result of a PyBaMM model)
import_export_parameter_sets (importing, exporting and viewing parameter sets)
defining_parameters (defining one parameter, adding, removing from parameters, showing different properties, plotting prior)
parameter_identification (a minimal example showing the set up and identification of two parameters from data, plotting cost, trace and result)
parameter_optimisation (as above but for optimisation of two design parameters)

Comparison Examples (demonstrating the choices available and range of performance)

comparing_error_measures (comparing different costs for parameter identification)
comparing_optimisers (comparing different optimisers, gradient and non-gradient based)
comparing_samplers (comparing different samplers)
optimiser_calibration (showing how gradient descent can be tailored)

Battery Parameterisation (moving toward workflows that are appropriate for the type of data available)

OCP_balance
diffusion_identification/GITT_fitting
pouch_cell_identification
thevenin_identification
unscented_kalman_filter

Design Optimisation

spme_max_energy

It would be great to have the same key examples included as both scripts and notebooks. We should probably try to get a full set of Getting Started examples together first before moving to the following sections. Happy to discuss further.

Hi, while commenting on this issue first I thought it was more about restructuring the directory instead of notebooks i.e. Renaming & segregating the notebooks. As I do not have much experience with battery modelling, I might not be the best person writing these notebooks from scratch.
Although I tried deriving one notebook i.e. plotting_a_dataset.ipynb here in this commit but it cannot import DFN (same is the case with other pre-existing notebooks, I'm not sure if it's an issue from my end or  Code), on a side note I'd be happier to pick up those issues first for which I hold a bit of experience maybe. Thanks & Apologies.

Thanks for having a go @arjxn-py! Looks like you were on the right track :+1:
The reason for the import issue is the PyBOP version - the DFN model is not included in the current release (v24.3), but it is on the develop branch and will be in the next release. To work with the current version, try (temporarily) replacing the line %pip install pybop -q with pip install git+https://github.com/pybop-team/PyBOP.git@develop -q. For me though, it was not that easy in WSL/VSCode. I also needed to create a new kernel (of the venv variety, using the kernel picker in the top right) to ensure that the packages are installed into the relevant workspace.
To get your example working, simply change the last line from simulate to predict and add some plotting, e.g.
values = synth_model.predict(t_eval=t_eval)
dataset["Voltage [V]"] = values["Voltage [V]"].data
pybop.plot_dataset(dataset);

Some of our current examples could also just be renamed to tick off many of my suggestions above, as follows:
getting_started

plotting_a_dataset.ipynb
spm_AdamW -> parameter_identification.ipynb
spm_electrode_design -> parameter_optimisation.ipynb

comparison_examples

multi_model_identification -> comparing_models.ipynb
multi_optimiser_identification -> comparing_optimisers.ipynb
optimiser_calibration.ipynb
optimiser_interface.ipynb

battery_parameterisation

1-single-pulse-circuit-model -> LGM_50_identification.ipynb
equivalent_circuit_identification -> thevenin_identification.ipynb
pouch_cell_identification.ipynb
gitt.py -> diffusion_identification_from_gitt.py
exp_UKF.py -> unscented_kalman_filter.py
all other scripts can go here for now (most are repeats with only slight changes)

design_optimisation

spm_electrode_design -> energy_maximisation.ipynb
spme_max_energy -> energy_maximisation.py

Further examples can be added in future (some are already other open issues, such as OCP_balance).

Thanks a tonn @NicolaCourtier, this comment of yours was really very helpful 🚀
I've made some suggested changes to the notebook & now it seems to be working.
Though i'd need to mention that as I created a fresh python==3.11 environment for this, I had to install these separately -
%pip install plotly -q
%pip install kaleido -q
%pip install nbformat>=4.2.0 -q

After installing pybamm & pybop, Should I also install them in notebook too?

Looks great @arjxn-py, thanks! I think these dependencies should all be included in the latest version of pybop, so there's no need to add these lines to the notebook. To check that it works with the upcoming release, please try running nox -s notebooks to test all the notebooks (a command which should be added to the documentation here).


Video is stuck

Is there an existing issue for this?

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

Steps to reproduce
I am using video player for the splash video
Expected results
App should play video when it's starting every time.
Actual results
It is working at the first but sometimes, video is stuck and not playing.
Code sample
Code sample
videoController = VideoPlayerController.asset('assets/video/splash_video.mp4');
    videoController.initialize().then((_) {
        setState(() {
          videoController.play();
        });
      });
    videoController.addListener(() {
      if(videoController.value.position == videoController.value.duration) {
        setState(() {
        });
      }
    });

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.7.9, on Microsoft Windows [Version 10.0.19044.2846], locale en-US)
This is taking an unexpectedly long time...[√] Windows Version (Installed version of Windows is version 10 or higher)
Checking Android licenses is taking an unexpectedly long time...[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[√] Chrome - develop for the web
[!] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.24)
    X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop development with C++" workload, and include these components:
        MSVC v142 - VS 2019 C++ x64/x86 build tools
         - If there are multiple build tool versions available, install the latest
        C++ CMake tools for Windows
        Windows 10 SDK
[√] Android Studio (version 3.6)
[√] Android Studio (version 2022.1)
[√] VS Code (version 1.77.2)
[√] Connected device (4 available)
[√] HTTP Host Availability

Thanks for the report @GaoWhitebird
Is the behavior occuring only while using the specific video you are using ? If so, can you provide us the video file or make a repo that we can clone and verify ?
Can you try the same using plugin example and see if the behavior persists or not ?

This is the video what I am using as assets.
https://we.tl/t-BGOV8Z2NY9
On Fri, Apr 14, 2023 at 1:53 PM darshankawar @.***>
wrote:

Thanks for the report @GaoWhitebird https://github.com/GaoWhitebird
Is the behavior occuring only while using the specific video you are using
? If so, can you provide us the video file or make a repo that we can clone
and verify ?
Can you try the same using plugin example
https://github.com/flutter/packages/tree/main/packages/video_player/video_player/example
and see if the behavior persists or not ?
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/124804#issuecomment-1508014409,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANGFPVFQIWH2KWANSCVEHZ3XBDX6ZANCNFSM6AAAAAAW5MJZUQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@GaoWhitebird
I used the video you shared, in plugin example and ran on iOS simulator which played properly as shown below:
https://user-images.githubusercontent.com/67046386/232039482-b3789c51-0944-4b24-9698-04989de5e6f0.mov


Restrict members of a channel from Joining a Meeting

Hi, is there a way to restrict members of a channel when the owner hasn't started a meeting? I'm working in a school environment and we're finding it difficult when the kids are starting meetings without their teachers present. But I can't find a setting for this.

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

ID: dc665475-f843-e4c1-0ca6-0b83873abb54
Version Independent ID: 95d32598-c920-ed5c-d665-69394528ca27
Content: Manage meeting policies - Microsoft Teams
Content Source: Teams/meeting-policies-in-teams.md
Service: msteams
GitHub Login: @tonysmit
Microsoft Alias: tonysmit

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

Great - I knew there would be something somewhere for me to do this. I'm new to the office admin side.


Add post-tasks empty file to sysconf directory

This PR create a directory /etc/ovirt-ansible-roles/ with permissions 0755. In this directory it creates a file ovirt-host-deploy-post-tasks.yml owner by root. This file is automatically loaded right after host-deploy role execution ends.

@mwperina

One more comment: Shouldn't /etc/ovirt-ansible-roles/ovirt-host-deploy-post-tasks.yml be owned by ovirt users with 0666 permissions?

One more comment: Shouldn't /etc/ovirt-ansible-roles/ovirt-host-deploy-post-tasks.yml be owned by ovirt users with 0666 permissions?

Well, the ovirt user won't be changing(writing) that file. It will be user, and it can be world readable.
So I think 644 for root:root, should be fine.

OK, makes sense. Let's merge it 👍

ci build please

ci please build

ci build please

ok, yeah I see this does not work, trying to debug

ci build please

oh... I see... this can't work on merged PR... it must be done before it is merged...

And there is no way to trigger it manually somehow post merge?

The ovirt-ansible_master_github_build-artifacts-* could be triggered manually, be we would need to figure out what are the correct parameters to make them build and deploy master, and one would need to manually trigger all the jobs for all platforms and architectures.
I tried with the following parameters:

sha1: m
REFSPEC: +refs/heads/master:m

This seems to work:
http://jenkins.ovirt.org/job/ovirt-ansible_master_github_build-artifacts-el7-x86_64/29
And also get deployed to 'tested':
http://jenkins.ovirt.org/job/deploy-to_ovirt-master_tested/672/


Multiple impls within a module

#[faux::methods]creates a module with the name of the struct being mocked.
This means that if there are multiple impl blocks for the same type, two modules with the same name would be created in the same scope, hence collide, and fail to compile.
https://github.com/rust-lang/rust/issues/8995 would lift the requirement of making the dummy modules and fix this but I do not see an ETA in it being done soon.
Multiple impls within the same module is rare since we do not support generics nor trait impls but once we start supporting them this issue would become more important.
Multiple impls are allowed as long as there is no more than one inherent implementation and no more than one trait implementation per trait.
The user can get around this by wrapping impls in a separate module themselves, but forcing the user to write hacks to support this library would be very subpar UX.
A possible solution would be to mock an entire module but that is a bit far from being implemented,

Generics are now supported thanks to https://github.com/nrxus/faux/commit/9f1106f3e24d26734858f40fbd221df62fdea1ff

Fixed in: https://github.com/nrxus/faux/commit/f694453a097d9efde81943309813542877d1b2ee


Pip Install Dependency Issue

When I tried to update from 1.0.91 to 1.0.91, I got the following message:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
anaconda-project 0.10.2 requires ruamel-yaml, which is not installed.
black 19.10b0 requires typed-ast>=1.4.0, but you have typed-ast 1.1.0 which is incompatible.

it was solved by
pip install --upgrade typed-ast
pip install ruamel-yaml

The requirements.txt does not include anaconda-project 0.10.2 and black 19.10b0.

Dependency conflicts while installing lean would depend on the packages already installed on the user's system.
LEAN overrides the existing packages during its installation and therefore the conflict error is shown, if any. This is expected and shouldn't have any effect on lean's functioning.


[stable/prometheus] Fixes compatibility with 1.16

To support 1.16. A quick overview of deprecated APIs can be found on their blog post: https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/.
Signed-off-by: Xiang Dai<EMAIL_ADDRESS>

/ok-to-test

@zanhsieh test pass!

@daixiang0 @mgoodness @gianrubio
That's what I can do for now. Only users in OWNERS file could merge.

@mgoodness @gianrubio any input?


#501: Split Ubuntu and OS X installation instructions

Coverage decreased (-0.5%) to 90.47% when pulling cfa73f10d62b20d4ebdd669535d5977b228486a9 on scorphus:readme-osx into c3709682d5a8a20f1a5d349851b014b429d81c4b on nvbn:master.

Thanks!


auto generation of example gifs on command line

The example animated gifs that appear in the documentation come from a figures.html. It's a very manual process:

load figures.html in a browser window
screen cap each canvas section
clean each one up into a .gif file

This obviously is kinda crappy.
Deno has a fancy new library that is able to render canvas elements on the command line: https://github.com/DjDeveloperr/deno-canvas
This would be pretty awesome, I could potentially script the example canvas .gif creation as a command line build step.

damn, deno is amazing! implemented via 35c826e5a50b05b4116c380d9b2e123423068935


Updated to MacOS 15.0. This tool doesn't work

➜  ~ sudo bclm write 80
Password:
keyNotFound(code: "CHWA")
➜  ~ bclm read
keyNotFound(code: "CHWA")

Please refer to the pinned issue.


Remove font awesome

Why:
Font awesome is only used in a couple places on the site and we're pulling in a big file for just a couple icons. If we can remove it then the site will load faster for users.
How:

Go through the site and locate all the places font awesome is used
Replace all these with actual images, ideally .png or .svg files. Don't link external images, add the images to the theme folder
Remove font awesome
Check the the site isn't missing any thing and all font awesome icons have been replaced.

would like to take this one one.

Awesome, go hard


Is the version of 10.0.18363.418 a typo for the MTR OS build requirement?

During my installation of MTR: SRSDeploymentKit-<IP_ADDRESS>, it always prompt a warning my OS version (10.0.18363.418) is not meet the MTR requirement.
Then I found that The latest Teams Room System MSI: SRSDeploymentKit-<IP_ADDRESS> actually require OS Build is 10.0.18362.418, and this should be limited through below JSON:
C:\temp\Skype Room System Deployment Kit$oem$$1\Rigel\x64\Scripts\Provisioning\config.json
"MediaVersion":"10.0.18362.418"
Then, my question is that below page is always not mention this OS build(10.0.18362.418), but a 10.0.18363.418, is this a typo?
URL:
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/blob/live/Teams/rooms/rooms-lifecycle-support.md

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

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


[CARBONDATA-3577] Use Spark 2.3 as default version and upgrade Spark 2.3.2 to 2.3.4

Use Spark 2.3 as default version and upgrade Spark 2.3.2 to 2.3.4
Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/828/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/832/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/835/

@jackylk Please help to review, thanks.

LGTM


Fix tone down compact log chatter

Signed-off-by: Dhammika Pathirana<EMAIL_ADDRESS>

Any objections to logging only partitions with deltas?

https://github.com/zenithdb/zenith/pull/1428

WDYT, should we make the whole log debug instead and remove that return?

Isn't return to skip scanning once we've found a layer that satisfies delta threshold? No point scanning further if we already know that.
It can be still quite chatty if the delta layers don't meet threshold criteria.

My bad, I've meant continue, related to this logging removal.
But looks like it's already in the works: https://github.com/zenithdb/zenith/pull/1435


215 deterministic ordering v2

This PR contains changes which bring deterministic ordering of features with .mbtiles file generated by Planetiler:

reuse source IDs for feature IDs, thus avoiding random changes of IDs between runs
fix for random ordering of attributes in SortableFeature's encoded value
rework/adjustment of SortableFeature sorting to take into account also value when key is the same

This contributes towards fixing:

fully issue #215 : some differences in generated tiles still remain, but so far seems not to be caused by ordering
partially issue #214 : see above

Stopping work on this. Will be covered by series of new pull-requests, starting with https://github.com/onthegomap/planetiler/pull/785 .


Feature Request - Server Side Record Merge

Would be useful when using e.g. REMOTE_WINS as the default merge strategy, i.e. most of our records can be resolved using a simple Object.assign and being able to do that without coding anything in the clients would be a nice to have.

To clarify.. a merge strategy on the client that can merge the sever data into the local data?
The repo/title makes it sound like I might have understood it wrong and we are talking about putting it on the server..
If I'm right, that should be easy, we can add a third strategy and look at it when revisiting merge tasks.

No, I was thinking the server tries to merge the records to avoid contention when several clients are trying to update the same record, i.e. make it possible to handle record merging on the server side.

example:
const assignMergeStrategy = (record, remoteData) => Object.assign(record.get(), remoteData)

server
const ds = deepstream({
   mergers: {
     pattern: 'foo/*'
     merger: assignMergeStrategy
   }
})

client
const foo = ds.record.getRecord('foo/*')
// Doesn't have to worry about conflicts...

@yasserf: What was the motivation for putting conflict resolution on client side instead of server side?

@ronag: It was because clients should have the option of actually dealing with merge conflicts, either via a visual indicator or selecting different strategies dynamically.


Replace IBC token names w/ actual names

Dear team,
I would like to know if it's possible to rename IBC tokens w/ a given name. As you can see here https://testnet.ping.pub/elys/account/elys1u8c28343vvhwgwhf29w6hlcz73hvq7lwxmrl46
There are some tokens which name start with IBC. I would like to change this to their actual names USDC, etc. I tried adding the info to my chain definition locally without success. How can I do it?
Thank you in advance

We have a solution for it, but have fully apply on all chains. currently only applied on CosmosHub and Osmosis.
The solutions is:

Fetch all IBC Metadatas from the chains,
Convert and cache them to a centralized web server.
Map the IBC denoms to real Denom.

The difficult thing is that we have to daily fetch the metadatas from all chains.

Would it be possible if I implement it for Elys just like it's done for CosmosHub and Osmosis? Thank you

@liangping Hey, so what do you think about implementing it for elys?

Do you want to be our sponsor?

I just wanted to spend some time implementing this for us is possible. Do you have a rough estimate on how long could it take?


help!! how to disable iOS Native playback when full screen i cannot pop notice event message

Thanks

No, you can't.


Throttling is not working in WSO2 APIM 3.0.0 distributed setup with profiling

Throttling is not working in WSO2 APIM 3.0.0 distributed setup with profiling
Steps to reproduce-
Distributed setup of WSO2 APIM 3.0.0
Run the product with profiling.
Create subscription level throttling policy.
Test the throttling and it is not working.

This is working in latest APIM-4.4.0 with distributed setup, hence closing. please re-open if you still face this with latest.


Increment the reflection-metadata version number.

Because we switched to the new mangling in 2d127e4192771fd3ebea7ca231e0a7459b6af754

@swift-ci Please smoke test and merge


Farming Cluster refresh with diagrams

Added diagram support using @docusaurus/theme-mermaid
Revamped the Farming Cluster guide with diagrams to improve the visual representation of component interactions
Included instructions for configuring multiple NATS servers within a single cluster
Provided instructions for configuring multiple instances of each component with a single NATS server
Added common parameters for each component

I aimed to minimize the number of collapsible sections where possible. I only hid the longer examples and common parameters by default to avoid overwhelming the page.

Please fix merge conflict to generate latest preview

Thanks for helping with the review Nazar and thank you very much @vexr for another great PR!


customer portal 11

http://order-organic.com/
customer portal-->issue in my account

this not design issue (functionality)


Exception thrown when calling getTorrentStatus on a non-existent hash

const status = await deluge.getTorrentStatus(HASH_THAT_DOES_NOT_EXIST);

The above will hang for timeout ms and then throw:
Timeout awaiting 'request' for 1000ms

Is there anyway we can get this to return null instantly or throw instantly? Surely the deluge web API doesn't just hang when requesting a non-existent torrent? Lol I hope not.

Btw it's similar for other methods like getTorrentFiles, etc

@mitchellhuang deluge 2.x seems to respond correctly and quickly. added an error if it returns without the torrent data.

looks like there's other issues with deluge 2 though

Interesting - I'll poke around on 2.x. I'm running 1.3.x rn. What are the issues? Major ones?

just the api responses don't match the types, looks like some good improvements though