Error setting property 'stroke' of RNSVGPath with tag #1: JSON value '{ payload =<PHONE_NUMBER>; type = 0; }' of type NSMutableDictionary cannot be converted to NSArray

After updating react-native-svg from 12.5.1 to 13.4.0 the following Error pops up when building:
Error setting property 'stroke' of RNSVGPath with tag #1: JSON value '{ payload =<PHONE_NUMBER>; type = 0; }' of type NSMutableDictionary cannot be converted to NSArray

The update of react-native-svg was done while upgrading the Expo SDK to 48. All works fine with react-native-svg 12.5.1.
We couldn't figure out a working way to pass the stroke prop (components in use: Path, Circle, Rect).

Hello @rschiffer,
Can you share a simple example to reproduce that issue?
Thank you.

Hi @bohdanprog!
Thanks for reaching out! This issue did not pop up anymore for the more current Expo SDK versions. Hence, I think it could be closed.

@rschiffer Feel free to open a new issue if you encounter any problems.
Thank you.


Fix PermissionsEx false node migration

PermissionsEx negated/false nodes begin with a '-' not a '!'. This PR will fix the PEX migration process. Source

Thanks


Broken link in https://www.apache.org/licenses/cla-faq

For other licensing questions, see our Licensing FAQ.

Looking at https://www.apache.org/licenses/cla-faq - seems fixed now. Points to https://www.apache.org/foundation/license-faq.html


[Table] Create coherent table stories

What package is this for?

[x] React
[ ] Angular

Summary
Most of the stories have been built incrementally and combined over time which makes both the individual stories and the "book" itself incoherent. We lack a clear goal and plan for how the stories of this complex component should evolve. There is also no direct link from the story to the parts of the documentation covering the functionality displayed.
Additional context
We should take a hard look at each story and ask if the purpose of the story is clear and if the name matches that purpose.  The two story categories "Table" and "StatefulTable" don't make sense when looking at the stories inside and considering the fact that almost all stories in both categories have a knob to change the table type.
I think each story, except for the main playground, should tell a coherent story around some settings and data. A combination of settings that was turned into a story in order to fix a bug or prevent regression should be moved to unit/e2e testing instead. The documentation sections could be a good starting point when deciding which stories we should focus on. It would be nice to have some kind of taxonomy to help us in writing and maintaining the stories. Per story type we set some requirements and that could be useful for other components as well. I've thought of the following:
A. MAIN PLAYGROUND
Story is the main playground with as many knobs as possible to cover the largest amount of functionality. The documentation should show the full table documentation.
B. FUNCTIONALITY CONFIGURATION
The most common. Story shows a for the consumer relevant and coherent combination of properties and data. A story could be about showing "how row expansion works" and all the different variants and combinations using knobs, or a story showing "pagination" with all relevant configuration in knobs. We might have to write more than one story to tell the full tale of some complicated functionality but we can group them like carbon does in their table stories. Clicking the docs should open the relevant section.
C. EXTERNAL FUNCTIONALITY COMBINATION
Story code itself has custom code/components showing how to extend the table to get a certain functionality in place, e.g. the "create and save view management" functionality that partly resides outside the table. For these stories we might need custom documentation.
D. FOCUSED PLAYGROUND
Story is a playground to highlight special scenario, limitation or workaround that require interactions outside the table, e.g. 1-watson-iot-table-statefultable--with-pre-filled-search or 1-watson-iot-table-table--with-options-to-explore-column-settings. The scenario must be of interest to the common consumer if we are going to export the story, otherwise we might wanna restrict it to the dev environment.
Specific timeline issues / requests
The work can be divided into several issues, one per story/story group, and old stories can be removed once they are covered by the new ones. That way this can be turned into an epic instead of a single giant issue.
NB: The core contributors will try to work with your timeline, but it's not
guaranteed. The earlier you make a request in advance of a desired delivery
date, the better!
Available extra resources
What resources do you have to assist this effort?
Carbon add-ons for Watson IoT is a collaborative system. We encourage teams to
build components and submit them for integration.

This epic has been completed.


Activity: Setup environment

Setup project environment.
Acceptance Criteria:

All dependencies sucessfully installed

Tasks:

[x] Create Python virtual environment
[x] Install psycopg2
[x] Install Jest
[x] Install Django

Estimate (XS, S, M, L, XL): S

Closed as of f6b386c


Allow collections 2

I just received a Travis email about a failing build: https://app.travis-ci.com/github/greg0ire/mongodb-odm/builds/256171720
Why do we still have Travis here?

I just received a Travis email about a failing build: https://app.travis-ci.com/github/greg0ire/mongodb-odm/builds/256171720
Why do we still have Travis here?

Do you have an old state in your fork that still contains travis.yml?

The only reference to it I could find is this one: https://github.com/doctrine/mongodb-odm/pull/2471

Ah there is a webhook here: https://github.com/doctrine/mongodb-odm/settings/hooks
Let me delete it.

Not sure that will be enough, Travis also appears here: https://github.com/doctrine/mongodb-odm/settings/installations. I don't know how to uninstall it.

The last job run on Travis was over year ago. Also it tells me that we're -10 credits whatever that means now :D Anyway everything seems to be turned off on Travis' end.

@greg0ire will you be updating https://github.com/doctrine/mongodb-odm/blob/2.5.x/UPGRADE-2.5.md for a warning about new methods?

@malarzm I was not planning to no… there is no action to take if you upgrade to 2.5. What kind of warning would you add?

Something along

ODM supports doctrine/collections 2.x along 1.x. Please note that we added findFirst(...) and reduce(...) methods to comply with the new Collection interface. Make sure you signatures of new methods comply with your own ones, should you implemented such methods before.

I think it's worthwhile because doctrine/collections is usually a transient dependency and one may not be aware of such changes.


Remove razor support for HTML

https://github.com/aspnet/Razor.VSCode handles Razor files much better. We should remove its support from our built-in HTML language features.
@aeschli What do you think?

Verification: Verify that cshtml files now prompt C# extension as recommendation

I'm not seeing the recommendation. I uninstalled the C# extension then created a cshtml file. The language in the bottom right corner says Razor.

Should there be a notification, or just C# listed in the Recommended Extensions view? I don't see a prompt.

I see, I should have made that a strong recommendation...


Errors from mdns-sd in the face of WireGuard interface

I believe this is a related problem to the one in #52 , only this is on linux and the VPN software is WireGuard.
Everything seems to be working, except an error is logged.
I may be using the library in a bad way (?), because I start many browses for different service types, and every one of those results in the same error being logged, cluttering my logs.
ERROR mdns_sd::service_daemon] send to SockAddr { ss_family: 2, len: 16 } via interface Ifv4Addr { ip: <IP_ADDRESS>, netmask: <IP_ADDRESS>, broadcast: None } failed: Required key not available (os error 126)

I'm not sure about the best way to deal with this, but to my naive mind, a library shouldn't be logging errors, it should return them to the caller so the caller can decide to log, propagate or ignore.

Currently you can use default-features = false to disable the logging from this crate. And use features =<> to use other features (i.e. async) if needed, for example like this:
mdns-sd = { version = "0.5", default-features = false, features = ["async"] }

Let me know if that helps. I'm also working on a longer term change that sends log events in a monitoring channel instead of logging directly.

That helped, but I guess now I won't get any kinds of errors or warnings from mdns?
Anyhow, that's good enough for me for now.

Thanks for verifying. I also wanted to understand more about this error.
ERROR mdns_sd::service_daemon] send to SockAddr { ss_family: 2, len: 16 } via interface Ifv4Addr { ip: <IP_ADDRESS>, netmask: <IP_ADDRESS>, broadcast: None } failed: Required key not available (os error 126)

May I ask couple of questions:

Is the IP <IP_ADDRESS> the WireGuard interface?

When you create the ServiceInfo struct, did you pass in the IPs including the WireGuard interface? or did you let the lib detect the addresses automatically (which is a very recent feature added) ?

That helped, but I guess now I won't get any kinds of errors or warnings from mdns?

I've open a PR to test the socket send when a socket is created. This would help avoiding such errors when the daemon starts to run.

What is the mdns-sd version you are using?

mdns-sd = { version = "0.5.10", default-features = false, features = ["async"] }

