chore(firebase_remote_config): activate the values after real time update for example

Description
https://github.com/firebase/flutterfire/blob/fe0f20cf6d2f5db754fa1be7d9991d51ef3a4d2c/docs/remote-config/_get-started.md#L145-L154
The docs show that you need to call remoteConfig.activate() before using the values. I added the missing line in the example of the firebase_remote_config.
Related Issues
Fixes #11104
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (melos run analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

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

This is correct as stated in the Firebase documentation here.

The callback is often a good place to use activate to make the updated config parameters available to your app. See Firebase Remote Config Loading Strategies for additional strategies to activate parameter values when you're using real-time Remote Config.

@nilsreichardt - if you merge with master, this should fix broken CI test. Thanks!

merged ✅


Add indication that messages are or are not encrypted.

They will be encrypted in 99% of cases but we should port over the message at the top of message history that says "Messages are secured by end-to-end Encryption and sent over a peer-to-peer network"

@InfamousVague do we still want to have this at the top of chat?

Note that in warp, messages are stored and sent encrypted.


Incorrect UI on WingTip Game Demo Link

When I visit the WingTip game demo page, the header overlays with the demo's making them hard to read:

@chrispadgettlivecom

migrated to the new repo... closing....


Add Docker Support

This adds some basic docker setup to run the spec suite. I also tweaked test_database.rb to use ruby/mysql2 to generate the test schema instead of running mysql from the command line. This is a precursor to some other work I wanted to do with the gem.
You can run the specs via docker with this command:
docker-compose build && docker-compose run rails rake

Welcome aboard @muffinista and thanks a lot for contribution! both the use of ruby/mysql2 and having the percona-toolkit dependency self-contained it's going to be very handy!
My apologies for the inconvenience, but this repo is no longer maintained as described in https://github.com/redbooth/departure/blob/master/README.md. https://github.com/departurerb/departure  is the fork that I will be maintaining from now on, so please make sure you open this one an any upcoming PRs there.

Terrific, I will move this PR over there. Thanks!

thanks a lot @muffinista !


1415: Revoke existing cards via user import endpoint

Short description
Revoke cards by entitlementId, when user entitlements are revoked or the expiration date is updated to a past date
Proposed changes

when user entitlements are updated, check whether they have been revoked or whether the endDate has been moved back in time and revoke existing cards
add new tests

Side effects / open questions

do we want to update cards if the startDate (in the user entitlements) has been moved to the future?
do we want to handle the case, when regionId (in the user entitlements) is updated?

Testing
Full testing is currently blocked, until the app config is ready.
Currently the following can be checked:

Open administration --> login as a koblenz project admin --> go to settings --> create token
Try to import users using curl or Postman
curl -H "Authorization: Bearer <my_token>" -F<EMAIL_ADDRESS>http://<IP_ADDRESS>:8000/users/import

CSV content:
regionKey,userHash,startDate,endDate,revoked
07111,"$argon2id$v=19$m=19456,t=2,p=1$cr3lP9IMUKNz4BLfPGlAOHq1z98G5/2tTbhDIko35tY",01.01.2024,01.01.2025,false

Go to http://localhost:3000/ and select Koblenz
Go to http://localhost:3000/erstellen, create a card with a birthday 10.06.2003 and a reference number 123K
Update the CSV file to import users, change revoked to ‘true’ or endDate to past
Import users again --> check in the database that previously created cards (dynamic and static) have been revoked

Resolved issues
Fixes: #1415

Just a general question. Does it make sense to also revoke cards where the DateEnd is in the past.
I think we we agreed on that koblenz revokes cards by setting revoked: true as this is a clean process.
To give another opportunity to revoke cards by changing the EndDate makes it just more complex i think.
I can't remember that there is a reason why we need that

I updated base branch, so I can fully test it.

I updated base branch, so I can fully test it.

I think the removal of the end date check is missing. So not sure if its ready for review

Updated:

removed the condition for revoking cards when the user's entitlement endDate is in the past
refactored importData() function a bit to reduce complexity, not sure we need even more splitting

Some thoughts to 3) @seluianova
The "Sie sind scheinbar nicht berechtigt...." was not final and the message will be adjusted to
Wir konnten Ihre Angaben nicht im System finden. Bitte überprüfen Sie Ihre Angaben und versuchen Sie es erneut.

design
Due to this upcoming adjustments it will make sense to throw a different error and show a different message to the user as steffi mentioned
@hauf-toni
So we have another state that should be handled and we need a proper error message for that.
If the user data can be found but the user is no longer entitled.
This should be reflected in the design

The "Sie sind scheinbar nicht berechtigt...." was not final and the message will be adjusted to

Updated the message when the user entitlement is not found. Will add an additional message once provided.
Do we also want to separate errors when the user entitlement is revoked and when it has expired?

i think the expiration info will be fetched from another endpoint when the app was started and there should already be an error message.

@f1sh1918 you mean we should allow card creation when user entitlement is expired?

Ah okay i thought the issue is about what to show if an activated card is expired in the app.
I think we don't need separate errors but this depends on the error message. I think the user does not have to know if its revoked or the entitlement is expired the important thing is that the entitlement is not valid anymore

Here is the error display for the third variant that @ztefanie mentioned.
Here is also the updated version (only the text has been changed), which includes the changes from Koblenz.


[Feature Request] Softaculous

https://github.com/boxbilling/boxbilling/issues/1041

We're in touch with the Softaculous team. I'll make sure to keep this issue updated.

We're in touch with the Softaculous team. I'll make sure to keep this issue updated.

@evrifaessa What happened with this ultimately?

@evrifaessa What happened with this ultimately?

Last response I got from their end was this in March 3:

Hi,
We will check 0.3.0 and let you know.

I'll write a follow up


BUG: import dateutil.parser

I noticed that --all always fails on my repo. I traced it back to the fact that import dateutil does not make dateutil.parser available. Incidentally, we should probably be more specific as to the kind of errors that we catch here.

Fab. I don't have merge permissions @choldgraf so you might need to do that for me :)


Fail to install

Hello When I try to install/use this command I received the following error:
root@pve:~# bash -c "$(wget -qLO - https://github.com/whiskerz007/proxmox_tuya-convert_container/raw/master/create_container.sh)"
E: Failed to fetch https://enterprise.proxmox.com/debian/pve/dists/buster/InRelease  401  Unauthorized [IP: <IP_ADDRESS> 443]
E: The repository 'https://enterprise.proxmox.com/debian/pve buster InRelease' is not signed.
[ERROR] 100@64 Unknown failure occured.
[ERROR] 100@67 Unknown failure occured.
Can it be fixed?
Thank you and cheers

Any news about this?
Thank you

hi,
comment the following line in /etc/apt/sources.list.d/pve-enterprise.list
deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
then run it again. I have another error now re the wifi adapter but at least you pas the first issue with that.
Thanks


Fix the memory leak problem for 211 c implementation.

File(s) Modified: 0211-design-add-and-search-words-data-structure.c
Language(s) Used: c
Submission URL: _https://leetcode.com/problems/design-add-and-search-words-data-structure/submissions/887584322/_

Important
Please make sure the file name is lowercase and a duplicate file does not already exist before merging.

The recursive function to free  the memory shouldn't return in the loop. Otherwise some allocated memory won't be freed.
Before fix:
aloc: 2110000
aloc: 21100E0
aloc: 21101C0
aloc: 21102A0
aloc: 2110380
aloc: 2110460
free: 2110460

After fix:
aloc: 33B0000
aloc: 33B00E0
aloc: 33B01C0
aloc: 33B02A0
aloc: 33B0380
aloc: 33B0460
free: 33B0460
free: 33B0380
free: 33B02A0
free: 33B01C0
free: 33B00E0
free: 33B0000


new image: bank-vaults

Chainguard Images Pull Request Template

Fixes: #429
0 CVE with grype

smaller than official image

Image Size

[x] The Image is smaller in size than its common public counterpart.
[ ] The Image is larger in size than its common public counterpart (please explain in the notes).

Notes:
Image Vulnerabilities

[x] The Grype vulnerability scan returned 0 CVE(s).
[ ] The Grype vulnerability scan returned > 0 CVE(s) (please explain in the notes).

Notes:
Basic Testing - K8s cluster

[x] The container image was successfully loaded into a kind cluster.
[ ] The container image could not be loaded into a kind cluster (please explain in the notes).

Notes:
Basic Testing - Package/Application

[x] The application is accessible to the user/cluster/etc. after start-up.
[ ] The application is not accessible to the user/cluster/etc. after start-up. (please explain in the notes).

Notes:
Helm

[ ] A Helm chart has been provided and the container image can be used with the chart.  If needed, please add a -compat package to close any gaps with the public helm chart.
[ ] A Helm chart has been provided and the container image is not working with the chart (please explain in the notes).
[x] A Helm chart was not provided.

Notes:
Processor Architectures

[x] The image was built and tested for x86_64.
[ ] The image could not be built for x86_64 (please explain in the notes).
[ ] The image was built and tested for aarch64.
[ ] The image could not be built for aarch64. (please explain in the notes).

Notes:
Functional Testing + Documentation

[ ] Functional tests have been included and the tests are passing.  All tests have been documnted in the notes section.

Notes:
Environment Testing + Documentation

[ ] There has not been a request and/or there is no indication that this image needs tested on a public cloud provider.
[ ] The container image has been tested successfully on a public cloud provider (AWS, GCP, Azure).
[ ] The container image has not been tested successfully on a public cloud provider (AWS, GCP, Azure) (please explain in the notes).

Notes:
Version

[ ] The package version is the latest version of the package.  The latest tag points to this version.
[ ] The package version is the not the latest version of the package (please explain in the notes).

Notes:
Dev Tag Availability

[ ] There is a dev tag available that includes a shell and apk tools (by depending on 'wolfi-base')
[ ] There is not a dev tag available that includes a shell and apk tools (by depending on 'wolfi-base') (please explain in the notes).

Notes:
Access Control + Authentication

[x] The image runs as nonroot and GID/UID are set to 65532 or upstream default
[ ] Alternatively the username and GID/UID may be a commonly used one from the ecosystem e.g: postgres
[ ] The image requires a non-standard username or non-standard GID/UID (please explain in the notes).

ENTRYPOINT

