Autodetect new features in gcloud SDK

Author the user story for this feature
As a flank committer, I want to know when the new gcloud SDK feature is introduced so I can ensure the flank is fully compatible.
Describe the solution
An issue should be created when gcloud SDK introduces a new option (command, flag, etc) that is not implemented in the flank.
Possible solutions:

The easiest approach would be just to check if a new version of SDK was released and notify (via issue)
Manual checking may be time-consuming so ideally, we would have more detailed info. We can achieve this by tracking the release notes https://cloud.google.com/sdk/docs/release-notes#firebase_test_lab and create a new issue with info only related to test lab
The best would be to have very specific info on what was changed, missing etc. This approach needs to be investigating.

Once the solution is picked, provide detailed info in the documentation.

#1200 🙂

#1200 🙂

?
1200 is about auto-updating API client only. That one is about SDK

ah, makes sense! they looked like two duplicate issues to me


Image bulk upload issue

When uploading more than one image at a time first image is sticking to the cursor position in post editor which is good and expected but all the others are adding in the very bottom of the post without line change using only one space in between them.
What would be handy:

Respect cursor position for all the images in bulk upload
Every next image link could have two enters or two next line spaces similar to

 code so they will not stick to each other.

@fildunsky i think we solved this issues with version 2 what do you think?

Yes, now it works perfect. Let's close this issue.


fix(quantic): styling of the ExampleQuanticRefineToggle fixed

SFINT-4534
Before:

After:
https://user-images.githubusercontent.com/86681870/205930927-eeb9f01b-a9a3-44f0-8dcf-4028a0f67f42.mov

Feel free to call this out of scope but while we're fixing styling could make this more of a square?

Feel free to call this out of scope but while we're fixing styling could make this more of a square?

Fixed!


Set up UI library

We do not want to care about layouts, fonts, buttons, etc. So, we need to use some external library.

[x] Choose some UI engine, which matches our requirements

Compatible with SFML
Has basic UI elements, such as

Window
Button
Text input
Progress bar (health bar)
Image
Text field
Scrollable list