would you have time to help check if the fix work for you? (So you don't have to disable all logging from mdns-sd)

I'm not sure how much time I have for this, this is a low priority, "playing with Rust to scratch a weird itch in my homelab" kind of thing. I can't promise anything, but happy to help if I can.
Btw, the code is pushed to github now: https://github.com/mortenlj/mdns2domeneshop
As you can probably tell, this is just my second attempt at making anything with Rust, and my first attempt doing anything with mdns.

I'm not sure how much time I have for this, this is a low priority, "playing with Rust to scratch a weird itch in my homelab" kind of thing. I can't promise anything, but happy to help if I can.

No worries, thanks for letting me know.

The fix #84 merged.


#255 handle dangling pipes

Hey, thanks for looking into this. Looking at what GitHub does (which we're trying to mirror with the extension), it renders this:
Abc|Def
---|---
1|2
|

Like this:

Abc
Def

1
2

See how | is not actually part of the table anymore? Can you come up with a fix that handles it the same way?

Hey @jk1 just checking in, have you seen my comment?

Looked at it myself, the fix is a bit more involved, will raise a PR soon.

PR: https://github.com/commonmark/commonmark-java/pull/268

Hi @robinst thank you for the followup. I have seen the your comment back then, but didn't manage to implement what's requested. Things got wild really fast and was forced to flee my home country. Thanks a ton for getting back to this and providing a proper fix.

Hey! I'm so sorry to hear that, I can't imagine what that must be like. Hope things are looking better now.


Fix getter of debug setting and type annotations of port settings

Type
Breaking change

Fix
Yes

Description
Since httpPort and httpsPort can be false (to disable the respective protocol), I propose adding false to the untagged union type of those properties (and the httpPort synonym port). The setter and getter of settings.debug disagreed, so I propose changing the getter to return true iff the log level is "debug".
Retrospective
Automate type checking to improve the quality of the type annotations.

Thanks for your PR.
I reverted the change on the tsconfig. The strict mode introduce a lot of compilation error over all packages. I waste  few minutes to understand where come from the problem XD
See you


chore(DTFS2-4533): replace moment.js in portal

Introduction :pencil2:
moment.js is a deprecated package - we should remove it from portal
Resolution :heavy_check_mark:
List all changes made to the codebase.
Miscellaneous :heavy_plus_sign:
List any additional fixes or improvements.

Codecov Report
Attention: 6 lines in your changes are missing coverage. Please review.

Comparison is base (6da84ce) 21.88% compared to head (aa452a2) 22.56%.
Report is 160 commits behind head on main.

Files
Patch %
Lines

...1/controllers/tfm/deal/tfm-get-deals.controller.js
0.00%
3 Missing :warning:

...lers/tfm/facility/tfm-get-facilities.controller.js
0.00%
1 Missing and 1 partial :warning:

dtfs-central-api/src/drivers/db-client.js
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2656      +/-   ##
==========================================
+ Coverage   21.88%   22.56%   +0.68%
==========================================
  Files        1132     1135       +3
  Lines       27048    27246     +198
  Branches     4447     4485      +38
==========================================
+ Hits         5920     6149     +229
+ Misses      18403    18384      -19
+ Partials     2725     2713      -12

Flag
Coverage Δ

api-test
0.48% <ø> (ø)

ui-test
65.69% <ø> (+0.55%)
:arrow_up:

unit-test
4.63% <0.00%> (+0.85%)
:arrow_up:

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

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


WIP: adapt fc_mpi test for MS Windows by utilizing ms-mpi package

By applying https://github.com/scisoft/autocmake/issues/85  I adapted fc_mpi test for MS Windows.
I am asking for the code review. For example, I prepared my own mpi.F90 and appveyor.yml is downloading it from my private URL.
Likewise the test/fc_mpi/src/CMakeLists.txt can be rewritten in smarter style to search for the libmsmpi64.a library.

I have to close this PR. Unfortunately I don't have the resources to review work in progress and can only accept and comment on final patches within this repo. The WIP and discussions can also happen on a fork.


Compiled files are changed after each build (even if there are no changes)

Laravel Mix Version: 6.0.9
Node Version: v15.2.0
NPM Version: 6.14.9
OS: macOS

Description:
In the project I'm working on right now we store compiled assets in the repository. We use GitHub Actions to automatically compile assets once changes are pushed to the PR. The problem is that once assets are compiled, the number of changed files in the PR grows up to ~120. I want to find a way to decrease this number.
Steps To Reproduce:
I've created a repository to demonstrate this issue: https://github.com/hivokas/laravel-mix-playground-random-postcss-input-id
What I've noticed so far:

it happens only if the Vue component uses TailwindCSS's @apply;
if we use @apply, this part of the chunk (the component is imported dynamically via import()) is different after each build (same for chunk's .map file):

looks like this part is Input#id generated by PostCSS (https://postcss.org/api/#input-id).

I'm looking for a way to avoid this part being different for each build.
Is there a way to do that from within Laravel Mix? Or I should resubmit this issue to another repo?

That's some good (and rather useful) research on the PostCSS input ID details! My guess is that this only happens because source maps are enabled. However, I'm not sure this is something we can fix. I believe this is likely something to be fixed in either vue-loader or tailwind. I'll do some poking around hopefully this weekend.

That's some good (and rather useful) research on the PostCSS input ID details! My guess is that this only happens because source maps are enabled. However, I'm not sure this is something we can fix. I believe this is likely something to be fixed in either vue-loader or tailwind. I'll do some poking around hopefully this weekend.

I believe this is likely something to be fixed in either vue-loader or tailwind.

I've submitted the issue to the TailwindCSS repository: https://github.com/tailwindlabs/tailwindcss/issues/3349. Let's see.

I believe this is likely something to be fixed in either vue-loader or tailwind.

I've submitted the issue to the TailwindCSS repository: https://github.com/tailwindlabs/tailwindcss/issues/3349. Let's see.

I've submitted the PR to TailwindCSS that should fix this problem: https://github.com/tailwindlabs/tailwindcss/pull/3356

I've submitted the PR to TailwindCSS that should fix this problem: https://github.com/tailwindlabs/tailwindcss/pull/3356

It has been fixed in https://github.com/tailwindlabs/tailwindcss/pull/3356


Feature Request: Suppress Foundry Logo click area

Thank you for this module! Was wondering if you could include a config setting option to toggle off the right click section in the logo area so it doesn't render or perhaps push it to the player list instead. For those worlds where the logo is suppressed, the click area for this module seems to overlay the scene navigation toggle (because that toggle button pushes to the left corner when the logo is suppressed) and this then prevents the user from toggling the scene nav. A module like Minimal UI has a setting where the foundry logo can be suppressed if you want to see an example.
Thank you!

Dan

Oh, okay, so supressing the display of the logo doesn't remove the menu click area. That's unfortunate.
In #1, with 1.1.0, I already added a button to the token menu as an alternate means to open the bullseye dialog. I wonder whether an setting to not do the anvil menu even makes any sense, or if should just make the token menu button  canon and remove the anvil menu altogether.

Please as an option to remove the anvil control. The modules that let me hide elements require me to click the anvil and dont work due to this mod.

Okay, the anvil logo menu completely broke in version 9 of Foundry VTT, so I just went ahead and completely removed it with v1.2.0 of Bullseye NG. The canonical way to open Bullseye NG is now by using the new button in the tools menu.


Possible fix for double attach pointer problems

Fast touch movement on different surfaces can run into a
proxy 0x8129fc0 already has listener
wl_display@1: error 1: invalid arguments for<EMAIL_ADDRESS>This pr checks if already a listener is registered to a buffer, to prevent a double attach. This only happens with pointer_type 0.
I don't know exactly why this happen and where is the problem exactly, but with this patch my session don't get broken anymore.
See more in #6018

@freerdp-bot test

Sure, I wasn't aware of it.

@freerdp-bot test

@freerdp-bot test

@freerdp-bot test.

@freerdp-bot test

@chakuzo please run clang-format on the changes in source to enforce coding standards.

@freerdp-bot test


2.12 support

@fomkin we wont be migrating internally to 2.12 for some time, but adjusting the build to support 2.12 should be fairly trivial, so please have a go and send a PR if you need 2.12 support :-) Cheers

@timperrett I wish I could, but project depends on your sbt-rig which is not support 2.12.

@fomkin ah so you are using sbt-rig on your own open source project? Updating that to use 2.12 should be a couple of lines of change, and lining up the scalatest versions. As I mentioned, we don't have direct 2.12 needs in the short term, and the holidays are a tough time for engineering staff as its a skeleton crew, so doing anything this quarter is unlikely from us.
If you want to give making that change a go, i'll happy review, advise and steward the change into master :-)
Best,
Tim

@timperrett

ah so you are using sbt-rig on your own open source project?

I mean delorean is dependent on sbt-rig. I use delorean here http://github.com/fomkin/korolev.

@fomkin sbt-rig had 2.12 support added to it by @reactormonk recently, so do checkout the latest version. Should be easy to update the build matrix with the needed changes.

@timperrett yes I know, thank you. I already did it Verizon/delorean#2. But I face with problem Verizon/sbt-rig#4 (possible solution Verizon/sbt-rig#5)


Adding a boost to a SearchField does nothing at query time in Elasticsearch

Issue Summary
The boost option as documented here does not increase a field's relevance score in query responses from the built-in Elasticsearch functionality.
Field mappings are correctly assigned the specified boost level; however, this has no effect at query time because all SearchFields are added to the _all_text field via copy_to at index time. Since fields in a copy_to do not retain their boost values, the results are not weighted as expected.
Steps to Reproduce

A fresh Wagtail project using an Elasticsearch backend
Create test app and add the following to models.py:

class MyPage(Page):
    lesser_field = models.CharField(max_length=32, blank=True)
    important_field = models.CharField(max_length=32, blank=True)

    search_fields = Page.search_fields + [
        index.SearchField('lesser_field', boost=0.5),
        index.SearchField('important_field', boost=100),
    ]

Make migrations, apply migrations, update index
Create two MyPage instances:
MyPage(title="this should be lower", lesser_field="test")
MyPage(title="this should be higher", important_field="test")
Save the pages
./manage.py shell and insert the following:

from apps.test.models import MyPage
from wagtail.search.backends import get_search_backend

backend = get_search_backend()
results = backend.search("test", MyPage)

And results will return:
<SearchResults [<MyPage: this one should be lower>, <MyPage: this one should be higher>]>
Even though results.query_compiler.order_by_relevance is True, we are not getting the page with the higher boost returned first.
For further confirmation, insert a breakpoint in wagtail.search.backends.elasticsearch2._do_search and view the response from ES:
  "took": 7,
  "timed_out": "False",
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 2,
    "max_score": 6.2325726,
    "hits": [
      {
        "_index": "wagtail__wagtailcore_page",
        "_type": "doc",
        "_id": "1285",
        "_score": 6.2325726,
        "fields": {
          "pk": [
            "2"
          ]
        }
      },
      {
        "_index": "wagtail__wagtailcore_page",
        "_type": "doc",
        "_id": "1286",
        "_score": 6.2325726,
        "fields": {
          "pk": [
            "3"
          ]
        }
      }
    ]
  }
}

The boost field has had no effect on the query, the scores are the same. I believe this is because the compiled query is searching on the _all_text field which does not store the boost value:
{
  "query": {
    "bool": {
      "must": {
        "multi_match": {
          "query": "test",
          "fields": [
            "_all_text",
            "_edgengrams"
          ]
        }
      },
      "filter": {
        "match": {
          "content_type": "test.MyPage"
        }
      }
    }
  }
}

And, just to confirm the boost is being correctly added to the field:
curl -X GET 'localhost:9200/wagtail__wagtailcore_page/_mapping' | python3 -m json.tool
...
  "test_mypage__important_field": {
    "type": "text",
      "boost": 100.0,
      "copy_to": [
        "_all_text"
      ]
  },
  "test_mypage__lesser_field": {
    "type": "text",
    "boost": 0.5,
    "copy_to": [
      "_all_text"
    ]
  },
...

I don't believe this is considered expected behavior, as the documentation says:

boost (int/float) - This allows you to set fields as being more important than others. Setting this to a high number on a field will cause pages with matches in that field to be ranked higher.