[ ] applications/servers/utilities set to call main program with no arguments e.g. [redis-server]
[ ] applications/servers/utilities not set to call main program with no arguments e.g. [redis-server] (please explain in the notes)
[ ] base images leave empty.
[ ] base image and not empty (please explain in the notes).
[ ] dev variants is set to entrypoint script that falls back to system.
[ ] dev variants is not set to entrypoint script that falls back to system (please explain in the notes).

CMD

[ ] For server applications give arguments to start in daemon mode (may be empty)
[ ] For utilities/tooling bring up help e.g. –help
[ ] For base images with a shell, call it e.g. [/bin/sh]

Environment Variables

[ ] Environment variables added.
[ ] Environment variables not added and not required.

SIGTERM

[ ] The image responds to SIGTERM (e.g., docker kill $(docker run -d --rm cgr.dev/chainguard/nginx))

Logs

[ ] Error logs write to stderr and normal logs to stdout. Logs DO NOT write to file.

Documentation - README

[x] A README file has been provided and it follows the README template.

@mattmoor My first time trying the new Terraform base image builder. Much appreciate if you can take a quick look at it :)

may need to add few more pkgs in wolfi to make this image truly drop-in compat with the official one?
# Install tools for accessing smart cards
RUN apk add --no-cache ccid opensc pcsc-lite-libs

https://github.com/bank-vaults/bank-vaults/blob/main/Dockerfile#L37C1-L37C50

Just 2 non blocking comments.  Let me know if you are going to try to add those packages or want to try and make any changes for the comments, but otherwise I think we can land this and iterate.

Just 2 non blocking comments. Let me know if you are going to try to add those packages or want to try and make any changes for the comments, but otherwise I think we can land this and iterate.

Thanks for the review. I've updated the test to wait for CustomResource condition.
As for the template, I will send a subsequent PR to sweep this, maybe along with other images as well. I will need to read the new template by @imjasonh first.


CORS not working when "api" endpoint is not "api" (Laravel 7)