[x] Add this library as submodule (into the ./deps)
[x] Integrate their cmake with ours (maybe helpful #3)
[ ] Check out their latest stable version (git checkout in the submodule, v1.87 is the latest at this moment)
[ ] Create some binary file, which demonstrates some basic functionality (in ./game or ./test directory, which you think is better)

В main есть теперь imgui, осталось какой-нибудь тестовый файлик сделать в ./test


Update reference-reports-data-retention.md

Team, after discussing with IDP PM, Risky users information is wrong. Risky users are preserved forever until the risk is remediated.

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

@MarkusVi - can you take a look?

#sign-off


Predicate pull-up optimization

https://duckdb.org/2024/11/14/optimizers.html#filter-pull-up--filter-pushdown has a nice description of filter pull up, an optimization in DuckDB that I'd like to implement in dask-expr as a learning exercise. dask-expr currently implements predicate push down, where a read_parquet followed by a filter on the values of a column is translated into a read_parquet with the filters set appropriately:
df = dd.read_parquet("file.parquet")
df = df[df["name"] == "Alice"]

is optimized to
df = dd.read_parquet("file.parquet", filters=[("name", "=", "Alice")])

The idea of a predicate pull-up is similar, but applied to the other side of an join / merge:
left = pd.read_parquet("left.parquet")
right = pd.read_parquet("right.parquet")

left = left[left["name"] == "Alice"]

# Both left and right should get the `filters=` pushed down to the read_parquet
result = left.merge(right, on="name", how="inner")

We know that the result of the inner join will only have name=="Alice" since the left DataFrame will only have name=="Alice" thanks to the preceding filter. Because the filter column is also the join column, dask-expr should be able to pull that filter all the way up through the merge and then push it down to the right = pd.read_parquet, just like it does for the left side.
https://github.com/dask/dask-expr/compare/main...TomAugspurger:dask-expr:tom/predicate-pull-up?expand=1 has an initial cut at this that I'll turn into a PR soon. The basic idea is to implement Merge._simplify_down to check for the prerequisites for this optimization (I've only implemented a very specific case, but I think the main / exclusive requirement is that there's a join and filter on the same column). I think that _simplify_down is the appropriate place to do this. IIUC, the Merge is "above" the read_parquet. We want to take the Filter that's on some side of the Merge, pull it up to the `Merge, and push it down the other side.
(I don't know whether this is an important optimization in practice, but it seemed like a pretty good problem to learn a bit about how dask-expr works).

I am a little worried that the filters will fight with each other if you have to push them up more than one layer, but haven't thought super deeply about this yet generally speaking.
We might want a different Filter class or something similar to demonstrate that this filter isn't supposed to move down but only up, but this probably needs a bit more thought.
The special case you have here is definitely valid though

Thanks.

We might want a different Filter class or something similar to demonstrate that this filter isn't supposed to move down but only up, but this probably needs a bit more thought.

We might need something similar to is_filter_pushdown_available but for filters being pulled up, but I'll try to avoid that initially. My hope is that if we have something like
(
    df[df.a == 1]
       .reset_index(drop=True)  # _filter_passthrough=True
       .merge(other, on="a")
)

We'll be able to determine that it's safe to pull the filter up to the join (through the .reset_index) because it's safe to pass the filter down. In other words, I'm hoping that _filter_passthrough=True is valid going up and down. But I haven't looked through _filter_passthrough_available in detail yet.


co-presence worker script added

Co-Presence Worker Script, has a all the event listeners on FRS container to fetch and write back (coming soon) in fluid container.
it also get all the content entity id for a users via his all the connection id

@ritikramuka can you please provide a generic name to worker script as it may be used for integrating other things apart from copresence. Also place it inside src/common folder and the webpack output should also be outside the /web folder.

@ritikramuka can you please provide a generic name to worker script as it may be used for integrating other things apart from copresence. Also place it inside src/common folder and the webpack output should also be outside the /web folder.

+1 on above request - we will be using the same worker for any web worker needed scripts to be run for web extension - so for now its copresence and copilot related stuff

what should be location of worker file? will we use it on desktop extension also... as @amitjoshi438 mentioned to place in src/common
I'm not managing webpack output in this PR, but will keep in mind in that PR... if I'm missing anything do let me know


Push cards further away

To avoid the bug where cards remain partly on screen when swiping them partially.

@sarbogast
Thank you for contribution!
I commented one place, please check it.

Thank you for your contribution!!!


[top/earlgrey] Tying SPI interface

After adding ASSERT_KNOWN, top sim is failed at the SPI_DEVICE
assertion,
UVM_ERROR @    135732 ps: (prim_assert.sv:21) [ASSERT FAILED]
[tb.dut.top_earlgrey.spi_device.CioMisoEnOKnown] CioMisoEnOKnown:
!$isunknown(cio_miso_en_o)
(hw/ip/spi_device/rtl/spi_device.sv:565)

cio_miso_en_o is connected to csb_i, which signal is floating at the
top. So, all the inputs of SPI interface are tied to 1 for now.
Signed-off-by: Eunchan Kim<EMAIL_ADDRESS>

This seems okay for now, but I guess eventually there'll be a DV interface
that drives a default value in the TB?
On Thu, Nov 7, 2019, 20:21 Eunchan Kim<EMAIL_ADDRESS>wrote:

@eunchan https://github.com/eunchan requested your review on: #939
https://github.com/lowRISC/opentitan/pull/939 [top/earlgrey] Tying SPI
interface.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/pull/939?email_source=notifications&email_token=AAH2RSVIWJWXYYQBABLILD3QSTSONA5CNFSM4JKSMO7KYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOUXGKBYA#event-2781651168,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSVIWX4ANZ2QV2J2DGDQSTSONANCNFSM4JKSMO7A
.


Connection timeout in windows build validation

Message:

Win32Exception: The wait operation timed out.
SqlException: Connection Timeout Expired.  The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement.  This could be because the pre-login handshake failed or the server was unable to respond back in time.  The duration spent while attempting to connect to this server was - [Pre-Login] initialization=80714; handshake=11;
at , D:\a\PsSmo\PsSmo\test\Connect-Instance.Tests.ps1:24

Need to check, if custom timeouts are used.
Requires https://github.com/abbgrade/PsBuildTasks/issues/4


Fix stored Discord nick never being updated

Tiny change. When updating a user's nick in User#seen! it used the existing database nick rather than the one sent in by Discord.

LOL HELLO I've been wondering about this for ages


light component does not have get intensity and temperature

I can't return the "temperature" used by a light source, since internally I just convert that temperature into a color. However, I have implemented a get_intensity and get_color function, which should be in alpha 5. Lets reopen an issue for get_temperature if that becomes an issue later down the line.


release shouldn't add new file to the repositories

For some reason the global component command wasn't working for my release. I tried renaming node_modules to node_modules.old while investigating but then when it finally worked all this node_modules.old directory (huge...) was committed as well...

Ah yeah, you're probably right. It is a side-affect of the i initial git push to start the repo..


[SPARK-27506][SQL] Allow deserialization of Avro data using compatible schemas

Follow up of https://github.com/apache/spark/pull/24405
What changes were proposed in this pull request?
The current implementation of from_avro and AvroDataToCatalyst doesn't allow doing schema evolution since it requires the deserialization of an Avro record with the exact same schema with which it was serialized.
The proposed change is to add a new option to allow passing the schema used to serialize the records. This allows using a different compatible schema for reading by passing both schemas to GenericDatumReader. If no writer's schema is provided, nothing changes from before.
Why are the changes needed?
Consider the following example.
// schema ID: 1
val schema1 = """
{
    "type": "record",
    "name": "MySchema",
    "fields": [
        {"name": "col1", "type": "int"},
        {"name": "col2", "type": "string"}
     ]
}
"""

// schema ID: 2
val schema2 = """
{
    "type": "record",
    "name": "MySchema",
    "fields": [
        {"name": "col1", "type": "int"},
        {"name": "col2", "type": "string"},
        {"name": "col3", "type": "string", "default": ""}
     ]
}
"""

The two schemas are compatible - i.e. you can use schema2 to deserialize events serialized with schema1, in which case there will be the field col3 with the default value.
Now imagine that you have two dataframes (read from batch or streaming), one with Avro events from schema1 and the other with events from schema2. We want to combine them into one dataframe for storing or further processing.
With the current from_avro function we can only decode each of them with the corresponding schema:
scalaval df1 = ... // Avro events created with schema1
df1: org.apache.spark.sql.DataFrame = [eventBytes: binary]
scalaval decodedDf1 = df1.select(from_avro('eventBytes, schema1) as "decoded")
decodedDf1: org.apache.spark.sql.DataFrame = [decoded: struct<col1: int, col2: string>]

scalaval df2= ... // Avro events created with schema2
df2: org.apache.spark.sql.DataFrame = [eventBytes: binary]
scalaval decodedDf2 = df2.select(from_avro('eventBytes, schema2) as "decoded")
decodedDf2: org.apache.spark.sql.DataFrame = [decoded: struct<col1: int, col2: string, col3: string>]

but then decodedDf1 and decodedDf2 have different Spark schemas and we can't union them. Instead, with the proposed change we can decode df1 in the following way:
scalaimport scala.collection.JavaConverters._
scalaval decodedDf1 = df1.select(from_avro(data = 'eventBytes, jsonFormatSchema = schema2, options = Map("writerSchema" -schema1).asJava) as "decoded")
decodedDf1: org.apache.spark.sql.DataFrame = [decoded: struct<col1: int, col2: string, col3: string>]

so that both dataframes have the same schemas and can be merged.
Does this PR introduce any user-facing change?
This PR allows users to pass a new configuration but it doesn't affect current code.
How was this patch tested?
A new unit test was added.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Test build #114954 has started for PR 26780 at commit 7bf47c6.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/19775/
Test PASSed.

Test build #114954 has finished for PR 26780 at commit 7bf47c6.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/114954/
Test FAILed.

Thanks @dongjoon-hyun for moving this forward to the tests. I forgot to rename a test, just pushed a fix.

@Fokko thanks for taking it over.
Could you provide details in the PR description? It can be modified based on the one in #24405.
The PR description will be the commit message.

Test build #114961 has started for PR 26780 at commit e285b5c.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/19782/
Test PASSed.

Test build #114961 has finished for PR 26780 at commit e285b5c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/114961/
Test FAILed.

Test build #114980 has started for PR 26780 at commit 1f324b0.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/19801/
Test PASSed.

Test build #114980 has finished for PR 26780 at commit 1f324b0.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/114980/
Test FAILed.

Test build #114982 has started for PR 26780 at commit a36c095.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/19803/
Test PASSed.

Test build #114982 has finished for PR 26780 at commit a36c095.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/114982/
Test PASSed.

Rebased onto master

The error looks like an unrelated network issue. Restarting the build.

Test build #114984 has started for PR 26780 at commit 44481f0.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/19805/
Test PASSed.

Test build #114984 has finished for PR 26780 at commit 44481f0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/114984/
Test PASSed.

Thanks for taking over @Fokko, I've been out of town the last few days

@Fokko I have just updated the PR description to replace "writerSchema" to "actualSchema"

Test build #115127 has started for PR 26780 at commit 4d61f67.

Test build #115127 has finished for PR 26780 at commit 4d61f67.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115127/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/19940/
Test PASSed.

Test build #115129 has started for PR 26780 at commit f710291.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/19942/
Test PASSed.

Test build #115129 has finished for PR 26780 at commit f710291.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115129/
Test PASSed.

Test build #115156 has started for PR 26780 at commit 827e409.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/19967/
Test PASSed.

Test build #115156 has finished for PR 26780 at commit 827e409.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

It looks like apache.org is unreachable:
curl: (7) Failed to connect to www.apache.org port 443: Connection timed out

gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
Using `mvn` from path: /home/runner/work/spark/spark/build/apache-maven-3.6.3/bin/mvn
./build/mvn: line 172: /home/runner/work/spark/spark/build/apache-maven-3.6.3/bin/mvn: No such file or directory

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115156/
Test PASSed.

Thanks, merging to master


Simplify algorithm of UnquoteUsage

The algorithm is more readable now

I'm going to vote against this one. At the moment we just stole the code from the core golang flag library https://golang.org/src/flag/flag.go and I'd rather not have to understand any bugs we create...

I suggest proposing this in the core library thought!

There are no bugs in core library algorithm, but it's a little bit hard to understand, what does this algorithm. That's why I make easier one.

So?

So, the stdlib explicitly avoids the strings library (see comment right above your edits).  Here's why:
BenchmarkBogemUnquoteUsage-2      3000000    409 ns/op     64 B/op    2 allocs/op
BenchmarkStdLibUnquoteUsage-2    10000000    170 ns/op     16 B/op    1 allocs/op

I vote No.

Yes, the performance is slower, but the readability is more better

I think the performance is higher in priority and the current method is not so unclear. So I'll close this PR


Be polite use 'git-up' !

Allows to use git up from Sublime.
Git up provides a better pull system.

I feel this should only be included if the system has git up.


UWP Support?

As Microsoft has published a UWP port for WebRTC do you plan to include this for desktop etc. use?

firstly, don't know about react native for windows UWP and could not speak c# though, but it sounds interesting. happy to see it of course.
I don't think we can have it done any time soon, unless someone has experiences and able to help to maintain.
just add few notes below for further discussion.
from my limited understanding, something we might need to do:

create new directory windows for windows platform.
add library from nuget or webrtc-windows ( since webrtc-windows is maintained in another project, so the webrtc version might be different between windows and ios/android )
(not sure) porting existing java/ios api to c#/WinJS

correct me if I'm wrong.
@Natrium83 do you know is point 3 necessary? or Microsoft maintained those api and can be used in react-native directly? it's the most time-consuming part.

In my opinion it should be possible to integrate the native C# code from MS as a plugin for react native. As they ported the original Google WebRTC to UWP it should be nearly the same as the integration of the iOS/Android code. They already provide the JS code, which could an even easier method.

@Natrium83 Is not a matter of opinion, but one of technical ability plus time :-)
Can you provide some links where that code is available?

This is the MS repo
https://github.com/webrtc-uwp/webrtc-uwp-sdk

hmm...just checked it, but didn't see wrapper between react native js and webrtc native libs.
If anyone knows something more, please share your thoughts.

I'm closing this since there is nothing actionable until someone submits a patch.


Use of parameters with the Redshift Data API in aws-sdk-pandas

We are attempting to use a Lambda to read from a Redshift Serverless Workgroup.
We need to use parameters, but I can't figure out the syntax to make it work. This may be a bug, but we may simply be missing the correct way of doing it.
Here's a sample lambda:
import json
import awswrangler as wr

def lambda_handler(event, context):
    print(wr.__version__)
    rs_data_api = wr.data_api.redshift.RedshiftDataApi(
        workgroup_name="my-workgroup",
        database="dev",
        secret_arn="arn:aws:secretsmanager:REGION:ACCOUNT:secret:my/redshift/secret-5OCdpE"
    )

    parameters = [{
        "name": "ittype",
        "value": "E"
    }]

    df = rs_data_api.execute("SELECT itemcode FROM my_schema.itemtable where itemtype = :ittype LIMIT 5", parameters = parameters)
    # This fails with "Request 0c4f411e-9dbe-4e4f-bc03-0184fcf26e59 failed with status FAILED and error ERROR: syntax error at or near \":\" in context \"where ittype = :\", at line 1\n  Position: 60"

    df = rs_data_api.execute("SELECT itemcode FROM my_schema.itemtable where itemtype = ? LIMIT 5", parameters = parameters)
    # This fails with "Request 3f9dbece-3a2b-4a8d-a15f-909afae5ad6c failed with status FAILED and error No value specified for parameter 1."

    print(df)

We've also tried the %s format defined in PEP249, but it gets the same error as the colon; the error is a syntax error.
We have tried different combinations for the parameters according to various documentation we found on the web. For example this:
    parameters = [{
        "stringValue": "E"
    }]

... as well as many more. We've even tried string-ifying the parameters with json.dumps(parameters).
It seems like parameters either aren't being fed through, or there is a different way of submitting them.
Appreciate the help!
Lambda Python Runtime: 3.12 ARM64
Wrangler Layer: AWSSDKPandas-Python312-Arm64 version 14 (awswranger == 3.10.0)

I am afraid the current implementation of execute in the RedshiftDataAPI class of awswrangler does not support parameters:
https://github.com/aws/aws-sdk-pandas/blob/main/awswrangler/data_api/redshift.py#L116
This is why the parameters keyword is not listed in the docs


dlv not running in OS X Sierra

Please answer the following before submitting your issue:
Note: Please include any substantial examples (debug session output,
stacktraces, etc) as linked gists.

What version of Delve are you using (dlv version)?

Delve Debugger
Version: 1.0.0
Build: $Id: c98a142125d0b17bb11ec0513bde346229b5f533 $

What version of Go are you using? (go version)?

go version go1.10.3 darwin/amd64

What operating system and processor architecture are you using?

macOS Sierra 10.12.6

What did you do?

Ran the command dlv debug in a hello world project

What did you expect to see?

delve debugging the program

What did you see instead?

flag provided but not defined: -l
usage: build [-o output] [-i] [build flags] [packages]
Run 'go help build' for details.
exit status 1

What's the output of:

go env
env
file $(which go)

You have some kind of wrapper script for the go command. It's broken.


chore(travis): remove yarn and setup greenkeeper-lockfile

if we decided not to use yarn, then there's no need to set yarn: true on travis.
greenkeeper-lockfile also supports package-lock.json.

I've missed that, thanks!


Do not update identical client secret

When updating a client secret with an identical value, the client secret hash changes. As a consequence, all issued client tokens become invalid ("revocable signature mismatch"). If the client secret doesn't change, then a client token should remain valid as long as the token has not been revoked.

Coverage decreased (-0.005%) to 86.1% when pulling a40c11ce5c9c0bb9c0bd64034ae68c3a43a8ba5d on klaus-sap:develop into 6045699adc51fde76f935b55feea603409aa613a on cloudfoundry:develop.

Coverage decreased (-0.005%) to 86.1% when pulling a40c11ce5c9c0bb9c0bd64034ae68c3a43a8ba5d on klaus-sap:develop into 6045699adc51fde76f935b55feea603409aa613a on cloudfoundry:develop.

Coverage decreased (-0.005%) to 86.1% when pulling a40c11ce5c9c0bb9c0bd64034ae68c3a43a8ba5d on klaus-sap:develop into 6045699adc51fde76f935b55feea603409aa613a on cloudfoundry:develop.

Remark: in class ClientAdminBootstrap, a client secret is updated only if the secret has changed (method didPasswordChange).

Coverage increased (+0.04%) to 86.144% when pulling 117ee030974c3104ed127538eb2e393edee69981 on klaus-sap:develop into 6045699adc51fde76f935b55feea603409aa613a on cloudfoundry:develop.

@strehle @klaus-sap Is there a reason for which you are trying to update the secret to be an identical secret? Wouldn't it be enough to not change the secret at all?
One concern is that such a check exposes information about the existing client secret, though this would be limited to client admins.

@tnwang a consourse based (re-)deployment causes such situations . the client update is triggered from bootstrap during start of new uaa. depending apps which requested a token during green/blue deployment end in an invalid token error.

@strehle - setting override: false for such clients would prevent that.
I think that the operation
set client secret

indicates a desired change, regardless of the new value.
it is our policy that when such change takes place, invalidate previous tokens
I'm not sure moving away from this policy is the answer. we should get together on slack and talk some more

@tnwang @fhanik In class ClientAdminBootstrap, a client secret is updated only if the secret has changed (method didPasswordChange). This PR is about doing the same in the rest endpoint "/oauth/clients/{client_id}/secret".
It's not about desired changes, it's about automated deployments. In my opinion, re-deployments should not change microservices as long as the configuration is unchanged.
If you wish, I will contact you on slack to talk some more.

@klaus-sap I see, so some software calls /oauth/clients to change a secret.
I'm still inclined to think that should follow the update password procedure.
It would seem as the applications shouldn't be calling APIs if there was no intent on changing values, and that this PR is simply asking for the UAA to work around the applications behavior to make the API idempotent. For example, should a password last modified timestamp value change if the value was changed to the same plaintext value?
Let me digest this a little bit more before we make a decision to make sure that if we merged this PR everything is still to expectation.

Some more context on what's the use case to call the automated deployment method with the same secret would help.
Why would the automated deployment need to call an API over a manifest bootstrap? Is this because there are non-manifest operators using the APIs or is this to avoid having to do a restart of UAA to redeploy certain clients?
Do they need to call secret change on every redeployment? Would a check for the current client secret succeeding be usable to avoid performing update the secret?
One thing we would want to avoid is disclosing any information about the existing client secret.
Know that this is a lot of questions - this would greatly help us understand what you're facing.

@tnwang Our automated script does not deploy the UAA, but another application which needs a dedicated OAuth client. As the script doesn't have access to uaa.yml, it calls the rest API to update the OAuth client according to the current configuration of the application.
In order to check the current client secret, we would either need to keep a history of the configuration or request a token.
I think that your question about information disclosure might decide about this PR. We might adapt the coding to not leak any information regardless if the secret has updated or not. On the other hand: is this really an issue for an admin who is authorized to overwrite any client secret?

Even if the message were to send back a successful message that the secret changed even if it was not, you could still tell via the token that the revocable sig has not changed leading to information disclosure about the secret.


Concurrency access has problems with set and delete (tests fail randomly)

I was trying to make a memory cache with auto-delete items and ran into the non-obvious problem that the tests sometimes fail
https://github.com/NikoMalik/memoryCache
--- FAIL: TestCacheConcurrentAccess (0.07s)
cache_test.go:113:
                                         /usr/lib/go-1.22/src/runtime/asm_amd64.s:1695
            Error:          Should be true
            Test:           TestCacheConcurrentAccess
            Messages:       Expected to find key

FAIL
exit status 1
--- FAIL: TestCacheConcurrentSetAndDeleteAsync (0.00s)
cache_test.go:333:
Error:          Should be false
Test:           TestCacheConcurrentSetAndDeleteAsync
Messages:       Expected not to find key
cache_test.go:335: Expected not to find key, but found
FAIL
exit status 1
FAIL    github.com/NikoMalik/MemoryCache        0.778s

I checked the test case in the repository you shared. It seems the flakiness is caused by the logic you implemented.
var wg sync.WaitGroup

wg.Add(numGoroutines)
for i := 0; i < numGoroutines; i++ {
        go func() {
	        c.Set(key, value)
	        wg.Done()
        }()
}

wg.Add(numGoroutines)
for i := 0; i < numGoroutines; i++ {
        go func() {
	        c.Delete(key)
	        wg.Done()
        }()
}

wg.Wait()

_, found := c.Get(key)

I checked the test case in the repository you shared. It seems that the flakiness is caused by the logic you implemented. The result of the test entirely depends on which goroutine is executed last, which can lead to inconsistent outcomes.


What happened to old currency-api

I got email from GitHub to remove currency-api repository, due to large size.
I have migrated things to cloudflare and npm.
Please read the migration guide to migrate from old currency-api.

thanks for the clarification, let's home NPM will be fine with it.

@fawazahmed0 I just wanted to say a big thank you for providing and maintaining this service 🙏
Great idea to add the cloudflare fallback URL.

@fawazahmed0 is there a way to download the data between 2022 and the migration? thanks

You also can use ipfs for api

@fawazahmed0  You also can use ipfs

justice for /currencies/{currencyCode}/{currencyCode} Api user

Now how can I convert the currency?

justice for /currencies/{currencyCode}/{currencyCode} Api user

how exactly can i use the new api

@Not-Secret-Dev with this new api we cannot convert currency anymore.

justice for /currencies/{currencyCode}/{currencyCode} Api user

how exactly can i use the new api

Guys I tried this and it is working.

const baseURL = `https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies`;

try {
        let response = await fetch(URL);

        let responseJSON = await response.json();

        if (!response.ok) {
            throw new Error(`Network response was not ok`);
        }
    } catch (error) {
        msg.innerHTML = `Failed to fetch exchange rate. Try again later.`;
        console.error("Fetch error:", error);
        return;
    }
    let rate = responseJSON[fromCurrency][toCurrency];
    ```

hey guys,this is the simple way of accessing
async function main(fromcurrency,tocurrency){       let data=await fetch(https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>let jsondata=await data.json()
let rate=jsondata[fromcurrency][tocurrency]
}
main('usd','inr')`


Transpile goto

Fixed by https://github.com/tereus-project/tereus-remixer-c-go/commit/a59b102d5931cee1821f1d041df5cbef7cdb7afb


Compatible with apple silicon version

Fixes: #apple silicon version error
Changes

Compatible with apple silicon version

Thanks for this! Considering there are no native builds for Apple Silicon, NW.js is not guaranteed to run on M1s right now. Could you add nw.on("appstart", () => process.exit(0)); below line 10, run the demo via npm run demo and paste the output on your terminal here? Seeing the logs would be helpful since I don't have a Mac myself.


stac_image_collection crashing RStudio

I've been going through the Geocomputation with R textbook and have run into an issue with gdalcubes crashing in the example script given here..
library(rstac)
library(gdalcubes)

s = stac("https://earth-search.aws.element84.com/v0")
items = s |>
  stac_search(collections = "sentinel-s2-l2a-cogs",
              bbox = c(7.1, 51.8, 7.2, 52.8),
              datetime = "2020-01-01/2020-12-31") |>
  post_request() |> items_fetch()

collection = stac_image_collection(items$features,
                                   property_filter = function(x) {x[["eo:cloud_cover"]] < 10})

RStudio crashes upon running stac_image_collection(). The RGui terminal also freezes. Not sure if this is overwhelming the RAM on my machine (32 GB) or what.
Info (I actually have windows 11, not sure why it says Windows 10).
> sessionInfo()
R version 4.2.0 (2022-04-22 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 22000)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.utf8
[2] LC_CTYPE=English_United States.utf8
[3] LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.utf8

attached base packages:
[1] stats     graphics  grDevices utils     datasets
[6] methods   base

loaded via a namespace (and not attached):
 [1] pkgload_1.2.4      viridisLite_0.4.0
 [3] brio_1.1.3         sp_1.5-0
 [5] stats4_4.2.0       link2GI_0.4-7
 [7] remotes_2.4.2      sessioninfo_1.2.2
 [9] pillar_1.8.0       lattice_0.20-45
[11] glue_1.6.2         digest_0.6.29
[13] RColorBrewer_1.1-3 colorspace_2.0-3
[15] htmltools_0.5.2    XML_3.99-0.10
[17] pkgconfig_2.0.3    devtools_2.4.3
[19] raster_3.5-21      stars_0.5-5
[21] purrr_0.3.4        webshot_0.5.3
[23] scales_1.2.0       processx_3.7.0
[25] terra_1.5-34       satellite_1.0.4
[27] tibble_3.1.7       proxy_0.4-27
[29] generics_0.1.2     usethis_2.1.6
[31] ellipsis_0.3.2     cachem_1.0.6
[33] withr_2.5.0        cli_3.3.0
[35] mapview_2.11.0     magrittr_2.0.3
[37] crayon_1.5.1       memoise_2.0.1
[39] ps_1.7.1           fs_1.5.2
[41] fansi_1.0.3        xml2_1.3.3
[43] lwgeom_0.2-8       class_7.3-20
[45] pkgbuild_1.3.1     tools_4.2.0
[47] prettyunits_1.1.1  lifecycle_1.0.1
[49] stringr_1.4.0      munsell_0.5.0
[51] callr_3.7.0        compiler_4.2.0
[53] e1071_1.7-11       rlang_1.0.4
[55] classInt_0.4-7     units_0.8-0
[57] grid_4.2.0         tmaptools_3.1-1
[59] dichromat_2.0-0.1  rstudioapi_0.13
[61] htmlwidgets_1.5.4  crosstalk_1.2.0
[63] leafem_0.2.0       base64enc_0.1-3
[65] testthat_3.1.4     codetools_0.2-18
[67] abind_1.4-5        DBI_1.1.3
[69] roxygen2_7.2.0     R6_2.5.1
[71] knitr_1.39         dplyr_1.0.9
[73] fastmap_1.1.0      utf8_1.2.2
[75] rprojroot_2.0.3    KernSmooth_2.23-20
[77] desc_1.4.1         stringi_1.7.8
[79] parallel_4.2.0     Rcpp_<IP_ADDRESS>
[81] vctrs_0.4.1        sf_1.0-7
[83] png_0.1-7          leaflet_2.1.1
[85] tidyselect_1.1.2   xfun_0.31

Sorry for my late reply, this issue has been fixed with version 0.6.4 (see https://github.com/appelmar/gdalcubes/commit/d799262f8063f059fab5607589d714bd261be7aa).


[Feature Request]: Request for "Filter" Feature for filtering the listing.

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
This filtering feature will allow users to navigate through projects based on their type. Users can select from the following categories to view relevant projects:

Games
Utilities
Clones
Web Apps, etc

Use Case
Use Case: Filtering Projects by Type
Actor: User
Preconditions: User is on the project listing page with a displayed list of projects.
Main Flow:
User accesses the filtering section.
User selects "Type of Project" from the dropdown.
User chooses one or more project types (e.g., Games, Clones, Utilities).
The project list updates to show only the selected types.
User browses the filtered projects.
Benefits
User efficiently finds projects relevant to their interests.
Add ScreenShots/Videos
No response
Priority
Medium
Record

[X] I have read the Contributing Guidelines
[ ] I'm a WOB'24(Winter Of Blockchain) contributor
[X] I'm a GSSOC'24 Extended contributor
[ ] I'm a Hacktoberfest'24  contributor
[X] I have starred the repository

Please take action by assigning me or rejecting the issue.


Makefile quickfix

#1471 unfortunately introduced a bug to the Makefile (spaces instead of tab for indenting) which makes it unusable. I've also added an extra test for formatting & turned make test into a target for all tests.

this can be two PRs - one for the fix, one for the other changes

this can be two PRs - one for the fix, one for the other changes

Yes, it could be, but given that it changes 11 lines in total is that really worth the extra effort? How much time does it take to ask for it to be split up, splitting it up, and reviewing two PRs (where one is literally changing a couple of spaces to a single tab) vs just reviewing this one ?

this can be two PRs - one for the fix, one for the other changes

Yes, it could be, but given that it changes 11 lines in total is that really worth the extra effort? How much time does it take to ask for it to be split up, splitting it up, and reviewing two PRs (where one is literally changing a couple of spaces to a single tab) vs just reviewing this one ?

yes, yes it is. we can get the fix in basically immediately. I have other things to attend to before I look at the other parts of this PR


A crash while creating a new world .

The crash is here http://pastebin.com/UTiGjMHb
Thanx -Crunk

How exactly did this happen? Is this on a server? When starting the game? Was the rftools config unmodified?

It's in my mod pack and client man no server i just updated to this dev build latest and got this crash while creating a new world . Default config i didnt delete old config after updating though . I updated to forge 1301 i think it is to . So idk if thats the cause

And this happens everytime that you create a new world? I will try to see what's wrong.

BTW, if possible I'm interested in the entire client log for this crash (i.e. logs/latest.log)

Hey man! When i get off work i will be happy to get you all the logs. This happens everytime i try to make a new world , but not when getting back into my old already made world.

Ok this is what I see in the console while it crashes when making a new world http://pastebin.com/NUS8XKGQ . My logs are here https://copy.com/1Ae6ZsP64zRsXeJQ

Thanks for this detailed information. I hope I can find the problem now.

Hey man scratch this report. Sorry I found the mod causing the crash , and it was the InfiniteInvo mod . I am truly sorry to have bothered you . :(

I was just going to tell you that I doubted it was rftools :-)
Well I'm happy it is not a problem with rftools then. I'll close this now. Thanks for letting me know.

Your welcome man , and thank you .


Broken nerd fonts in galaxyline

I'm using Hack nerd font

hmm galaxyline just a plugin in neovim .So the plugin will not destroy the font. I see that the question mark icon has been displayed correctly. What do you mean by destruction?

It's me, but writing from different account.
I mean that "Ф"-like thing and that omega sign and that kind of "[I]" turned 90 degrees. I installed https://github.com/CosmicNvim/CosmicNvim and you can look in their wiki how it's supposed to look like.


New release on Hackage

There are some nice features which haven't been published to Hackage. Would you mind making a new release?

:+1: would love to use the Bytes module

Sorry for the delay!  I will upload this soon (hopefully this weekend).  I would just like to do one final pass over the library due to the large number of changes since the last release

Alright, this is now up on Hackage as turtle-1.3.0.  Also, there's a newly added CHANGELOG, too: https://hackage.haskell.org/package/turtle-1.3.0/changelog

great, thanks!


Use min-height of textarea when computing auto-resize after deleting a char

Fixes #482.
This fixes a bug that was breaking the textarea on Android.
@williamboman, can you give it a try?

Functionality-wise works fine, :+1:.

@maxpoulin64 is 👍 (but didn't comment with 👍 itself, just the second-review label). All other maintainers are away at the moment, but @williamboman did test this successfully, so merging.


scons: 3.1.1 -> 3.1.2

WIP, checking the rebuilds. Python 3 (separate PR: #75877).
Announcement:
https://scons.org/scons-312-is-available.html
Changelog:
https://raw.githubusercontent.com/SConsProject/scons/rel_3.1.2/src/CHANGES.txt

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @

Result:
Fast-forward
 pkgs/development/tools/build-managers/scons/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
$ nix-env -f /home/nix-review/.cache/nix-review/rev-2bbb6fabc17ad742ee74dc78ed398eecf1726c94/nixpkgs -qaP --xml --out-path --show-trace --meta
$ nix build --no-link --keep-going --max-jobs 2 --option build-use-sandbox true -f /home/nix-review/.cache/nix-review/rev-2bbb6fabc17ad742ee74dc78ed398eecf1726c94/build.nix
builder for '/nix/store/9gnbq9w9shs1q22prwwn6pz2aq9px1fk-pangox-compat-0.0.2.drv' failed with exit code 2; last 10 log lines:
               ^~~~~~~~~~~~~~~~~~~~~~~~
  pangox.c:1381:3: warning: 'pango_map_get_engine' is deprecated [-Wdeprecated-declarations]
     return (PangoEngineShape *)pango_map_get_engine (shape_map, script);
     ^~~~~~
  In file included from pangox-private.h:26,
                   from pangox.c:30:
  /nix/store/6n6icd9pmmzdl7k39mdksv3k8y2z1bfn-pango-1.44.7-dev/include/pango-1.0/pango/pango-modules.h:63:16: note: declared here
   PangoEngine *  pango_map_get_engine  (PangoMap            *map,
                  ^~~~~~~~~~~~~~~~~~~~
  make: *** [Makefile:428: libpangox_1_0_la-pangox.lo] Error 1
builder for '/nix/store/0y76fhlrm00ard932mc0jg13hyhx2ckq-pingus-0.7.6.drv' failed with exit code 1; last 10 log lines:
  Checking for C library iconv... no
  Reports:
    * OpenGL support: enabled
    * Linux evdev support: ok
    * Wiimote support: disabled
    * XInput support: disabled

  Fatal Errors:
    * library 'boost_signals' not found
waiting for locks or build slots...
builder for '/nix/store/6giq6xx6hmfilpz5zw3rzxmh004wq5j9-setup_descent12_<IP_ADDRESS>.exe.drv' failed with exit code 1; last 10 log lines:

  Please purchase the game on gog.com and download the Windows installer.

  Once you have downloaded the file, please use the following command and re-run the
  installation:

  nix-prefetch-url file://$PWD/setup_descent12_<IP_ADDRESS>.exe

  ***
cannot build derivation '/nix/store/rdxrrpyki8vs5wcvh2viys46jpxn0j2w-descent2-assets-<IP_ADDRESS>.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/z8knmlsfpsjq5n6m3qc7q8vs9yrnbvp1-d2x-rebirth-full-<IP_ADDRESS>.drv': 1 dependencies couldn't be built
builder for '/nix/store/dzh1ws91bxpbvjm527chsnsfsa4zjfhk-setup_descent12_<IP_ADDRESS>.exe.drv' failed with exit code 1; last 10 log lines:

  Please purchase the game on gog.com and download the Windows installer.

  Once you have downloaded the file, please use the following command and re-run the
  installation:

  nix-prefetch-url file://$PWD/setup_descent12_<IP_ADDRESS>.exe

  ***
cannot build derivation '/nix/store/pfwydh2sp8nhqyxdwh35phss74ppyiqa-descent1-assets-<IP_ADDRESS>.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/65w4z64sykmbp3r0x37djm69g31r96q5-d1x-rebirth-full-<IP_ADDRESS>.drv': 1 dependencies couldn't be built
builder for '/nix/store/79i9y3f67qh0m71wjivjv4nvcpym1qls-mesos-1.4.1.drv' failed with exit code 1; last 10 log lines:
  checking netlink/route/link/veth.h presence... yes
  checking for netlink/route/link/veth.h... yes
  checking for idiagnl_msg_alloc_cache in -lnl-idiag-3... yes
  checking google/protobuf/message.h usability... yes
  checking google/protobuf/message.h presence... yes
  checking for google/protobuf/message.h... yes
  checking for /nix/store/17sj1baw89qa0d3324fx6am5jwq90cqg-mesos-maven-deps/com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.jar... yes
  checking for protoc... protoc
  checking python2 module: google.protobuf... no
  configure: error: failed to find required module google.protobuf
cannot build derivation '/nix/store/cykldv421q4h2qipch0glspl21hx9yk9-marathon-1.4.2.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/mlm97ja330ysd992i9gvmwl2nyqx93dd-spark-2.4.4.drv': 1 dependencies couldn't be built
builder for '/nix/store/3pxhslwpgm913a2p74p3hylm2x2y7lyq-swiften-4.0.2.drv' failed with exit code 2; last 10 log lines:
  Swiften/Network/PlatformNATTraversalWorker.cpp:171:64:   required from here
  /nix/store/c6jvs50xrcy2m1nbrmpjwad51f62fcrx-gcc-8.3.0/include/c++/8.3.0/ostream:682:5: error: no type named 'type' in 'struct std::enable_if<false, std::basic_ostream<char>&>'
  In file included from include/boost/detail/endian.hpp:9,
                   from ./Swiften/Base/Platform.h:46,
                   from ./Swiften/Base/API.h:9,
                   from ./Swiften/Presence/PresenceOracle.h:14,
                   from Swiften/Presence/PresenceOracle.cpp:7:
  include/boost/predef/detail/endian_compat.h:11:161: note: #pragma message: The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead
  scons: *** [Swiften/Network/PlatformNATTraversalWorker.o] Error 1
  scons: building terminated because of errors.
builder for '/nix/store/x27zfc2qh2zk0hqqzwgcz2fwyhqg3yyh-swift-im-4.0.2.drv' failed with exit code 2; last 10 log lines:
                   from Swiften/Network/PlatformNATTraversalWorker.cpp:13:
  /nix/store/c6jvs50xrcy2m1nbrmpjwad51f62fcrx-gcc-8.3.0/include/c++/8.3.0/ostream:682:5: note: candidate: 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)'
       operator<<(_Ostream&& __os, const _Tp& __x)
       ^~~~~~~~
  /nix/store/c6jvs50xrcy2m1nbrmpjwad51f62fcrx-gcc-8.3.0/include/c++/8.3.0/ostream:682:5: note:   template argument deduction/substitution failed:
  /nix/store/c6jvs50xrcy2m1nbrmpjwad51f62fcrx-gcc-8.3.0/include/c++/8.3.0/ostream: In substitution of 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = boost::logic::tribool]':
  Swiften/Network/PlatformNATTraversalWorker.cpp:171:64:   required from here
  /nix/store/c6jvs50xrcy2m1nbrmpjwad51f62fcrx-gcc-8.3.0/include/c++/8.3.0/ostream:682:5: error: no type named 'type' in 'struct std::enable_if<false, std::basic_ostream<char>&>'
  scons: *** [Swiften/Network/PlatformNATTraversalWorker.o] Error 1
  scons: building terminated because of errors.
cannot build derivation '/nix/store/36mjr7pjw66r1qjwkpgjf9acdb9sycjw-lutris-usr-target.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/43p6rk5dmh6kl6qhd224r0m3fpmkc1cp-lutris-usr-target.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/64vnfaqf2ws81g9r74ryys3m3bgmlps4-lutris-fhs.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/h31axgywcpyb01nzmlhdpsmfhdv9m9xn-lutris-fhs.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/8rnm6mylnczyrb33a7wd35gzhb8syibv-lutris-init.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/ahqw5ld6wgmcxmzvk6xaifi6fx911hip-lutris-init.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/dkfr9f4fls6sc7xq3wqk21nhcc37mvz2-lutris.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/vydh2ym5kab4qprcn63bw38jxfv3gsla-lutris.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/hzq4if6sa4mx746aqr0sk155r90gyx4j-env.drv': 10 dependencies couldn't be built
[108 built (7 failed), 1890 copied (12723.2 MiB), 2387.5 MiB DL]
error: build of '/nix/store/hzq4if6sa4mx746aqr0sk155r90gyx4j-env.drv' failed
10 package failed to build:
d1x-rebirth-full d2x-rebirth-full lutris lutris-free marathon mesos pingus spark swift-im swiften

79 package were build:
aj-snapshot alfred aspcud bombono cabal2nix carla d1x_rebirth dep2nix digikam endless-sky faust2jack faust2jaqt fceux ffado gambatte giada gitAndTools.gitFull gitAndTools.gitSVN gitAndTools.svn-all-fast-export gitAndTools.svn2git godot goxel gpredict gpsd gringo hammer hydra jack1 jack2 jackmix jackmix_jack1 kdeApplications.marble kexi libsForQt5.kreport lsp-plugins ltc-tools luppp lutris-unwrapped mariadb-galera mixxx mongodb muse mypaint nix-prefetch-scripts nix-prefetch-svn nix-update-source nsis opam opam_1_2 perl528Packages.SVNSimple perl530Packages.SVNSimple pulseeffects qlandkartegt rapidsvn reposurgeon rhvoice rmlint scons serf shotcut sonic-pi subversion subversion19 subversionClient subversion_1_10 svnfs tambura tdm tetraproc the-powder-toy tuxguitar urjtag vcstool vdrift vdrift-bin viking xboxdrv xsettingsd ydiff

Already failing before: mesos swiften swift-im
Unrelated failure: d1x-rebirth-full d2x-rebirth-full

cc maintainers:
Only FYI, your packages are currently failing on Hydra:

mesos: @cstrahan @kevincox @offlinehacker
pingus: @7c6f434c
swiften: @twey
swift-im: @orivej


How to build a tree from dynamic data?

I have dynamic data, I want to build a tree from it.
Let me put an example.
I have my own Item
data class Item(
    val name: String,
    val childItems: List<Item>
)

I use dynamic Item.
For example:
val item = Item(
    "head", listOf(
        Item("1", listOf(
            Item("11", listOf()),
            Item("12", listOf())
        )),
        Item("2", listOf(
            Item("21", listOf()),
            Item("22", listOf())
        ))
    )
)

How can I create tree for this dynamic item?
private fun createTree(item: Item): Tree<DataSource<Item>> {
    val dataCreator: CreateDataScope<Item> = { name, item ->
        Item("", listOf())
    }

    return buildTree(dataCreator) {
        fun getSubBranches(item: =Item): List<Unit> {
            val branches: MutableList<Unit> = mutableListOf()

            item.childItems.forEach {
                branches.add(
                    Branch(it.name, item) {
                        getSubBranches(it)
                    }
                )
            }
            return branches
        }
        getSubBranches(item)
    }
}

I tried the above code, but I am getting 1 dimension tree and there are no subbranches.
How can I approach it?
Thank you!

For dynamic data, we recommend using TreeNodeGenerator

Is there an example for this? @dingyi222666

Like this.
If you don't understand it for now, it's okay, I may improve the DataSource api in the coming days.

Yes, but I still recommend using TreeNodeGenerator to generate the nodes. When I update the API for DataSource I may also update the example using TreeNodeGenerator.

Ok, got, thanks

No, it may not be necessary to update the api of the dataSource.
If this data does not need to be updated later, then this will work.
  val item = Item(
            "head", listOf(
                Item(
                    "1", listOf(
                        Item("11", listOf()),
                        Item("12", listOf())
                    )
                ),
                Item(
                    "2", listOf(
                        Item("21", listOf()),
                        Item("22", listOf())
                    )
                )
            )
        )

        fun DataSourceScope<Item>.getSubBranches(item: Item): List<Unit> {
            val branches: MutableList<Unit> = mutableListOf()

            item.childItems.forEach {
                branches.add(
                    Branch(it.name, item) {
                        getSubBranches(it)
                    }
                )
            }
            return branches
        }

        // The dataCreator is not needed because the data is already provided in Branch(name:String,data,T). The dataCreator is called only when the data is not there.
        return buildTree {
            getSubBranches(item)
        }

This is an example of using TreeNodeGenerator.
private fun createTree(): Tree<Item> {

    val item = Item(
        "head", listOf(
            Item(
                "1", listOf(
                    Item("11", listOf()),
                    Item("12", listOf())
                )
            ),
            Item(
                "2", listOf(
                    Item("21", listOf()),
                    Item("22", listOf())
                )
            )
        )
    )

    return Tree.createTree<Item>().apply {
        generator = ItemTreeNodeGenerator(item)
        initTree()
    }
}

inner class ItemTreeNodeGenerator(
    private val rootItem: Item
) : TreeNodeGenerator<Item> {
    override suspend fun fetchNodeChildData(targetNode: TreeNode<Item>): Set<Item> {
        return targetNode.requireData().childItems.toSet()
    }

    override fun createNode(
        parentNode: TreeNode<Item>,
        currentData: Item,
        tree: AbstractTree<Item>
    ): TreeNode<Item> {
        return TreeNode(
            data = currentData,
            depth = parentNode.depth + 1,
            name = currentData.name,
            id = tree.generateId(),
            hasChild = currentData.childItems.isNotEmpty(),
            // It should be taken from the Item
            isChild = currentData.childItems.isNotEmpty(),
            expand = false
        )
    }

    override fun createRootNode(): TreeNode<Item> {
        return TreeNode(
            data = rootItem,
            depth = 0,
            name = rootItem.name,
            id = Tree.ROOT_NODE_ID,
            hasChild = true,
            // It should be taken from the Item
            isChild = true
        )
    }
}

@dingyi222666
I think it should return Tree<DataSource<Item>> , but it returns Tree<Item> in the following function.
private fun createTree(): Tree<Item> {}

@dingyi222666 thanks for your kind help
It works well.

@dingyi222666
I have one more question.
If there are several root nodes, then how can I implement it?
For example:
val items: List<Item> =
    listOf(
        Item(
            "root1", listOf(
                Item("1", listOf(
                    Item("11", listOf()),
                    Item("12", listOf())
                )),
                Item("2", listOf(
                    Item("21", listOf()),
                    Item("22", listOf())
                ))
            )
        ),
        Item(
            "root2", listOf(
                Item("1", listOf(
                    Item("11", listOf()),
                    Item("12", listOf())
                )),
                Item("2", listOf(
                    Item("21", listOf()),
                    Item("22", listOf())
                ))
            )
        )
    )

If you are using TreeNodeGenerator, this will work.
private fun createTree(): Tree<Item> {
    val items =
        listOf(
            Item(
                "root1", listOf(
                    Item("1", listOf(
                        Item("11", listOf()),
                        Item("12", listOf())
                    )),
                    Item("2", listOf(
                        Item("21", listOf()),
                        Item("22", listOf())
                    ))
                )
            ),
            Item(
                "root2", listOf(
                    Item("1", listOf(
                        Item("11", listOf()),
                        Item("12", listOf())
                    )),
                    Item("2", listOf(
                        Item("21", listOf()),
                        Item("22", listOf())
                    ))
                )
            )
        )

    val rootItem = Item("root_not_show", items)

    return Tree.createTree<Item>().apply {
        generator = ItemTreeNodeGenerator(rootItem)
        initTree()
    }
}

inner class ItemTreeNodeGenerator(
    private val rootItem: Item
) : TreeNodeGenerator<Item> {
    override suspend fun fetchNodeChildData(targetNode: TreeNode<Item>): Set<Item> {
        return targetNode.requireData().childItems.toSet()
    }

    override fun createNode(
        parentNode: TreeNode<Item>,
        currentData: Item,
        tree: AbstractTree<Item>
    ): TreeNode<Item> {
        return TreeNode(
            data = currentData,
            depth = parentNode.depth + 1,
            name = currentData.name,
            id = tree.generateId(),
            hasChild = currentData.childItems.isNotEmpty(),
            // It should be taken from the Item
            isChild = currentData.childItems.isNotEmpty(),
            expand = false
        )
    }

    override fun createRootNode(): TreeNode<Item> {
        return TreeNode(
            data = rootItem,
            // Set to -1 to not show the root node
            depth = -1,
            name = rootItem.name,
            id = Tree.ROOT_NODE_ID,
            hasChild = true,
            // It should be taken from the Item
            isChild = true
        )
    }

}

Thank you, @dingyi222666
It works well.

@dingyi222666
Now the problem is how do i update the data of the TreeView, if i'm using the TreeNodeGenerator and still maintaining the hierarchy of the Tree

tree.refresh()?

@dingyi222666 Now the problem is how do i update the data of the TreeView, if i'm using the TreeNodeGenerator and still maintaining the hierarchy of the Tree

tree.refresh()?

@dingyi222666 Now the problem is how do i update the data of the TreeView, if i'm using the TreeNodeGenerator and still maintaining the hierarchy of the Tree

tree.refresh()?

that doesn't work, i'm loading a folder from the device, with the functionality of creating, delete, rename etc, which i have added already and it works fine, but calling tree.refresh() seems not work though i'm calling it from a ViewBinder, which the constructor has the Tree instance

@dingyi222666 Now the problem is how do i update the data of the TreeView, if i'm using the TreeNodeGenerator and still maintaining the hierarchy of the Tree

tree.refresh()?

that doesn't work, i'm loading a folder from the device, with the functionality of creating, delete, rename etc, which i have added already and it works fine, but calling tree.refresh() seems not work though i'm calling it from a ViewBinder, which the constructor has the Tree instance

Can you show me how your TreeNodeGenerator is implemented?

here is the link , usage

@dingyi222666 Now the problem is how do i update the data of the TreeView, if i'm using the TreeNodeGenerator and still maintaining the hierarchy of the Tree

tree.refresh()?

that doesn't work, i'm loading a folder from the device, with the functionality of creating, delete, rename etc, which i have added already and it works fine, but calling tree.refresh() seems not work though i'm calling it from a ViewBinder, which the constructor has the Tree instance

No, it should call treeView.refresh().
tree.refresh may only refresh the tree data, and not synchronize it to the treeView.

@dingyi222666
non of the treeView.refresh() and treeView.refresh(false, node) works or do anything here, it was called from the ViewBinder here is the link

@BlueCatSoftware
You also need to update your FileSet data.
The data flow should look like this
raw data -> node generator -> tree -> treeView

@BlueCatSoftware You also need to update your FileSet data.
The data flow should look like this
raw data -> node generator -> tree -> treeView

`
private suspend fun refreshTreeView(treeView: TreeView, node: TreeNode){
val rootItem = FileSet(project.root,
transverseTree(project.root) as MutableSet
)
    val generator = FileTreeNodeGenerator(rootItem)

    val tree = Tree.createTree<FileSet>().apply {
        this.generator = generator
        initTree()
    }

    treeView.tree = tree

    treeView.refresh(false, node)
}

`
this works but doesn't retain the tree hierarchy, it literally reloads and collapses the tree.
At this point an example will definitely help

@BlueCatSoftware
See https://github.com/dingyi222666/UnLuacTool/blob/main/app/src/main/java/com/dingyi/unluactool/ui/editor/main/FileViewerFragment.kt#L361

@BlueCatSoftware See https://github.com/dingyi222666/UnLuacTool/blob/main/app/src/main/java/com/dingyi/unluactool/ui/editor/main/FileViewerFragment.kt#L361

yeah i am aware of this method, it fetches the data. i'm still confused, the problem is there's no method to update the node's data. i know how to fetch nodes data but doesn't know to manipulate.
I'm still very confused with the updating

@BlueCatSoftware
The FileSet class should have a parent attribute that points to the parent file. When updating, it needs to get the parent’s FileSet and refresh its child files.
Actually, I recommend you to use File directly, so that the node generator only needs File.listFiles.

@BlueCatSoftware The FileSet class should have a parent attribute that points to the parent file. When updating, it needs to get the parent’s FileSet and refresh its child files.
Actually, I recommend you to use File directly, so that the node generator only needs File.listFile.

i get your point, here is my problem UPDATING, how do i exactly update.
The big question is the UPDATING, what am i swapping ? is it the generator or what exactly ?

@BlueCatSoftware
I don't think you fully understand what I'm saying.
Let me give you a sample code.

class FileTreeNodeGenerator(val rootItem: FileSet) : TreeNodeGenerator<FileSet> {

    override fun createNode(
        parentNode: TreeNode<FileSet>,
        currentData: FileSet,
        tree: AbstractTree<FileSet>
    ): TreeNode<FileSet> {
        return TreeNode(
            currentData,
            parentNode.depth + 1,
            currentData.file.name,
            tree.generateId(),
            currentData.subDir.isNotEmpty(),
            currentData.subDir.isNotEmpty(),
            false
        )
    }

    override suspend fun fetchNodeChildData(targetNode: TreeNode<FileSet>): Set<FileSet> = withContext(Dispatcher   .IO) {
        // refresh data here
        val fileSet = targetNode.requireData()
        fileSet.subDir.clear()
        for (file in dir.listFiles()) {
              fileSet.subDir.add(FileSet(fileSet))
        }
        fileSet.subDir.toSet()
    }

    override fun createRootNode(): TreeNode<FileSet> {
        return TreeNode(
            data = rootItem,
            depth = 0,
            name = rootItem.file.name,
            id = Tree.ROOT_NODE_ID,
            hasChild = true,
            isChild = true
        )
    }
}

data class FileSet(val file: File, val subDir: MutableSet<FileSet> = mutableSetOf())

@dingyi222666
oh this, i'm gonna try it out.
Thanks by the way

override suspend fun fetchNodeChildData(targetNode: TreeNode<FileSet>): Set<FileSet> =
        withContext(Dispatchers.IO) {
            val set = targetNode.requireData().subDir
            set.clear()
            val files = targetNode.requireData().file.listFiles() ?: return@withContext set
            for (file in files) {
                when {
                    file.isFile -> set.add(FileSet(file))
                    file.isDirectory -> {
                        val tempSet = mutableSetOf<FileSet>().apply {
                            addAll(transverseTree(file))
                        }
                        set.add(FileSet(file, subDir = tempSet))
                    }
                }
            }
            return@withContext set
        }

this definitely worked for me, i didn't know treeView.refresh()  calls fetchNodeChildData() internally though.
what if the data is dynamic, e.g you are not loading data from the device file storage, but rather you want to insert data based on user's interaction?

override suspend fun fetchNodeChildData(targetNode: TreeNode<FileSet>): Set<FileSet> =
        withContext(Dispatchers.IO) {
            val set = targetNode.requireData().subDir
            set.clear()
            val files = targetNode.requireData().file.listFiles() ?: return@withContext set
            for (file in files) {
                when {
                    file.isFile -> set.add(FileSet(file))
                    file.isDirectory -> {
                        val tempSet = mutableSetOf<FileSet>().apply {
                            addAll(transverseTree(file))
                        }
                        set.add(FileSet(file, subDir = tempSet))
                    }
                }
            }
            return@withContext set
        }

this definitely worked for me, i didn't know treeView.refresh() calls fetchNodeChildData() internally though. what if the data is dynamic, e.g you are not loading data from the device file storage, but rather you want to insert data based on user's interaction?

Let’s take another look at this data flow: raw data -> node generator -> tree -> treeView.
If your raw data comes from multiple sources, then you need to provide your raw data externally.
To implement your example, you need to provide raw data (which is FileSet).
This data needs to be refreshed outside the node generator.
I’m afraid I can’t provide any more code examples, I think you need to think more about how to implement it, this is actually a very simple problem.


Added seperate numbering for each section

Could you pls review my pr @manish-9245 ? Also do tell me if you need any changes.

@ProtyayMnd50 please update your branch and resolve conflicts

I have added a new pull request could you pls review it @Shubhamlmp . If there is still a merge conflict I will resolve it.Very sorry for the inconvienience.


Re arch rc1 fix conv2d

@dboyliao can you review and merge?

BTW, according to the kernel function, are you using SAME padding for UNKNOWN?


Fix deprecation warnings and breakage caused by #137

Revert 2 useless changes in #137
Union() -> Union{}

Thanks. Sorry about that.


textfiled in listtile bug

Description

Code example to reproduce the issue:
# -*- coding: utf-8 -*-

import flet as ft

def main(page: ft.Page):
    page.add(
        ft.ListTile(
            title=ft.Text('Hotkeys'),
            trailing=ft.TextField(
                width=150,
                hint_text=''.join(['Search', '...']),
                prefix_icon=ft.icons.SEARCH,
                max_lines=1,
                autofocus=True)))

ft.app(target=main)

Describe the results you received:
When the length of the input exceeds the length of textfiled, only half of the text is displayed.

Describe the results you expected:

Additional information you deem important (e.g. issue happens only occasionally):
Flet version (pip show flet):
0.22.0

Give your requirements.txt file (don't pip freeze, instead give direct packages):
no

Operating system:

Windows 10
Additional environment details:

Adding max_length=100 to the textfield is even weirder.

Read this: https://python.plainenglish.io/how-to-resize-flets-textfield-control-without-the-content-going-invisible-6d268a4d96e1

why content_padding=ft.Padding(left=5, top=3, right=5, bottom=3) ?
This is not the ultimate solution and seems mysterious. There is something wrong with the default parameters. I seem to have never encountered such a problem in other libraries.

Adding max_length=100 to the textfield is even weirder.

here why does the input box become flat? contet_padding has been added as you said.

here why does the input box become flat?

The text field alone has at the beginning a default height, and the counter_text you added takes up some of this height/space inorder to be properly displayed.
You can increase the height of field using the height property.
content_padding is the solution to the textfield's content/text going partly/completely invisible.


kaiscr: init at unstable-2020-10-21

Description of changes
Built on the second try excluding the hash fetch (:
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I forgot to test kailive too so a bunch of fixes for that rolled in with this push.


Update Tutorial section names

Summary

Updated all section names to be consistent across all the tutorials

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2323

Relevant Lines:
5007

💛  - Coveralls


Allow JGroups Diagnostics to be configured

The jgroups discovery protocols should have enable_diagnostics=true as the default behaviour to provide more debugging options. This should not be a security issue, as it's necessary for the port to be explicitly exposed by the container environment.

I'm not sure if this is a good idea. This might be considered as a security problem (I may use Probe to mess up your cluster - especially if you're using Load Balancers with public IPs).
I would prefer to create an env variable (DEBUG or something) that would need to be explicitly turned on.

Thanks for the speedy feedback :smiley:
When discussing this last week with Bela the conclusion was that enabling diagnostics is acceptable, because in an environment such as kubernetes, the diagnostics port has to be explicitly exposed in order for it to be accessible externally.
WDYT is this sufficient protection?

I would still prefer to have a debug option in the image.
The solution you proposed works fine if you handcraft all Kubernetes objects. But there are users using some tooling (oc expose, odo or probably other tools as well) that might grab all ports from the EXPOSE instruction of the image and try to expose it automatically. This way you might be exposing diagnostic port without knowing it.

The default diagnostics_port for jgroups is 7500 which we don't expose in the image anyway. So AFAIK the only way to access this port would be by executing code within the container or if a user extended the image in order to explicitly expose the port.
But I will play it safe and associate this behaviour with the existing DEBUG env variable and we can re-asses later if this is problematic.

In the end I added this to the yaml configuration as:
jgroups:
  diagnostics: true | false

Great! Thanks @ryanemerson

+1


Possibly incorrect description for AADSTS50074 on "Microsoft Entra authentication and authorization error codes" page

On page "Microsoft Entra authentication and authorization error codes" the description for error code "AADSTS50074" is "UserStrongAuthClientAuthNRequiredInterrupt - Strong authentication is required and the user did not pass the MFA challenge."
The description states the user did not pass the MFA challenge; however, I believe error 50074 relates only to an MFA challenge being shown, and does not infer to success or failure of the challenge itself. I believe this is the case as:

The error code lookup page for error 50074 does not mention that the MFA challenge failed, simply that the "User needs to perform multi-factor authentication ... ".
I performed testing of sign-ins with  both successful and failed MFA challenges. For both successful and failed MFA scenarios, a 50074 event was logged. For the MFA failure test, a separate 500121 event was logged. This event has the description of "The user didn't complete the MFA prompt ... " on the error code lookup page. Further, the document in question does not have any details for error code 500121.

Please can you review this page. It is important that this error code is accurately described, since users may infer that a sign-in had failed when that may not have been the case. Thanks

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

ID: a826ee6f-f457-7109-9f77-67c57977d4e7
Version Independent ID: 11766f27-492e-a579-dced-8a42528cbb47
Content: Microsoft Entra authentication & authorization error codes - Microsoft identity platform
Content Source: docs/identity-platform/reference-error-codes.md
Service: identity-platform
GitHub Login: @rwike77
Microsoft Alias: ryanwi

@clivesec
Thanks for your feedback! We will investigate and update as appropriate.

@clivesec
I'm going to assign this to the document author so they can take a look at it accordingly.
@rwike77
Can you please check and add your comments on this doc update request as applicable.

@rwike77 Please review. I verified that there's a disconnect between the two, per the GitHub issues comment. If needed, please open an ADO work item to track this while getting confirmation/additional info from engineering and PM. Thank you.

We are in the process of transferring to a new unified user feedback system, so I need to close this issue even though it's not resolved. I'll need to get some help from engineering.  I've opened an internal work item for the month of June so I won't lose it.
Thanks for your patience. #please-close


Do not always include real filename or URL in imagery_used

Pull request #4440, initiated by issue #4385, changed so that the real filenames of local GPX files were made public.
I think this is pretty terrible from a privacy point of view. It's not at all evident in the editor that the filename will be made public: the only way to see that it will is to expand all the tags and then hover over the sources field (the field is only wide enough to show the satellite imagery reference).
In essence, the user is tricked into submitting more information than he or she might have intended to. If we accept that, why stop at sneaky submission of just metadata when we could simply upload and make the entire trace public?
As the editor does not allow the user to edit the filename about to be submitted, despite the fact that the user could have set any filename before doing any edits, it is necessary to redo the edits should a sensitive filename have been accidentally set.
I love the simplicity of the iD editor, so adding options or extra editing fields doesn't seem like the best idea to me. Is there really any real value of including local filenames or unrecognized URLs?

Maybe we could include the URL if it is on OpenStreetMap, but just say "Local GPX" if it's uploaded?

I changed the code to generate a string like '.gpx data file' or '.geojson data file' depending on the extension:

Allow us to recall that there are four levels of
https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces .
So some consideration of at least the people choosing Identifiable should be made...


js-soroban-sdk: streamEvents method support

With the decision in https://github.com/stellar/go/issues/4676 to not do push streaming, there is a risk that people will implement their own polling in the clients. This would likely be done in a rudimentary way, which would be unreliable, and cause us excessive load on soroban-rpc. We could add a streamEvents method in the js sdk, which would show a better way to do the polling (predict next block, and try w backoff/jitter, etc). If people use this 🤞 , it could reduce load on soroban-rpc.

-Add getEvent method to SDK

work in browser, node.js context
include filtering
(separate story) Add streaming endpoint


[Feature] Image upload support might be added

I deployed and tried the features of this repo and noticed that new vision feature is not accessible. To implement this, I have a recommended repository below to add this feature.
Feature might look like this:

Repo:
https://github.com/Licoy/ChatGPT-Midjourney

must be on runtime edge i think hahaha

#3110

https://demo6.goamzai.com/draw


async stream reading

the library should support reading streams in an asynchronous manner.

see branch feature/async-streams


Ui5 busyindicator

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/retest


Status of the project?

There does not seem to be any updates since 2018? Is it still maintained?
There is now PHP 8 out. PHP 7 achieved end of life. PHP 5 is probably not something which needs to be supported anymore. Would removing support for PHP 5 allow code cleanup and easier support for ZTS?

The project is currently indeed unmaintained, in that I no longer have any active projects that necessitate using this library.
Indeed PHP 5 is dead in the water, as is PHP 7 (for the most part). I'm vaguely aware of there being only small or no changes required for getting this working on PHP 7.4, but I don't know what the situation is for PHP 8. Removing PHP 5 support is likely orthogonal with bringing in support for PHP 8 and 8.1, in that there's incompatible changes in internal APIs and behaviours that need to be all supported and disambiguated against via build tags.
As far as I know, the base setup here is still viable, but the project needs a bit of love and attention by people that actually use it. I'm happy to help provide guidance, but my direct involvement is likely to remain minimal unless I somehow find use for this again.

Me thinks that your approach is not quite good. Go programming language is still very young and amateur. Golang, after being in development for more than 10 years, still lacks a lot of things and has a lot of bugs. PHP language is still actual for a lot of types of applications. Have you seen the phpBB forum engine ported to Golang ? I have not. There are a lot more examples if you study this field.


Not able to download logs from mRo Control Zero H7 OEM

The logfile_download example works fine on the Pixhawk 4, but not on the mRo Control Zero H7 OEM.
This is the output:
09:21 $ build/logfile_download udp://:14540
[09:21:55|Info ] MAVSDK version: v1.4.17 (mavsdk_impl.cpp:20)
Waiting to discover system...
[09:21:55|Info ] New system on: <IP_ADDRESS>:14540 (with sysid: 1) (udp_connection.cpp:192)
[09:21:55|Debug] New: System ID: 1 Comp ID: 1 (mavsdk_impl.cpp:496)
[09:21:55|Debug] Component Autopilot (1) added. (system_impl.cpp:377)
[09:21:55|Warn ] Vehicle type changed (new type: 2, old type: 0) (system_impl.cpp:225)
[09:21:55|Debug] Discovered 1 component(s) (system_impl.cpp:578)
[09:21:55|Warn ] No entries received (log_files_impl.cpp:167)
[09:21:56|Warn ] sending again after 0.502617 s, retries to do: 3  (520). (mavlink_command_sender.cpp:287)
[09:21:56|Warn ] sending again after 1.00862 s, retries to do: 2  (520). (mavlink_command_sender.cpp:287)
[09:21:57|Warn ] sending again after 1.5145 s, retries to do: 1  (520). (mavlink_command_sender.cpp:287)
[09:21:57|Error] Retrying failed (520) (mavlink_command_sender.cpp:307)

Any idea why it doesn't work on the mRo?

Feels like MAVLink messages from MAVSDK don't reach the mRo, though MAVLink messages from the mRo do reach MAVSDK. Could it be that you have an issue there?

Feels like MAVLink messages from MAVSDK don't reach the mRo, though MAVLink messages from the mRo do reach MAVSDK. Could it be that you have an issue there?

Thanks for the reply. That might be, is there any way I can troubleshoot this?

You can try to send other commands to the autopilot (e.g. arm, or set a parameter, etc) and confirm that none of them work (if my intuition is correct, they will just time out because they never reach the autopilot).
You can also use wireshark to see what happens on the network interface between mavsdk and mRo.
If you want, you can also try to describe your network topology here, so that if there is something obviously wrong we can maybe help :blush:.

You can try to send other commands to the autopilot (e.g. arm, or set a parameter, etc) and confirm that none of them work (if my intuition is correct, they will just time out because they never reach the autopilot).
You can also use wireshark to see what happens on the network interface between mavsdk and mRo.
If you want, you can also try to describe your network topology here, so that if there is something obviously wrong we can maybe help 😊.

Interestingly, with the pip package mavsdk 1.4.9 I am able to set parameters using the upload_params script.
The line await get_entries(drone) in the logfile_download example still hangs though.

Is the mRo running the same version of PX4 as the Pixhawk? Does the mRo support logs? Like can QGC list and download logs, for instance?

Is the mRo running the same version of PX4 as the Pixhawk? Does the mRo support logs? Like can QGC list and download logs, for instance?

Yes to both.

The same PX4 code is running (a modified version of 1.13.3)
I can see the logs in QGC

Maybe there is a bug then. Can you check what happens with MAVLink on the mRo side when MAVSDK requests the logs?

Maybe there is a bug then. Can you check what happens with MAVLink on the mRo side when MAVSDK requests the logs?

Can you please be more specific? Should I check a specific topic?

I would look at the MAVLink messages being used by the log_files implementation: https://github.com/mavlink/MAVSDK/blob/main/src/mavsdk/plugins/log_files/log_files_impl.cpp

Looking at this file, the output is as follows:

LOG_REQUEST_END
LOG_REQUEST_LIST
Then this line is called https://github.com/PX4/PX4-Autopilot/blob/f68f88b97c77d38054d54696fca5ef1a3e91822b/src/modules/mavlink/mavlink_log_handler.cpp#L175

This behavior is the same on both the Pixhawk and the mRo, but after 3. on the Pixhawk we can see the logs, whereas it just hangs when requesting from the mRo

It seems like I was wrong about the root cause of the issue. I tested another SD card now and it worked on the mRo.
I tested two mRos earlier with two different SD cards, I am trying to see what is different. The folder structure is pretty similar.
A card that does not work to the left, a card that works to the right:

I tried removing the -ulogs folder from the left card but it did not help.
The card that does not work is 32GB, the card that works is 8GB. Not sure if it matters.
But important to note here is that there is not an issue with the mRo, sorry for the confusion.

It is weird that it was working with QGC and not with MAVSDK, if that was an sdcard issue 🤔

Could be an issue on the PX4 side as well, not sure. If you want I can send you the SD-card contents so you can debug it further.

I can see that QGC triggers LOG_REQUEST_LIST two times. The second time it requests the range 50-167.
MAVSDK first triggers LOG_REQUEST_END, then LOG_REQUEST list in the range 0-167. Maybe MAVSDK simply requests too much data at a time?

Oh right, maybe there is some tuning to do there. The message definition doesn't say anything about a limit for LOG_REQUEST_LIST, so I would assume that the autopilot should do it in a way that works...

It could also be that list_timeout gets called too quickly:

Hmm I don't know, if I understand the code correctly, the timeout is refreshed everytime a LOG_ENTRY is received, and even then there is some retry logic...
Would be nice to check what PX4 does when it receives LOG_REQUEST_LIST and if it could be a problem if too many entries are requested...

You could try to increase the timeout:
https://github.com/mavlink/MAVSDK/blob/v1.4/src/mavsdk/core/include/mavsdk/mavsdk.h#L267-L275

You could try to increase the timeout: https://github.com/mavlink/MAVSDK/blob/v1.4/src/mavsdk/core/include/mavsdk/mavsdk.h#L267-L275

Unfortunately this did not help.
I think the problem is that too many logs are requested at the same time. Should probably try to do it in batches of 100?
Have you been able to reproduce this issue on your side?
Steps to reproduce:

Have 150+ ulogs on a Pixhawk/mRo/whatever
Run the logfile_download example (I tested both the .cpp and .py examples)
Code execution stops on get_entries()

Is PX4 having an issue when there are "too many" logs? If that's the case, shouldn't that be fixed on the PX4 side?

Any updates on this issue?

No, sorry, it's on my long todo list of things I ought to look into. Consider GitHub sponsoring if this is important and urgent for you.

Actually, it might have been fixed in the meantime: https://github.com/mavlink/MAVSDK/pull/2234
Try again with v2.4.0.
See also: https://github.com/mavlink/MAVSDK-Python/issues/662

I'm closing this. Comment if this is not fixed in the meantime.


Button focus style not delete in android

When use android ^v7.0.1 (v8.0.x , v9.0.x ,...) button focus show background.

Expected Behavior 🤔
starting animation(ripple) then button background disappears
Current Behavior 😯
starting animation(ripple) then button background become grey
Steps to Reproduce 🕹

use android ^v7.0.1
click button with ripple animation

Tech
Version

Material-UI
v3.9.3

React
v16.8.5

Browser
chrome

What browser are you using? It doesn't look like Chrome. Could it be the UC Browser with no support for touch action none?

I use some browsers. Samsung Internet Browser, chrome, Mi Browser.All have this bug, but if only use android v7.0.1 and up.

@Koniushok It's funny because it's #15682 problem inversed. I don't think that we can do anything about it, the @media (hover: none) feature is not supported everywhere: https://caniuse.com/#feat=css-media-interaction

For some devices this will do. For me it did not fit. But I corrected using:
@media (pointer: coarse) {
    && button:hover {
      background: none !important;
    }
  }

Let's see how popular alternatives solve the problem:

Ionic: https://github.com/ionic-team/ionic/blob/d788a8eac6ea8e60b1147be3d6119cd448a845db/core/src/components/tab-button/tab-button.scss#L70-L74.
Bootstrap: doesn't want to solve the problem https://github.com/twbs/bootstrap/issues/25182.
Andt mobile: has an .active class, no focus, hover styles.
Andt: doesn't solve the problem.

I have tried the following codepen on Android 6, Chrome 74. It works as expected. I think that we should keep the current solution we have on the master branch. I'm not aware of any better solution.
Your browser screenshot doesn't seem to use Chrome. What browser is it?

I used Samsung Internet Browser v<IP_ADDRESS>

chrome

Let's see how popular alternatives solve the problem:

Ionic: https://github.com/ionic-team/ionic/blob/d788a8eac6ea8e60b1147be3d6119cd448a845db/core/src/components/tab-button/tab-button.scss#L70-L74.
Bootstrap: doesn't want to solve the problem twbs/bootstrap#25182.
Andt mobile: has an .active class, no focus, hover styles.
Andt: doesn't solve the problem.

I have tried the following codepen on Android 6, Chrome 74. It works as expected. I think that we should keep the current solution we have on the master branch. I'm not aware of any better solution.
Your browser screenshot doesn't seem to use Chrome. What browser is it?

http://recordit.co/YtA8nrtGc2

I used Samsung Internet Browser v<IP_ADDRESS>

Thanks. I can reproduce the problem with Samsung Internet Browser (not Chrome). This browser has a higher market share than IE 11. This is concerning as the last version of Samsung Internet Browser is impacted.

I checked browsers:

uc browser,
Firefox,
Chrome,
Samsung.
All 4 browsers have this bug. Android v7.0.1+.
I think all browser have this on android v7.0.1+.

@Koniushok Interesting, it seems to be phone related

Nexus 5: OK
OnePlus 6: OK
Pixel 3: OK
LG - G5: OK
Galaxy Note 9: KO
Galaxy S7: OK
Galaxy S8: KO
Galazy S9: KO
Moto X: OK

I haven't realized, It's a duplicate of #15000.

For reference, the only workaround we found for this problem so far is in https://github.com/mui-org/material-ui-pickers/pull/1653#issuecomment-615422846 with @dmtrKovalenko.


Can you push a new version to npm?

The current version on npm is 0.1.0 which still has a peer dependency on chai < 2. Chai is up to 3.5 now.  I know I can just reference the master branch, but updating npm would be value add for developers.

@pvencill - My bad.  I meant to do that last month, but then I went on holiday and completely forgot about it  😞
PR https://github.com/chaijs/chai-fs/pull/25 fixes this

Re-opening this issue because PR #25 didn't fully fix the issue.  The CI build is failing due to some failing tests, which is preventing us from publishing to npm.   Working on it.

Just a status update....
I just fixed this issue in PR #27. Once that's merged, we can publish a new version to npm.

Chai-FS v1.0.0 has been published to npm.
https://github.com/chaijs/chai-fs/releases/tag/v1.0.0

Awesome work @BigstickCarpet!


doc: Add purge reference

Summary

Add doc for purging entities, re https://github.com/TheThingsNetwork/lorawan-stack/issues/3585

Notes for Reviewers

TODO: Add a screenshot from the console when the feature is implemented
Checklist

[x] Scope: The referenced issue is addressed, there are no unrelated changes.
[ ] Run Locally: Verified that the docs build using make server, posted screenshots, verified external links. Test with HUGO_PARAMS_SEARCH_ENABLED=true if style changes will affect the search bar.
[ ] New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
[ ] Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
[x] Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

Thanks! I think it should also mention that purging is admin only.

@bafonins could you update the links we set in the modals wrt to purging to this new link? Specifically, the bit that says sth like "Make sure you understand the implications of purging as described here".


CSS is slow to load on docs

https://s3.us-west-2.amazonaws.com/secure.notion-static.com/9d2f19b9-708e-4e84-b7f7-ce4eea3e999d/short.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20221028%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20221028T143255Z&X-Amz-Expires=86400&X-Amz-Signature=95b9872a7e0bb76da3dde58a5c2dcd295ea53171c3cdde91ff705294c6e8707f&X-Amz-SignedHeaders=host&response-content-disposition=filename%3D"short.mp4"&x-id=GetObject

@clacladev Iceboxing since we're going to be moving to new docs


Incorrect exercise: [courseId=grammar-intro_eng][lessonNumber=9][exerciseId=788]

Description
vo'a is unknown to the taker of the course at the time of this lesson
Diagnostics information (do not remove)

Exercise identifier: [courseId=grammar-intro_eng][lessonNumber=9][exerciseId=788]
Exercise payload: {"sentences":[{"text":"The knower, who enjoys talking to himself, wrote that.","lojbanic":false}],"title":"Translate this sentence","type":"typing"}
Attempted solution: {"text":"lo djuno noi ke'a nelci lo ke'a tavla ke'a cu ciska ta"}
Attempted solution was classified as correct: no
Validation payload: {"canonicalAnswer":"lo djuno noi nelci lo nu tavla vo'a ku'o ciska ta","correct":false}

Thank you! vo'a was intended to be merely an alternative to ke'a, but something went wrong.


Use fixed seed in peer pool unit tests

Which minimum Erlang version are we targeting? exsplus is backwards compatible to 19.0, but exrop is the default from 20.0 onwards.

@ThomasArts do you mean a comment in the test or in the commit message (or both)?

Which minimum Erlang version are we targeting? exsplus is backwards compatible to 19.0, but exrop is the default from 20.0 onwards.

20.1

@sylane Since we're targeting 20.1+ I think the exrop algorithm should be used.

@eproxus I already changed it to use exrop.


cypress: 10.3.1 -> 10.7.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for cypress is: "Fast, easy and reliable testing for anything that runs in a browser"
meta.homepage for cypress is: "https://www.cypress.io"
meta.changelog for cypress is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 10.7.0 with grep in /nix/store/nv05x0jc0i87gw5p2djcmnq6r1hi7hjk-cypress-10.7.0
found 10.7.0 in filename of file in /nix/store/nv05x0jc0i87gw5p2djcmnq6r1hi7hjk-cypress-10.7.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
cypress
polaris
polaris-web

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/nv05x0jc0i87gw5p2djcmnq6r1hi7hjk-cypress-10.7.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A cypress https://github.com/r-ryantm/nixpkgs/archive/dd8d26f06781b6110603c913102fe78ab7e61e13.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/nv05x0jc0i87gw5p2djcmnq6r1hi7hjk-cypress-10.7.0
ls -la /nix/store/nv05x0jc0i87gw5p2djcmnq6r1hi7hjk-cypress-10.7.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

polaris
polaris-web

1 package built:

cypress

Maintainer pings
cc @thorstenweber83 @mmahut @Craftzman7 for testing.

Handled in #191199


create an example with multiple device managers in different slots

do #308 first.
This is significantly more work:

keep a map of <unsigned, DeviceModel> where the key value can range from 0 to 65535
update the connection manager to route RPCs to the DM that matches the message's slot number
update the make files to process multiple device model files, and check for slot number clashes, or maybe inject known unique slot numbers during the codegen process

after today's team discussion...
the folder for an example called multi_device could look like this:
model.multi_device.json
device.a.json
device.b.json
multi_device.cpp

where device.*.json are the usual DMs, and model.multi_device.json resembles this:
{
  "1": "a",
  "65535": "b"
}

codegen would need to be extended to look for a model.*.json file and inject the key values from it into the individual DMs.
I'm open minded as to whether the leading word should be model or connection I can see good reasons for either.

thinking about it, I prefer connection because we'll need a json-schema for the object, and device is already taken.