I would expect that adding a boost to a field would manipulate the relevance scoring accordingly in the default ES implementation.

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: yes

Technical details

Python version: 3.6.7.
Django version: 2.2.2
Wagtail version: 2.5.1
Elasticsearch version: 6.3.0

Please let me know if you need any more information or clarification. Thanks!

@cgerp Thanks for reporting!
This only affects ES6+. The integration with ES5 and before use the [builtin _all field] that does support indexed per-field boosting (https://www.elastic.co/guide/en/elasticsearch/reference/6.4/mapping-all-field.html#all-field-and-boosting).
Rather annoying this one. They documented this as the migration path from the now deprecated _all field but didn't mention that boost doesn't work with this new method.
According to https://github.com/elastic/elasticsearch/issues/6847#issuecomment-48888964, It seems like they are moving away from per-term boosting because it's bad for performance, but boosting in Elasicsearch was always part of the field/terms's "normalisation factor" which must continue to exist as this is how Lucene handles term frequencies (which is important for implementing BM25 ranking properly).
They instead want us to boost at query time, but this would be difficult in Wagtail as there could be many types of page with different indexed fields that may have different boostings. So the search query could get massive.

For anyone who's interested in this, it looks like Lucene has removed support for boosting in the field normalisation factor: https://github.com/apache/lucene-solr/commit/8ed2b764ed4d4d5203b5df1e16fdc1ffd640322c#diff-c4fe039a2fc01f762ea596b25d4a6bc0
The reason for this is supposedly "poor precision" as the normalisation factors are stored as single byte floats: https://issues.apache.org/jira/browse/LUCENE-6819
I disagree with this decision though, it's precise enough for our needs as people usually boost things by 2x or 10x. not 1.01x. Nobody cares about how precise the individual scores are, as long as their documents are ranked in the order they expect...
PostgreSQL has 4 ranking options for indexed terms (which is enough for virtually every use case I've come across), Elasticsearch now has 0. Great going!

Thanks @kaedroho for the speedy response!
Agreed on all counts. Though I can't speak much to the inner workings of Lucene, this definitely seems like a step backwards in functionality- especially since there isn't even a basic replacement for it. And, like you said, populating a query with every indexed field (e.g. I'm dealing with 60+) in order to preserve the boosting functionality likely won't have a solution nearly as elegant as the previous one.
Thanks for looking into this. In the meantime, I think I can semi-emulate the functionality for a few important fields by using an Elasticsearch6QueryCompiler subclass.

I'm about to dig into this because I quite need the boosting functionality. Is it correctly understood that modifying the query payload with a boost field does much the same thing? As explained here: https://www.elastic.co/guide/en/elasticsearch/reference/6.3/mapping-boost.html

As far as I can tell, one can boost at query time by adding a caret to the search field like so: "fields" : [ "boostedfield^3", "otherfield" ]
I can't figure out if it actually does the trick or not, but a hacky ElasticSearchQueryCompiler class could implement this like so:

class ElasticsearchQueryCompiler(Elasticsearch6SearchQueryCompiler):

    def _compile_plaintext_query(self, *args, **kwargs):

        fields = args[1]

        new_fields = []

        properties = self.mapping.get_mapping()[self.mapping.get_document_type()]['properties']

        for field in args[1]:

            if "boost" in properties[field]:

                new_fields.append(field +"^{}".format(properties[field]['boost']))

            else:

                new_fields.append(field)

        new_args = (args[0], new_fields)

        query = super()._compile_plaintext_query(*new_args, **kwargs)

        return query

Any better ideas?

Just been stung by this too...
I'm not sure that @ncryer's approach above will work, because if we're running a query through Page.search('...'), then the list of fields we obtain through self.mapping.get_mapping() will only include the core Page fields, not fields defined on specific page subclasses (which do get copied into _all_fields).
I think the best way around this would be to scan through all models to find all distinct boost values in use, then define an all_fields field for each one (_all_fields_1, _all_fields_1.5, _all_fields_2 or whatever) and set up copy_to appropriately to funnel data into the right bucket. Then, at query time, we query against those fields, with the corresponding query-time boost applied to each one. If I'm not mistaken, the Postgres backend has to do something very similar, so there's probably shared code we can refactor out here.

Any news on this? Im trying to get this to work in a new project and just found that the boosting does not work. Any code examples on workarounds, Im not that good at elastic? Can the same functionality be achieved with the postgres functionality?

Is this still an issue? And if so, are there any plans for a fix? We have started looking at workarounds for our specific scenario and what we've come up with so far feels less than ideal.
How are others tackling this? By downgrading to ES5? My understanding is that it has been EOL for two years now.
I would be very grateful for any news or suggestions.

We don't currently have a fix for this on our roadmap - my impression is that most interest has moved on to the Postgres backend, and people are either using that or living with less-optimal search results.
We'd be very happy to accept a pull request to address this - or, since the problem and potential fix here is fairly well understood, I think this is something that Torchbox would be willing to develop if someone is willing to sponsor, say, 2 days of developer time https://torchbox.com/wagtail-cms/ .

Hi @gasman , I recently did some work on a project on query time boosting based on your comment, and I wanted to submit a PR to bring the same functionality to wagtail. As per https://www.elastic.co/guide/en/elasticsearch/reference/6.3/mapping-boost.html, index time boosting was deprecated in 5.0.0, so should this be something that should be added to elasticsearch6 and above?

@KIRA009 Yes, that's correct - query-time boosting is needed for Elasticsearch 6 and above. Very much looking forward to your PR!

Completed in #10653


multiple base forms with random assignment

What
I'd like to modify BaseObjectSwapper to accept multiple base form IDs. When the library encounters multiple base form IDs, the library would then randomly assign each base form to one of the multiple swap ids.
[Forms]
DoomstoneWarrior,DoomstoneMage,DoomstoneThief|DoomstoneWarrior,DoomstoneMage,DoomstoneThief

For example, this INI could randomly assign DoomstoneWarrior to DoomstoneMage, and then DoomstoneMage would be randomly assigned to one of [DoomstoneWarrior, DoomstoneThief], since DoomstoneMage has already been assigned.
Why
While it's true that the existing library supports enumerating each swap by hand, you'd have write out each permutation by hand if you wanted to see a different permutation on your next playthrough.
[Forms]
; Character Bob
; DoomstoneWarrior|DoomstoneMage
; DoomstoneMage|DoomstoneThief
; DoomstoneThief|DoomstoneWarrior

; Character Tim
; ...changing it up...
DoomstoneWarrior|DoomstoneThief
DoomstoneMage|DoomstoneWarrior
DoomstoneThief|DoomstoneMage

Basically, I think there's room for a swap type that randomizes swaps while also guaranteeing each swap only occurs once.
Details
Player Provided Seed String: I originally wanted to seed the RNG with the current save game's PlayerID, but that doesn't work since BaseObjectSwapper runs before loading specific characters. Then I tried using the randomHash RNG, but that doesn't work well since activators seem to remember whatever their script properties were on the very first game load. Finally, refHashing makes the swapping static across multiple characters, which also didn't feel right. So I settled on accepting a user provided RNG seed like so:
[Forms]
DoomstoneWarrior,DoomstoneMage,DoomstoneThief|DoomstoneWarrior,DoomstoneMage,DoomstoneThief|NONE|NONE|randomseedstring

This means you can get a completely new set of swaps just by changing the seed string in one place.
OrderedSet: As I said earlier, activators go nuts if you swap them more than once on a play through. So, for that reason, I wanted the swaps to be deterministic given a specific, player-provided seed string. That means order matters. Therefore, I added an OrderedSet. If that's a deal breaker, I had a version that seemed to work using the unordered set library as well (I guess since the hashing is consistent?). It just felt kind of wrong to rely on read order from an unordered set library.
Testing
Thank you for providing a working CI pipeline. I was able to build and test various test cases on 1.6.640. I originally had more logs for testing, but removed most of them.
While I am a developer, I'm not as experienced with C++, so please feel free to optimize or change the code as you see fit. I wont be offended :).
[Forms]

; seed is NONE
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|NONE|NONE

; seed is empty
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|NONE|

; swap set isnt a set, just one formid
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior|NONE|NONE|randomized

; swap set is shorter than base set
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage|NONE|NONE|randomized

; duplicates, swap set twice as long
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent,DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|NONE|randomized

; CHARACTER 1
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|NONE|randomized

; CHARACTER 2
DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|NONE|random

;[References]
;0x000E7BDD~Skyrim.esm,0x000E7BD6~Skyrim.esm,0x000E7BDC~Skyrim.esm,0x000E7BDC~Skyrim.esm,0x000DC84A~Skyrim.esm,0x000E0DC2~Skyrim.esm,0x000E0DBE~Skyrim.esm,0x000E0E1F~Skyrim.esm,0x000E0F4A~Skyrim.esm,0x000D1E9F~Skyrim.esm,0x000E0F22~Skyrim.esm,0x000D9630~Skyrim.esm,0x000E0F6F~Skyrim.esm,0x000E0F55~Skyrim.esm|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|NONE|randomized

Thanks for the PR.
RE: the seed string, it might be better to make it part of CHANCE rather than an entirely new section. Something like Chance_XXXX_(100)? Also any reason you're using a string and not an integer directly?

Thanks for looking at this.
I'll try and fold the seed into the CHANCE section. Given that, I agree that providing a seed integer makes more sense since the chance section deals with numbers. There wasn't a great reason for making a string.

I've updated the code so that the seed is now an optional argument when setting a chanceR value, e.g. chanceR(80, 1234).
This will work for all swap types. This provides an alternative to using the refHash; it can be randomly changed by changing the seed, but it's also going to be stable across save games and game loads.
For the feature I originally proposed--multiple base forms with random assignment--it allows doing something like this:
DoomstoneWarrior,DoomstoneMage,DoomstoneThief|DoomstoneWarrior,DoomstoneMage,DoomstoneThief|NONE|chanceR(100,350)

This would randomly swap these, using 350 as the RNG seed when assigning pairs.
LMK what you think and thanks for the earlier feedback.

Some manual testing that I did:
[Forms]

; seed is NONE, defaults to RefHash randomization
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|NONE

; swap set isnt a set, just one formid, logs handled error
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior|NONE|NONE

; swap set is shorter than base set, logs handled error
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage|NONE|NONE

; duplicates, swap set twice as long, should work same as first example
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent,DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|NONE

; CHARACTER 1, specific seed
DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|chanceR(100,350)

; CHARACTER 2, specific seed
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|chanceR(100,850)

; Random every launch of skyrim executable
;DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|chanceR(100)

;[References]
;0x000E7BDD~Skyrim.esm,0x000E7BD6~Skyrim.esm,0x000E7BDC~Skyrim.esm,0x000E7BDC~Skyrim.esm,0x000DC84A~Skyrim.esm,0x000E0DC2~Skyrim.esm,0x000E0DBE~Skyrim.esm,0x000E0E1F~Skyrim.esm,0x000E0F4A~Skyrim.esm,0x000D1E9F~Skyrim.esm,0x000E0F22~Skyrim.esm,0x000D9630~Skyrim.esm,0x000E0F6F~Skyrim.esm,0x000E0F55~Skyrim.esm|DoomstoneWarrior,DoomstoneMage,DoomstoneThief,DoomstoneLady,DoomstoneApprentice,DoomstoneLover,DoomstoneSteed,DoomstoneAtronach,DoomstoneShadow,DoomstoneLord,DoomstoneRitual,DoomstoneTower,DoomstoneSerpent|NONE|chanceR(100,235663)

Looks good to me.

Feature has been released. Can I have your Nexus username?

Thank you and yes of course: https://next.nexusmods.com/profile/nesslowland/mods.
Looking at the Base Object Swapper mod page, I believe that the changelog/docs are slightly incorrect with what was merged.
I think the example given will actually log a handled error "SWAP formID set not found".
When we find a FormIDSet for the first ini argument, we expect another FormIDSet for the second argument. So the second argument actually gets turned into an empty set right now if it's only one FormID. This is arguably a bug that I can fix.
origBaseID,origBase2ID,origBase3ID|swapBaseID|propertyOverrides|chance

https://github.com/powerof3/BaseObjectSwapper/blob/master/src/SwapData.cpp#L96
Given an empty set, the code then steps over the if statement and on to log an error message.
			if (auto swapFormIDs = util::GetFormIDOrderedSet(formPair[1]); !swapFormIDs.empty()) {
				if (baseFormIDs.size() > swapFormIDs.size()) {
					logger::error("\t\t\t\tfail : [{}] (SWAP formID set must be equal or larger than BASE formID set)", a_str);
					return;
				}

                             // ...
                             // ...
			} else {
				logger::error("\t\t\t\tfail : [{}] (SWAP formID set not found)", a_str);
			}

So right now it works like:
origBaseID,origBase2ID,origBase3ID|swapBaseID|propertyOverrides|chance
-> error
origBaseID,origBase2ID,origBase3ID|swapBaseID,swapBaseID2,swapBaseID3|propertyOverrides|chance
-> randomly assigns each base to one swap.
I think it would be pretty clean to handle "normal" swaps when the swapBaseID is just one formID. So then we'd have:
origBaseID,origBase2ID,origBase3ID|swapBaseID|propertyOverrides|chance
-> swaps all of the origBaseIDs to swapBaseID
origBaseID,origBase2ID,origBase3ID|swapBaseID,swapBaseID2,swapBaseID3|propertyOverrides|chance
-> randomly assigns each base to one swap


doesn't work completely (almost ubuntu)

well not exactly linux, its ubuntu 20.04 running in termux but still
root@localhost:~# ls
geode
root@localhost:~# geode
bash: /bin/geode: No such file or directory
root@localhost:~# ./geode
bash: ./geode: No such file or directory
root@localhost:~# rm /bin/geode
rm: cannot remove '/bin/geode': No such file or directory
root@localhost:~# mv geode /bin
root@localhost:~# geode
bash: /bin/geode: No such file or directory

i have no idea what its yapping about
i did do chmod +x geode
arm64 / ubuntu
aarch64 / termux

we dont offer aarch64 builds, at least not yet. youll have to build it yourself


Update owners

High-level description
What features does this change enable? What bugs does this change fix?
Amita doesn't work at Mesosphere any more. Carter Gawron is the EM for the tools-infra team.
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:

DCOS_OSS- Foo the Bar so it stops Bazzing.

Related tickets (optional)
Other tickets related to this change:

DCOS_OSS- Foo the Bar so it stops Bazzing.

Checklist for all PRs

[ ] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change:
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[ ] Read the DC/OS contributing guidelines
[ ] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and review process
What is the review process and when will my changes land?
All PRs require 2 approvals using GitHub's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

@mesosphere-mergebot bump-ee

@mesosphere-mergebot label ready for review

Overrides needed:

The failure in teamcity/dcos/test/dcos-docker/static is https://jira.mesosphere.com/browse/DCOS-39299 test_clusterstate.test_systemd_units_are_healthy is flaky

Overrides needed:

teamcity/dcos/test/dcos-docker/static failure is https://jira.mesosphere.com/browse/DCOS-19790 test_networking.test_if_overlay_ok

@mesosphere-mergebot bump-ee

Override needed: teamcity/dcos/test/azure/hybrid-cloud is https://jira.mesosphere.com/browse/DCOS-39821

@mesosphere-mergebot bump-ee

@mesosphere-mergebot bump-ee

@mesosphere-mergebot bump-ee

@mesosphere-mergebot label ship-it


Replicating results of the first stage (feature generation) of training using ASC repository

I am trying to replicate the performance of stage 1 (88.0% mAP in Table 2 of the paper) by training a model using the code from the ASC repository and replacing their model file (models.py) with the TSM model file (models_stage1_tsm.py) provided in this repository. The best performance I could get was 83.2%7 mAP.
Would you be able to either share the code that you have used to train the first-stage networks or share the training parameters that are different from the first stage of ASC? The parameters that I am looking for are the initial learning rate, the number of steps after which the learning rate drops, the total number of epochs, the method to choose the best-performing model, and the range of random factors which are used to reduce the volume of the audio files in data augmentation. It would be great if you can also share any other differences in your training method from the first stage method of the ASC repository.

Hi,
I think you can use the checkpoints we provided to replicate the performance: link
We have a plan to release our Stage-1 code in the future, but we basically used ASC.
For the negative sampling technique, please refer to TalkNet: link. You can simply apply this to audio_clip.
Training params:
initial lr: 1e-3
#epochs: 100
lr_scheduler: cosine annealing
criterion for the best performance: validation loss
I hope this helps.
Kyle


added FGW and tests

Fused Gromov-Wasserstein and corresponding tests were added. The tests are in a new file called "fused_gromov_wasserstein_test.py". Its structure follows the one of the "gromov_wasserstein_test.py" file (with two tests added testing for the impact of linear penalty term and derivative w.r.t. penalty term).

Hi Dominik, thanks for the PR. Can you sign the Google CLA (contributor license agreement), or, alternatively, do the pull request on the ott-jax side?

Thanks Dominik for PR25


[Testing] fix(libzkp): upgrade libzkp to v0.9.4

Purpose or design rationale of this PR
Could reference this notion page for details.
PR title
Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:

[ ] build: Changes that affect the build system or external dependencies (example scopes: yarn, eslint, typescript)
[ ] ci: Changes to our CI configuration files and scripts (example scopes: vercel, github, cypress)
[ ] docs: Documentation-only changes
[ ] feat: A new feature
[x] fix: A bug fix
[ ] perf: A code change that improves performance
[ ] refactor: A code change that doesn't fix a bug, or add a feature, or improves performance
[ ] style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
[ ] test: Adding missing tests or correcting existing tests

Deployment tag versioning
Has tag in common/version.go been updated or have you added bump-version label to this PR?

[ ] No, this PR doesn't involve a new deployment, git tag, docker image tag
[x] Yes

Breaking change label
Does this PR have the breaking-change label?

[ ] No, this PR is not a breaking change
[x] Yes

test_zkp could pass.


Wake on lan using the interface "Broadcast on all interfaces" is invalid and report "Network is down"

Wake on lan uses the interface "Broadcast on all interfaces" is invalid,
the command executed is /usr/bin/etherwake -D "00:11:22:33:44:55",
and reports "Network is down"

The command works as expected here:
root@jj:~# /usr/bin/etherwake -D "00:11:22:33:44:55"
The target station address is 00:11:22:33:44:55.
Packet is  00 11 22 33 44 55 00 11 22 33 44 55 08 42 ff ff ff ff ff ff 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55 00 11 22 33 44 55.
Sendto worked ! 116.
root@jj:~#


Analytics backend initial setup

What does this PR do?
initial setup for the analytics back end service

What Jiira task is related to this PR?
N/A

How do I test out this PR?
pull the branch locally and follow the guides in README.md.txt

Which end points should be ready for testing?

partial url : /api/v1/locations
:/health

LGTM


RFC 0019: Are the additional layers of encryption relevant for security or (only) privacy?

Dear Hyperledger-Aries and broader SSI Community,
I hope this is an appropriate place to reach out to you.
I am a PhD student interested in formal verification of security protocols, in particular relating to identity. I have been following the SSI work for a while. I believe that it is very promising, and I have become interested in contributing. I have started thinking if and how formal verification could help achieve desired security properties for agent-to-agent communication protocols (built on DIDComm).
As a first step, I am trying to better understand where cryptography is applied to achieve which security goals, which brings me to my question:
As described in RFC0019, it looks like an encryption layer is added in each routing step. For example, when, in 1 --> 2 --> 8 --> 9 --> 3 --> 4, 2 encrypts the message (anonycrypt) with 8's public key. It seems to be that for security, the innermost encryption layer (with 4's public key) would be sufficient. Are the additional encryption layers done for privacy purposes only (such that e.g. 8 only knows it should forward to 9 but does not know that the final recipient will be 4)? I see why this can be important, I just wonder whether it is also important for confidentiality and integrity of the message itself.
Thank you,
Sven
P.S: In general, what would you recommend I do to get involved in the community? I consider going to RWOT in September, are there other important events or similar coming up?

The main benefit is for the purposes of privacy as you've pointed out. The confidentiality and integrity are covered with a single encryption round. The majority of cryptography is contained within this pack/unpack APIs and RFC 0066 ( #41 ). This has been chosen to try and abstract the security of the protocols from the semantics of the protocols. Getting formal security analysis on this work would be great in terms of credibility of the system.
As for participation in the community using the RFCs repository is one of the major methods. Additionally, participating on https://chat.hyperledger.org/channel/aries and calls on Wednesday weekly at 7PM UTC.
As for events, RWOT is an excellent event to attend. It's a great way to get involved with the community and push the efforts of the community forward with a peer collaborative environment. The other great event to attend Bi-annually is the Internet Identity Workshop.

Hello kdenhartog,
Thanks a lot for your quick response. Maybe it would help others that are confused about the purpose of the nested encryptions to clarify this (e.g., in RFC 0019)?
Thank you also for the pointers regarding the community. I saw that RWOT sign-up is now available. I do plan to attend, and also plan on writing a topic paper about formal methods / protocol verification and how I believe it could be useful for the SSI universe.

@SvenHammann90 I agree with Kyle's answer, but I wanted to give a slightly different explanation as a supplement. Each encryption produces two pieces of data -- the encrypted bytes, plus metadata that includes the public key(s) of the recipient(s). When you re-encrypt, what you are really protecting is the metadata from the previous encryption pass. The main reason to do this is, as both you and Kyle have said, to preserve privacy.

Closed as discussed in Aries WG Call 2019-11-13


docs: update the operator on operatorhub.io

docs: add a new step for the release process on how to update the operator on operatorhub.io
Signed-off-by: Steve Mattar<EMAIL_ADDRESS>

Closes #141


fd/ff/fdir does not return results but hangs on "loading"

fd/ff/fdir command does not return any results but instead hangs on loading (see image in attachment). Tried it on fedora 28 and ubuntu 18.04 (both had fd installed correctly and ulauncher restarted).

Same here. Debian/stretch/9.6

2018-12-14 15:42:35,146 | DEBUG | ulauncher.api.server.ExtensionController: _send_event() | Send event KeywordQueryEvent to "com.github.brpaz.ulauncher-file-search" com.github.brpaz.ulauncher-file-search | 2018-12-14 15:42:35,163 | DEBUG | ulauncher.api.client.Client: on_message() | Incoming event KeywordQueryEvent Traceback (most recent call last):   File "/usr/lib/python2.7/dist-packages/ulauncher/api/client/Client.py", line 52, in on_message     self.extension.trigger_event(event)   File "/usr/lib/python2.7/dist-packages/ulauncher/api/client/Extension.py", line 52, in trigger_event     action = listener.on_event(event, self)   File "/home/bruno/.cache/ulauncher_cache/extensions/com.github.brpaz.ulauncher-file-search/main.py", line 115, in on_event     results = extension.search(query.strip(), file_type)   File "/home/bruno/.cache/ulauncher_cache/extensions/com.github.brpaz.ulauncher-file-search/main.py", line 51, in search     stderr=subprocess.PIPE)   File "/usr/lib/python2.7/subprocess.py", line 390, in __init__     errread, errwrite)   File "/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child     raise child_exception OSError: [Errno 2] Nie ma takiego pliku ani katalogu 2018-12-14 15:42:35,558 | DEBUG | ulauncher.ui.windows.UlauncherWindow: show_results() | render 1 results 2018-12-14 15:42:35,755 | DEBUG | ulauncher.api.server.ExtensionController: _send_event() | Send event KeywordQueryEvent to "com.github.brpaz.ulauncher-file-search" com.github.brpaz.ulauncher-file-search | 2018-12-14 15:42:35,765 | DEBUG | ulauncher.api.client.Client: on_message() | Incoming event KeywordQueryEvent Traceback (most recent call last):   File "/usr/lib/python2.7/dist-packages/ulauncher/api/client/Client.py", line 52, in on_message     self.extension.trigger_event(event)   File "/usr/lib/python2.7/dist-packages/ulauncher/api/client/Extension.py", line 52, in trigger_event     action = listener.on_event(event, self)   File "/home/bruno/.cache/ulauncher_cache/extensions/com.github.brpaz.ulauncher-file-search/main.py", line 115, in on_event     results = extension.search(query.strip(), file_type)   File "/home/bruno/.cache/ulauncher_cache/extensions/com.github.brpaz.ulauncher-file-search/main.py", line 51, in search     stderr=subprocess.PIPE)   File "/usr/lib/python2.7/subprocess.py", line 390, in __init__     errread, errwrite)   File "/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child     raise child_exception OSError: [Errno 2] Nie ma takiego pliku ani katalogu

Using the "jump" extension:
2018-12-14 15:53:31,027 | DEBUG | ulauncher.api.server.ExtensionController: _send_event() | Send event KeywordQueryEvent to "com.github.user0308.ulauncher-plugin-jump" com.github.user0308.ulauncher-plugin-jump | 2018-12-14 15:53:31,057 | DEBUG | ulauncher.api.client.Client: on_message() | Incoming event KeywordQueryEvent path is None  Traceback (most recent call last):   File "/usr/lib/python2.7/dist-packages/ulauncher/api/client/Client.py", line 52, in on_message     self.extension.trigger_event(event)   File "/usr/lib/python2.7/dist-packages/ulauncher/api/client/Extension.py", line 52, in trigger_event     action = listener.on_event(event, self)   File "/home/bruno/.cache/ulauncher_cache/extensions/com.github.user0308.ulauncher-plugin-jump/main.py", line 29, in on_event     query_result = List_choice().get_top_five(path)   File "/home/bruno/.cache/ulauncher_cache/extensions/com.github.user0308.ulauncher-plugin-jump/list_choice.py", line 50, in get_top_five     if path in record[0]: TypeError: 'in <string>' requires string as left operand, not NoneType 2018-12-14 15:53:31,228 | DEBUG | ulauncher.ui.windows.UlauncherWindow: show_results() | render 1 results