i created a new laravel 7 project and i have change the prefix of the api endpoints to admin.
i also changed the paths in cors.php to admin/* however, i cannot seem to make it work. reverting everything back to api does work, any idea why?

Is the routes is config cached?

oddly enough. i tried clearing it again, after i sent this message it, it worked. seems like config are being cached when called.


First instruction has special handling when high nibble is set

On start of LzoStream decoding first instruction should be analyzed in addition.
If instruction > 17 then literal length is calculated as instruction - 17, a match should not be copied, since a ring buffer is empty.
I found this issue trying to decompress .lzo file compressed by lzop with LZO1X_999 method.

Can you share an example file to reproduce the issue?

I believe I'm running into this issue as well. I have the following compressed data which I'm trying to decompress:
63 FF FF 4A B9 FF FF FF    4B EA FF FF FF 4C C1 FF
FF FF 4D C5 FF FF FF 4E    CC FF FF FF 4F DF FF FF
FF 50 DE FF FF FF 52 EB    FF FF FF 53 BA FF FF FF
19 F1 FF FF FF 2B EC FF    FF FF 2D E8 FF FF FF 2E
DC FF FF FF 2F D8 FF FF    FF 30 D1 FF FF FF 3A CB
FF FF FF 11 00 00

Looking at minilzo.c, there's a block at the beginning of decompression here:
    NEED_IP(1);
    if (*ip > 17)
    {
        t = *ip++ - 17;
        if (t < 4)
            goto match_next;
        assert(t > 0); NEED_OP(t); NEED_IP(t+3);
        do *op++ = *ip++; while (--t > 0);
        goto first_literal_run;
    }

In my case the first byte of the block is 99, so 99 - 17 = 82 bytes of input data should be copied to the output. (There's similar blocks in a couple of the other LZO source files also, but I don't really know what each of the various files represents.)
I forked this repo to try and implement a fix myself, but I'm not familiar enough to do it cleanly. I'd be happy to help out if you can give me some pointers though. Attaching example files (same as above data) for reference.
data example.zip

Opened PR #5 which handles my specific data, though it isn't complete.


Update fs2-core, fs2-io to 2.5.6

Updates

co.fs2:fs2-core
co.fs2:fs2-io

from 2.5.3 to 2.5.6.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.5.3).
You might want to review and update them manually.
README.md

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "co.fs2" } ]

labels: library-update, semver-patch, old-version-remains

Superseded by #215.


Avoiding grep

^ //cc @addyosmani

Will [[ -z $(git status -s) ]] even run on Windows?

Why wouldn't it? It's a standard bash expression.

Windows doesn't have Bash by default.

It doesn't have grep either...

Will [[ -z $(git status -s) ]] even run on Windows?

wrap it in a node script. should be about 10 lines most, if such module does not exist yet.

Maybe need check installed bush ( and git) before run commands.
Something like for %i in (git.exe) do ... (Windows cmd is not my specialization)
I just removed grep and install GIT for Windows:
gulp && git status || (echo 'Please commit all changes generated by building'; exit 1)

I'm not saying the existing command is perfection. However moving forward we should make sure changes to the pipeline work across platforms.

I just removed grep and install GIT for Windows: gulp && git status || (echo 'Please commit all changes generated by building'; exit 1)

This will fail most likely. As git status with all being fine will output On branch master nothing to commit, working tree clean. Which is what we want, however no scenario will cause the or check to exit with a status code of 1 to ever trigger.

+/- this (abused the one liner)
node -e 'require("child_process").spawn("git", ["status"]).stdout.on("data", function(){process.exit(1);});' && echo "ok"


Bluetooth: Mesh: test replay attack on ble mesh rpc

The test checks the resistance of ble mesh stack to replay attack.
Replay protection cache shall store seqAuth last frames.
Device shall filter out such messages on the transport layer.
Power on\off sequence shouldn't impact that
since replay protection cache is stored in settings subsystem.
Signed-off-by: Aleksandr Khromykh<EMAIL_ADDRESS>

Looks generally fine, but the commit prefixes Bluetooth: Mesh: ... don't seem quite right since you're not actually modifying any mesh stack code. Something like boards: bsim: ... or similar would be more accurate, I think.


Topic/cross build

This PR backports fs2-aws to Scala 2.11. It's based on v0.27.3, and so apparently won't merge cleanly with master, but I imagine that's nothing a rebase won't take care of—the changes are very minimal, consisting of:

Adding the cross-building support to build.sbt exactly as documented in the sbt user guide.
Adding the -target:jvm-1.8 scalacOption.
Making implicit SAM type construction explicit.

Thanks so much for this work!

hey @PaulAtFormation thank you for contributing! however it seems that you brought in some commits from another branch, do you want to try and clean up the branch ?

Closing this


actual path for Hurley

This was using an old way to init the SDK

Thank you Walter,
have you checked it works with the 1.4?
Could you please also point me out a sample .env that works for you? So I can test it and merge it
Thank you!
Luca

Yes, it works. It even works with fabric 1.1. The difference is Hurley instead of Convector deprecated way of creating envs. You regular .env file works fine


PR: Handle input commands correctly in the internal console.

Pull Request Checklist

[x] Read and followed this repo's Contributing Guidelines
[x] Based your PR on the latest version of the correct branch (master or 3.x)
[x] Followed PEP8 for code style
[x] Ensured your pull request hasn't eliminated unrelated blank lines/spaces,
modified the spyder/defaults directory, or added new icons/assets
[x] Wrote at least one-line docstrings for any new functions
[x] Added at least one unit test covering the changes, if at all possible
[x] Described your changes and the motivation for them below
[x] Noted what issue(s) this pull request resolves, creating one if needed
[x] Included a screenshot, if this PR makes any visible changes to the UI

Description of Changes

Handle input commands correctly in the internal console (checking the --multithread option). Running such commands in an internal console in the same thread makes Spyder hang.
Issue(s) Resolved

Fixes #1329

Hello @dalthviz! Thanks for submitting the PR.

In the file spyder/widgets/internalshell.py, following are the PEP8 issues :

Line 420:54: E202 whitespace before ')'

I left a minor comment, the rest looks good. Thanks @dalthviz!


Create stemcell not failing when bucket dosen't exist

Scenario:
There is no container named stemcell in my storage account, and I upload stemcell using the cli
Current Result:
the create_stemcell cpi call returns success even, without uploading any stemcell, as a result the next call, i.e. create instance starts to fail
Desired Result:
the create_stemcell call fails, if it cant upload, and informs the operator what is wrong

@tinygrasshopper This is a known issue which is caused by a bug in azure-ruby-asm-core. It has been fixed in this commit. Next Azure CPI will use the latest azure-ruby-asm-core. You can see this commit


Bug with Default browser

I have ControlPlane set to choose Chrome when my Mac is plugged in, and Safari when on battery power. However, after waking up from sleep, if I open a link it always opens in Chrome. It only starts using safari when I plug in and unplug. Is this a known issue, and how do I fix it?

ControlPlane asks OS X to notify if of when power source change has occurred. Because of how the evidence source works if you put the machine to sleep while plugged in and then unplug it before waking it ControlPlane won't know that a power source change as occurred and so it won't know that you're now on battery power.
I'll see if I can get ControlPlane to recheck the power source on wake.


For model/prior.py  _initial_sample, why the prob is calculated as from N(0,1)?

Hello, thanks for sharing the pytorch-based code!
However, I have some question about the  _initial_sample func in model/prior.py .
epsilon is sampled from N(0, t) (t is the temperature), how its logprob is calculated? For norm distribution,

After log (the mean is 0)
.
Can you explain why use \sigma as 1 instead of t here?

Hi @seekerzz , t is always 1 in our setting.

Thanks for your reply!
Have you tried the multi-speaker situation? I used the code for LibriTTS training. However, the performance is bad and KL is high (at the 10^3 level). I also added the initial process of mu and logvar from the flowseq repo (to make them output at around 0), but this won't help.
I tried to first train the posterior (only use the mel loss )and then the prior (only use KL), but this still won't converge. I also checked whether the posterior P(Z|X,Y) and the decoder P(Y|Z,X) just discards the information of X (like an encoder-decoder of Y), but the decoder alignment shows that the information of X is used.
Thus, this makes me wondering, why the prior fails to learn from the posterior:

Will it be too hard for Glow to learn it in the multi-speaker situation?
Or, maybe I should try the maximum likelihood training of Z instead of KL?

By the way, this is my training curve

I did not train the length predictor (just using the ground truth length).

Can you share the synthesized samples? And where did you apply the speaker information, e.g., speaker embedding?

Thanks for the quick reply!😁
I add the speaker embedding into the text embedding (as I think Z can be viewed a style mapping from text X to mel Y, adding speaker information to X is more intuitive) . However, the synthesized samples are still very bad after about 40 epochs on LibriTTS.
For example, the predicted and the groundtruth.

However, if only train the posterior, the predicted mel is quite OK.

I read another flow-based TTS: Glow-TTS, and find that they conditioned the speaker information on Z. Maybe I should try their merging method.🤔

Thanks for the sharing. So if I understood correctly, you add the speaker embedding to the text embedding right after the text encoder so that both posterior and prior encoder can take the speaker-dependent hidden representations X, am I right?
If so, is it different from the Glow-TTS' conditioning method as they explained?

To train muli-speaker Glow-TTS, we add the speaker embedding and increase the hidden dimension.
The speaker embedding is applied in all affine coupling layers of the decoder as a global conditioning

I quoted it from section 4 of the Glow-TTS paper.

Ah, I see. I think It should work if you adopt the same way. Looking forward to seeing it!

Hello! I find there might be a mistake in the code (just now)!
In VAENAR.py

But in posterior.py

I'm trying to train the multi-speaker version again to see the results.😁
(Curious about why LJSpeech still works, haha)

Ah, sorry for the misunderstanding. Yes, you're right. It should be switched. But the reason why it's still working is that they are the same but wrongly named (reversed). In other words, mu_projection in the current implementation predicts logvar, and logvar_projection predicts mu. I will retrain the model with this fixation when I have room for that. Thanks for the report!

@seekerzz Could you share any synthesized samples?

hi，I have met the same problem when I joined a vq encoder after posterior and prior encoder.The kl was 1e+4 and won't converged.Did you  finish the job?


NPM for Solved-by-flexbox

+1 vote for adding NPM repo synced to GitHub source for Solved-by-flexbox, so we can easily reuse within our projects and stay updated with latest changes in this repo.
Solved-by-flexbox is awesome and the stars counter shows. Favoring ease of reusability, while this repo reuses Suit CSS and Normalize.css over npm, I could not find an easy way to import Solved-by-flexbox into my project so I could build on top of all this awesome work, yet stay updated whenever this repo is updated.

Solved by Flexbox is not a library, it's a demo site. The code on this site is not indented to be used in production.
Other people have taken ideas form this site and created libraries around of them. I recommend using one of those libraries.

Makes sense. Can you suggest links to libraries created around demos from this site?

I can't suggest any because I haven't used them, but I know a few people have created libraries based on some of these demos because I've seen them over the years.
Googling quickly showed this: https://github.com/kristoferjoseph/flexboxgrid
I'm sure you can find others to if you look.


Part 1 Code Refactoring.

I'm going to work on it, I'm just sending the first part that I started working on, these days I'm having a lot in the company, building a bitcoins API, so my time these days was not enough, but next week I believe I'll have more time to dedicate more to the project that is very important for many.

Starting the work ref:
https://github.com/bricelam/EFCore.VisualBasic/issues/12


Please provide a hex package for aleppo

It would be wonderful if a hex package for aleppo would be available. Since there are no dependencies it should be really easy :)

+1


[SPARK-36424][SQL][FOLLOWUP] The strategy of Eliminate Limits batch should be fixedPoint

What changes were proposed in this pull request?
This pr change the strategy of Eliminate Limits batch from Once to fixedPoint in AQEOptimizer.
Why are the changes needed?
Fix bug. Otherwise check batch idempotence will fail:
spark.range(10).write.saveAsTable("t1")
spark.table("t1").distinct().limit(10086).selectExpr("cast(id as string)").limit(20).collect()

Once strategy's idempotence is broken for batch Eliminate Limits
!GlobalLimit 20                                                                                Project [cast(id#3L as string) AS id#6]
!+- LocalLimit 20                                                                                +- LogicalQueryStage Aggregate [id#3L], [id#3L], HashAggregate(keys=[id#3L], functions=[])
!   +- Project [cast(id#3L as string) AS id#6]
!      +- LogicalQueryStage Aggregate [id#3L], [id#3L], HashAggregate(keys=[id#3L], functions=[])

Does this PR introduce any user-facing change?
No.
How was this patch tested?
Unit test.

cc @cloud-fan @ulysses-you

cc @maryannxue too FYI

thanks, merging to master!

sorry, but I can not re-produce this issue. I think it's enough to use once in aqe although using fixedPoint seems also no harmful due to transformDownWithPruning.

FYI, I build with commit aedc273107fd3f8852c380192f463240423c2c25

@ulysses-you We only check idempotence when running unit tests:
https://github.com/apache/spark/blob/e051a540a10cdda42dc86a6195c0357aea8900e4/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/rules/RuleExecutor.scala#L251-L255

thank you @wangyum  looks good


[Bug]: Overlapping text in the Quicksilver interface

Before submitting your bug report, please confirm you have completed the following steps

[X] Searched the issue is not already listed in the Issue List (I've searched it)
[X] Searched in the Quicksilver Users' Group for questions relating to tech support.
[X] Downloaded the latest version of Quicksilver for your system and confirmed the issue still persists.

Bug description
Hi. I was checking the translations when I saw that there is an overlapping text in the Quicksilver interface. Maybe it is because the interface does not take into account the length of the text string after translation. I'm using Quicksilver in spanish language.
Steps to reproduce

Just open the "preferences" >> "application" section.

Expected behavior
No overlapped text in any language
MacOS Version
macOS 10.15
Quicksilver Version
2.3.0
Relevant Plugins
No response
Crash Logs or Spindump
No response
Screenshots

Additional info
Additionally, can you help me locate where I can find the keys to translate this content?

It would also be nice to let the buttons take up as much space as necessary here.

Thanks for reporting these.

Additionally, can you help me locate where I can find the keys to translate this content?

This content should now be available in the 'Localizable.strings' file in transifex. You may translate it there.
The other layout changes should be fixed in the next version of Quicksilver, or you can try it out here: https://github.com/quicksilver/Quicksilver/actions/runs/2650563789
If you see any more layout issues with translations, please continue to report them.
Thanks!

It seems that despite the recent changes, there are still spacing problems in the user interface.

@pjrobertson, Are there news related to my last comment?

Hey @didaquis  - sorry for the delay here. This should now be fixed in the latest commit. You can download a pre-release build here: https://github.com/quicksilver/Quicksilver/actions/runs/3127289716/jobs/5073751906


Prepare for 2.0 release

Anything else we want to do in here?

There are some functions that I'd like to have which are in maps but not in sets right now, but this looks good, and we can deal with those later perhaps.

This one can be merged, yes?

Thought we'd already done it :smile:


Implement the PUBSUB SHARDNUMSUB command

This is a proposed solution to #2756
Used the template engine to add the command to all required interfaces
Mostly copied implementation from PUBSUB NUMSUB command as they share a common interface
Since there is no implementation for SSUBSCRIBE the tests are currently only testing the negative scenario.
Positive verifications were made by executing the SSUBSCRIBE manually with the CLI and running the new command in the Demo class.

[x] You have read the contribution guidelines.
[x] You have created a feature request first to discuss your contribution intent. Please reference the feature request ticket number in the pull request.
[x] You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
[x] You submit test cases (unit or integration tests) that back your changes.

Left a few remarks. I think, the next Lettuce version is going to be 7.0. If we decide, that we want to publish a 6.4 instead, we can then switch all @since tags to 6.4.

I think we can wait until we have most of the Shard Channel commands ready to bundle them together

This looks pretty decent. Do you want to add the remainder of Pub/Sub sharding commands or should we merge a PR for each command?

This looks pretty decent. Do you want to add the remainder of Pub/Sub sharding commands or should we merge a PR for each command?

We discussed this with @chayim and we think it would be cleaner to have separate pull requests per command and when we're done with them we can merge them all together. It gives us the flexibility to both have smaller / simpler reviews and also decide when to add them according to the situation

Alright, going to proceed with the merge.

FTR #2756 is about PUBSUB SHARDCHANNELS while this PR handles PUBSUB SHARDNUMSUB therefore the final commits do not refer to #2756.


Default [compat] setting for standard libraries

Julia has started moving standard libraries out of base to make them upgradeable, starting with DelimitedFiles in Julia v1.9 and becoming more prevalent in Julia 1.10 and 1.11 (PSA on Discourse). Correspondingly, #1693 created a new compat entry for the Downloads stdlib.
However, according to the PSA linked above, the recommended way is to set the compat bounds to the same version as the current Julia compat ("1.8"), at least for now. On the other hand, TagBot wants to set the compat bound to just "1". I have already asked in https://github.com/JuliaRegistries/TagBot/issues/292 what the "canonical" way forward is. Until we hear something there (or maybe from somewhere else), I suggest to wait for now before starting to merge these stdlib compat PRs.

I just followed the recommendation and updated the compat entry to 1.8 in our case - before reading this issue.


fix: Import ErrorComponent synchronously

🔗 Linked issue
resolves #20996
❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[X ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Importing ErrorComponent synchronously should result in it being included in the default bundle, which means that it will always be available later, even if there are network errors which would prevent the import of an async component.
📝 Checklist

[x ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Merged in https://github.com/nuxt/nuxt/commit/13aae836e81a048948e5f5ed0553d1f34ca98b52. Thank you so much ❤


Cursor input settings have no effect

The Touch Input/Apple Pencil Input setting that is exposed in the iOS Settings app has no effect.
No matter which option is selected, Touch Input always functions as „Drag Cursor“ and Apple Pencil Input as „Touch Mode (try hiding cursor)“.
Note: a single time, while Touch Input was set to „Touch Mode (try hiding cursor)“ the cursor actually appeared where the screen was touched, but neither did the input actually work, nor was the cursor hidden. I couldn‘t reproduce this.

It would be beneficial for all if you include additional information about your Guest OS. It is likely that your Guest OS does not have USB drivers for the mode required to drive it in alternative ways.
I believe ... if you are running an old OS that does not support USB mouses ... the UTM system will only work by dragging the cursor for inputs. If you select the other inputs, they will just not work.

Please provide more information. What os? What device? Are you using legacy input mode?

And actually, if you have Legacy PS/2 toggled to ON for your guest OS — this will override whatever you’ve put in the Settings.app

Sorry about not providing more info.
I don‘t have Legacy PS/2 enabled.
I was testing Windows XP/7/8/10 and other OS‘es that DO support the USB-Tablet input mode, and I also know that it works, because the Apple Pencil already works as such.

If the device doesn’t support usb tablet it won’t support absolute input.

I don‘t seem to understand - if absolute input already DOES work using the Pencil, what is stopping UTM from interpreting finger touch input in the same way?
I don‘t see why absolute input wouldn‘t work using finger touch input, that‘s what that setting seems to imply

Sorry maybe I misunderstood. If Apple Pencil works since touch screen mode should work as well. If it isn’t then I need your .utm to check.

yeah, Apple Pencil always works as direct input, touch always as indirect, the settings don‘t have any effect.
This .utm was created/used with these settings in reverse, so Pencil as indirect and touch as direct.
The Android x86 4.0 iso is included because its the smallest OS I had where direct input DOES indeed work. (Using Pencil of course)
https://drive.google.com/file/d/1ZydIWsSDsVRQA2bP5f7q0-hXZFCL08p-/view?usp=drivesdk

also, this happens on my iPhone X on 13.3 as well, so I‘d suppose it happens on every device or on every 13.3 device.

same on iPad11,3 13.1.3

IMO, it would also be far better to have this as a toggle in the top bar. You could leave the „cursor hidden/shown in direct touch mode“ option in the Settings, and make the toggle apply to the last used input method, so that you could also toggle the Apple Pencil mode.
I feel like this is kind of necessary for at least finger touch direct input, because it isn’t very precise and frequently zooming in to tap stuff would be cumbersome

@greybaron can you post a screen of your settings page? I was not able to reproduce the issue.
Using your image from google drive, I have my settings set to "Touch input: touch mode (always show cursor)". I am able to directly tap buttons in the android setup screen. Then I go back to settings and set "Touch input: Drag cursor" and back at android setup screen, I see a cursor show up and I can move it with my finger.
I am using an 2018 iPad Pro.

@osy86 these are my settings, on both devices:

I‘m using 13.4.1 on an iPhone X and 13.3 on an iPad Pro 2018, and in both cases regular touch always stays indirect (drag cursor).

I have completely wiped and reinstalled UTM, and the issue persists on my end; and I have tried changing this setting while the VM ran and it made no difference

I added better debug logging in RC3. You can either pick up and resign a nightly build or if you don't know how to do that wait for RC3 release. If it still happens in RC3, get a debug.log and post it here which should have more information.

I think I figured it out. This appears to be another iOS issue. In the APIs

Data is being written to the stream. This status would be returned if code on another thread were to call streamStatus on the stream while a write:maxLength: call (NSOutputStream) was in progress.

However, I'm seeing that NSStreamStatusWriting is returned in some cases even when no other thread is writing. When this happens, the code to switch cursor type fails silently. I have modified the code to ignore NSStreamStatusWriting and it seems to work in the times I hit this issue.

@osy86 Unfortunately, RC3 made no difference on both of my devices. Tries changing the setting while UTM is running, and while it isn‘t.
I will attach my debug.log shortly

I was using the Android VM. Before starting touch input was set to „ touch mode - always show cursor“, while the VM ran I changed it to „try hiding cursor“.
https://pastebin.com/HCrS9b1v

Hiding cursor doesn’t work without SPICE tools. Does it work going from “drag cursor” to “touch mode”?

No, it always stays a drag cursor.

@osy86 I have found the cause of the issue. This always happens when UTM is fakesigned. I have reinstalled UTM using a signing service, and now (without or while jailbroken) it always works as intended.

but can this still get fixed in the future, because many people don’t have a signing store subscription or dev account. I for example have to fake sign on my second device. I even believe there could be more people fake signing than sideloading.

If you’re jailbroken, why not use ReProvision? It signs things using your Apple ID similar to AltStore but doesn’t need the PC/Mac running on the same wifi.

I think what happened was you were on the wrong version. There’s no way signing makes a difference to how the app runs.

Wouldn’t perhaps entitlements be a difference?

No and also there is no difference in entitlements. The only entitlement we use is for running code so if you don’t have it you can’t launch any VM.

Believe me, I didn‘t choose the wrong IPA. On none of my 3 devices it worked, but once I use a signing service (and the exact same IPA) on the only device where I can test it, it immediately works. The signing method really is the only difference here, I see no way around that honestly

True, but I wonder why then. Is it possible you somehow changed the bundle identifier such that the Settings changes wrote to the wrong settings file?

I won’t be able to check against the working sideloaded install for a few days, but I noticed the following things:

I have two UTM data containers
the plist where the MouseTouchType is defined is in one container, the VMs in the other container
No UTM data is exposed in the native files, which I assume should be possible

Yeah that probs explains it. Not sure why since I don’t have a jailbreak.


Suppression list not cleared

Hello,
On the Suppression List page there is a note that the list is being cleared every 30 days, but this does not seem to be happening:

Duplicate of #815

You can change on this file.

and you can also delete suppression mail manually.
got the
#mysql

use postal
use postal-server-1
TRUNCATE TABLE suppressions;

resolved by the merging of #867


Implement creation of an account root file at a given block number

Implemented creation on a head block: https://github.com/thenewboston-developers/thenewboston-node/pull/54

Implemented here: https://github.com/thenewboston-developers/thenewboston-node/pull/55


feat(33792): Add quick fix for `This condition will always return true since the function is always defined. Did you mean to call it instead

Fixes #33792

Fixes #37149?

@rbuckton @andrewbranch Last call for comments

Good work on the tests 👍


FAQ: luca compatibility note

Mentions that these luca QR codes are incompatible:

any codes generated in the 'luca' app to be scanned with a scanner device owned by the location
any codes generated in the 'luca' app to be scanned by other 'luca' app users (private meetings)
any codes generated before May 26th 2021
any codes generated in the 'luca locations' app, which is intended to be used on devices owned by the location for checking in guests (see the GitLab issue for that)

TL;DR: Only printed QR codes that were generated by business owners in the web interface after May 25th 2021are compatible.
Fixes #2056 .
Related: #2088 .

According to https://www.luca-app.de/luca-digitale-plattform-fuer-buergerinnen/ luca has gone into stand-by.

So probably this PR should be closed. See also #2751


How to enable/disable OTEL from an Express application deployed to OpenShift

The sdk-node branch already contains parts of the code for this.
We need to create a howto format as standard to move the branch and make the required changes and update https://github.com/obs-nebula/notes/blob/main/repositories.md later.

working and going to send another push to update the version of sdk-node which contains a breaking change related to resources.


[3337] When fulfilling a request, and there are input errors, but the distribution then gets saved, the request is not marked fulfilled, and does not point back to the distribution.

Resolves #3337
Description
Fixes [3337] When fulfilling a request, and there are input errors, but the distribution then gets saved, the request is not marked fulfilled, and does not point back to the distribution.
Changing from looking for the params[:request_id] to just request_id in distribution create fixed the problem.
Could have added request id to the params, but this seems simpler.
The migration changes started requests that were updated > 1 month ago to fulfilled.  The migration will have to be run again in a month.    This is so we don't tread on things that are legitimately started but not fulfilled.
I have a note out to the HE slack just to check if anyone has a problem with this approach.  If we don't hear otherwise by the 10th,  I'd assume it's alright.
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Core change:
Added an automatic test
All automatic tests pass
Manual confirmation -- start to fulfill a request, but make sure one of the items has more than is available.  Save. Fix the issue,  save.  Request is fulfilled.
Migration:
Checked  # of things changed from started to fulfilled.  # fulfilled checks out.  Requests that are still 'started' look right.

Added in the migration.  Hold off on the merge until the 10th in case there is feedback from my note in HE.

Yup.  We can merge this.

@cielf are we certain that any request that was touched in the last month should be in the "fulfilled" state? What if was never attempted to be fulfilled? I feel like the migration is missing a condition somewhere.

@dorner If a request is in the condition "started",  then they at least clicked "fulfill request".   I'm not sure how to reliably eliminate any that they decided not to fulfill. after that.  I suppose we could check if there is a distribution created within some reasonable period of time from that ( a day? ) for that partner....  that's definitely kludgey, but would still catch the ones we want to catch.  There's still a non-zero chance of marking something that shouldn't be fulfilled, fulfilled,  but less,   because requests are usually on a monthly basis.

It looks like it gets set to "started" when "New Distribution" is clicked, and set to "fulfilled" when the distribution is saved. So yeah I think to be sure we'd want to look to see if there is a distribution that was saved within (say) 10 minutes of the request being updated.

Oh -- longer than that, but an hour is probably reasonable.

I'll put it on my list for tomorrow.

'Better' would be that it's started and has a distribution created between its updated_at and before the next started or fulfilled request was updated.   But that may be  a bit too cute.

Just FYI - the difference between 1 hour and 1 day is significant.    1 day is basically the same as not putting a time limit on at all, whereas 1 hour leaves a significant amount unchanged -- This tells us something about how the banks actually work?

New version of the migration:
You will notice that this is running on all "started" requests, not just the old ones.   Depending on timing, we won't have to run this one again in a month.
This version is predicated on the assumption that distributions are made in response to requests, and so,  if there is a distribution before the next request,  it 'belongs' to the first request, and therefore the first request should be marked fulfilled.
When constrained to older started requests, it  gave the same results on a copy of the prod data as if we check for a distribution within the day (I didn't run the 'within the day' version on the more recent ones).
Also tested by starting the fulfillment process on main,  then switching to this branch and running the migration.   The started (with no distribution) request was still 'started'.

@cielf this PR looks like it has a bunch of unrelated things, maybe from a mistake during rebase?

ARgh.  The question is how do I fix this?

Because something went quite awry in the rebasing of this,  there is a new PR in its place.  See #3476


Update dbt-logo-full-white.png

Updated to new logo sans-underscore
Description & motivation

To-do before merge

FYI I had to patch the docusaurus CSS to prevent links from line-breaking in the nav bar. I think that with the new logo, that code isn't necessary anymore. Feel free to remove the css class below - it should serve to shift the nav links to the left a few pixels :)
https://github.com/fishtown-analytics/docs.getdbt.com/blob/d41e236e0408b6e54baeae040645d18c0d44222a/website/src/css/custom.css#L35-L37

One small thing — do we want to fuss with the horizontal alignment here? These are in fact center aligned, but for they feel off balance to me... I guess because "dbt" are bottom-heavy letters? Maybe I expect them to line up with the bottom of the letters? idk what my brain is doing haha. Anyway just a thought but not a blocker!

One small thing — do we want to fuss with the horizontal alignment here? These are in fact center aligned, but for they feel off balance to me... I guess because "dbt" are bottom-heavy letters? Maybe I expect them to line up with the bottom of the letters? idk what my brain is doing haha. Anyway just a thought but not a blocker!

Yes--it is due to the fact that the logo is bottom-heavy. Trick of the eyes! Adjusting the positioning is a fine way to help with that, but didn't do that here as it felt like a separate issue (i.e., this was the case even with the old logo, so for now I just focused on updating the asset).
I have a few other things that are more pressing at the moment but I've got this on my todo list for later this week. Just to keep things straight I'll probably tackle the spacing issues on a new branch.

Perfect, let's merge this PR in!


ECOSYS-174 Removed unecessary dependency on omniauth

This gem is no longer supported by owner and have dependency on omniauth ~> 1 but we need to update omniauth to latest where we use this gem (e.g. galaxy). So I just removed this dependency here because it's actually uneccesary so we can easily update omniauth

Let's merge this into master and then tag it as "0.0.11"


Update install-minikube.md

The link https://github.com/kubernetes/minikube#other-ways-to-install doesn't exist anymore.
So either we remove the link to it or we fix the minikube README and add a new section for alternative ways to install minikube.
What do you think?

/lgtm
/approve


allow platform-specific icon

Great, thanks :+1:

I have seen you have already bumped the version number after this merge, do you know when we can expect this version to be available from npm? Really looking forward to it :)

just published the new version to npm


question: vault/ssm/awssecrets testing approach

Hi!
There are TODO sections like this one: prerequisites for unit-tests to run successfully (some operations are needed to be run manually from console).
Wondering what's the best way to fully automate tests.
Should vault[/awssecrets/ssm] just be mocked?
Or (at least in case of vault) we may start test vault cluster for example in TestMain() and populate it with test data?

Hey! Yeah, generally mocking sounds great, especially or awssecrets and ssm.
If mocking turned too difficult, for Vault, adding a makefile target or a CI step to run vault dev-server before go test would be ok, as it's easy.
For awssecrets and ssm we don't have reliable implementations of them that run locally.

Thanks @mumoshu !

For awssecrets and ssm we don't have reliable implementations of them that run locally.
just in case, found this https://github.com/localstack/localstack

Oh! I knew localstack but had never realized it supported SSM as well. Thanks a lot for your info!


Added Error Response Reason, sent to new function on decorator error

Codecov Report

Merging #22 into master will decrease coverage by 1.18%.
The diff coverage is 71.05%.

@@            Coverage Diff             @@
##           master      #22      +/-   ##
==========================================
- Coverage   83.72%   82.54%   -1.19%
==========================================
  Files          21       23       +2
  Lines         590      613      +23
==========================================
+ Hits          494      506      +12
- Misses         84       95      +11
  Partials       12       12

Impacted Files
Coverage Δ

bascule/basculehttp/errorresponsereason_string.go
0% <0%> (ø)

bascule/basculehttp/errorResponseReason.go
100% <100%> (ø)

bascule/basculehttp/enforcer.go
87.93% <73.33%> (-6.3%)
:arrow_down:

bascule/basculehttp/constructor.go
96.1% <82.35%> (-3.9%)
:arrow_down:

Continue to review full report at Codecov.

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


Roll Engine from c248c6e38e97 to 599a6d4fe3ac (3 revisions)

https://github.com/flutter/engine/compare/c248c6e38e97...599a6d4fe3ac
2022-01-26<EMAIL_ADDRESS>Roll Skia from 10c372914dfa to 0cfc76a0dd82 (10 revisions) (flutter/engine#31096)
2022-01-26<EMAIL_ADDRESS>Re-enable Fuchsia CanWait test (flutter/engine#31095)
2022-01-26<EMAIL_ADDRESS>Roll Dart SDK from 407ce0cb852b to 01b6c4805b7c (1 revision) (flutter/engine#31093)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

AutoRoller is stopped; closing the active roll.


Uploading file as attachable

Is it possible to upload a file with this SDK?
Can you give me a sample code?

@mfujinoki : We do not have support for multipart/form-data at the moment. Appreciate it if you have can put in a PR if you have it handy.


Add in a new performance monitoring system

Will listen for rizzo events, and create performance marks.
Also adds comments to a few files.


Creating sub-package fails the package loading.

Creating a directory with empty __init__.py file inside jumpscale/data/bcdb fails bcdb loading.
jsng reports the following error:
No module named 'jumpscale.bcdb'

059fd6eecf0ed17ccd62f31e0b728bbd4ca8cd80 fixed here


[SPARK-44713][CONNECT][SQL] Move shared classes to sql/api

What changes were proposed in this pull request?
This PR deduplicates the following classes:

org.apache.spark.sql.SaveMode
org.apache.spark.api.java.function.FlatMapGroupsWithStateFunction
org.apache.spark.api.java.function.MapGroupsWithStateFunction
org.apache.spark.sql.streaming.GroupState

These classes were all duplicates in the Scala Client. I have moved the original versions to sql/api and I removed the connect equivalents.
Why are the changes needed?
Duplication is always good :).
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Compilation.

@bogao007 PTAL since this touches a couple of streaming classes.

@bogao007 PTAL since this touches a couple of streaming classes.

Nice, thanks for the change!

Merging.


cmd/trace: document event trace viewer [freeze exception]

https://go-review.googlesource.com/c/go/+/412876 adds documentation to the main page of the cmd/trace event viewer.
This issue is a request that it be granted a freeze exception, since it is essentially an addition of missing user documentation, and has no real impact on the program behavior.
@prattmic @golang/release

Since as https://go.dev/s/release says, "During the freeze, only bug fixes and doc updates are accepted.", this seems okay, and I don't think a freeze exception is needed.
This particular documentation is implemented as HTML in a Go template rather than comments or plain HTML files, but it should still be safe. We're still before RC 1.


JavaMail error in the console log

expected resource not found: /META-INF/javamail.default.address.map

Payara needs to update to JavaMail API 2.1.0

See https://github.com/jakartaee/mail-api/issues/598

See https://github.com/payara/Payara/issues/6254


header-only file

When outputting CSV with embulk, if header_line: true is set, a file with only the header will be output even though there is no target data. Please tell me how to prevent this.

You need to read the issue template before posting a new issue.
And could you use the user forum for asking questions?
https://github.com/orgs/embulk/discussions
cat hoge/csv/sample_01.csv
id,account,time,purchase,comment

in:
  type: file
  path_prefix: /private/tmp/hoge/csv/sample_
#  decoders:
#  - {type: gzip}
  parser:
    charset: UTF-8
    newline: LF
    type: csv
    delimiter: ','
    quote: '"'
    escape: '"'
    null_string: 'NULL'
    trim_if_not_quoted: false
    skip_header_lines: 1
    allow_extra_columns: false
    allow_optional_columns: false
    columns:
    - {name: id, type: long}
    - {name: account, type: long}
    - {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'}
    - {name: purchase, type: timestamp, format: '%Y%m%d'}
    - {name: comment, type: string}
#out: {type: stdout}
out:
  type: file
  path_prefix: /tmp/hoge
  file_ext: csv
  formatter:
    type: csv
    header_line: false

embulk run config.yml

2023-07-12 10:56:56.513 +0900 [INFO] (main): m2_repo is set as a sub directory of embulk_home: /Users/user/.embulk/lib/m2/repository
2023-07-12 10:56:56.516 +0900 [INFO] (main): gem_home is set as a sub directory of embulk_home: /Users/user/.embulk/lib/gems
2023-07-12 10:56:56.516 +0900 [INFO] (main): gem_path is set empty.
2023-07-12 10:56:56.517 +0900 [DEBUG] (main): Embulk system property "default_guess_plugin" is set to: "gzip,bzip2,json,csv"
2023-07-12 10:56:56.647 +0900 [INFO] (main): Started Embulk v0.11.0
2023-07-12 10:56:56.677 +0900 [INFO] (0001:transaction): Loaded plugin embulk-input-file
2023-07-12 10:56:56.723 +0900 [INFO] (0001:transaction): Loaded plugin embulk-output-file
2023-07-12 10:56:56.769 +0900 [INFO] (0001:transaction): Loaded plugin embulk-parser-csv
2023-07-12 10:56:56.833 +0900 [INFO] (0001:transaction): Listing local files at directory '/private/tmp/hoge/csv' filtering filename by prefix 'sample_'
2023-07-12 10:56:56.834 +0900 [INFO] (0001:transaction): "follow_symlinks" is set false. Note that symbolic links to directories are skipped.
2023-07-12 10:56:56.834 +0900 [INFO] (0001:transaction): Loading files [/private/tmp/hoge/csv/sample_01.csv]
2023-07-12 10:56:56.896 +0900 [INFO] (0001:transaction): Using local thread executor with max_threads=16 / output tasks 8 = input tasks 1 * 8
2023-07-12 10:56:56.900 +0900 [INFO] (0001:transaction): Loaded plugin embulk-formatter-csv
2023-07-12 10:56:56.986 +0900 [INFO] (0001:transaction): {done:  0 / 1, running: 0}
2023-07-12 10:56:57.002 +0900 [INFO] (0011:task-0000): Writing local file '/tmp/hoge000.00.csv'
2023-07-12 10:56:57.006 +0900 [INFO] (0011:task-0000): Writing local file '/tmp/hoge001.00.csv'
2023-07-12 10:56:57.009 +0900 [INFO] (0011:task-0000): Writing local file '/tmp/hoge002.00.csv'
2023-07-12 10:56:57.012 +0900 [INFO] (0011:task-0000): Writing local file '/tmp/hoge003.00.csv'
2023-07-12 10:56:57.015 +0900 [INFO] (0011:task-0000): Writing local file '/tmp/hoge004.00.csv'
2023-07-12 10:56:57.017 +0900 [INFO] (0011:task-0000): Writing local file '/tmp/hoge005.00.csv'
2023-07-12 10:56:57.020 +0900 [INFO] (0011:task-0000): Writing local file '/tmp/hoge006.00.csv'
2023-07-12 10:56:57.023 +0900 [INFO] (0011:task-0000): Writing local file '/tmp/hoge007.00.csv'
2023-07-12 10:56:57.044 +0900 [INFO] (0001:transaction): {done:  1 / 1, running: 0}
2023-07-12 10:56:57.047 +0900 [INFO] (main): Committed.
2023-07-12 10:56:57.047 +0900 [INFO] (main): Next config diff: {"in":{"last_path":"/private/tmp/hoge/csv/sample_01.csv"},"out":{}}

All files output no data (size zero).
-rw-r--r--@ 1 user  wheel  0 Jul 12 10:56 hoge000.00.csv
-rw-r--r--@ 1 user  wheel  0 Jul 12 10:56 hoge001.00.csv
-rw-r--r--@ 1 user  wheel  0 Jul 12 10:56 hoge002.00.csv
-rw-r--r--@ 1 user  wheel  0 Jul 12 10:56 hoge003.00.csv
-rw-r--r--@ 1 user  wheel  0 Jul 12 10:56 hoge004.00.csv
-rw-r--r--@ 1 user  wheel  0 Jul 12 10:56 hoge005.00.csv
-rw-r--r--@ 1 user  wheel  0 Jul 12 10:56 hoge006.00.csv
-rw-r--r--@ 1 user  wheel  0 Jul 12 10:56 hoge007.00.csv

Sorry for not following the rules.
I can't speak English, so I can't ask questions well, and I don't seem to be able to convey my intentions, so I'm going to end it.

FYI: https://github.com/orgs/embulk/discussions/categories/user-forum-ja You can ask in Japanese too.


Inconsistent behaviour when stripping bold via CliRunner

CliRunner seems to strip bold ansi escape sequences from .output on python2, but they're present on python3.
The doc says color escape codes are removes, but does not mention bold codes. I'm not sure if they're meant to be kept or not, but the behaviour should be consistent across python versions.

Hmm, this works on both Python versions though:
assert strip_ansi(style('lol', bold=True)) == 'lol'

The bug seems to be that Click doesn't do any colorcode stripping with echo(b'...') on Python 3.

Reading through the code, it seems that Click intentionally does not do any code-stripping when the input is bytes.

Why does this example use echo() instead of the regular print() function? The answer to this question is that Click attempts to support both Python 2 and Python 3 the same way and to be very robust even when the environment is misconfigured.

source
Looks it's an issue, since the doc states that this sort of discrepancy is exactly what they intend to fix.

Which is why I'm tagging it as a documentation issue. The code comments describe that particular exception: https://github.com/mitsuhiko/click/blob/master/click/utils.py#L278

This isn't the issue in my case anyway. The content I'm printing is unicode on python2 and str on python3.
What you describe may be true, but it's still a separate issue.

You're right.

No, actually you're not. This fixes all your tests: https://gist.github.com/untitaker/65042a4c1fd9436ab71d

Oh. My check was in the wrong place, I failed to notice that.
Ok, my issue seems to have been a non-issue and bad testing (twice) on my behalf.
I'll leave this open for the documentation fix you mentioned.

I'm definetly not sure if Click's current behavior is desirable at all though (since it's hard to debug why click didn't rip out escape sequences in this particular case), even though I apprechiate Click's careful approach to encodings.

Click does not strip colors from bytes, buffer or bytearray on any platform.  On Python 2 because we cannot differ str and unicode stripping might happen with quasi bytes there.  I do not want to break this behavior because otherwise you cannot echo binary data safely to the terminal.
Why do you need to strip ansi codes on byte data?

IIRC we're echoing bytes (when it should be unicode) in some rather old software that was recently ported to be a 2-and-3 polyglot. I think that string type was the wrong choice, but changing our string model will take a lot of time.

Proposing that we add some documentation to http://click.pocoo.org/5/quickstart/#echoing highlighting the different handling of color codes in bytes, buffer and bytearray in Python 2 and 3.


Fix 34 Component Governance security alerts at or above high severity.

The Composer DevOps pipeline is reporting 34 security alerts at or above 'High' severity.
These vulnerabilities should be fixed or their alerts dismissed as appropriate.
Possibly this year-old similar issue should be closed: #7754

This issue replaced by issue #9265


Provide a metric for total amount of (Cluster)TriggerAuthentication

Proposal
Provide a metric for total amount of (Cluster)TriggerAuthentication so that end-users can visualize it.
Use-Case
Improve our operational story
Anything else?
No response

Closed in https://github.com/kedacore/keda/pull/3719


example data: Better support EVENT_NEW_MESSAGE.

This follows up on the thread at https://github.com/zulip/zulip-mobile/pull/4710#discussion_r626113834.
We replace the "action fragments" idea with more-flexible factory functions. In particular all the places in test code where we used eg.eventNewMessageActionBase to create an EVENT_NEW_MESSAGE action now make a call to the new eg.mkActionEventNewMessage which subsumes it -- and unlike the old fragment, the new factory can ensure that action.message.flags is always present, as it should be.
Then that in turn lets us clean up some app code, in reducers, that had provided bogus default behavior in case of a missing flags in order to accommodate tests that didn't supply one.

LGTM, thanks, @gnprice! Merged.


Add GitHub CODEOWNERS file to auto-add reviewers by path

Description
New CODEOWNERS file for team members to be auto-added as reviewers based on changed path pattern.  This will hopefully cut down on frustration from contributors when PRs languish for months without being brought to the right person's attention.
The plugins team has set this precedent and has found it to be working well for them:
https://github.com/flutter/plugins/blob/master/CODEOWNERS
See https://help.github.com/en/articles/about-code-owners.
Tests
None.
Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I signed the [CLA].
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read [Handling breaking changes]). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

@Hixie

This does nothing but suggest reviewers?

This does nothing but suggest reviewers?

It assigns reviewers.
From https://help.github.com/en/articles/about-code-owners:

Code owners are automatically requested for review when someone opens a pull request that modifies code that they own. Code owners are not automatically requested to review draft pull requests.

If that's all it does, seems harmless enough.


SpinlockMutex unlock method

Shouldn't the unlock method of SpinlockMutex throw a TimeoutException if the executed time lasted longer than the set timeout instead of an LockReleaseException?
If not, can you explain why?

I guess that a dedicated exception would be fine. I wouldn't want to re-use TimeoutException. Do you have a good suggestion for a name?

Ah true. I just saw that it extends LockAcquireException. So its a nogo to reuse it. My problem is that I have to regex the exception message to differentiate between those two cases where this LockReleaseException is thrown. So like you suggested, a dedicated exception would be a solution. I think of an exception that extends LockReleaseException and is called something like 'unexpected execution time exception' or so. Anything related to that if statement would be ok.

ExecutionOutsideLockException is a bit shorter.

Sure, I can do that. Will submit a pull request soon.

Thanks, appreciate it. Would be great if it could have a message like:
The code executed for %d seconds. But the timeout is %d seconds. The last %d seconds were executed outside the lock.

Ok, let me change the message. Did not see you last comment before I started working on it.


Update index.html

add podlite  - open-source desktop Raku Pod editor and viewer

Why not also add the webversion?

👋 @patrickbkr !
Yes, of course
Indeed it is also a useful resource \o/
Thank you


[#4006] replace logger.warning with warn_or_error

resolves #4006
Description
Uses warn_or_error to log or raise errors depending on arguments passed.
It wasn't 100% clear to me if there should be a test for this or not but I'm happy to add if there should be.
Checklist

[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[ ] This PR includes tests, or tests are not required/relevant for this PR
[x] I have updated the CHANGELOG.md and added information about my change to the "dbt next" section.

integration-postgres run-test: commands[1] | /home/runner/work/dbt/dbt/.tox/integration-postgres/bin/python -m pytest --profile=postgres test/rpc
ERROR: usage: __main__.py [options] [file_or_dir] [file_or_dir] [...]
__main__.py: error: unrecognized arguments: --profile=postgres
  inifile: /home/runner/work/dbt/dbt/tox.ini
  rootdir: /home/runner/work/dbt/dbt

ERROR: InvocationError for command /home/runner/work/dbt/dbt/.tox/integration-postgres/bin/python -m pytest --profile=postgres test/rpc (exited with code 4)
___________________________________ summary ____________________________________
ERROR:   integration-postgres: commands failed
Error: Process completed with exit code 1.

I might be wrong but I don't believe that this error is related to this change?


fix(sanic): bind session to session class instead of to the session maker

Description
correclty binds session into sanic extension as expected
in the original code, session maker was defined and then the dependency for session overwrites it with a session maker as the type.  this seems non-ideal -- you can't get the session maker and when you ask for the session maker you get a session object
instead, this looks at the sqlalchemy config and if the session class is defined we can bind the session correctly -- otherwise, the type of the session maker is used

Closes
fixes #267

Should this also update the example code?  If we do this, the example code that binds session explicitly is no longer needed.


Atom.Object.defineProperty.get is deprecated.

atom.workspaceView is no longer available.
In most cases you will not need the view. See the Workspace docs for
alternatives: https://atom.io/docs/api/latest/Workspace.
If you do need the view, please use atom.views.getView(atom.workspace),
which returns an HTMLElement.
Atom.Object.defineProperty.get (C:\Users\anilkaratas\AppData\Local\atom\app-0.184.0\resources\app\src\atom.js:54:11)
Object.activate (C:\Users\anilkaratas\.atom\packages\git-control\lib\git-control.coffee:16:9)

This is a duplicate issue of #16 . I will close all duplicates in order to clean up issues.


explicitly making the site indexable

This PR is attempting to explicitly make the Heron docs indexable by search engines.

I would appreciate if this was merged because I need to rebase my feature branch off of this to fix my currently broken Travis CI builds.


add unpkg cdn

https://npmcdn.com rebranded to https://unpkg.com

fixed by https://github.com/base-apps/angular-icons/commit/3b8eb2e1a63e9b9f01d34445a9fb91ceda63da50


feat: Implement email sending functionalities

What does the PR do?
This PR is about creating an email service for sending various types of email
How should this be manually tested?
call the email service with expected parameters email, url, token and articles
sendUserConfirmation(email: string, url: string, token: string)

sendForgotPassword(email: string, url: string, token: string)

sendWaitListMail(email: string, url: string)

sendNewsLetterMail(email: string, articles: Article[])

Checklist of what you did

[x] Implemented a function  to confirm user registration via mail
[x]  Implemented a function  to send forget password mail
[x] Implemented a function  to send waitlist email
[x] Implemented a function  to send for newsletters
[x] Added unit tests for email service

Reference Issue
Reset Password and Forget Password

Please follow the PR pattern for #351, and also include documentations

Please follow the PR pattern for #351, and also include documentations

Hi this is just a service there is no endpoint,other endpoints depend on it

Well done, Michael. Just please update the title of the issue and your description to match the format.

Done thank you.Kindly review again

Please follow the PR pattern for #351, and also include documentations

I have made changes kindly review again

@King-Mikaelson resolve the merge conflicts please

@King-Mikaelson resolve the merge conflicts please

All merge conflicts has been resolved please review thank you

@buka4rill I have reviewed, awaiting your approval

@Homoakin619 please approve the changes too thank you

@King-Mikaelson your code is failing pipeline tests

Small comments

Thank you buka resolved all issues plus test cases

@King-Mikaelson your code is failing pipeline tests

resolved kindly check again


feat: add log message in the test report

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y

Closes #358
feat: add log message in the test report

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[ ] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.006%) to 32.233%

Files with Coverage Reduction
New Missed Lines
%

pkg/tools/testing/testing.go
1
40.35%

Totals

Change from base Build<PHONE_NUMBER>3:
0.006%

Covered Lines:
5577

Relevant Lines:
17302

💛  - Coveralls


Building error (‘sim’ was not declared in this scope ...)

Hi,
I am having some issues with setting up the python api via python setup.py install
I am getting:
nel/simulator.cpp: In function ‘PyObject* nel::Py_BuildAgentState(const nel::agent_state*)’:
nel/simulator.cpp:25:50: error: ‘sim’ was not declared in this scope
     PyObject* py_sim_handle = PyLong_FromVoidPtr(sim);
                                                  ^~~

(and bunch of additional errors, don't want to spam with them too much)
Did you encounter this?
(ps: I hope I have set up all the dependencies correctly, I'll double check - it's just that maybe you have had the same issues)
(ps2: worst case scenario this error is my fault, but then this can still serve as a guide to anyone else who gets into similar troubles...)

Ah yeah, this is because I've been changing the C-side code a lot but haven't been updating the C-Python interface in api/python/nel/simulator.cpp, so there are definitely going to be errors. I was planning to fix those later, once the C-side is more complete.

If you want to work on visualization, I think you can ignore the interface for now, and write the visualization code assuming the C-Python interface is working, and maybe test with some simple synthetic examples. But if you prefer, you're totally welcome to help fix the C-Python interface.


 Insert table as select

This PR is stacked on #1 and #2
Kept it in draft since it is stacked PR. I will undraft after other two PRs are merged
Only last two commits are to be reviewed
Added Substrait support and test cases for below statements
-- Insert from select
-- insert from virtual table
-- select from virtual table

This is covered in #9 . So closing this


Add content-security-policy

Related to #167

Isn't this missing style-src 'self' cdnjs.cloudflare.com? Looking at files header.hbs and rustdoc.hbs.

It would be more secure to drop cdnjs.cloudflare.com from the CSP, and instead use hashes (static) or nonces (dynamic) as described here - note, it's not supported in CSP1 (IE11). This way it is only allowed to use the specified files and not every file in the CDN. An alternative of course is to host the files directly, not through CDN.

Isn't this missing style-src 'self' cdnjs.cloudflare.com? Looking at files header.hbs and rustdoc.hbs.

Yeah. Thanks for the reminder.

It would be more secure to drop cdnjs.cloudflare.com from the CSP, and instead use hashes (static) or nonces (dynamic) as described here - note, it's not supported in CSP1 (IE11). This way it is only allowed to use the specified files and not every file in the CDN. An alternative of course is to host the files directly, not through CDN.

Yeah, but I'd rather do that as a separate pull request. This is already an improvement.

If merged this should close #167 as it would completely disable inline scripts for all modern browser users, even including IE.

Okay, I added the style-src.

Is there anything else that needs to be done before this can be merged?

r? @QuietMisdreavus

I just did the barest reading of CSP formatting, so forgive me if i'm misunderstanding. Should this include an img-src so that we can load GitHub avatars from avatars.githubusercontent.com on crate details pages? In fact, we should probably allow images from any source, since certain crates have badges in their readme, or custom logos and favicons in their docs. (For example, the images in curve25519-dalek, the favicon in Rocket, the badges in egg-mode's readme.) However, if people consider this too much of a risk, i would be willing to limit it to just 'self' avatars.githubusercontent.com and break all these images.
This will neuter the pwnies crate and the dalek crates which had a working KaTeX import prior to our server migration, since they were loading scripts from other hosts. Since this was the entire point of the discussion, i'm willing to do this, but i'd like to tag in @hdevalence and @isislovecruft all the same to make sure they're aware of this.

Ideally I would like either rustdoc or docs.rs to have its own support for KaTeX, so that any crate could just use it directly by some first-class mechanism.  (I realize this is somewhat orthogonal to the issue at hand, just restating it for clarity).
The dalek crates are all hosted with KaTeX on doc.dalek.rs, so while it would be unfortunate if the math on docs.rs broke, it's not the end of the world. To me, it seems more important that docs.rs isn't XSSable.

I'd also like to add the ability to link in some libraries as a first-class mechanism (https://github.com/rust-lang/docs.rs/issues/302). If i can get that in, then we can get these libraries to work properly on docs.rs without having to resort to XSS. If everyone's okay with fixing the XSS first and adding the features later, then i can work on the libraries feature in due time.

Ah, it looks like our version of Iron has possibly updated since this PR was originally posted, or something else happened that made these imports not work:
error[E0405]: cannot find trait `AfterMiddleware` in this scope
  --> src/web/mod.rs:72:6
   |
72 | impl AfterMiddleware for ContentSecurityPolicy {
   |      ^^^^^^^^^^^^^^^ not found in this scope
help: possible candidates are found in other modules, you can import them into scope
   |
48 | use iron::AfterMiddleware;
   |
48 | use iron::middleware::AfterMiddleware;
   |

error[E0425]: cannot find value `CONTENT_SECURITY_POLICY` in module `iron::headers`
  --> src/web/mod.rs:74:44
   |
74 |         if resp.headers.get(iron::headers::CONTENT_SECURITY_POLICY) == None {
   |                                            ^^^^^^^^^^^^^^^^^^^^^^^ not found in `iron::headers`
help: possible candidate is found in another module, you can import it into scope
   |
48 | use reqwest::header::CONTENT_SECURITY_POLICY;
   |

error[E0425]: cannot find value `CONTENT_SECURITY_POLICY` in module `iron::headers`
  --> src/web/mod.rs:76:32
   |
76 |                 iron::headers::CONTENT_SECURITY_POLICY,
   |                                ^^^^^^^^^^^^^^^^^^^^^^^ not found in `iron::headers`
help: possible candidate is found in another module, you can import it into scope
   |
48 | use reqwest::header::CONTENT_SECURITY_POLICY;
   |

We should also add upgrade-insecure-requests to the CSP to reduce mixed content warnings on the browsers that supports it.

I took the branch and started updating it to properly compile. It turns out that the version of Hyper that Iron used doesn't have a header struct for CSP, so i had to write a basic one myself. (I didn't try to properly parse out a typed CSP, only store the text used for it. There's a content-security-policy crate which has structs that describe a CSP, but it currently does not support re-serializing the data back to a header format, so it is not sufficient for our use.)
However, when i tried to test it, i ran into problems with all the inline scripts used in the docs.rs template files. Since we don't have separate JavaScript files for the little scripts used on docs.rs's own pages, we'll need to either split those into separate files, or start including nonces/hashes in our CSP. I'll work on this.
In addition, i have doubts that including upgrade-insecure-requests will fix the favicon problem. The way our server is set up, the actual docs.rs web server doesn't handle HTTPS - AWS CloudFront is supplying that while providing our CDN. To be honest, i'm not sure what's even happening that's causing the favicon to be loaded over HTTP, since we're redirecting it exactly the same way we redirect anything else. The underlying URL may be served over HTTP, but when loading anything but a favicon, CloudFront will do the HTTPS upgrade for us. I'm worried that adding upgrade-insecure-requests will cause CloudFront itself to request HTTPS from the docs.rs server, which is not set up to handle it at the moment.
In addition, including upgrade-insecure-requests will make testing a development server harder since it's not guaranteed that those will be running over HTTPS, especially if it's running on localhost. If we do include it, it will likely need to be configurable, so that the production site can use it but a development site can skip it.

I'm worried that adding upgrade-insecure-requests will cause CloudFront itself to request HTTPS from the docs.rs server, which is not set up to handle it at the moment.

Cloudfront doesn't care about the header (it's only used by browser), and its configuration explicitly says to only use HTTP when contacting the server.
I'll try to find time to investigate what's happening with the favicon.

I've hit another hurdle: Rustdoc itself adds some inline <script> and <style> tags:

One inline script to set global JS variables related to creating relative URLs for the search bar.
One inline script to set a global JS variable related to loading the right sidebar information.
One inline style to set the image for the crate-search filter drop-down. (I'm actually not sure what this is doing here? @GuillaumeGomez, do you remember why this had to be here and not in rustdoc.css? We should also not emit this in the first place for docs.rs since we don't even emit the crate search filter for it any more.)

I was able to put nonces on all of docs.rs's own inline scripts, but since these are controlled by upstream rustdoc, it's going to be more difficult to properly allow these without just setting script-src 'unsafe-inline'.

Looking at it again, it looks like the reason for the inline style was because the SVG being linked in has the resource suffix applied, so from rustdoc's perspective it's going to be different per-crate.
I have an idea for how to allow these, but it will probably slow down our web server: we can dynamically insert nonces into rustdoc output, but skip docblocks, which are always sourced from user data. This way, the inline scripts and styles that rustdoc itself adds can run, but anything a user adds will get blocked. However, this also means that we need to deeply inspect and modify the HTML that rustdoc emits when serving it. Ideally, this would occur once, when documentation is initially built, but that won't help existing docs.
I have a branch available at https://github.com/QuietMisdreavus/docs.rs/tree/csp - i will push it over this PR when i believe that it's ready to be live. It's almost there, pending whether there's another way around the inline script issue.

I have an idea for how to allow these, but it will probably slow down our web server: we can dynamically insert nonces into rustdoc output, but skip docblocks, which are always sourced from user data. This way, the inline scripts and styles that rustdoc itself adds can run, but anything a user adds will get blocked. However, this also means that we need to deeply inspect and modify the HTML that rustdoc emits when serving it. Ideally, this would occur once, when documentation is initially built, but that won't help existing docs.

I don't think that's going to work, an attacker can find ways to inject custom code outside of docblocks.

Closing this PR, as we'll need to take a different approach to fix the problem. The team is working on it, and I hope I'll have public information to share soon.


Coverage is not sent

Overview
Hi @loleg, there is a new status page for all our implementations - https://github.com/frictionlessdata/software/blob/master/STATUS.md - and I noticed that there is a problem with Julia coverage badge. It seems that sending data to coveralls fails on the build stage. Could you please take a look?
PS.
BTW do I understand correctly that there is no package registry for Julia packages and Github is used for distribution? I need to create a version badge

FIXED on the last rebuild


Indicator Problem

Hello, today I updated pods and after last release activity indicator is not working and when I tried to use it my project is crashing.

precondition failure: attribute failed to set an initial value: 115

Button(action: {
    self.username = self.authVM.user.username!
    self.openSheet.toggle()
}) {
    WebImage(url: URL(string: self.authVM.user.avatar!.userAvatarPathSmall()))
        .resizable()
        .indicator(.activity)
        .frame(width: 32, height: 32).cornerRadius(16)
}.buttonStyle(PlainButtonStyle())

You need to clean and recompile. This looks like something inside SwiftUI

You need to clean and recompile. This looks like something inside SwiftUI

I tried clean and recompile again and same error unfortunately :/

What's the version before you bumped to the latest version ? I can have a check at code diff in indicator.

What's the version before you bump to the latest version ? I can have a check at code diff in indicator.

Here it is, I'm using activator on every image and this problem only occurs image that I used at navigation bar item.

i have the same issue after updteing pod app get crash when try load images
WebImage(url:url)
.indicator(.progress(style: .default))


Make one wallet the standard ?!

what do you think about sliming down the overall use of passwords for JAM and wallets by giving the user in the normal journey the following:

password protected JAM app preview with Logout Button on settings page
automatically creating one wallet without password after intro (is this even possible with JM API?)
(no preview, created screens would be wired differently)
and move "switch wallet" / "create another wallet"  into the settings for more advanced people. preview

we are not getting rid of the screens and functionality that is build already, we just link them differently into another flow.
later we could also maybe build in import/ export of wallets for different cross usage like joininbox or backups if needed.
the default user would have an easier experience without too many passwords to remember/ secure and there is no lock/unlock issue with running processes in the background.

On most systems the wallet password is the only encryption  standing between needing a password or having the bitcoin keys readily available for anyone with physical access to the disk.
Be aware that getting rid of wallet password there will be no security left.
A slightly better solution could be to reuse the wallet password to be the app password so then it can be stored in the memory to unlock the wallet also and disappears when the node is switched off.
See the raspiblitz LND wallet for example:
the apps are locked with the PasswordB (which is the bitcoin password reused)
the LND wallet has it's own PasswordC which is not stored by default and locks all funds on a restart.
Think of what happens when someone takes the node away.
Passwords not stored (or only in RAM) are flushed and strong encryption saves the user from losing funds.
The problem with loosening the security is that JM is meant for higher amounts by nature so autounlocks and passwordless setups risk a lot potentially.

I wouldn't be comfortable with implementing completely passwordless wallets for the reasons @openoms mentioned above.
I do like the general idea of having a single wallet flow by default (with the option to create more wallets if needed). I feel like most of our users would be perfectly fine with having only one wallet. Currently the "choose wallet" screen is really prominent and I don't think it needs to be such a central thing in the UX when most users (I assume; might be wrong of course) have a single wallet only.
We could, for example, build a guided onboarding flow that is shown the first time the user opens the app. There we could guide the user to create a wallet and then make this wallet the default. After unlocking the app (and the wallet) this wallet would then be opened directly. A pro user could still reach the "switch / create wallets" screen via settings for example. There they could also choose which wallet (if they have several) is the default one. Does that make sense from a UX point of view?

nice, I like the insights. if its a possible way, I would love to see the user punching in the chosen wallet password as the jam login password. we need to optimize the wording for the user to understand that a login is the same as unlock the wallet in general. after that we are in a single wallet environment.
all the other features like adding another wallet, switch wallets, make a wallet the new default, lock and unlock wallets, maybe even delete wallets and export and import plus rescan wallets should live under settings. imo that makes more sense.

all the other features like adding another wallet, switch wallets, make a wallet the new default, lock and unlock wallets, maybe even delete wallets and export and import plus rescan wallets should live under settings. imo that makes more sense.

💯 agree on this!

About reusing the wallet password as the app password: While I'd love to have this from a Jam point-of-view, I'm not sure we can do that in a clean way considering the bigger picture. It might turn out to be more confusing in the end.
My thinking is that by convention we're forced to use the shared app password that the nodes provide to unlock the app. But we cannot reuse this password to unlock the wallet for security reasons. That in turn means that we basically have to go down the two passwords route. I'll explain in more detail below, please tell me if I'm wrong. I might easily be miss something!
(Sorry in advance for the wall of text.)
App Password vs. Wallet Password
Currently, there's two different passwords:

The app password: Protects the React app and the JoinMarket API from unauthorized access while being served on the network. This password can be stored on disk.
The wallet password: Protects the funds in the JoinMarket wallet from unauthorized access even when the node is turned off. This password cannot be stored on disk since it should still protect the wallet e.g. in case of theft.

Like pointed out by openoms, a way of maybe achieving a single-password flow would be to reuse the wallet password for the app password. However, since nodes like RaspiBlitz or Umbrel work with a single shared app password ("Password B" on a RaspiBlitz) to unlock the apps (e.g. RTL, Thunderhub) running on these nodes, it would be "non-standard" in a way for us to deviate from this scheme. That could be confusing for users who are used to the shared app-password.
I feel like it's the safer route to stick with the way the nodes want us to use their app-password. We also can't reuse this app-password for the wallet of course, since it's stored on disk e.g. on the RaspiBlitz.
So assuming all my assumptions above are true (please tell me if I'm wrong!) we basically have to keep the two passwords around:

The shared app password provided by the node to unlock the app
A user chosen wallet password that is not stored on disk

I do see how this is confusing. We somehow have to engineer the UI in a way that it isn't weird to enter two passwords at once. Maybe we could do it like a 2FA flow since users are already accustomed to entering two passwords there. 🤔 Another option might be to stick with Basic Auth (our current approach on Umbrel) since browsers cache these passwords so it would feel like a one-password flow most of the time.
I'd love to see a simpler, one-password approach though if anyone has any ideas!

Currently the "choose wallet" screen is really prominent and I don't think it needs to be such a central thing in the UX when most users (I assume; might be wrong of course) have a single wallet only.

This is an interesting point and intuitively, correct (arguable though!).
It's worth remembering that one of the main distinguishing features of a Joinmarket wallet is that it has 5 (by default, which most don't change) accounts and they function very much like separate wallets to all intents and purposes.
There is definitely a use case for switching up to a new wallet file at least from time to time. Depending on .. stuff .., a user can end up having thousands of used addresses in a JM wallet, unlike most wallets (don't forget - even failed coinjoins "use up" addresses, because they were communicated to counterparties and are therefore considered unusable in future - notice how different that is, from most wallets). This causes more scanning slowdown, and our wallet sync is not the fastest, in the first place!
(Of course there are other reasons to switch to a new wallet file; I just mention that one as it's less obvious)
So the obvious thing I guess is to hide 'new wallet' away from the main workflow, but do keep it and don't hide it too well :)

🎨Figma Settings
🎨Figma Wallet

settings categories
login/ logout
removed switch wallets in header (top right)
rewired screens / flow for switch wallet and create wallet
new "back" header coming from settings page, when inside "switch wallet" flow

Resolved, at least partially, with #296 and #316

Agreed, it's partially resolved (also relevant: #325). For the scope of v0.0.7 we can definitely consider it resolved.
The meat of this feature will be replacing the "home" screen which is currently the "select which wallet to unlock screen" with something more sleek that just asks you to input the wallet password for the default wallet. The screen to switch wallets will then only be accessible from the settings.
@editwentyone If you're motivated to think about how this could look, feel free to open a new issue with any UI ideas! 🙏 ✨

also it would be nice to declare another wallet the "default", is this possible through settings screen?

I'd say it'll be easiest to slap that onto the "wallet switcher" screen:

What do you think? Any ideas on how it could look like? I'm thinking a "make default wallet" button would probably be sufficient. 🤔

How about a star icon?

"make default wallet" button was also my idea, but there will be too many buttons on each row.
star icon is more the "favorite" route

I came up with this 2 ideas right now, let me know what you think:
Figma 🎨

because there can only be one default wallet, I would stay with radios. stars are more favorites and you can have more then one

See also https://github.com/joinmarket-webui/joinmarket-webui/issues/337

Finishing this is blocked by https://github.com/joinmarket-webui/joinmarket-webui/issues/337.

Moving this issue out of v0.0.10 since we need a decision / designs for https://github.com/joinmarket-webui/jam/issues/337 first.


#2549 Made search bar more transparent and bit wider

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR type

[ ] Bugfix
[ ] Feature
[x] Refactoring

What's new?

[x] PR closes #2549
[ ] <brief_description_of_what_I've_added>

Before submitting Pull Request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </rmrk/collection/26902bc2f7c20c546a-1FVG7>
[ ] I've tested PR on mobile and everything seems works
[ ] I found edge cases
[ ] I've written some unit tests 🧪

Had issue bounty label?

[x] Fill up your KSM address:
Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

Looks nice ^-^

brilliant works, however, noticed one bug #2573 but seems unrelated and gone for now lol

pay 100 usd

😍 Perfect, I’ve sent the payout
💵 $100 @ 135.52 USD/KSM ~ 0.738 $KSM
🧗 EzGc4s9PgCPx1YnF3fqzhLzVHpHMTL4LWPScwpDrR8JKgSU
🔗 0xa76bb335f072e92a794d2962e45ec93ab550aee231b8fe689fe03f8361183670
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues