Compile error: crate-private type RenderChunkSize in public interface

Getting an error when trying to run my Bevy game after updating to bevy_ecs_tilemap 0.12.0.
Compiling bevy_ecs_tilemap v0.12.0:

error[E0446]: crate-private type `RenderChunkSize` in public interface
  --> /path/bevy_ecs_tilemap/src/render/chunk.rs:39:5
   |
39 | /     pub fn get_or_add(
40 | |         &mut self,
41 | |         tile_entity: Entity,
42 | |         tile_pos: UVec2,
...  |
57 | |         y_sort: bool,
58 | |     ) -> &mut RenderChunk2d {
   | |___________________________^ can't leak crate-private type
   |
  ::: /path/bevy_ecs_tilemap/src/render/mod.rs:63:1
   |
63 |   pub(crate) struct RenderChunkSize(UVec2);
   |   --------------------------------- `RenderChunkSize` declared as crate-private

The following patch fixes the error:
diff --git i/src/render/mod.rs w/src/render/mod.rs
index 4b41c3a..cd410ee 100644
--- i/src/render/mod.rs
+++ w/src/render/mod.rs
@@ -60,7 +60,7 @@ pub struct DefaultSampler(ImageSamplerDescriptor);
 /// Initialized from [`TilemapRenderSettings`](crate::map::TilemapRenderSettings) resource, if
 /// provided. Otherwise, defaults to `64 x 64`.
 #[derive(Debug, Copy, Clone, Deref)]
-pub(crate) struct RenderChunkSize(UVec2);
+pub struct RenderChunkSize(UVec2);

 impl RenderChunkSize {
     pub const fn new(chunk_size: UVec2) -> RenderChunkSize {

huh strange, I wonder why CI didn't catch this..

I have been trying to reproduce this error with stable and nightly rust, native or web targets without any luck. My own project using bevy_ecs_tilemap 0.12.0 seems to work fine.
There does seem to be a lot of unnecessary pub laying around, but I'm not seeing how this particular type is exported anywhere.
How can I reproduce this?

I can reproduce, but only with Rust 1.72. If you are able to, you can update to the latest stable rust as a workaround.
We should still fix this.

Good catch @rparrett ! I can confirm the error disappears after updating to Rust 1.76.

huh strange, I wonder why CI didn't catch this..

Has this been fixed yet?
I want to make sure the library I want to use works fully before I incorporate it with my code.

I think this issue should be closed; it seems the issue has been resolved.

@CalinZBaenen The error only occurs for rust version <= 1.72, so that's probably why CI didn't catch it.


Multiple Pull Requests?

So, earlier in the night, I did a pull request to add tilemaster, figuring I wouldn't do anything else tonight, but then... I did more stuff. In this case, should I just do another pull request without canceling the original one, or should I cancel the original and just do another pull request?
I really don't get git much, so sorry for the confusion.
EDIT:
At the moment, I'm simply going to hold off on the new stuff. It's just some extra comments and a little bit of changes to the player movement, and adding an extension for cameras in orthographic view (bounds and extents), so nothing immediately important, I just figured we should know what to do in this situation. I guess best practice would be just don't do a pull request until you are certain you are done... but I'm too impatient :P.

To be honest, I'm learning it at the same time. I think the best practice
is to create a branch that represents the feature (add tilemaster), do a
pull request for that, then create another branch that represents the extra
work and do a pull request for that. This helps the project owner make sure
that they know what they're looking for when they pull the code in.
Thanks for your help man!
-Wes
On Wed, Aug 5, 2015 at 2:14 AM CaliberMengsk<EMAIL_ADDRESS>wrote:

So, earlier in the night, I did a pull request to add tilemaster, figuring
I wouldn't do anything else tonight, but then... I did more stuff. In this
case, should I just do another pull request without canceling the original
one, or should I cancel the original and just do another pull request?
I really don't get git much, so sorry for the confusion.
—
Reply to this email directly or view it on GitHub
https://github.com/IGDAStl/gateway2dwest/issues/11.

The way github works, if you do a pull request and then add additional commits to your branch you are pulling from, they are automatically added to a pull request. I think the reason it works that way, is pull requests are a place where dialogue can occur about the pull request. As changes are suggested, commits can be changed or added. If it required a new pull request to pick up changes all the dialogue would be lost with each change.
So if you want to have 2 separate pull requests going with different content, you will need 2 branches.

Seems either like you said, it automatically put everything else I did into the pull, or doing a second pull request automatically adds everything into the first. Either way, all updates are there, so :D


feat: allow changing the output branch and directory using the data

Signed-off-by: Harikrishnan Balagopal<EMAIL_ADDRESS>

Are we not moving away from base64?

Are we not moving away from base64?

We have both options now. It will be useful for some cases where the config is large, has special characters, or where yaml diverges from json, etc.

Are we not moving away from base64?

Having base64 makes it easy to copy paste an existing config.yaml without having to convert it to json.


IdentifierGenerator work

Groups the work done for the individual sub-tasks of https://hibernate.atlassian.net/browse/HHH-14506.
The explicit list of covered sub-tasks (for the sake of passing the PR checks):

HHH-14496
HHH-14497
HHH-14718

Superseded by https://github.com/hibernate/hibernate-orm/pull/4429


Convert backslashes to slashes before passing through XSLT resolve-uri function

Particular fix for #2243
Convert backslashes to slashes before passing through XSLT resolve-uri function

This is a workaround in 2.2 branch and should be reverted from 2.3.


Add vision landmark detection

Based off of #2235.
Add LocationInformation for LANDMARK_DETECTION support.
I will rebase with master after #2224 and #2235 are merged.

@tseaver, this one should be good to go now as well!

LGTM


fix open links in deferent tabs

Fix open links in different tabs
Proposed Changes

remove goToLinkHandle function
add window.open to Link onChange directly

Screenshots
before:

after:

add window.open to Link onChange directly

Merge Conflict
Thank you for your contribution. Your pull request currently has conflicting changes with our main branch. In order to review this pull request, we will need those conflicts to be resolved.
We recommend doing this with the git rebase command. If you are unsure of how to fix this, let us know and we would be happy to assist you.

@mohammad4kh are you still working on this? Let us know if you need help resolving the merge conflicts.

@mohammad4kh is there any updates on this? Please see the comments and reviews above.
Thank you.

Hey there, do you need any help? 🙂

Thanks for your contribution. I'll close this PR for now as there are merge conflicts that need fixing and it has not been worked on for a long time. Feel free to open it up again if you get the time to fix the conflicts and work on it again and of course, you're welcome back to tackle more issues in the future :-)


fixes error curl installation of nodejs

this PR fixes client and optimist service docker build. error description at https://github.com/nodesource/distributions/issues/1266

This is still necessary as long-term fix for Node 14.x has not been implemented


Trying to connecto to mqtt

I am having trouble connecting the Sparkfun ESP8266 WiFi Shield to the adafruit mqtt broker.
Does anyone have done that before?
Here is my code.
/************************************************************
ESP8266_Ping.h
SparkFun ESP8266 AT library - Ping Demo
Jim Lindblom @ SparkFun Electronics
Original Creation Date: July 16, 2015
https://github.com/sparkfun/SparkFun_ESP8266_AT_Arduino_Library
This example pings a destination server over and over and over.
It'll print the response time (in ms) to the serial monitor.
Development environment specifics:
IDE: Arduino 1.6.5
Hardware Platform: Arduino Uno
ESP8266 WiFi Shield Version: 1.0
This code is released under the MIT license.
Distributed as-is; no warranty is given.
************************************************************/
#include <SoftwareSerial.h>
#include <SparkFunESP8266WiFi.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
// Replace these two character strings with the name and
// password of your WiFi network.
const char mySSID[] = "c67992";
const char myPSK[] = "280637438";
char destServer[] = "sparkfun.com";
#define AIO_SERVER      "io.adafruit.com"
#define AIO_SERVERPORT  1883
#define AIO_USERNAME    "manuelgop"
#define AIO_KEY         "myAIOKEY"
ESP8266Client client;
// Setup the MQTT client class by passing in the WiFi client and MQTT server and login details.
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY);
/****************************** Feeds ***************************************/
// Setup a feed called 'photocell' for publishing.
// Notice MQTT paths for AIO follow the form: /feeds/
Adafruit_MQTT_Publish photocell = Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/photocell");
// Setup a feed called 'onoff' for subscribing to changes.
Adafruit_MQTT_Subscribe onoffbutton = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/onoff");
void MQTT_connect();
void setup()
{
Serial.begin(9600);
delay(10);
while (esp8266.begin() != true)
{
Serial.print("Error connecting to ESP8266.");
delay(1000);
}
if (esp8266.status() <= 0)
{
while (esp8266.connect(mySSID, myPSK) < 0)
delay(1000);
}
delay(1000);
//Ya conectado
displayConnectInfo();
mqtt.subscribe(&onoffbutton);
}
uint32_t x=0;
void displayConnectInfo()
{
char connectedSSID[24];
memset(connectedSSID, 0, 24);
// esp8266.getAP() can be used to check which AP the
// ESP8266 is connected to. It returns an error code.
// The connected AP is returned by reference as a parameter.
int retVal = esp8266.getAP(connectedSSID);
if (retVal > 0)
{
Serial.print(F("Connected to: "));
Serial.println(connectedSSID);
}
// esp8266.localIP returns an IPAddress variable with the
// ESP8266's current local IP address.
IPAddress myIP = esp8266.localIP();
Serial.print(F("My IP: ")); Serial.println(myIP);
}
void loop()
{
MQTT_connect();
Adafruit_MQTT_Subscribe *subscription;
while ((subscription = mqtt.readSubscription(5000))) {
if (subscription == &onoffbutton) {
Serial.print(F("Got: "));
Serial.println((char *)onoffbutton.lastread);
}
}
// Now we can publish stuff!
Serial.print(F("\nSending photocell val "));
Serial.print(x);
Serial.print("...");
if (! photocell.publish(x++)) {
Serial.println(F("Failed"));
} else {
Serial.println(F("OK!"));
}
delay(1000);
}
void MQTT_connect() {
int8_t ret;
// Stop if already connected.
if (mqtt.connected()) {
return;
}
Serial.print("Connecting to MQTT... ");
uint8_t retries = 5;
while ((ret = mqtt.connect()) != 0) { // connect will return 0 for connected
Serial.println(mqtt.connectErrorString(ret));
Serial.println("Retrying MQTT connection in 5 seconds...");
mqtt.disconnect();
delay(5000);  // wait 5 seconds
retries--;
if (retries == 0) {
// basically die and wait for WDT to reset me
while (1);
}
}
Serial.println("MQTT Connected!");
}

You may want to try their library that they have written explicitly for the Adafruit IO. Based on their documentation, it should be compatible with any generic ESP8266, like the one used on the shield. It looks like you would have to program the ESP8266 directly through the available FTDI connections on the shield.


New package: caarlos0.fork-cleaner 2.3.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Automated with GoReleaser
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/110633&drop=dogfoodAlpha

@microsoft-github-policy-service agree

Hi @caarlos0,
Unfortunately, this package didn't pass a Defender scan:

Please check your systems and recompile. It's also possible this might be a false positive that clears later.

That's weird, will make sure all dependencies are up to date just in case, but I think this is a false positive 🤔

That's weird, will make sure all dependencies are up to date just in case, but I think this is a false positive 🤔

I've rechecked and it was. This Defender scan passed. Thank you for your patience and understanding.

/AzurePipelines run

This package needs a GitHub token.

missing github token

I'll give it a waiver when validation errors.

@wingetbot waivers Add Validation-Executable-Error


Cleanup: Migration plans

MTV 2.4
Partially resolves https://issues.redhat.com/browse/MTV-510 by updating Section 4.4, "Creating a migration plan" to reflect changes to the UI or to cleanup aspects of the OCP plugin not covered in previous PRs.
Preview: http://file.emea.redhat.com/rhoch/cleanup_migrationPlan/html-single/#creating-migration-plan_mtv

@ahadas @qiyann Please review.

@ahadas I made the change you requested. Please review again.
@qiyuann Please review this PR.

@ahadas @qiyuann Please review this PR.

@ahadas Please review this PR again -- I fixed the "definition" problem.


eclipse warnings cleanup - References to generic type (20 Cases)

This one I think somebody more familiar with code should cleanup, preferably by setting the correct types, or as a last resort suppress the warning..
ResponseEntity is a raw type. References to generic type ResponseEntity should be parameterized  DashboardController.java    /api/src/main/java/com/capitalone/dashboard/rest    line 56
ResponseEntity is a raw type. References to generic type ResponseEntity should be parameterized  ServiceController.java  /api/src/main/java/com/capitalone/dashboard/rest    line 7
ResponseEntity is a raw type. References to generic type ResponseEntity should be parameterized  ServiceController.java  /api/src/main/java/com/capitalone/dashboard/rest    line 91
Map.Entry is a raw type. References to generic type Map<K,V>.Entry<K,V> should be parameterized Dashboard.java  /core/src/main/java/com/capitalone/dashboard/model  line 89
Map.Entry is a raw type. References to generic type Map<K,V>.Entry<K,V> should be parameterized PipelineServiceImpl.java    /api/src/main/java/com/capitalone/dashboard/service line 205
Map is a raw type. References to generic type Map<K,V> should be parameterized  Dashboard.java  /core/src/main/java/com/capitalone/dashboard/model  line 84
Map is a raw type. References to generic type Map<K,V> should be parameterized  PipelineServiceImpl.java    /api/src/main/java/com/capitalone/dashboard/service line 106
List is a raw type. References to generic type List should be parameterized  HudsonCollectorTaskTests.java   /jenkins-build-collector/src/test/java/com/capitalone/dashboard/collector   line 75
List is a raw type. References to generic type List should be parameterized  PipelineServiceTest.java    /api/src/test/java/com/capitalone/dashboard/service line 70
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultHudsonClientTests.java   /jenkins-build-collector/src/test/java/com/capitalone/dashboard/collector   line 105
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultHudsonClientTests.java   /jenkins-build-collector/src/test/java/com/capitalone/dashboard/collector   line 105
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultHudsonClientTests.java   /jenkins-build-collector/src/test/java/com/capitalone/dashboard/collector   line 119
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultHudsonClientTests.java   /jenkins-build-collector/src/test/java/com/capitalone/dashboard/collector   line 119
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultHudsonClientTests.java   /jenkins-build-collector/src/test/java/com/capitalone/dashboard/collector   line 133
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultHudsonClientTests.java   /jenkins-build-collector/src/test/java/com/capitalone/dashboard/collector   line 133
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultJenkinsClientTest.java   /jenkins-cucumber-test-collector/src/test/java/com/capitalone/dashboard/collector   line 74
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultJenkinsClientTest.java   /jenkins-cucumber-test-collector/src/test/java/com/capitalone/dashboard/collector   line 74
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultJenkinsClientTest.java   /jenkins-cucumber-test-collector/src/test/java/com/capitalone/dashboard/collector   line 88
HttpEntity is a raw type. References to generic type HttpEntity should be parameterized  DefaultJenkinsClientTest.java   /jenkins-cucumber-test-collector/src/test/java/com/capitalone/dashboard/collector   line 88
Collection is a raw type. References to generic type Collection should be parameterized  DefaultSubversionClient.java    /subversion-collector/src/main/java/com/capitalone/dashboard/collector  line 67

Mostly fixed with Merge pull request #396
One item remaining:
Description	Resource	Path	Location	Type
Type safety: The method add(Object) belongs to the raw type ArrayList. References to generic type ArrayList should be parameterized	DefaultUDeployClient.java	/udeploy-deployment-collector/src/main/java/com/capitalone/dashboard/collector	line 242	Java Problem

Fixed and merged.


[Top Bar] topbar-link-color too close to topbar-background color

How can we reproduce this bug?

From the first code example on the Sites Doc: http://foundation.zurb.com/sites/docs/top-bar.html#basics

Specifically:

Site Title

        One

One

Two

Three

Two

Three

What did you expect to happen?
I expect to be able to clearly see the links: "One", "Two", "Three"
What happened instead?
Instead I can barely see the difference between the top bar background (#eeeeee) and top bar links text color (#ffffff).
I am using foundation-sites: https://www.npmjs.com/package/foundation-sites and building with SASS.

This was fixed in version 6.0.6 via 9bf0552ef5f737c1e209e9efd5c2e76b05afbdbe


ClientPICSProductInfoRequest with 'message'/send (question)

Following your answer in #445 I've used NetHook2 with NetHookAnalyzer2 to find out relevant EMsgs and protobuf classes used by app_info_print in Steam's console :

ClientPICSProductInfoRequest (8903)
ClientPICSProductInfoResponse (8904)

I'm trying to send ClientPICSProductInfoRequest using .send() method.
But I'm stuck with the buffer content ?
I saw this issue #363 where you say to use node-steam-resources to get protobuf definitions but I can't seem to find ClientPICSProductInfoRequest in it.
const Steam = require('steam');
const schema = require('steam-resources');

/* ... */

Steam.send(
    {
      msg: Steam.EMsg.ClientPICSProductInfoRequest, //This exists okay
      proto: {} //I think I don't need to set any fields
    },
//body (buffer)
//Following your src code and #363 I should do something like this I believe :
 new schema.Internal.ClientPICSProductInfoRequest({
        appid: 1113000,
        acces_token: 0
    }).toBuffer()
//But I have look around in what's returned by 'steam-resources' and can't seem to find it.
// Or is there a way for me to implement it myself ?
);

I know this is not an helpdesk ^^ I've looked through this repo and steam-resources's repo and after many hours I'm still completely stuck ! 😰
I feel like I'm really close to want I want to do and only need to figure out what I am supposed to send as a buffer for this method.
After that I basically just need sha and http_host from the body response.
And I can get the file like so http_host + appid + sha
eg: http://clientconfig.akamai.steamstatic.com/appinfo/1113000/sha/C1D1469A3D62F922FC0055C8D3FD6E4B7C8669E8.txt.gz
Could you be so kind as to point me in the right direction to send the correct buffer for ClientPICSProductInfoRequest (8903) ?

I'm not sure why NetHookAnalyzer2 isn't showing the protobuf message name (I would submit an issue about it), but it's probably CMsgClientPICSProductInfoRequest defined in https://github.com/SteamDatabase/Protobufs/blob/master/steam/steammessages_clientserver.proto.

Ahhh !!! Thank you so much ❤ I managed to do what I wanted 🚀


External zookeeper kafka

These changes allow users to deploy OpenWhisk with an external zookeeper and kafka.
If kafka and zookeeper are toggled off, you can either define their hostnames in mycluster.yml, or if included as a dependency in a parent chart, define kafka_host, zookeeper_connect, and zookeeper_zero_host in _helpers.tpl.

I didn't document or test the changes to _helpers.tpl well enough.
My use case includes deploying this OpenWhisk chart as dependency of another chart, so after  disabling the kafka and zookeeper defined in these charts, all I needed to do was define kafka_host, zookeeper_connect, and zookeeper_zero_host in my _helpers.tpl, but theoretically these changes would allow someone to deploy this chart into the same namespace as an existing zookeeper and kafka service by configuring their hostnames in mycluster.yml like this
kafka:
  external: true
  name: <existing kafka service>

zookeeper:
  external: true
  name: <existing zookeeper service>

Hi @StrayCat1, thanks for the contribution!
If  you haven't done so already, could  you please sign an Apache CLA (see https://github.com/apache/incubator-openwhisk/blob/master/CONTRIBUTING.md)?

Thanks, I looked at the changes and they all look good to me.  Let me know when the Apache secretary acks your CLA and I'll go ahead and merge it.

Hey @dgrove-oss sorry for the delay. The secretary responded to my submission with this:

This message acknowledges receipt of your ICLA, which has been filed in the Apache Software Foundation records.
If you have been invited as a committer, please advise the (P)PMC that your ICLA has been filed.
If you have not been invited, please refer to http://www.apache.org/foundation/how-it-works.html#developers for more information about roles at Apache.
New accounts will not be created for contributors without an invitation from an ASF Project/Incubator podling.
Warm Regards,
-- Craig L Russell
Secretary, Apache Software Foundation

Not sure if that means I'm official or waiting to get added to that list of contributors first. http://people.apache.org/committer-index.html


[API] Added deprecation page to API tile content

yes - going to note that for a future edit when that's easier to implement


Start/Stop time

When pausing the game or when finishing a level we want to be able to stop "time".
This includes:

Player input
Enemy movement
Game timer
Ghost tracking
...

Is setting Time.timeScale to 0/1 an option, or do we have other things relying on scaled time which we can't be switched to unscaled?


Make regression set smaller

Hopefully it then won't take as long to evaluate.
Using a (different) set of 39 files instead of 103, it now takes 45m to run the evaluation, instead of 2h.

[x] Check whether the results are comparable

Understanding Evaluation Output
Nomenclature
The following things are considered the same:

entity
mention cluster
coreference chain
coreference class

Conclusions
Performance
All in all: the system has to improve on all fronts.
The 39 files dataset is harder on five out of six fronts:

recall of mention detection
precision mention detection
precision of coreference links
recall of non-coreference links
precision of non-coreference links

It has slightly better recall of coreference links.
Evaluation metrics
I'll only want to use BLANC.
Short explanation of BLANC
According to the paper in which the BLANC measure was introduced (also a good read if you want to know what the other measures are), it is better than the others.
BLANC asserts that all mentions are pairwise linked with either one of two links: a "coreference" link (if the two mentions are in the same coreference class) and a "non-coreference" link (if they aren't).
Precision and recall (and thus F1), now, are measured separately for the two types of links.
The final BLANC precision and recall are calculated as the average of the coreference and non-coreference precision and recall (respectively)[^1].
Thus if "coreference"-precision is low, this means that you are linking things that shouldn't be, while if "non-coreference"-precision is low, then you're not linking things that should be.
[^1]: Note that it doesn't matter whether you calculate BLANC F1 as the average of BLANC recall and BLANC precision, or as the average of coreference F1 and non-coreference F1.
Tables
Identification of Mentions
The "Identification of Mentions" part of all results was (unsurprisingly) exactly the same for all measures.
Conclusion: the 39 files seem to be 4%pt worse on both precision and recall.
This would mean the smaller set gives the "worst case" results.

Dataset
Recall
Precision
F1

39 files
41.44
37.95
39.62

103 files
45.41
41.62
43.43

Coreference
BLANC: BLANC is the average of BLANC: coreference links and BLANC: non-coreference links. I guess that those two are exactly what we think they are?
Conclusion: the 39 files seem to be consistently worse. Looking at the BLANC scores, this seems to be because of the large difference in non-coreference links. The coreference links, on the other hand, seem a bit better.
39 Files

Metric
Recall
Precision
F1

MUC
31.23
17.16
22.15

BCUB
30.92
23.63
26.79

CEAFM
27.33
25.03
26.13

CEAFE
23.78
29.36
26.28

BLANC: coreference links
17.18
4.47
7.10

BLANC: non-coreference links
17.18
14.46
15.70

BLANC: BLANC
17.18
9.47
11.40

103 Files

Metric
Recall
Precision
F1

MUC
31.49
18.61
23.40

BCUB
34.84
27.64
30.82

CEAFM
32.21
29.52
30.81

CEAFE
29.21
33.85
31.36

BLANC: Coreference links
15.60
3.70
5.99

BLANC: Non-coreference links
22.77
19.87
21.22

BLANC: BLANC
19.19
11.79
13.60

Summarized part of the output
39 Files
MUC
METRIC muc:
(...)
====== TOTALS =======
Identification of Mentions: Recall: (5420 / 13079) 41.44%   Precision: (5420 / 14279) 37.95%    F1: 39.62%
--------------------------------------------------------------------------
Coreference: Recall: (1140 / 3650) 31.23%   Precision: (1140 / 6642) 17.16% F1: 22.15%
--------------------------------------------------------------------------

BCUB
METRIC bcub:
(...)
====== TOTALS =======
Identification of Mentions: Recall: (5420 / 13079) 41.44%   Precision: (5420 / 14279) 37.95%    F1: 39.62%
--------------------------------------------------------------------------
Coreference: Recall: (4044.33534079177 / 13079) 30.92%  Precision: (3374.40246407164 / 14279) 23.63%    F1: 26.79%
--------------------------------------------------------------------------

CEAFM
METRIC ceafm:
(...)
====== TOTALS =======
Identification of Mentions: Recall: (5420 / 13079) 41.44%   Precision: (5420 / 14279) 37.95%    F1: 39.62%
--------------------------------------------------------------------------
Coreference: Recall: (3575 / 13079) 27.33%  Precision: (3575 / 14279) 25.03%    F1: 26.13%
--------------------------------------------------------------------------

CEAFE
METRIC ceafe:
(...)
====== TOTALS =======
Identification of Mentions: Recall: (5420 / 13079) 41.44%   Precision: (5420 / 14279) 37.95%    F1: 39.62%
--------------------------------------------------------------------------
Coreference: Recall: (2242.63488630081 / 9429) 23.78%   Precision: (2242.63488630081 / 7637) 29.36% F1: 26.28%
--------------------------------------------------------------------------

BLANC
METRIC blanc:
(...)
====== TOTALS =======
Identification of Mentions: Recall: (5420 / 13079) 41.44%   Precision: (5420 / 14279) 37.95%    F1: 39.62%
--------------------------------------------------------------------------

Coreference:
Coreference links: Recall: (9144 / 53207) 17.18%    Precision: (9144 / 204350) 4.47%    F1: 7.1%
--------------------------------------------------------------------------
Non-coreference links: Recall: (749571 / 4362646) 17.18%    Precision: (749571 / 5181359) 14.46%    F1: 15.7%
--------------------------------------------------------------------------
BLANC: Recall: (0.171836384487263 / 1) 17.18%   Precision: (0.094706815080038 / 1) 9.47%    F1: 11.4%
--------------------------------------------------------------------------

103 Files
Same order of metrics as above.
====== TOTALS =======
Identification of Mentions: Recall: (11190 / 24639) 45.41%  Precision: (11190 / 26885) 41.62%   F1: 43.43%
--------------------------------------------------------------------------
Coreference: Recall: (2136 / 6781) 31.49%   Precision: (2136 / 11472) 18.61%    F1: 23.4%
--------------------------------------------------------------------------

====== TOTALS =======
Identification of Mentions: Recall: (11190 / 24639) 45.41%  Precision: (11190 / 26885) 41.62%   F1: 43.43%
--------------------------------------------------------------------------
Coreference: Recall: (8585.49735520086 / 24639) 34.84%  Precision: (7431.55155763369 / 26886) 27.64%    F1: 30.82%
--------------------------------------------------------------------------

====== TOTALS =======
Identification of Mentions: Recall: (11190 / 24639) 45.41%  Precision: (11190 / 26885) 41.62%   F1: 43.43%
--------------------------------------------------------------------------
Coreference: Recall: (7938 / 24639) 32.21%  Precision: (7938 / 26886) 29.52%    F1: 30.81%
--------------------------------------------------------------------------

====== TOTALS =======
Identification of Mentions: Recall: (11190 / 24639) 45.41%  Precision: (11190 / 26885) 41.62%   F1: 43.43%
--------------------------------------------------------------------------
Coreference: Recall: (5218.07781140815 / 17858) 29.21%  Precision: (5218.07781140815 / 15414) 33.85%    F1: 31.36%
--------------------------------------------------------------------------

====== TOTALS =======
Identification of Mentions: Recall: (11190 / 24639) 45.41%  Precision: (11190 / 26885) 41.62%   F1: 43.43%
--------------------------------------------------------------------------

Coreference:
Coreference links: Recall: (8243 / 52806) 15.6% Precision: (8243 / 222344) 3.7% F1: 5.99%
--------------------------------------------------------------------------
Non-coreference links: Recall: (1636422 / 7184001) 22.77%   Precision: (1636422 / 8233612) 19.87%   F1: 21.22%
--------------------------------------------------------------------------
BLANC: Recall: (0.191943340330149 / 1) 19.19%   Precision: (0.117911082754321 / 1) 11.79%   F1: 13.6%
--------------------------------------------------------------------------

(8243 / 52806 + 1636422 / 7184001) / 2 = 0.1919433403301486

After https://github.com/MPvHarmelen/coref-experiment/commit/444b855bcba1c5f267194d8ef8e4ad8559f4fd83, the evaluation is now super fast, because I only care about BLANC anyway!


Add support for RTL

Some of our customers use "RTL" languages. Add a database configuration to support RTL languages.

duplicated #153


iOS: null is not an object evaluating TfliteReactNative.loadmodel

First of all, thanks for this awesome project. Had this working on Android but not quite on iOS. The home screen with the buttons shows up. However, clicking on a button results in error: null is not an object evaluating TfliteReactNative.loadmodel
The only change I made was in the Pod file to get the build to succeed.
Pod file:
platform :ios, '9.0'

target 'example' do
  pod 'TensorFlowLite', '1.12.0'
  pod 'react-native-image-picker', :path => '../node_modules/react-native-image-picker'

  pod 'React', :path => '../node_modules/react-native'
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

end

My npm version is 6.5.0
Need help with resolving this. Thanks.

Hi,
Can you please try to manually link the library to your project?
https://github.com/shaqian/tflite-react-native#ios
Thanks,
Qian

Thank you, Qian. I was finally able to resolve the issue by making some additional changes to the Pod file. However, I'll manually link the library later as well. Maybe it could fix this, but I had previously checked to make sure that all the files were added correctly via automatic linking.

Thank you, Qian. I was finally able to resolve the issue by making some additional changes to the Pod file. However, I'll manually link the library later as well. Maybe it could fix this, but I had previously checked to make sure that all the files were added correctly via automatic linking.

Can you provide me the podfile changes you made to make it work?

Thank you, Qian. I was finally able to resolve the issue by making some additional changes to the Pod file. However, I'll manually link the library later as well. Maybe it could fix this, but I had previously checked to make sure that all the files were added correctly via automatic linking.

Can you provide me the podfile changes you made to make it work?

Here you go.
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'

target 'TurdsWithFriends' do
  pod 'TensorFlowLite', '1.12.0'
  pod 'react-native-image-picker', :path => '../node_modules/react-native-image-picker'
  pod 'React', :path => '../node_modules/react-native'
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
  pod 'TfliteReactNative', :path => '../node_modules/tflite-react-native/ios'

end

# Workaround for RN upgrade issues: https://github.com/facebook/react-native/issues/24192
post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == "React"
      target.remove_from_project
    end
  end
end

@ojiofong since you're using POD, so you didn't had done the manual linking part, right? I had done the same, but I'm getting

Actually in TfliteReactNative.loadModel,  TfliteReactNative is undefined which is destructed from NativeModules

Manually linking with iOS fixed my issue

@hokaiyipFS which react native version are you using?

@Tayyaba3317  0.63.2

Sorry to rehash an old thread but I'm having this same issue.  And have tried the above fixes with no luck.
It does work if I build it to Android, which makes me think I have the models files in the wrong place.
This is where I have them currently:   /ios/AppName/models
Any help appreciated.

Sorry to rehash an old thread but I'm having this same issue. And have tried the above fixes with no luck.
It does work if I build it to Android, which makes me think I have the model files in the wrong place.
This is where I have them currently: /ios/AppName/models
Any help appreciated.

Same issue. I tried manual link, however, when I try to build model in XCode, I get this:

Same issue. I tried manual link, however, when I try to build model in XCode, I get this:

This comment helped me sort a similar RCTBridge issue.
Then just make sure you build it from Xcode from the xcworkspace not the xcodeproj


Question about security warning

I saw you placed a security warning on the repo. Could you elaborate about the security risk? I assumed that as long as you use mTLS and use proper security rules with your Firebase project, then there shouldn’t be a security problem.

The signed in Shiny user is set via a Shiny input.  This is not secure because the front end user can  manually set Shiny input values in JavaScript with Shiny.setInputValue().

How would one use this maliciously?


I think replacing moment.js with day.js is super important for this project. what do you think?

Everybody knows Moment.js is getting old and has some issues with being mutable. Even their website suggests moving on to newer libraries. Switching to a modern date and time library is super important for keeping things smooth and efficient.

yeah i think so
if u check from the helper.date.service under the common folder
u will find that, i already did replace moment.js with the luxon

Awesome!!! and Thank You So Much


bg-neutral with night theme

bg-neutral with default theme looks good:

bg-neutral with dark theme looks good:

bg-neutral with night theme looks weird:

Each color has a *-content color with the best contrast.
If you use bg-primary, also use text-primary-content with it.
If you use bg-neutral, also use text-neutral-content with it.
This will guarantee all your background+foreground color combinations to have a good contrast.
Example:
https://play.tailwindcss.com/jTcA9jepZf
You can also see the preview of all foreground+background colors of all themes on this page:
(see text color and background colors of A letters)
https://daisyui.com/docs/themes/


Getting 404 for this URL https://github.com/SAP-samples/cloud-apis-virtual-event/

Is the URL above supposed to be live at some point before next week?
thx,
gm

If DJ can get 25 likes on his tweet he will release the repo early. Otherwise it will be live next week:
https://twitter.com/qmacro/status/1309047687061409794

aha, i remember the tweet and that i did like it, so maybe if i retweet with this we get more likes.


Revise AKS kontainer-engine driver and add missing fields

We need to get in line with what AKS has to offer in the latest version.
Most likely there will missing fields and stuff, and we have to go through AKS API and UI to see what's missing, and add it on our side

rancher/rancher:master
The following fields are functional in UI & backend:

OS Disk size
Enable ingress controller
Enable Azure monitoring
Enable network policy
customize tags
agent count
kubernetes version

Currently blocked from closing by: #18027 to validate Azure AD integration

I could not find the Azure Active Directory configuration from Azure UI, but found in az aks create -h:

Here is a doc for the integration: https://docs.microsoft.com/en-us/azure/aks/aad-integration, but it seems so complicated.

Link to https://github.com/rancher/rancher/issues/18027

Azure AD integration is tracked in https://github.com/rancher/rancher/issues/18102


levar delete experiment - won't let you delete an experiment

Doesn't seem to be matching the experiment name correctly in the confirmation step, and incorrectly reports:
Org + dataset do not match

Can't replicate -- seems to work now.


[release/1.2] Prepare v1.2.11 release

Update the runc vendor to v1.0.0-rc9 which includes an additional mitigation for
CVE-2019-16884.

More details on the runc CVE in opencontainers/runc#2128, and the additional mitigations in opencontainers/runc#2130.

Add local-fs.target to service file to fix corrupt image after unexpected host reboot.
Reported in containerd/containerd#3671,
and fixed by containerd/containerd#3746.

Update Golang runtime to 1.12.13, which includes security fixes to the crypto/dsa
package made in Go 1.12.11 (CVE-2019-17596), and fixes to the go command, runtime, syscall and net packages (Go 1.12.12).

CRI fixes:

Fix shim delete error code to avoid unnecessary retries in the CRI plugin. Discovered in containerd/cri#1309, and fixed by containerd/containerd#3732 and containerd/containerd#3739.

Generated notes;
containerd 1.2.11
Welcome to the v1.2.11 release of containerd!
The eleventh patch release for containerd 1.2  includes updated vendors/build
runtimes that fix reported CVEs in runc and the Golang 1.12 runtime respectively.
Notable Updates

Update the runc vendor to v1.0.0-rc9 which includes an additional mitigation for
CVE-2019-16884.

More details on the runc CVE in opencontainers/runc#2128,
and the additional mitigations in opencontainers/runc#2130.

Add local-fs.target to service file to fix corrupt image after unexpected host reboot.
Reported in containerd/containerd#3671,
and fixed by containerd/containerd#3746.

Update Golang runtime to 1.12.13, which includes security fixes to the crypto/dsa
package made in Go 1.12.11 (CVE-2019-17596),
and fixes to the go command, runtime, syscall and net packages (Go 1.12.12).

CRI fixes:

Fix shim delete error code to avoid unnecessary retries in the CRI plugin.
Discovered in containerd/cri#1309,
and fixed by containerd/containerd#3732
and containerd/containerd#3739.

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.
Contributors

Sebastiaan van Stijn
Lantao Liu
Michael Crosby
Derek McGowan
Wei Fu
Mike Brown
Phil Estes

Changes

8c92951c Prepare v1.2.11 release
c2383a5f Merge pull request  #3768 from thaJeztah/1.2_backport_bump_golang_1.12.x
d1960b41 Merge pull request  #3771 from estesp/update-vndr
0b9135f1 Catch up vndr with state of vendor/ dir
435e05fd [release/1.2] pin travis to go 1.12.12
e319caed Update Golang 1.12.12 (CVE-2019-17596)
b0d7ef61 Merge pull request  #3746 from crosbymichael/localfs2
c471c95b Add local-fs.target to service file
c3532a35 Merge pull request  #3739 from estesp/cp-1.2-3736
847f74c2 Fix delete error code on the containerd daemon side.
44563810 Merge pull request  #3732 from Random-Liu/cherrypick-#3730-release-1.2
611766af Fix shim delete error code.
816dfe39 Merge pull request  #3723 from thaJeztah/1.2_backport_bump_runc_1.0.0-rc9
639be358 bump runc v1.0.0-rc9
b3019090 Bump runc to 1b8a1eeec3f337ab5d94f28980
8fb208fb Revert "Revert "bump libseccomp-golang v0.9.1""
deca8e0e Merge pull request  #3700 from Random-Liu/automate-cri-tarball-release
889f5f80 Automate CRI tarball release.

Changes from containerd/cri

bab7348f Merge pull request  #1304 from Random-Liu/cherrypick-#1266-release-1.2
ec7287ac Support local containerd release.

Dependency Changes
Previous release can be found at v1.2.10

github.com/containerd/cri             40affe7c7402 -> bab7348fcfcc
github.com/opencontainers/runc        3e425f80a8c9 -> d736ef14f028
github.com/seccomp/libseccomp-golang  32f571b70023 -> v0.9.1

hm, looks like GitHub Flavored markdown makes the line-wrapping a bit awkward; let me remove some newlines in the description

Codecov Report

Merging #3811 into release/1.2 will increase coverage by 3.18%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           release/1.2    #3811      +/-   ##
===============================================
+ Coverage           41%   44.19%   +3.18%
===============================================
  Files               70      100      +30
  Lines             9537    10847    +1310
===============================================
+ Hits              3911     4794     +883
- Misses            5061     5313     +252
- Partials           565      740     +175

Flag
Coverage Δ

#linux
47.87% <ø> (?)

#windows
41% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

mount/temp_unix.go
0% <0%> (ø)

sys/reaper_linux.go
0% <0%> (ø)

services/server/server_linux.go
0% <0%> (ø)

sys/env.go
100% <0%> (ø)

sys/stat_unix.go
0% <0%> (ø)

runtime/v2/shim/shim_unix.go
0% <0%> (ø)

sys/reaper.go
0% <0%> (ø)

sys/fds.go
0% <0%> (ø)

sys/proc.go
0% <0%> (ø)

sys/mount_linux.go
0% <0%> (ø)

... and 26 more

Continue to review full report at Codecov.

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

note that the Go 1.12.13 bump wasn't merged yet, but I anticipated it to be merged before a release is done 🤗

one more ticket for https://github.com/containerd/containerd/pull/3821.
Thanks!

I pushed an update, @thaJeztah can you review it looks good then we can get this released.

@dmcgowan afaics, changes look good, but looking what change you made 😅

LGTM


'md-toolbar' is not a known element:

Steps to reproduce:

download and unzip the angular4-material-seed.
npm install
npm test

Note the failed specs resulting from the following error:

Failed: Template parse errors:
'md-toolbar' is not a known element:

If 'md-toolbar' is an Angular component, then verify that it is part of this module.
If 'md-toolbar' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message. ("[ERROR ->]My App

I think it's happening because now it's mat-toolbar, isn't it?


minor offers cleanup on backend

Cleaning unused offers functionality on backend

Codecov Report

Merging #995 into master will increase coverage by 0.75%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #995      +/-   ##
==========================================
+ Coverage   89.22%   89.97%   +0.75%
==========================================
  Files         109      107       -2
  Lines        2728     2684      -44
  Branches       23       23
==========================================
- Hits         2434     2415      -19
+ Misses        292      267      -25
  Partials        2        2

Impacted Files
Coverage Δ

backend/apps/volontulo/models.py
94.89% <ø> (+14.89%)
:arrow_up:

Continue to review full report at Codecov.

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


[BUG] The pagination bar is fixed

Description
The pagination bar is fixed and overlaps other elements on the screen.
Screenshots

Any additional information?
No response
What browser are you seeing the problem on?
Microsoft Edge
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am participating in Hacktoberfest 2023

@Akanksha-202 can you please elaborate on how are you going to fix this?

I have two solutions for this, you can choose either:

Sticking it to the bottom, just above the footer.
Putting Navigation arrows to extremes of the cards.
ex:

I have two solutions for this, you can choose either:

Sticking it to the bottom, just above the footer.
Putting Navigation arrows to extremes of the cards.
ex:

Arrows won't look nice.
@Akanksha-202 we've decided that we'd remove this pagination and add lazy-loading instead. So please let us know if you want to work on this issue #1833 and close this one.

Yes sure, I'm interested and can implement lazy loading, assign that issue and close this.


[Autocomplete] Ignore object keys in default filter

Closes #18462

[ ] I have followed (at least) the PR section of the contributing guide.

@eggbread Thanks, could you add a test case for it?

Okay. I will do it

Excuse me, Actually I am in first time PR with test. Can you tell me some instruction? Thank you

@eggbread You can find some instructions in the pull request description:

Then reading the document, you can find the test guide, it should up to date:

https://github.com/mui-org/material-ui/blob/master/test/README.md
I went ahead and added a test case, hopefully, it can give you an idea of what it implies if you wish to contribute in the future :). Thanks for taking the time to look at this problem!

I have to go one PR LOG... Becase of my lecture OMG....

Thanks


Stop Conformity Monkey on destroy

In addition to the other monkeys.

PTAL.
Related question: why does the Simian Army start/stop all the monkeys, even if they're disabled via properties. I found this to be a bit confusing when first using the app, especially since the scheduler keeps logging that it's not time for monkey X even though X has been disabled.

That is a good question, I've wondered that myself.  I would agree that if a monkey is disabled it would be better to not see any messages from it.
My theory about why they are started/stopped even if disabled: internally at Netflix the properties class is replaced with a Netflix internal realtime distributed property system.  It gives us the ability to change any property from a central location and have the changes reflected in real time in any app including SimianArmy.  So in theory we could enable/disable a monkey instantly with a property change but it would only work if the Monkey was enabled/started in the first place.  However in reality we never do this so it is a purely theoretical capability.

PR LGTM thanks for the contribution!

internally at Netflix the properties class is replaced with a Netflix internal realtime distributed property system

@ebukoski OK, in that context the code makes sense. Thanks for the detailed explanation.


DashboardLayout -> Navigation | Fails with Dynamic Path

Steps to reproduce

router.js:

const routerConfig = createBrowserRouter([
  {
    children: [
      {
        children: publicRoutes,
        element: <HeaderLayout />,
        id: "public",
      },
      {
        children: privateRoutes,
        element: <SidebarLayout />,
        id: "private",
        loader: async () => {
          --- SNIP ---
        },
        path: ":tenantId",
      },
    ],
    element: <App />,
    path: "/",
  },
]);

export default routerConfig;

privateRoutes.js:

const privateRoutes = [
  {
    index: true,
    loader: () => redirect("dashboard"),
  },
  {
    element: <DashboardView />,
    path: "dashboard",
  },
];

export default privateRoutes;

app.js:

const App = () => {
  const theme = createTheme(getDesignTokens());

  const navigation = [
    {
      segment: "dashboard",
      pattern: ":segment/dashboard",
      icon: DashboardIcon,
      title: "Dashboard",
    },
  ];

  return (
    <AppProvider
      theme={theme}
      router={routerConfig}
      navigation={navigation}
    >
        <Outlet />
    </AppProvider>
  );
};

export default App;

Current behavior
The navigation fails to function correctly when the dynamic part of the URL is in the first segment. See reproducible steps below. The following error is displayed:

Expected behavior
The Dashboard layout is expected to function correctly.
Context
No response
Your environment
  System:
    OS: Windows 10 10.0.19045
  Binaries:
    Node: 20.5.0 - C:\Program Files\nodejs\node.EXE
    npm: 10.2.5 - C:\Program Files\nodejs\npm.CMD
    pnpm: Not Found
  Browsers:
    Chrome: Not Found
    Edge: Chromium (129.0.2792.65)
  npmPackages:
    @emotion/react: ^11.13.3 => 11.13.3
    @emotion/styled: ^11.13.0 => 11.13.0
    @mui/base:  5.0.0-beta.60
    @mui/core-downloads-tracker:  6.1.5
    @mui/icons-material: ^6.1.5 => 6.1.5
    @mui/lab: ^6.0.0-beta.13 => 6.0.0-beta.13
    @mui/material: ^6.1.5 => 6.1.5
    @mui/private-theming:  6.1.5
    @mui/styled-engine:  6.1.5
    @mui/system:  6.1.5
    @mui/types:  7.2.18
    @mui/utils:  6.1.5
    @mui/x-charts: ^7.22.0 => 7.22.0
    @mui/x-charts-vendor:  7.20.0
    @mui/x-data-grid: ^7.22.0 => 7.22.0
    @mui/x-date-pickers: ^7.22.0 => 7.22.0
    @mui/x-internals:  7.21.0
    @toolpad/core: ^0.8.1 => 0.8.1
    @toolpad/utils:  0.8.1
    @types/react:  18.3.3
    react: ^18.3.1 => 18.3.1
    react-dom: ^18.3.1 => 18.3.1
    typescript:  4.9.5

Search keywords: navigation

Let me know if there's still any issues with this once you address https://github.com/mui/toolpad/issues/4323#issuecomment-2444841318

Fixed, the issue with this one was:
  const navigation = [
    {
      segment: "dashboard",
      pattern: ":segment/dashboard",
      icon: DashboardIcon,
      title: "Dashboard",
    },
  ];

Specifically, icon: DashboardIcon should have been icon: <DashboardIcon />.


EMPACT User Assessment Flow

User Assessment Flow: Completing and Monitoring IP2M METRR Assessments
User Story
As a user,
I want to complete my assigned assessment (Environment or Maturity) as a participant, or monitor participant progress and responses as a facilitator,
so that I can either submit my input or review participant submissions in real time.

User Actions

Log in using SSO and view assigned IP2M METRR assessments.
Based on the user's role:

Participants:

If assigned, complete the Environment Assessment.
If assigned, complete the Maturity Assessment.

Facilitators:

Monitor the Environment Assessment with real-time updates on submissions and view participant responses.
Complete the Maturity Assessment if assigned.

For both Environment and Maturity Assessments:

Navigate through Categories (for Environment) or Subprocesses (for Maturity).

Rate Factors (for Environment) or Attributes (for Maturity).
Submit the responses
Assessment Flow and Issue.txt
.

Expected Outcomes

Participants:

Complete the assessments assigned to them (Environment and/or Maturity) by rating Factors (for Environment) or Attributes (for Maturity).
Submit their responses and receive a confirmation.

Facilitators:

Monitor participant progress in the Environment Assessment.
View the number of responses submitted with live updates.
Preview (but not edit) participant responses.
Submit their responses to the Maturity Assessment if assigned.

Facilitator-Specific Features

Environment Assessment Monitoring:

Track the number of responses submitted by participants.
Live updates on the status of responses.
Preview participant responses in real time (read-only).

Maturity Assessment:

Facilitators submit their own responses only if assigned to take it.

UI Components

Dashboard: Shows assigned IP2M METRR assessments (Card or Table).
Role-Based Access:

Participants: See only the assessments they are assigned to complete.
Facilitators: Monitor Environment Assessment submissions and preview responses in real time, and complete the Maturity Assessment if assigned.

Progress bar: Displays user advancement (Progress).
Question Form: Used for rating Factors within Categories (Environment) and Attributes within Subprocesses (Maturity) (Radio Group or Select).
Submit Button (Button): To submit responses.
Facilitator-Specific Dashboard: Displays live updates and response previews for monitoring.
Confirmation Modal (Dialog): Confirms successful submission.

Data Requirements

AssessmentUser: Displays assigned assessments and roles (Participant or Facilitator).
Part (renamed Type), Section (renamed Category for Environment and Subprocess for Maturity), Factor (for Environment), Attribute (for Maturity).
Level (renamed Rating): Used for answer selection.
AssessmentUserResponse: Stores participant and facilitator responses.
Real-time tracking: Handles live updates of participant submissions for facilitators.

Key Clarifications:

Participants can be assigned to take either or both the Environment and Maturity Assessments:

For Environment: Navigate through Categories and rate Factors.
For Maturity: Navigate through Subprocesses and rate Attributes.

Facilitators monitor live submissions for the Environment Assessment but do not take it themselves. They can take the Maturity Assessment if assigned.

Request:
Is it possible for role permissions be based per-assessment? That is: A given user can be a Facilitator for [Projects A, B, C], but would be assigned as a mere participant for [Projects C, D, E].
Potentially it might be possible to house "Groups" of Assessments that are classed together? That way Organization Alpha with Department 1 and Department 2, each Department can house its own group of Assessments that it collates and organizes. This would be useful for the purpose for allowing different subgroups and organizations to manage their own assessments, and tweak permissions as needed, in a more hierarchical structure.

Discussion for additional roles:

Lead Facilitator: This is the point person "in-charge" for a given Assessment, they have the final say over Open and Closing an assessment, and processing all the data for the final results and assessment visualizations. One of these would be required for any given Assessment, additional Facilitators could be assigned to any given Assessment to assist and help out, but would not have the ability to "push the button as it were. This role would exist at a per-Assessment level, does not seem appropriate at the Assessment Collection level.
-- For consideration on the above point: Maybe the Lead Facilitator could have some options for how they delegate permissions to their Co-Facilitators? That is, the Lead Facilitator could decide if they want to give the other Facilitators more or less permissions. Need to have a broaden discussion over necessity for this, as well as how easy or difficult this would be to implement.
User Manager or similar: Intention here is this would be a role only assigned at the Assessment Collection level. The idea is that a User Manage would be able to invite participants to a given Assessment or Assessment Collection (Including new users who need access), so they could self-manage their group and getting people invited for Assessments without Admin intervention. This does raise questions about operational security, so might need to be discussed further (Though potentially would implement this, and Admins running their instance of EMPACT could simply not assign this role to anyone if they don't think it matches data security requirements for their environment, as this role would only be able to be assigned by Admins).


Add change in documentation to explain how to add collaborators in translation

Signed-off-by: claudio ceballos paz<EMAIL_ADDRESS>

Type of change

Documentation update

Description
This shows in the docs how to add collaborators in the Hyperledger Org before they can be added to the translation team

Thanks for adding this Claudio! What is the process you used to ask core repo maintainers to add those translators to the Hyperledger Github Organization? Is it through one of the RocketChat channels?

@Mergifyio backport release-2.2


[discuss] One master per term

This change shows how the "one master per term" property from Raft can be reestablished in our model. I have not verified it, only model-checked.
The basic idea is to ensure that the leader already has enough (join) votes for the next prospective configuration when publishing said configuration. In most cases, this will already be the case if the leader eagerly collects join votes from the other nodes. In case where the property does not hold (and assuming a stable leader), the leader can try to reestablish this property by collecting votes in a higher term (simply by calling HandleStartJoin on itself and on the followers).
What changes to the model are required:

When handling a configuration change (ChangeVoters), the leader checks if it has a quorum of joinVotes for that new configuration.
When becoming leader (HandleJoinRequest) with a forced value, the node can only win the election if it has joinVotes both for the current configuration as well as the (forced) next configuration.

One of the nice side-effects of this change is that it ensures that HandleCommitRequest won't change electionWon (i.e. the node won't need to step down as leader or won't become leader when applying a commit with a configuration change).
The change needs 2 smaller side-conditions for it to be correct:

After a node restart we need to make sure we don't use historic votes because some of the volatile state (such as joinVotes) is lost.
Raft does not have this issue because it starts nodes as follower, and when moving them to the candidate state (where they can collect votes), requires incrementing the term.
The problematic situation is as follows:

send publish request with configuration change that's ok based on current joinVotes
restart node, joinVotes get lost
handle previously casted vote (message dup) and win election again for current config
handle previously sent publish request to self with configuration change. The node might not have the joinVotes for that new configuration now, and might have to step down when it applies the commit for that config.

Same as Raft, we can ensure that we only start handling votes after a reboot once the term is incremented. I have implemented this with a boolean variable allowElection which is set to false on a reboot and reset to true when the term is incremented. HandleJoinRequest then requires for allowElection to be true in order to handle the join vote.

HandleCommitRequest can only allow commit requests which are not coming from a stale leader. This prevents a node from becoming leader because it got an Commit message from a now-defunct leader. While this is not strictly required for "one-master-per-term", it allows electionWon not to change in HandleCommitRequest.

Closed in favor of #30


Attachment Deleted Not Included In Edit Log

Feature Description
This is somewhere between a bug and a feature, but currently attachment added, deleted is not included in the edit log in comments.
In fact, the history log just gets an entry with no diff.
Screenshots

Related to: https://github.com/go-gitea/gitea/issues/23290 and https://github.com/go-gitea/gitea/issues/24195

The "Edit Log" (history), only includes "submitted contents"
If you:

Open a comment editor
Upload attachments 1 2 3
Remove attachment 2
Submit

There won't be log for "adding 1 2 3 / removing 2"
That's by design IMO

That makes sense. From my initial testing I didn't think it logged attachment deletions at all (even your second scenario). I’ll check on try.gitea. If that’s the case, we can close this.

Actually, there is no "attachment deletion" log. The only "log" is the content diff.
If you delete the attachment link from content and save, then there will be a diff log, the attachment itself could be still there if you don't remove it from the "dropzone" component.
If you delete the attachment from the "dropzone" component, but do not delete it from content, then there is no content history diff.

If we can implement this, then it could be much better than before:

If a user clicks the "remove" in dropzone, then also delete the link from content.


Hacktoberfest-proposed a small change in readme file..

section is not a path and looks deviating
src/components/sections directory

@apollonian ok

@anandprabhakar0507 Thanks for pointing this out. Can we just update the path to src/components/sections instead? I think that would be better.
@apollonian
I have changed the path in the patch-1

@anandprabhakar0507 Awesome, thanks. Just one more thing.
We can get rid of the "path" here

placed in src/components/sections directory ~path~

@apollonian done! Removed 'path' from the last commit


Not possible to select SPI3 DMA RX1 on STM32 F2, F4, F7, H7

Short story

There is a check in SPI driver which checks if we defined SPI channels
0 in this check means not defined, so in case of 0 driver doesn't enable DMA
SPI3 DMA RX1 is unlucky to be 0

Long story
DMAMAP_SPI3_RX_1 is defined in arch/arm/src/stm32/hardware/stm32_dma_v2.h#L406 and evaluates to 0:
#define STM32_DMA_MAP(d,s,c)       ((d) << 6 | (s) << 3 | (c))

#define DMAMAP_SPI3_RX_1           STM32_DMA_MAP(DMA1,DMA_STREAM0,DMA_CHAN0)

#define DMA1                      (0)
...
#define DMA_STREAM0               (0)
...
#define DMA_CHAN0                 (0)

In arch/arm/src/stm32/stm32_spi.c#L2062, this commit cfc5b59 to NuttX 7.27 from @dagar (I am not complaining, just sending notification) added a check if DMA channels are defined, before enabling DMA for SPI.
if (priv->rxch && priv->txch)

Type of rxch is uint8_t and 0 is used to indicate no channel being assigned.
It is fine, except if we are unlucky, and try to use SPI3 DMA1, Stream 0, Channel 0 DMAMAP_SPI3_RX_1, for example:
board.h
#define DMACHAN_SPI3_RX DMAMAP_SPI3_RX_1  /* DMA1, Stream 0, Channel 0 */
#define DMACHAN_SPI3_TX DMAMAP_SPI3_TX_1  /* DMA1, Stream 5, Channel 0 */

Not sure how to fix it nicely. Zero shouldn't be used to detect lack of channel if 0 is valid channel identifier.

@w8jcik - Good find and thank you for the clear explanation of the issue. I will check all the drivers and would up a solution.

Nice find, would a quick define for invalid (UINT8_MAX) suffice?


Option for whether to notify users when added to channel

When someone adds another user to a channel, we send the user that was added a Notification Bot message to let them know. We should add an option for whether or not this message is sent. In particular, when bulk-adding users, the notification is often not desirable; it can also cause technical problems if hundreds or thousands of users are added at once.
To address this, we should make sending Notification Bot DMs optional when adding users to channels.
New setting details

Checkbox option
Option label: "Send notification message to users who are added"
Placement:

Just below "Add subscribers" field on the channel Subscribers panel.
Just below "Choose subscribers" field when creating a channel.

Option state:

Checked by default.
If more than 100 users are being added at once, option becomes unchecked and disabled. Tooltip: "Notification message cannot be sent when adding more than 100 users."
If the number of users being added goes below 100 after being higher, the option becomes re-enabled, but remains unchecked.

Notes:

The help center will need to be updated:

https://zulip.com/help/add-or-remove-users-from-a-channel
https://zulip.com/help/create-a-channel

CZO thread

I am working on it

@kuv2707 Please claim issues via Zulipbot when you pick them up.

@alya That doesn't work since I have other issues claimed.

Have you tried? That rule should only apply before you have any commits merged.

@zulipbot claim


Update REAMDE.md

Here's what I changed:
Badges

Removed the VersionEye badge (does not work anymore)
Added Codebeat Badge
TODO: @rivera-ernesto I could also add the codacy badge, but I can't access the settings there (where the Markdown is shown). Could you add the code as comment here? Then I'll add this one too.

Code

Update Swift code.
Update iOS targets to latest iOS version
Replace DDTTYLogger and DDASLLogger with DDOSLogger

Contributors

Add new contributors to the list (matching the current state of the list in #941)

Codecov Report

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

@@           Coverage Diff           @@
##           master     #955   +/-   ##
=======================================
  Coverage   22.22%   22.22%
=======================================
  Files          17       17
  Lines        2641     2641
=======================================
  Hits          587      587
  Misses       2054     2054

Continue to review full report at Codecov.

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


Doc Feedback: Error downloading example files

Location : https://is.docs.wso2.com/en/5.10.0/learn/working-with-mdp-requests-to-authorize-hierarchical-resources/
When I try to download the web-filter-policy-for-resource-1.xml example file, I get this error:
Forbidden
You don't have permission to access /repos/wso2/people/asela/xacml/sample/web-filter/resources/hierarchical/web-filter-policy-for-resource-1.xml on this server.
What is the new location for this file ?

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Number Pyramid by Sanjoy Saha

I have added a pattern named "Number Pyramid". The language used is C++.

@SanjoySaha24 You have not updated the Contributors.md files giving the details...do changes and send only one PR...be sure to fetch the updated repo before any changes to escape from any conflicting errors...otherwise your PR will be flagged as invalid

@SanjoySaha24 You have not updated the Contributors.md files giving the details...do changes and send only one PR...be sure to fetch the updated repo before any changes to escape from any conflicting errors...otherwise your PR will be flagged as invalid

okay


ZeroClientProvider's version of getBalance often wrong

web3.eth.getBalance() returns an incorrect amount fairly often causing all balances to be updated with the wrong value and corrected when the return is accurate again. Might stem from ZeroClientProvider.

this is a problem with kovan. parity and infura can't keep their nodes synced

Currently, the Base app doesn't support Ethereum, so this issue is not actual anymore.


fix the build

A preview environment was automatically created via Qovery.
Click on the link below to follow its deployment and use it.
:point_right: [PR] development - fix the build - 2022-05-29T19:45:31Z


Documentation lagging for UnloadObserver

superfields/README.md does not reflect latest changes of UnloadObserver to UI-scoped.
Should include a mention to attach the observer to the UI (typically as a child of UI.getCurrent() in the onAttach event of the view).
Maybe add an UnloadObserver.attach(UI) that would do a get+attach as child ?

documentation in general is a bit lagging behind... yeah, and there also should be a get + add method, but I would rather use a component for it rather than a UI
anyway, this will be part of next release


Bugfix SW-12289

The hydrator HYDRATE_ARRAY does not support nested sets.
Accessing $site['children'] does not fetch the dependent models.
With $site->getChildren() it works.

Relates to: https://github.com/shopware/shopware/pull/387

This should be fixed with commit https://github.com/shopware/shopware/commit/23538f9944373825e33e70052ff2b18338b71454
Feel free to reopen this PR if your problem persists.


Clicking outside dialog should cancel

Hi!
First off: Brilliant dialog! I especially like the directive idea!
A feature request (I'll probably make a workaround for now) however:
Being able to configure if the dialog should close (cancel) when clicking outside the dialog (i.e. when clicking the mask)
Great work!

Thanks @hjortzen
I also think it'll be nice to have this feature.

It's already there
Vue.use(VueDialog, {
backdropClose: true
});

Yeah. I created the pull request that solved this issue.
Closing issue...


More View Permissions for Admin Users

Steps to Reproduce the Problem

Login to cluster
oc describe node c-mist-sg7hn-m-0.europe-west6-a.c.ocp4-poc.internal

Actual Behavior

The request fails with Error from server (Forbidden): nodes "c-mist-sg7hn-m-0.europe-west6-a.c.ocp4-poc.internal" is forbidden: User "simon.ruegg" cannot get resource "nodes" in API group "" at the cluster scope
Expected Behavior

View right is granted on more resources for operations.
Especially get and list would be helpful on the following resources:

nodes
machinesets
machines
machineconfigpools
machineconfigs
apiservices
persistentvolumes
podsecuritypolicies
syncconfigs
ingresscontroller
...
(To be extended)

For each of these resources we have to first double check if it's ok to make them viewable without compromising security.

Closed by #48


meson: Permit installation of toml++

Hi!
Thank you for this great project! This PR adds support to Meson for installing the toml++ headers system-wide and also generates a pkg-config file so other projects can find them easily.
This is very useful if you have a workflow where there is one system copy of code, as used in Linux distributions and a few other distribution schemes.
Cheers,
Matthias

Awesome, thanks @ximion!


Extend plugin class

Hi, I tried to create a base class for a plugin, and then extend it to add other functions depending on where I would use, but when I do that, only the new functions work, and not the bsae ones from the initial class. Any ideias why this happens?
Example:

class NativePlugin : NSObject {
    func bla() {
    }
}

class ExtendPlugin : NativePlugin {
    func ble() {
    }
}

If I add ExtendedPlugin, only ble() works, nut no bla()

This is by design. Inherited methods will not be exported to JavaScript.
For workaround, override methods in subclass.

Why this is the expected/design behavior?

In short, this is for simplicity and performance. Because it avoids to go through ancestors of plugin objects.
A principle of design is that plugin object should be proxy object instead of real functional object. See proxy pattern
A proxy object commonly conforms to a protocol rather than inherits methods from super class.


Fix hostGroup conversion logic for v1beta2

Description
Ticket: https://dt-rnd.atlassian.net/browse/K8S-10198
Currently the hostGroup parameter is not converted from v1beta1 to v1beta2.
How can this be tested?
Install Operator -> Apply a v1beta1 Dynakube with spec.oneAgent.hostGroup -> check if the converted v1beta2 Dynakube also has hostGroup set

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 58.79%. Comparing base (e7207d2) to head (88619bf).
Report is 2 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3242      +/-   ##
==========================================
+ Coverage   58.77%   58.79%   +0.02%
==========================================
  Files         326      325       -1
  Lines       18172    18141      -31
==========================================
- Hits        10680    10666      -14
+ Misses       6308     6279      -29
- Partials     1184     1196      +12

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


Error in StandardizedDomainParameters.java

There is a copy-paste error in the file mentioned above. In line 75 it reads
map.put(11, "BrainpoolP256r1");
which should be
map.put(11, "BrainpoolP224r1");

Fixed in latest stage.


Page breaking down at bottom

New user   UI breaking at bottom
Home   Page breaking at bottom
POINTS-15

Hey @shagun25 My name is Pranjal Agrawal and i want to contribute on this issue. Can you please assign me ?? It will be very greatful

Attaching screenshots for reference.
This is tested on a 5.5-inch android phone.

Dashboard screen breaking at bottom.

@shagun25 Can you please reassign me the same. It would be so grateful of you.

@shagun25 I really wont to make contributions

@pranjalagrawal2012 Hey I will feel happy to assign you, but this was pending on you for a long time. So was giving chance to others.
Please let me know your thoughts before assigning.

@hiashutoshsingh I was unable to contribute because someone in my family passed away

@hiashutoshsingh I was unable to contribute because someone in my family passed away

So sorry to hear that.
Before start working on this run on a 5-inch android phone, I think few issues are fixed in master by others.

okay @hiashutoshsingh So can I still work on this issue or the issue is closed ??

okay @hiashutoshsingh So can I still work on this issue or the issue is closed ??

Sure take the latest pull before start doing this task.

okay @hiashutoshsingh thanks alot

Is it still pending? If yes can you assign me this issue I can work on it @hiashutoshsingh ?

Hey @shagun25 My name is Pranjal Agrawal and i want to contribute on this issue. Can you please assign me ?? It will be very greatful

hi @hiashutoshsingh can you assign it to me, if its pending?


etcdctl: use user specified timeout value for entire command execution

etcdctl should be capable to use a user specified timeout value for
total command execution, not only per request timeout. This commit
adds a new option --total-timeout to the command. The value passed via
this option is used as a timeout value of entire command execution.
Fixes coreos#3517
This is the new version of the PR https://github.com/coreos/etcd/pull/3518 . This new one is so different from the old one, so I made a new PR.

ping? @xiang90 @yichengq (if you already noticed this pr, sorry for noise)

I don't like current approach because it introduces new parameter in each function call, and it has one more level indirection.
Could we use
ctx, cancel := context.WithTimeout(context.Background(), c.GlobalDuration("total-timeout")) in each function and use the same ctx for the whole function to achieve this?

@yichengq thanks for your review. However, current approach can reduce possibility of using wrong timeout value for each context (the problem this PR is trying to fix). So I thought introducing a new wrapper function actionWithTotalTimeout() is valuable. And commands which doesn't require total timeout aren't changed.
Of course, if you prefer declaration of ctx in each function, I'll pick your approach.

I still prefer to declare ctx. Current solution makes the code hard to read, and the indirection could be replaced by one-line declaration.

possibility of using wrong timeout value for each context

We could add a function to return overall context and its cancel.

And commands which doesn't require total timeout aren't changed.

I think other commands need to have total timeout too. They are using context.TODO now.

@yichengq ok, I'll change this PR based on your policy later

@yichengq updated based on the policy

@yichengq updated based on your comments

updated the commit log a little bit

@yichengq updated for using correct context  and timeout

LGTM. Do you have plan to fix the left context.Background() ones? For example, https://github.com/coreos/etcd/blob/master/etcdctl/command/set_command.go#L58

@yichengq thanks for your review. Sure, I'd like to work on other parts. Should I fix them in this PR?

No. this one is good enough.
Thanks for the contribution! :heart:


The "Using the provider" section of README.md is wrong for recent versions of terraform

System Information
Linux distribution
Ubuntu 18.04 LTS but issue applies to all distros
Terraform version
1.0.0
Provider and libvirt versions
0.6.3/linux_amd64/terraform-provider-libvirt b01ffe296c84d0c15ccc6625bfde1597f01cc053
Compiled against library: libvirt 4.0.0
Using library: libvirt 4.0.0
Running hypervisor: QEMU 2.11.1
Running against daemon: 4.0.0

Checklist

[ ] Is your issue/contribution related with enabling some setting/option exposed by libvirt that the plugin does not yet support, or requires changing/extending the provider terraform schema?

[ ] Make sure you explain why this option is important to you, why it should be important to everyone. Describe your use-case with detail and provide examples where possible.
[ ] If it is a very special case, consider using the XSLT support in the provider to tweak the definition instead of opening an issue
[ ] Maintainers do not have expertise in every libvirt setting, so please, describe the feature and how it is used. Link to the appropriate documentation

[ X] Is it a bug or something that does not work as expected? Please make sure you fill the version information below:

Description of Issue/Question
If one follows the instructions in the "Using the provider" section of README.md, using the latest version of terraform (1.0.0 though this presumably applies to any version 0.13 or later), the provider will not be found.
The needed changes to make the README.md example work can be found by following the link in the table of contents for "Migrating to terraform v13". Unfortunately for new users, they are not "migrating to" anything, so this document appears irrelevant and they can waste a lot of time figuring out on their own what the problem is. As a new user to both terraform and the libvirt provider, this killed about six hours (though now I know the basics of how to debug terraform, both the older and new provider implementation, search paths, and a host of other likely useful things that I would have preferred to learn later).
Setup
Steps to Reproduce Issue
Follow "Using the provider" instructions / example in terraform-provider-libvirt README.md
Additional information:

It may not be correct, but I struggled through this and found a way forward yesterday:
https://github.com/dmacvicar/terraform-provider-libvirt/issues/838#issuecomment-864451291

To make it easier for people who get this far, below are the three different ways you can add the provider that worked for me with terraform 1.0.0
terraform {
   required_version = ">= 1.0"
   required_providers {
      # This is works, using this location:
      #
      #    ~/.local/share/terraform/plugins/registry.terraform.io/dmacvicar/libvirt/0.6.3/linux_amd64/terraform-provider-libvirt
      #
      # which is the recommendation for terraform-provider-libvirt when
      # migrating to Terraform 0.13 as given here:
      #
      #    https://github.com/dmacvicar/terraform-provider-libvirt/blob/master/docs/migration-13.md
      #
      libvirt = {
         source = "dmacvicar/libvirt"
         version = "0.6.3"
      }

      # This works with the provider in a zip file placed here:
      #
      #    ~/.terraform.d/plugins/localdomain/provider/libvirt/terraform-provider-libvirt_0.6.3_linux_amd64.zip
      #
      #libvirt = {
      #   source = "localdomain/provider/libvirt"
      #   version = "0.6.3"
      #}

      # This works with the provider placed here:
      #
      # ~/.terraform.d/plugins/localdomain2/provider/libvirt/0.6.3/linux_amd64/terraform-provider-libvirt
      #
      #libvirt = {
      #   source = "localdomain2/provider/libvirt"
      #   version = "0.6.3"
      #}
   }
}

provider "libvirt" {
    uri = "qemu:///system"
}

resource "libvirt_domain" "terraform_test" {
  name = "terraform_test"
}

From now (master) on the official way to install the provider is from the terraform provider registry. Give it a try to what is described in the pre-release:
https://github.com/dmacvicar/terraform-provider-libvirt/releases/tag/v0.6.9-pre3


Token extraction tool doesn't work anymore

Recently the authentication flow used by the PalGate app has been changed, and the current (old) auth endpoint used results with the following error returned from the server:
{'error': 'resource not found, check api path'}

I've tried to reverse engineer the new auth flow by looking at the app logs, but couldn't extract a usable token.

I'm wondering if anyone was able to figure out how to use the new auth flow?

So, I examined the HTTP requests sent by the app (using the interception method suggested here).
It appears that the app now rotates the auth token for (almost) every outgoing request. Occasionally, the same token is reused across several adjacent (in time) requests. Attempting to repeat (with curl) a request with the exact same token previously used for it, fails with 401, so these tokens must have some short-lived expiry mechanism.
The token itself is a 46-digits hexadecimal string such as 0100E9405D782800B6E989591EF07612EF823626290892, whereas the first 12 digits are constant across all tokens. No clue about the rest of the 34 digits. But note that the "k" parameter exchanged (several times) in the 3 auth flow requests described above, as well as the final "token" parameter, are all 34 hexa digits too (each, a different one).
Anyway, I'm completely clueless about how these tokens are generated, but hopefully it can ring anyone's bells.

So, I examined the HTTP requests sent by the app (using the interception method suggested here).
It appears that the app now rotates the auth token for (almost) every outgoing request. Occasionally, the same token is reused across several adjacent (in time) requests. Attempting to repeat (with curl) a request with the exact same token previously used for it, fails with 401, so these tokens must have some short-lived expiry mechanism.
The token itself is a 46-digits hexadecimal string such as 0100E9405D782800B6E989591EF07612EF823626290892, whereas the first 12 digits are constant across all tokens. No clue about the rest of the 34 digits. But note that the "k" parameter exchanged (several times) in the 3 auth flow requests described above, as well as the final "token" parameter, are all 34 hexa digits too (each, a different one).
Anyway, I'm completely clueless about how these tokens are generated, but hopefully it can ring someone's bells.

I had this token for an example 0100E26EE9D9BC31FA8420ECC71C0BB3A540A3F07B8E0C and in all my requests the first 14 chars are constant across all my tokens (and not 12 like you).
i think the token is built with timestamp in the hex that is being verifeid againt one of the requests.
i'm also clueless regarding how these tokens are generated :(

Any chance someone from Pal will step in to the rescue? 🙏🏼

Any chance someone from Pal will step in to the rescue? 🙏🏼

I think they change it because of this plugin (and others)

Sure
palgate decompiled

@bmyonatan awesome, that's very helpful! I too glimpsed into the decompiled code, and it seems that most is there in order to reconstruct and automate the authentication flow (although they definitely didn't make this an easy task 😄)
A missing piece is the implementation of FaceDetectNative.getFacialLandmarks(). This method is implemented via a native library (see System.loadLibrary("native-lib") in com/bluegate/app/utils/FaceDetectNative.java). Did you happen to see any hint of native-lib or getFacialLandmarks() in the app files you decompiled? The generic name suggests that this is something bundled with the app...

Found the native library in the app apk's: libnative-lib.zip
And here's its aarch64 disassembly: https://onlinedisassembler.com/odaweb/NJcFdjfX (see Java_com_bluegate_app_utils_FaceDetectNative_getFacialLandmarks).
Anyone wants to take a shot at deciphering that? I thought so 😄
One option is to try to understand what's the source of this object file.
Another option is to try to load and run that code via some arm emulator. I don't know if that's feasible for this homebridge plugin here, but might be feasible for my use (palgate-cli).
Anyway, quite a lot of headache for one little token 😆

https://stackoverflow.com/questions/71255467/what-is-android-facedetectnative-getfaciallandmarks

so, is there a fix for this? perhaps the plugin could use the same timestamp based method to cycle the token.

perhaps the plugin could use the same timestamp based method to cycle the token.

There's no easy way to do this because some of the token generation code uses a function from a native library loaded at runtime. At first I thought we can load it too using some arm64 emulator (e.g. qemu-user-aarch64) but the library also seem to have dependencies on android OS itself so it's not sufficient to emulate the architecture.
Hopefully someone with some Android emulation experience can take a shot at this.

@nitaybz maybe you can assist?

Following up- I think a good step might be creating a proof-of-concept android app/code that successfully opens a gate with the new token system. after that is done, we could move forward with android emulation, which in theory should be possible because the pi is arm64.

Here is a simple workaround for the problem.
Take an old android phone. Make sure it is able to open the gate using the palgate application.
Install Macdroid (free app) on the phone.
Create a macro that opens the gate with the following parameters:
trigger:
network capture
define an identifier
Actions
Open palgate
Wait 1 second
User interaction. Presses x,y (209, 500)
You will get a url that once called, opens the gate. This requires an old phone, but don't tell me you don't have one.

Here is the macro that was saved. remove the .txt extantion.
Macro might be a little different, as it depends on screen size and so on.
Yru.macro.txt

I also managed to bypass the palgate app,
unlike @tzachi-dar, instead of having a physical phone with macro,
I created an internal webserver that uses google-asistant-sdk (there are probably better implementations to it), when you get the endpoint, i make a call with the sdk to open gate.
then i connected it to Telegram/Whatsapp and managed to give access to whoever is needed :)

Sounds great! do you mind sharing the source code?

Actually, it's pretty simple using https://github.com/googlesamples/assistant-sdk-nodejs
Follow the setup steps and then wrap it with express
const express = require("express");
const url = require("url");
const GoogleAssistant = require("./googleassistant");
const deviceCredentials = require("./devicecredentials.json");

const app = express();
const port = process.env.PORT || 1234;

const CREDENTIALS = {
  client_id: deviceCredentials.client_id,
  client_secret: deviceCredentials.client_secret,
  refresh_token: deviceCredentials.refresh_token,
  type: "authorized_user",
};

const assistant = new GoogleAssistant(CREDENTIALS);

app.get("/", async (req, res) => {
  const query = url.parse(req.url, true).query;
  const response = await assistant.assist(query.text);

  res.send(response.text);
});

app.listen(port, () => {
  console.log(`Server started on port ${port}`);
});

googleassistant.js file is from the lib mentioned above

So then just query localhost:1234/?text="open gate"

FYI this approach uses my PERSONAL google assistant

@EladBezalel , I understand that you actually bypassed the PalGate app, but I didn't understand what have you done with the token, are you sending the request directly from your local webserver? (so it seems) But since it's a rolling token and the token is only alive for a single use and only for 1 min expiration I didn't understand where's the token reference in the code you publish above, can you elaborate?
I must say, I found some sort of bypass but that stopped working today so again it's a dead-end for me.

@EladBezalel , I understand that you actually bypassed the PalGate app, but I didn't understand what have you done with the token, are you sending the request directly from your local webserver? (so it seems) But since it's a rolling token and the token is only alive for a single use and only for 1 min expiration I didn't understand where's the token reference in the code you publish above, can you elaborate?

The workaround he's using is by leveraging the Palgate <-> Google Assistant integration (which is a Palgate feature).
The webserver is calling Google, which in turn calls the Palgate servers. The webserver is just acting as a Google Assistant client and that's it.

I think that understanding this part is our main goal (from @BuSHari 's comment):
 long l3;
    long l1 = System.currentTimeMillis() / 1000L;
    long l2 = Preferences.from(paramContext).getLong("timeStampLong").longValue();
    String str1 = Preferences.from(paramContext).getString("userId");
    String str2 = Preferences.from(paramContext).getString("sessionToken");

@bengry Oh I see, well it's a nice W/A but doesn't fit our needs, our main goal is to understand how the token generation works :/

Was it possible to find out the process of token formation?

I found the AuthToken and refresh token via a rooted Android device in the following path
cat /data/data/com.bluegate.app/files/PersistedInstallation.******.json
here is the Is the content with redacted information
{
  "Fid": "redacted-fid",
  "Status": 3,
  "AuthToken": "redacted-token",
  "RefreshToken": "redacted-refresh-token",
  "TokenCreationEpochInSecs":<PHONE_NUMBER>,
  "ExpiresInSecs": 604800
}

not sure if it can help us or not.

Just moved into a new place with a Palgate system. I was looking for ways to create a garage door style opener for the car and came across this.
Seems like no one has been able to reverse engineer the nativelib yet. For more context there is an x86 and x64 versions of the shared object.
I am working on reverse engineering the binary. I have their AES encryption/decryption function with their AES Key and IV working already. Working on creating their hash/check function next.
I have only spent one sleepless night on reversing it so far so give me a little more time and I will give more updates.

The easiest way is to write a program to work with the standard library. And run it on the raspberry pi board.

It import shared libraries from the Android system, so it's not really the easiest. Personally I think the easiest way would be wrapping the library for Android x86 with an HTTP endpoint.
I am currently have the APK running on Android x86 perfectly fine and debugging it remotely with GDB to double check my work.

@codedninja Amazing work, thank you for your assistance.
Please do keep up posted.
🍻

I came across I came across this if it will assist someone.

I have had another look at the native library. Most of it is a set of functions to perform encryption and decryption. The hard part here will be figuring out the key which seems to be partly from the l3 (userToken converted from Strong to Long) input to the getFacialLandmarks and some predetermined array of bytes (T_C_KEY), where:
T_C_KEY[6] = 0x34
T_C_KEY[7] = 0xf4
T_C_KEY[8] = 0x47
T_C_KEY[9] = 0xc3
T_C_KEY[10] = 0x8d
T_C_KEY[11] = 0xe1
There is another function aes_enc_dec does most of the heavy cryptographic lifting. Given this, it may be possible to reverse engineer given some security expertise, but not sure I can get much further.

Tomorrow I am gonna push the code I have done reimplementing everything. I have completed some parts. Though I was having issues reimplementing something that uses the timestamp from their servers. I have already extracted their key and will be inside of the code I push.

@codedninja This is amazing! Thank you!

Hi, @codedninja. Where can we see your changes?

Hi @codedninja, if it's a matter of putting part of code together I can help

Any there any updates? It's been more than a month since @codedninja 's last comment

I'm waiting for news too. That's the last part of the "smart home puzzle" for me :)

Hi, have we got any updates?

Just putting my post here so some ppl might bug me in the near future to check this out...
I would probably try to look into this also try to implement in python (I'm a HomeAssistant user, not Homebridge though), or just wrap it in a java class with changes/mocks and throw it into py4j

This looks like it may be firebase authentication. I recommend installing certs on a mobile device and running the app behind something like Postman proxy to decrypt all the packets. It may be possible to use the firebase npm package to spoof the initial token creation from the values you find.
Assuming it is firebase, it explains why the decompiled cryptology is hard to work through.

FYI I think a fix is here
https://github.com/vrublevskys/ha-palgate

I am happy to try and implement it if no one has yet

This won't work, see the info of that repo, it redirects to my repo for sniffing the token hence it will not work.

note that the Android app has two checks now. it checks the app version, and if too old (currently only 342 and 344 work), it fails. also it checks that the device is real and not virtual. if either check fails, you get:
Unable to register: Security check not passed!

I thin the easiest way is to write a program to work with the standard library. And run it on the raspberry pi board.

It's not working now...

https://github.com/zcahana/palgate-sdk/issues/1

note that I am now offering a 900 USD bounty if anyone can solve this. my contact info on my profile page

Hey, I have a working solution for this problem, and I created a project that generates tokens and open gates from pure code.
If someone is still interested in this, contact me at<EMAIL_ADDRESS>

@TalSaadi , Your comment was deleted, sorry, but we're here to share our solution for the befit for the entire community, making money is awesome, but this isn't the purpose of this project.
If you wish to share the solution with us, you're more than welcome.


feat: add infomaniak oauth

Submit Checklist (REMOVE THIS SECTION BEFORE SUBMITTING)

[x] I have selected the next branch as the destination for my PR, not main.
[x] I have listed all changes in the Changes section.
[x] I have filled out the Issues section with the issue/discussion link(s) (if applicable).
[ ] I have tested my changes.
[x] I have considered backwards compatibility.
[ ] I have removed this checklist and any unused sections.

Changes

Add infomaniak as oauth provider

Documentation: https://developer.infomaniak.com/getting-started#applications

Thank you for the PR 💜.


Href linking

Describe the feature you'd like
To link to specific parts of the page using headers. Like how Wikipedia allows linking to a specific part:
https://en.wikipedia.org/wiki/Bubonic_plague#Diagnosis
Describe the benefits this feature would bring to BookStack users
Could link to specific sections of internal wikis. Also a prerequisite for tables of contents inside a large page.

Hi @Adrian-at-CrimsonAuzre,
Each section is given a unique ID on save based on content, and when viewing a page highlighting text within a section should show a helper to provide a link to that section. See the gif on this page: https://www.bookstackapp.com/docs/user/content-permalinks/

No idea how I didn't notice that. While I'm at it is there any way to embed an automatic table of contents?

@Adrian-at-CrimsonAuzre Not really I'm afraid, since it would run double-duty with the auto-generated one in the top-right when viewing a page.

I meant more like the one you see on Wikipedia or can set in word. Where the level of header defines parent/child relationships within the page. If there isn't anything built in I was going to just use the text links to the headers within the page and have a info callout or something and manually link to them.

@Adrian-at-CrimsonAuzre Nothing built-in other than the mentioned auto-generated one. That one does indent depending on header level though, relative to largest header used within the document.

Ah, is there any way I can print the outline?


Better README.md

Hey @onmyway133, your library is really interesting.
The only problem I found was the README.md, which lacks some information
I created this iOS Open source Readme Template so you can take a look on how to better organize.
If you want, I can help you to organize the lib by adding a "Installation" section, for example
What are your thoughts?

@lfarah Hi, thanks for taking a look. I just updated the README as your suggestion about the Installation section.
About https://github.com/awesome-labs/iOS-readme-template 👍 The only things I think you can improve on that is

Move the changelog into another file. The README should not be that long
Explicitly add LICENSE section 🎉 . I think Meta is so meta 😄

me and @vsousa will take a look at it. Really really thanks for the feedback! 😃

@lfarah cool. As this one is good, I 'll go ahead and close it

thanks @onmyway133 😄