Same here. I can get results to show up if I manually set the directory to somewhere limited like ~/Documents, but when it searches from / it just hangs indefinitely. fd from the terminal finds stuff nearly instantly.


New version: Brave.Brave version <IP_ADDRESS>

This pull request is automatically generated by 🥟 Dumplings in #3153
Microsoft Reviewers: Open in CodeFlow

@wingetbot run


[DrawablePainter] rememberDrawablePainter drops pixel density info of bitmap drawable resource

Describe the bug
When using rememberDrawablePainter to show a bitmap drawable resource, which does not fit current screen density, it will show the drawable with a wrong scale.
To Reproduce
Steps to reproduce the behavior:

Put a bitmap resource in a specified density directory, e.g. drawable-hdpi
Use rememberDrawablePainter to show that drawable
Run the app in a device with xx-h density
The drawable is shown as 0.5 scaled

I push a sample page in my fork repo, branch sample/drawable-density, shown in the first sample item Drawable Painter: Density
Expected behavior
The drawable should be displayed with correctly scaled
Screenshots?

With the same drawable, current accompanist version in the left, correct scaled in the right.
Environment:

Android Api level 30
Device: samsung SM-G981U
Accompanist version: v0.24.4-alpha

Some ideas?
DrawablePainter in accompanist can draw the bitmap drawable correctlly, so we can simply remove the is BitmapDrawable branch in rememberDrawablePainter.
But draw with BitmapPainter may has a better performance (don't know, maybe?), I try scaled the bitmap before the BitmapPainter is created, in a extend funtion BitmapDrawable.asScaledImageBitmap. You can check it in my repo linked previously.

Any info on this? Is it behaved by designed?


New file

Signed-off-by: Miguel Angel Ajo<EMAIL_ADDRESS>

Gentle reminder: opening PRs as drafts avoids requesting reviews from everyone; and if you want to check something against the GHAs, you can open a PR against the target branch in your own fork ;-). (See https://github.com/skitt/submariner-operator/pull/10 for an example of the latter.)

Gentle reminder: opening PRs as drafts avoids requesting reviews from everyone; and if you want to check something against the GHAs, you can open a PR against the target branch in your own fork ;-). (See https://github.com/skitt/submariner-operator/pull/10 for an example of the latter.)

Gentle reminder: opening PRs as drafts avoids requesting reviews from everyone; and if you want to check something against the GHAs, you can open a PR against the target branch in your own fork ;-). (See skitt/submariner-operator#10 for an example of the latter.)

My apologies ':D

Gentle reminder: opening PRs as drafts avoids requesting reviews from everyone; and if you want to check something against the GHAs, you can open a PR against the target branch in your own fork ;-). (See skitt/submariner-operator#10 for an example of the latter.)

My apologies ':D


1.4.1 is very slow

I changed 1.4.0 to 1.4.1 with python 3.8.14 on Linux min 21.0.
GenTL is mvIMPACT_Acquire v2.47.0
The image getting process became very  slow with PySide6.
When back to 1.4.0, there no problems of speed.

@HitoshiUchida Hi, thank you for the report. Could you tell me the difference in numbers so that I can how much it is, please? I am planning to discontinue 1.4.1 later. Regards, Kazunari.

@HitoshiUchida I need to ask you one more favor: What would happen if your application does not involve PySide? I would like to ask you to try running an image acquisition script without PySide.

In version 1.4.1, Harvester can delegate the timer to be used for special applications such as PyQt. To let Harvester delegate a timer, you will need to pass the timer to Harvester with the following code:
from PySide.QtCore import QTimer
from harvesters.core import Timer
from harvesters.core import Harvester as HarvesterCore

class _Timer(Timer):
    def __init__(self):
        super().__init__()

    def sleep(self, value: Any):
        QTimer.sleep(value)

self._timer = _Timer()

config = ParameterSet({
    ParameterKey.TIMER: self._timer,
})
self._harvester = HarvesterCore(config=config)

If you do not pass any timer then Harvester will use the built-in timer and that's the original behavior. I had expected some other internal changes not to affect performance but as far as I hear your report I will need to investigate the issue.

By the way, why did you know that I have released 1.4.1? Do you frequently visit here or PyPI?

Dear Kazunari
Sorry this is not a direct answer to your question, but in my opinion,
there is probably some interference with the timer in Pyside.
I am not sure why, because Dialog, which should be terminating normally, is
not terminating, and I need to force it to terminate.
I am attaching my code.
Regards
H. Uchida
2022年10月3日(月) 14:37 Kazunari @.***>:

By the way, why did you know that I have released 1.4.1? Do you frequently
visit here or PyPI?
—
Reply to this email directly, view it on GitHub
https://github.com/genicam/harvesters/issues/374#issuecomment-1264959345,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMKLRA7ZDPPCPU2IHDJ2F4LWBJWITANCNFSM6AAAAAAQ3HQ2JI
.
You are receiving this because you were mentioned.Message ID:
@.***>

In the meantime, Is it possible to get a version released with #374, without this problematic PySide change?

Whoops I meant #369

@HitoshiUchida Hi Hitoshi, I need to ask you for a favor. Could you try with the latest master (1f4fedd) and check if it still slows down your application, please?

Ok, I will try.
2023年1月21日(土) 10:13 Kazunari @.***>:

@HitoshiUchida https://github.com/HitoshiUchida Hi Hitoshi, I need to
ask you for a favor. Could you try with the latest master (1f4fedd
https://github.com/genicam/harvesters/commit/1f4feddaca8eba3f2d2741a238f18697899c61b0)
and check if it still slows down your application, please?
—
Reply to this email directly, view it on GitHub
https://github.com/genicam/harvesters/issues/374#issuecomment-1399113607,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMKLRAYU7USD2WCMHO2CWVTWTMZ4RANCNFSM6AAAAAAQ3HQ2JI
.
You are receiving this because you were mentioned.Message ID:
@.***>

@HitoshiUchida Hi, excuse me, you don’t need to check that for now; it was a bit early to ask you. I’ll ask you again once the prototype turned available. Thank you!

Sure, no problem.
2023年1月22日(日) 8:01 Kazunari @.***>:

@HitoshiUchida https://github.com/HitoshiUchida Hi, excuse me, you
don’t need to check that for now; it was a bit early to ask you. I’ll ask
you again once the prototype turned available. Thank you!
—
Reply to this email directly, view it on GitHub
https://github.com/genicam/harvesters/issues/374#issuecomment-1399349668,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMKLRA4KQ7WRG7E6AU7OF2DWTRTD5ANCNFSM6AAAAAAQ3HQ2JI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi, Kazunari.
I had been tested on ver 1.4.2 for my previous reported codes. There are no troubles.
Thank you for a Great Job !.


Kirix Strata Browser

Kirix Strata Browser - https://github.com/WhichBrowser/Parser-PHP/issues/232

Coverage remained the same at 100.0% when pulling bce4bb70651b3e1776cfa2100fa0886765901912 on ayumi-cloud:Kirix into 4899110cd2f87b01e04ced62dbb9dec541031dee on WhichBrowser:master.

Totally failing test results.


move to grunt-jasmine-chromeapp

@soycode maybe you could take a super-quick look at this too?

:+1:

Change itself LGTM - just a nit that it'd be good to try the "latest and greatest" for grunt-jasmine-chromeapp since we're changing it pretty frequently (mostly just to make sure that the added logic doesn't break how it's processing files for you).

Good catch! I actually am testing with 1.5.0, this was just a merge mess-up on my side.
Thanks!

:+1:


Add play url to readme and docs

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Awesome!
/lgtm

Thank you.
/approve


Rename lib files to partial format

It crashes with compass (and config.assets.precompile << /(^[^]|/[^])[^/]*$/) when i do
bundle exec rake assets:precompile
with message:
Undefined variable: "$baseline".

+1

Using a regexp to define the stylesheets you want precompiling feels bad to me, but yes, the files probably should have underscores if only to side with conventions.
Regardless, I'm not planning to push an update to 1.4.x again, and 2.0 will follow the underscore convention.


The order after multiple sort clauses

What happened?
prql version: 0.8.1
Comments: sql does not persist the order after derive clause.
In the following example, sort -c1 should be transformed to order by clause together with sort c3.
PRQL input
from tb1
sort [-c1]
derive [new_col = c1+c2]
sort [c3]
take  20

SQL output
SELECT
  *,
  c1 + c2 AS new_col
FROM
  tb1
ORDER BY
  c3
LIMIT
  20

Expected SQL output
SELECT
  *,
  c1 + c2 AS new_col
FROM
  tb1
ORDER BY
  c1 DESC,
  c3
LIMIT
  20

MVCE confirmation

[X] Minimal example
[X] New issue

Anything else?
No response

I'm not sure I understand — surely the result will be sorted by c3, given that's the final sort transform?

Yes, transforms in PRQL have the semantics of being applied one after another. So that the initial sort doesn't show up in the generated SQL is correct since that transform doesn't actually have any effect since it's overridden by the final sort (and for derive the order doesn't matter).


add graphviz dependency to installer

add graphviz dependency to installer

Fixed :

graphviz was added to apts_list which contains all the packages that will be installed using apt.

Fixed on mac, I made it be installed using brew.

This fix verified on branch development_logalert but only on in container installation as the fix of in system installation cmake error done on branch development and development_hotfixes.


istioctl kube-inject w/o cluster has additional required arguments in 1.2

istioctl kube-inject now requires a Kubernetes cluster:
kubectl -n istio-system get cm istio-sidecar-injector  -o jsonpath="{.data.config}" > /tmp/inj-template.tmpl
kubectl -n istio-system get cm istio -o jsonpath="{.data.mesh}" > /tmp/mesh.yaml
istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml --injectConfigFile /tmp/inj-template.tmpl --meshConfigFile /tmp/mesh.yaml
unset KUBECONFIG
istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml --injectConfigFile /tmp/inj-template.tmpl --meshConfigFile /tmp/mesh.yaml
Error: could not read valid configmap "istio" from namespace  "istio-system"

Even though the mesh configuration and injection configuration have been supplied, istioctl tried to read something and failed.
The fix for this item should include adding a test that lacks Kubernetes access.
@rvennam
Probably introduced with https://github.com/istio/istio/pull/10830

I think you just need --values-file as well now possibly?
Are you working on this or want me to

Want to add some additional context:
Users should be able to run istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml independently - disconnected from any cluster. For example: This can be in a CI/CD pipeline where the output yaml is saved and applied later.
This was working in 1.1.x and regressed in 1.2

You can you just need to pass an extra parameter. Just tested with
istioctl kube-inject -f ~/kube/shell/shell.yaml --injectConfigFile /dev/null --meshConfigFile /dev/null --valuesFile /dev/null

We should update the docs though

Also happens with version
istioctl version
1.2.0
Error: unable to find any Istio pod in namespace istio-system

@kramvan1 The message is intended to indicate that there is no control plane.  It may be that we need to improve the message, what text would have made it clear to you?
If I run istioctl version without a cluster I see
1.2.0-rc.0
Error: unable to retrieve Pods: Get https://<IP_ADDRESS>:8001/api/v1/namespaces/istio-system/pods?fieldSelector=status.phase%3DRunning&labelSelector=istio: dial tcp <IP_ADDRESS>:8001: i/o timeout

@esnible   Should this really be an Error for version and rc=1?    Seems like version and kube-inject type commands should not have a hard cluster dependency.
Was expecting to issue a istioctl version during a batch cd/ci job without cluster and not have it fail.  (added || true to workaround for now).    While I expect errors from kube-inject if the files/yamls are bad, I don't expect it to require a cluster.

@howardjohn If you pass /dev/null for the outside-the-cluster files the injection doesn't actually happen.
I was able to get it working without a cluster.  First, with a cluster do
kubectl -n istio-system get cm istio-sidecar-injector  -o jsonpath="{.data.config}" > /tmp/inj-template.tmpl
kubectl -n istio-system get cm istio -o jsonpath="{.data.mesh}" > /tmp/mesh.yaml
istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml --injectConfigFile /tmp/inj-template.tmpl --meshConfigFile /tmp/mesh.yaml
kubectl -n istio-system get cm istio-sidecar-injector -o jsonpath="{.data.values}" > /tmp/values.json

Then, get rid of your cluster (I did unset KUBECONFIG), and do
istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml --injectConfigFile /tmp/inj-template.tmpl --meshConfigFile /tmp/mesh.yaml --valuesFile /tmp/values.json

I see injected file, based on the values of my cluster, but the injection did not require a cluster.  This work item should become a Doc item to update the documents.  It is unclear if better messages from istioctl are also needed.
@frankbu

In 1.2 istioctl version change the default for the remote flag to be true. Remote reads the version of the control plane which of course requires a cluster. if you want no cluster you should be able to do istioctl version --remote=false

@esnible to clarify above, I see in your first group of cluster steps there's a call to istioctl kube-inject without the --valuesFile   is that really needed?

@howardjohn thx for the version clarification.    Is that --remote=false also needed with kube-inject when specifying all three inputs? --injectConfigFile --meshConfigFile --valuesFile

@kramvan1 nope it is just a flag on the version command. For kube-inject it will look for those flags and fallback to the cluster if they aren't provided, so if you provide all 3 it will not depend on the cluster

wonder if we can make this the default when not connecting to a remote cluster?
istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml
-->
istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml --injectConfigFile /dev/null --meshConfigFile /dev/null --valuesFile /dev/null
so that users don't have to remember the long syntax and we are backwards compatible to 1.1 as well?
@esnible @howardjohn

@linsun if they actually provide /dev/null then the injection won't do anything though. I just used that to test if it would not try to reach out to the cluster because I didn't have the 3 files on hand - probably wasn't the best example.
I think the best thing we can do is fail (with a better error message probably), rather than silently succeed but get unexpected behavior

Ohhhh i had thought doing these params would provide the injection behavior similar as 1.1...  why can't we provide a default injection behavior like 1.2 for quick starters?  we'd be asking users to run 3 cmds (https://github.com/istio/istio/issues/15061#issuecomment-504487646) to do a simple kube-injection that they could have done in 1.1

With a cluster running, in 1.1 and 1.2 they need no flags.
In 1.1, they need --injectConfigFile ... --meshConfigFile ... if they have no cluster.
In 1.2, they need --injectConfigFile ... --meshConfigFile ... --valuesFile ... if they have no cluster.
So the only change should be the one additional new flag.
Basically the kube-inject will normally get config from kubernetes if possible, but if not they need to be provided by the flags. In 1.2 we now depend on some more info (the values file) so that needs to be provided as well.

it just feels odd they need to provide these if just use the default that comes with a given istio release.     I had always thought the injectConfigFile and meshConfigFile were introduced to allow the customization which I think was the initial intention.  Seems istioctl itself would be able to know the default config for a given istio release as there is no cluster specific info inn the injectConfigFile or meshConfigFile.

@linsun I think that is possible but we would need a way to embed the default yamls into the istioctl binary. This is possible, and I think we do it in some other places

@howardjohn thanks, and I do believe that provides a better experience.  Maybe we can target this simplification for 1.3.

@linsun What would the user experience be if we baked in the template?
Although we removed the template there is no reason make istioctl couldn't copy /install/kubernetes/helm/istio/files/injection-template.yaml into a .go file allowing it to be included in the build.  That wouldn't have solved the problem of a 1.1 user being surprised to know a new --valuesFile parameter is needed.
The simplest CLI I can imagine is  istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml --remote=false --valuesFile=install/kubernetes/helm/istio/values.yaml.  That is still quite difficult.
There are other UX problems related to the move to 1.2.  Using the 1.1 istioctl against a 1.2 control plane gives an error:
istioctl-1.1 kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml
Error: error converting YAML to JSON: yaml: line 3: could not find expected ':'

We may not have upgrade tests related to kube-inject.

@esnible did we intend to support 1.1 istioctl with 1.2 control plane?

Might be related, a fresh istio 1.2.0 installation via helm fails for me with various deployments including the bookinfo example with:
Name:           reviews-v1-796d4c54d7
Namespace:      default
Selector:       app=reviews,pod-template-hash=796d4c54d7,version=v1
Labels:         app=reviews
                pod-template-hash=796d4c54d7
                version=v1
Annotations:    deployment.kubernetes.io/desired-replicas: 1
                deployment.kubernetes.io/max-replicas: 2
                deployment.kubernetes.io/revision: 1
Controlled By:  Deployment/reviews-v1
Replicas:       0 current / 1 desired
Pods Status:    0 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:           app=reviews
                    pod-template-hash=796d4c54d7
                    version=v1
  Service Account:  bookinfo-reviews
  Containers:
   reviews:
    Image:        istio/examples-bookinfo-reviews-v1:1.12.0
    Port:         9080/TCP
    Host Port:    0/TCP
    Environment:  <none>
    Mounts:       <none>
  Volumes:        <none>
Conditions:
  Type             Status  Reason
  ----             ------  ------
  ReplicaFailure   True    FailedCreate
Events:
  Type     Reason        Age                    From                   Message
  ----     ------        ----                   ----                   -------
  Warning  FailedCreate  2m21s (x16 over 5m6s)  replicaset-controller  Error creating: Internal error occurred: admission webhook "sidecar-injector.istio.io" denied the request: error converting YAML to JSON: yaml: line 150: did not find expected '-' indicator

No pod creation at all.
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.3", GitCommit:"5e53fd6bc17c0dec8434817e69b04a25d8ae0ff0", GitTreeState:"clean", BuildDate:"2019-06-06T01:44:30Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.3", GitCommit:"5e53fd6bc17c0dec8434817e69b04a25d8ae0ff0", GitTreeState:"clean", BuildDate:"2019-06-06T01:36:19Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

In 1.2 istioctl version change the default for the remote flag to be true. Remote reads the version of the control plane which of course requires a cluster. if you want no cluster you should be able to do istioctl version --remote=false

For the version one, if there is no cluster connected, we should just put the istioctl client version and a waring(instead of an error) that no control plane available.
For the kube-inject one,  we can package a default config/value/mesh info into istioctl and if no cluster connected, we can use the packaged one as default and do the injection.

@irisdingbj This default is just about kube-inject, not version.
For 1.2 we purposefully removed the packaged injection template from istioctl.  It was not my design, but I gave it a positive review, because we were unable to keep the template in sync with the rest of Istio.  If we package default values into istioctl we are back to the same problem -- the build needs to be modified to generate .go files for templates in install.  Is that what we want?
I am still struggling with the use case for manual inject.  To allow pipelines to create deployments with different defaults than a running cluster?

@howardjohn We did not intend to support 1.1 istioctl with 1.2 control plane but we had hoped for a better error message than "Error: error converting YAML to JSON: yaml: line 3: could not find expected ':'".
A fix specific to Istio 1.1.10 seems like a waste of time.  We don't exactly know what went wrong.  Maybe we can come up with a strategy so this doesn't happen again for 1.2 users against 1.3.  Can we add a field or annotation to the istio-sidecar-injector and istio ConfigMaps saying which CLI they are compatible with?  Then we can print for example mesh.controlPlaneVersion as part of the error message.

@esnible   Our use case is to Allow our build pipeline to create deployments for future running clusters that are also defined during the pipeline so will always match/sync up.

@kramvan1 If your Istio cluster have auto-inject enabled, you almost never want to manual inject.  Manual inject will bake in a particular sidecar version, forever.  Usually we want the "future running cluster" to supply its own injection settings rather than letting the pipeline override them.

@esnible Yup, we do NOT have auto-inject enabled for any namespace.  We include the bookinfo sample as an optional piece of our install and  did not want to force the default namespace to be inject enabled, so the inject is done at build time instead.   This allows the customer to have complete control over what namespaces are enable for injection.
Hope that makes some sense, we are focused on providing a "Managed" Istio, where our build side does most of the heavy lifting and the customer just has to click a single button to get Istio functionality in their cluster that we manage/maintain for them.


FileError variant names are confusing

The FileError enum variant names are cryptic and confusing. We should consider changing them to platform neutral understandable names similarly to std::io::ErrorKind. See also errno to ErrorKind conversion.

These are autogenerated now and consistent with how other error enums look like


Change request version to 2.79.0

The current version of the project depends on request 2.76.0 which uses the deprecated module node-uuid. The latest version uses uuid, which is the recommended replacement package.

It is actually the node-pre-gyp tool, which is used for installing binaries. So to fix this we'll need to tag a new release that re-packages node-pre-gyp (since it is bundled due to https://github.com/mapbox/node-pre-gyp/issues/260)

This has been done, this issue can be closed.


True multithreaded coroutines

This is a bit of a long shot, but inspired by the recent changes allowing multiple computers to run simultaneously, what if you could run two coroutines simultaneously via a new thread API? I'm not sure how it works under the hood and whether it would be possible, but it would be very useful.

Its a nice idea but Lua (and therefore LuaJ/Cobalt) aren't designed with multi-threading in mind. Ideally we could have something like Lua Lanes which duplicates the entire Lua state but this would require a lot of code for little benefit: you'd be better off placing multiple computers.
Please note, I'm not encouraging using multiple computers to speed up computation: the whole point of this change is to stop one computer delaying the others.

Thought so. Thanks anyways!

Just out of interest: what would you use it for?

I don't have any specific use cases, it was just an idea 😛

Just a note...this was actually implemented with Cobalt and Rembulan.

Thaat multi-threaded computers, I think ape was talking about threading coroutines inside a computer.

Oh, oh actually yeah that makes sense.


(sysinternals) checksum hashes do not match

Checklist

[X] I have verified that this is the correct repository, and the package is maintained by the chocolatey-community user.
[X] I have verified that this is happening in the latest available version of the package.

Chocolatey Version
2.4.1
Chocolatey License
None
Package Version
2024.7.23
Current Behaviour
Getting checksum mismatch error when trying to install sysinternals.
PS C:\> choco --version
2.4.1
PS C:\> choco install sysinternals
Chocolatey v2.4.1
Installing the following packages:
sysinternals
By installing, you accept licenses for the packages.
Downloading package from source 'https://community.chocolatey.org/api/v2/'
Progress: Downloading sysinternals 2024.7.23... 100%

sysinternals v2024.7.23 [Approved]
sysinternals package files install completed. Performing other installation steps.
The package sysinternals wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): Y

Sysinternals Suite is going to be installed in 'C:\ProgramData\chocolatey\lib\sysinternals\tools'
File appears to be downloaded already. Verifying with package checksum to determine if it needs to be redownloaded.
Error - hashes do not match. Actual value was 'C6C6FC3A965A8E4BC0943EE4586CCE86789913DDD25E808BFB61426776253863'.
Downloading sysinternals
  from 'https://download.sysinternals.com/files/SysinternalsSuite.zip'
Progress: 100% - Completed download of C:\Users\shkr\AppData\Local\Temp\chocolatey\sysinternals\2024.7.23\SysinternalsSuite.zip (50.47 MB).
Download of SysinternalsSuite.zip (50.47 MB) completed.
Error - hashes do not match. Actual value was 'C6C6FC3A965A8E4BC0943EE4586CCE86789913DDD25E808BFB61426776253863'.
ERROR: Checksum for 'C:\Users\shkr\AppData\Local\Temp\chocolatey\sysinternals\2024.7.23\SysinternalsSuite.zip' did not meet '1284b653340c60086399c4e57b5a42ffef6b55415cf0a28e305b77750392ac32' for checksum type 'sha256'. Consider passing the actual checksums through with --checksum --checksum64 once you validate the checksums are appropriate. A less secure option is to pass --ignore-checksums if necessary.
The install of sysinternals was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\sysinternals\tools\chocolateyInstall.ps1'.
 See log for details.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - sysinternals (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\sysinternals\tools\chocolateyInstall.ps1'.
 See log for details.

Expected Behaviour
No checksum error.
Steps To Reproduce
Run  choco install sysinternals in windows 11, powershell terminal.
Environment
- Operating System: Windows 11
- PowerShell Version:5.1.26100.2161
- Shell: Terminal

Chocolatey Log
https://gist.github.com/kshyju/d319b418b44f8c52f2cafe82b127bc2c

Anything else?
No response

It looks like version 2024.12.16 was approved earlier today. Does the checksum issue happen with that version?

yea, choco install sysinternals --version 2024.12.16 worked. Thanks for the quick response.


Exception when using KeyboardAttachable widget

Hey @drogel,
Thank you for your great efforts on this, really appreciate it!
I'm trying to use keyboard_attachable in my app and looks like I found the bug.
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown building SizeTransition(animation: AnimationController#e3d5d(▶
flutter: 0.852)➩Interval(-2.1699839633447886⋯1.0), dirty, state: _AnimatedState#c78fd):
flutter: 'package:flutter/src/animation/curves.dart': Failed assertion: line 180 pos 12: 'begin >= 0.0': is
flutter: not true.

Looks like the problem is in this line: https://github.com/drogel/keyboard_attachable/blob/master/lib/src/keyboard_attachable.dart#L143
The _animationBegin is calculated to -2.1699839633447886 (that's why it fails), _bottomInset to<PHONE_NUMBER>666666.
This is the actual screenshot.

And this is how it should be.

Could you please take a look?
Thanks in advance.

Hi @vasylmykytiuk,
Thanks for using the package and for such a detailed description of the bug! It really helps.
From version 2.0.1 and on, the KeyboardAttachable widget gets the absolute position of the widget that should be attached to the soft keyboard and builds the animations depeding on that.  In your case, it seems to me that the KeyboardAttachable widget is somehow getting the wrong position for your Next button, and thus it's not computing the animation interpolation points properly.
An inmediate solution for you would be to downgrade to keyboard_attachable version 2.0.0. That should be enough to fix the bug for your use case.
If that doesn't solve it, please refer to the documentation or compare your code to the example files for the package to see if you are using the library correctly.
In the meantime, I need to investigate further what could be causing this issue on your case. If you could provide a minimal example in which the error is caused, that would be extremely useful for me to find the problem. I will keep you updated on this if I find anything.
Thanks!

Similar issue here; trying to use a text editor which launches the keyboard, as such:
@override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      resizeToAvoidBottomInset: false,
      navigationBar: CupertinoNavigationBar(),
      child: FooterLayout(
        footer: KeyboardAttachableFooter(),
        child: Column(
          children: [
            Expanded(
              child: Container(
                margin: EdgeInsets.symmetric(horizontal: Margins.full),
                child: QuillEditor(
                  controller: _controller,
                  focusNode: FocusNode(),
                  scrollController: ScrollController(),
                  scrollable: true,
                  padding: EdgeInsets.zero,
                  autoFocus: true,
                  readOnly: false,
                  expands: true,
                  keyboardAppearance: CupertinoTheme.brightnessOf(context),
                  customStyleBuilder: (a) =>
                      CupertinoTheme.of(context).textTheme.textStyle,
                ),
              ),
            )
          ],
        ),
      ),
    );
  }
}

and footer is:
/// Builds a footer that animates its bottom space when the keyboard is shown.
class KeyboardAttachableFooter extends StatelessWidget {
  @override
  Widget build(BuildContext context) => KeyboardAttachable(
        backgroundColor: CupertinoColors.activeBlue,
        child: Container(
          padding: const EdgeInsets.all(16),
          color: CupertinoColors.activeBlue,
          child: const CupertinoTextField(),
        ),
      );
}

But I get this error:
════════ Exception caught by widgets library ═══════════════════════════════════
'package:flutter/src/animation/curves.dart': Failed assertion: line 180 pos 12: 'begin >= 0.0': is not true.
The relevant error-causing widget was
KeyboardAttachable
lib/…/home/compose.dart:56
════════════════════════════════════════════════════════════════════════════════

Note I tried downgrading to 2.0.0 but the issue persists.

Any update on the issue?

Hi all,
I have spent the whole day trying to narrow down this issue. It was hard to get the exact conditions under which this thing replicates, but I have found that it happens with certain types of layouts, when there is a SafeArea with maintainBottomViewPadding set to false (which is its default value). The problem is that Flutter hides the safe area bottom padding when the keyboard is shown, and it adds the safe area bottom padding again when the keyboard is dismissed, unless maintainBottomViewPadding is set to true.
I am currently testing a bugfix for this issue what would prevent this kind of errors from happening. It also polishes the dismissal animation of the keyboard attachable widget for certain kinds of layouts. However, in order for the animations to be smooth with this bugfix, SafeArea.maintainBottomViewPadding must be true. Otherwise the animations display weird jumps and snaps. I will try to make it as clear as possible in the documentation anyway.
TL;DR: if there are SafeAreas involved in the layouts in which you see this error, try setting SafeArea.maintainBottomViewPadding to true. It may fix the issue, depending on the specifics of your layout. I will be shipping a proper bugfix for this soon.
Thanks a lot!

Hi all,
I have just released a new version of keyboard_attachable (v2.1.0) that addresses the crashes reported in this issue.
I have also updated the documentation and examples on how to properly use SafeArea with KeyboardAttachable. Remember to set SafeArea.maintainBorromViewPadding to true and Scaffold.resizeToAvoidBottomInsets to false in your layouts, and the KeyboardAttachable should be able to do the rest, like so:
/// Builds a [Scaffold] that lays out a footer at the bottom of the page.
class KeyboardAttachablePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) => Scaffold(
        backgroundColor: Colors.blue,
        resizeToAvoidBottomInset: false,
        appBar: AppBar(title: const Text("Keyboard Attachable demo")),
        body: SafeArea(
          maintainBottomViewPadding: true,
          child: FooterLayout(
            footer: KeyboardAttachableFooter(),
            child: ColorsList(),
          ),
        ),
      );
}

I am leaving this issue open for a while. If you still see this kind of problems happening, don't hesitate to comment 😄 .
Thanks!


Update configuring-astro.md

What kind of changes does this PR include?

[ ] Minor content fixes (broken links, typos, etc.)
[x] New or updated content
[ ] Translated content
[ ] Changes to the docs site code
[ ] Something else!

Description

Adds a new section to configuring-astro.md about referencing environment variables.
Also mentions Astro's ability to load config files from the config/ directory, a hidden feature that I personally love and hope more people start using!
Paired with https://github.com/withastro/astro/pull/3617

LGTM! 🥳

Just a freshness ping, @natemoo-re ! You might not be used to looking at the PRs in this repo as much as the main Astro one. We'll be sure to mention you next time we LGTM, so you know it's good for you to merge!

Thanks for the reminder ping @sarah11918! The upstream change for this has yet to be merged in, but I forgot to link it here. Will finish that PR and circle back when it's merged. Switching to draft for now.

@natemoo-re The corresponding Astro PR for this has been closed. Should we close this one too, and reopen if something happens with it upstream?

Seems fair to close this for now — we can reopen if the feature PR gets merged.


context.abort is not raising an error as the docs suggest. It will send error to client but server will continue execution as normal

What version of gRPC and what language are you using?
python  1.40.0,  using aio.server()
also yes I am using an await command on the abort, also I have sync functions where this issue also occurs.
What operating system (Linux, Windows,...) and version?
Linux
What runtime / compiler are you using (e.g. python version or version of gcc)
Python 3.8.10
What did you do?
Please provide either 1) A unit test for reproducing the bug or 2) Specific steps for us to follow to reproduce the bug. If there’s not enough information to debug the problem, gRPC team may close the issue at their discretion. You’re welcome to re-open the issue once you have a reproduction.
def Status(self, request, context):
        logger.info("4444444444")
        context.abort(grpc.StatusCode.UNKNOWN, 'aborted')
        logger.info('aaaaaaaaaaaaaaa')

What did you expect to see?
4444444444
What did you see instead?
4444444444
aaaaaaaaaaaaaaa
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?

Hi, you mentioned you're using an await command on the abort, but looks like you're not actually await in your example, does this issue still exist if you actually await on abort?

@XuanWang-Amos  so for using an async function with grpc aio, awaiting the abort does work as intended.
However, using an normal synchronous function will result in what I have above.

We do have tests to make sure nothing will be executed after abort: https://github.com/grpc/grpc/blob/5c9e4050c1e8c66b1b8b4e93d48b8e23ff1ea818/src/python/grpcio_tests/tests/unit/_abort_test.py#L52-L58
The test is passing right now, can you share more information about your test setup? A reproducible example will be great.


Save buttons on settings pages should re-disable while changes are being saved

Repro:

navigate to /settings and pick any tab where you edit existing settings
observe the save button is grayed out
change something
observe the save button is now enabled
open the network panel
click on that save button like five or six times and watch the requests to /graphql pile up

Expected: double-clicking the save button either intentionally or unintentionally should not work, and the button should only be re-enabled if there is a further change or a save request fails.

I believe this was fixed in https://github.com/CDCgov/prime-simplereport/pull/943
Should be live on dev as of some time this morning

Correction, this was only fixed in the "Manage Users" page and not in other user settings pages.

Not worth fixing. closing.


False const_eval_throws_exception in Dart 2.1.2-dev.0.0.flutter-0a7dcf17eb

$ dart --version
Dart VM version: 2.1.2-dev.0.0.flutter-0a7dcf17eb (Tue Feb 12 01:59:15 2019 +0000) on "macos_x64"

Two source files are required to reproduce the issue (all the sources in one file will qualify okay).
main.dart
import 'package:const_exc/src/aux.dart';

void main() {
  const foo = Foo(1);
  const bar = Bar.some(); // False const_eval_throws_exception here
  print("$foo, $bar");
}

src/aux.dart
class Foo {
  final double value;

  const Foo(this.value);
}

class Bar {
  final Foo value;

  const Bar(this.value);

  const Bar.some() : this(const Foo(1)); // Using a floating point literal `1.0` eliminates the issue
}

The error message produced:
error: Evaluation of this constant expression throws an exception. (const_eval_throws_exception at [const_exc] lib/src/main.dart:5)

The highlights:

putting sources in multiple files is required to reproduce the issue
using an integer literal in Bar.some() is required (using a floating point literal eliminates the issue)
the error message seems entirely unrelated

Is this in the CFE?

@mit-mit I'm not familiar with the compiler's codebase, but it looks like the subject error is generated only in pkg/analyzer/lib/src/dart/constant/evaluation.dart, so it looks like analyser (but I don't know what the common front-end includes).

This is coming from the Analyzer.  /cc @stereotype441

This is a manifestation of a larger issue that we're currently working on (#33441).  That issue will probably take some time to resolve, so in the meantime I've got a band-aid fix: https://dart-review.googlesource.com/c/sdk/+/94123

Band-aid fix has landed, so I'm reducing the priority of this bug to P2.

What are the conditions for closing this now, @stereotype441 ? I'm guessing it's fixed with const-update-2018? Perhaps summary2? 😀