Add success log when snapshotter successfully returns mounts

Added log statement to Mounts() function that will print if mount returns are successful on an active snapshot when a container is created/run.
Signed-off-by: Yasin Turan<EMAIL_ADDRESS>Issue #, if available:
Fixes : https://github.com/awslabs/soci-snapshotter/issues/271
Testing performed:
make test && make integration
Log:
{"key":"default/18/sociExample","level":"debug","mount-point":"/var/lib/soci-snapshotter-grpc/snapshotter/snapshots/2/fs","msg":"layer is normal snapshot(overlayfs)","time":"2023-01-09T21:17:41.810202623Z"}
{"key":"default/18/sociExample","level":"debug","mount-point":"/var/lib/soci-snapshotter-grpc/snapshotter/snapshots/4/fs","msg":"checking mount point","time":"2023-01-09T21:17:41.810208721Z"}
{"key":"default/18/sociExample","level":"debug","mount-point":"/var/lib/soci-snapshotter-grpc/snapshotter/snapshots/1/fs","msg":"checking mount point","time":"2023-01-09T21:17:41.810288141Z"}

** {"level":"info","msg":"SOCI mount successfully returned: 11","time":"2023-01-09T21:17:41.810332877Z"} **

{"level":"debug","msg":"FUSE operation","operation":"Getxattr","path":"","time":"2023-01-09T21:17:41.810835785Z"}
{"level":"debug","msg":"FUSE operation","operation":"Getxattr","path":"","time":"2023-01-09T21:17:41.810972954Z"}
{"level":"debug","msg":"FUSE operation","operation":"Getxattr","path":"","time":"2023-01-09T21:17:41.811074432Z"}

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

There are Prepare and View that return mountpoints. Why do we log from Mount? Does containerd call Mount after calling Prepare and/or View?

Let's say we have 2 large layers with zTOC and 2 small layers without zTOC, would we have 2 "SOCI mount ..." messages? Does it log something for the layers without zTOCs?

I was under the impression that we wanted to log a success message when we are running a container, since on pull we already have logs that emit on successful remote or local snapshot creation.
https://github.com/awslabs/soci-snapshotter/blob/main/snapshot/snapshot.go#L288
https://github.com/awslabs/soci-snapshotter/blob/main/snapshot/snapshot.go#L311
This log should be outputted only once when we attempt to run a container(either in read only or read/write) and containerd reaches out to the snapshotter to return the mounts. Before this during container creation, I believe Prepare would be called once to return the mounts with the active snapshot.
https://github.com/containerd/containerd/blob/main/container.go#L243

There are Prepare and View that return mountpoints. Why do we log from Mount? Does containerd call Mount after calling Prepare and/or View?

Let's say we have 2 large layers with zTOC and 2 small layers without zTOC, would we have 2 "SOCI mount ..." messages? Does it log something for the layers without zTOCs?

I was under the impression that we wanted to log a success message when we are running a container, since on pull we already have logs that emit on successful remote or local snapshot creation. Layers without ztocs would be prepared locally.
https://github.com/awslabs/soci-snapshotter/blob/main/snapshot/snapshot.go#L288 https://github.com/awslabs/soci-snapshotter/blob/main/snapshot/snapshot.go#L311
This log should be outputted only once when we attempt to run a container(either in read only or read/write) and containerd reaches out to the snapshotter to return the mounts. Before this during container creation, I believe Prepare would be called once to return the mounts with the active snapshot.
https://github.com/containerd/containerd/blob/main/container.go#L243

No longer logging with Mounts. Context: https://github.com/awslabs/soci-snapshotter/issues/271#issuecomment-1377740994


Restaurants will not appear when "Select a Restaurant" is selected

Describe the bug
I have designed a backend app manager for our clients visiting Walt Disney World. The idea is that we build their itinerary for them as far as which parks and hotels for dining on which day, we load everything into their own app, and then the User can login and see their day to day plans while visiting.
When I selected the Magic Kingdom park as a "location," the itinerary builder should display the special entertainment events for that location (the MK parades for example), special activities available at that location (MK's Bibbidi Boutique Princess Makeover), AND all of the restaurants located at that chosen location (the MK restaurants).
All of this used to work until I noticed a couple of restaurants were missing from the database. When I tried to add them the ability to load the restaurants based on location feature stopped working EXCEPT for the Contemporary hotel. For some reason, that one hotel works with loading its restaurants, but no other location will.
I have tried everything I can to have the bolt ai correct itself but it never does and I have spent over a $100 trying to get it fixed. I don't really understand how this writeup is going to help me, but I'm trying it out.
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-ipsg2j
Steps to reproduce

Click on "Add New Guest" at the bottom of the page.
Fill in the first and last name (only data required to continue), scroll down to the bottom and click on "Save and Continue"
Use the calendar feature to select the vacation start date and end date and click on "Create Itinerary"
You'll now see the planner has built the itinerary of dates that need to be filled in with parks and locations
Select the top date and click on "Add Location"
Select the "Magic Kingdom"
You will see that the parkwide entertainment events are listed for the MK, as is the "Activity" Bibbidi Bobbidi Boutique. These work great.
Scroll down just a little and click on "Add Dining Reservation." Now the resulting "Select a Restaurant" dropdown should be populated with all of the restaurant choices at the Magic Kingdom. THIS is the feature that no longer works -- although it used to perfectly. I have tried EVERYthing I can think of to fix it. I have NO coding knowledge of any kind.

Expected behavior
When you click on a "Add Dining Reservation," you should see all of that location's restaurants listed under "Select a Restaurant" classified in the dropdown as quick service, table service, character dining, Fantasmic Dining Package, and Lounge. (I didn't ask for the lounges but the Ai added them anyway.)
Screen Recording / Screenshot
https://github.com/user-attachments/assets/7fe315f9-7532-4a57-8a96-e47368b54585
Platform

OS: Mac OS - Latest with Ai on macbook air
Browser: Chrome
Version: not sure but up to date

Additional context
No response

Btw I meant to add that each time Bolt thinks everything is okay. It will fix the import or the export or both and then report back that its "new and improved" coding has corrected the issue and that everything is fine now. It never is unfortunately. I'm not a professional and this project is for work. I then upgraded to $50 trying to fix it and then $100 rate. I was just renewed $100 again so I'd really like to get this resolved. It was perfect and then .... Thank you for any assistance!


Support fabio.properties in Consul KV store

Is it possible to push the configuration file Fabio.properties directly in Consul KV store ?
The reason is to "not restart" Fabio if I want to update a parameter.

I don't think that this is a good idea in general as it introduces a circular dependency between fabio and consul. How should fabio find the consul instance and the KV path? The main reason to use fabio is that you do not have to maintain its configuration all the time. Therefore, I'm curious what it is that you want to change at runtime.

@magiconair For example, I want to change log level.

why? what's broken? our fabio instances weren't logging much (KBs/day). Simple log rotation was enough. Are you getting a lot of Health changed messages?

Yes too many health changed :
2017/09/28 07:30:03 [INFO] consul: Health changed to #42680
2017/09/28 07:30:03 [INFO] consul: Health changed to #42683
2017/09/28 07:30:50 [INFO] consul: Health changed to #42690
2017/09/28 07:30:50 [INFO] consul: Health changed to #42693
2017/09/28 07:31:00 [INFO] consul: Health changed to #42696
2017/09/28 07:31:00 [INFO] consul: Health changed to #42698
2017/09/28 07:31:00 [INFO] consul: Health changed to #42699
2017/09/28 07:31:05 [INFO] consul: Health changed to #42701
2017/09/28 07:31:05 [INFO] consul: Health changed to #42703
2017/09/28 07:31:05 [INFO] consul: Health changed to #42704
2017/09/28 07:31:58 [INFO] consul: Health changed to #42713
2017/09/28 07:31:58 [INFO] consul: Health changed to #42716
2017/09/28 07:32:10 [INFO] consul: Health changed to #42718
2017/09/28 07:32:10 [INFO] consul: Health changed to #42721
2017/09/28 07:32:29 [INFO] consul: Health changed to #42726
2017/09/28 07:32:29 [INFO] consul: Health changed to #42729
2017/09/28 07:32:41 [INFO] consul: Health changed to #42730
2017/09/28 07:32:41 [INFO] consul: Health changed to #42733

So maybe a log level should be good (debug/info/warn)

No, what you have there is either a flapping service or a service which has volatile data in its health check output (e.g. timestamp, pid, increasing number, ...) Each of these lines represents a write to the consul raft log which needs to be replicated and puts load onto your consul server cluster. Find the volatile data in the health check and fix it and you won't have that problem :)

ok thank you for your help 👍


Set data changes description from bridge

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Functionality needed for https://dev.azure.com/bentleycs/iModelTechnologies/_workitems/edit/447508/

@kostasjurasbentley, can you avoid linking to internal only work items for descriptions and copy the relevant content into the description (without mentioning individual users)?

/AzurePipelines run

@kostasjurasbentley working on a fix to the pipeline now. You're the first one to create a fork-based PR so a few things need to be tweaked first.

@kostasjurasbentley just pushed a change to master that should fix the issue. Mind updating your fork?

/AzurePipelines run

@kostasjurasbentley just pushed a change to master that should fix the issue.  After that we should be able to get this merged. Thanks!

@kostasjurasbentley can you sign the CLA? After that we should be able to get this merged. Thanks!

done

/azp run

/azp run

/azp run


Index is not created

I am using the following command to import data from csv file.
curl -XPUT localhost:9200/_river/my_csv_river/_meta -d '
{
"type" : "csv",
"csv_file" : {
"folder" : "/home/testuser/river_test",
"filename_pattern" : ".*\.csv$",
"first_line_is_header" : "true",
"field_separator" : ",",
"charset" : "UTF-8"
},
"index" : {
"index" : "myvar_model",
"type" : "csv_type",
"bulk_size" : 100,
"bulk_threshold" : 10
}
}'
But the index is not created. I searched for documentaion i cant found. I am using elasticsearch version:1.2.4 and plugin version 2.1.0.

Take a look on readme. According to version table you should be using plugin of version 2.0.2.
If you want to use newer version of plugin, you must upgrade ES.

first time i am using the following command:
curl -XPUT localhost:9200/_river/my_csv_river/_meta -d '
{
"type" : "csv",
"csv_file" : {
"folder" : "/home/testuser/river_test",
"filename_pattern" : ".\.csv$",
"first_line_is_header" : "true",
"field_separator" : ",",
"charset" : "UTF-8"
},
"index" : {
"index" : "myvar_model",
"type" : "csv_type",
"bulk_size" : 100,
"bulk_threshold" : 10
}
}'
The index "myvar_model" is created.
ANd now i want to create new index and the csv data is in another folder, so i used the following commaand:
curl -XPUT localhost:9200/_river/my_csv_river/_meta -d '
{
"type" : "csv",
"csv_file" : {
"folder" : "/home/testuser/myvar_model",
"filename_pattern" : ".\.csv$",
"first_line_is_header" : "true",
"field_separator" : ",",
"charset" : "UTF-8"
},
"index" : {
"index" : "myvar_xxxxx",
"type" : "csv_type",
"bulk_size" : 100,
"bulk_threshold" : 10
}
}'
Now the index is not crated.Why??

Hi,
You must delete current river configuration on localhost:9200/_river/my_csv_river/_meta or use different URL for second river configuration.
Bedy

2015 v 10:54, subburaj45<EMAIL_ADDRESS>

first time i am using the following command:
curl -XPUT localhost:9200/_river/my_csv_river/_meta -d '
{
"type" : "csv",
"csv_file" : {
"folder" : "/home/testuser/river_test",
"filename_pattern" : "..csv$",
"first_line_is_header" : "true",
"field_separator" : ",",
"charset" : "UTF-8"
},
"index" : {
"index" : "myvar_model",
"type" : "csv_type",
"bulk_size" : 100,
"bulk_threshold" : 10
}
}'
The index "myvar_model" is created.
ANd now i want to create new index and the csv data is in another folder, so i used the following commaand:
curl -XPUT localhost:9200/_river/my_csv_river/_meta -d '
{
"type" : "csv",
"csv_file" : {
"folder" : "/home/testuser/myvar_model",
"filename_pattern" : "..csv$",
"first_line_is_header" : "true",
"field_separator" : ",",
"charset" : "UTF-8"
},
"index" : {
"index" : "myvar_xxxxx",
"type" : "csv_type",
"bulk_size" : 100,
"bulk_threshold" : 10
}
}'
Now the index is not crated.Why??
—
Reply to this email directly or view it on GitHub https://github.com/AgileWorksOrg/elasticsearch-river-csv/issues/59#issuecomment-130582115.

Different URL means whether i have to change the typ meta to meta1?? I am new bie to this so please calrify this. How can i delete current river configuration.

You can delete river configuration with this command:
curl -XDELETE http://localhost:9200/_river/my_csv_river http://localhost:9200/_river/my_csv_river

2015 v 11:06, subburaj45<EMAIL_ADDRESS>

Different URL means whether i have to change the typ meta to meta1?? I am new bie to this so please calrify this. How can i delete current river configuration.
—
Reply to this email directly or view it on GitHub https://github.com/AgileWorksOrg/elasticsearch-river-csv/issues/59#issuecomment-130586291.

Thanks  @ xxBedy  i got it..

One more clarification is it posible to create index with mapping using river??

@xxBedy For first time i deleted the river configuration and index it works fine. But when i tried deleting for second time the river configuration and tried for indexing, now the index is not created..

@xxBedy I found the solution.In  my folder the file name is changed to "ModelScore.csv.processing.imported" i changed to "ModelScore.csv".Now it works.

@xxBedy  mapping is not applying the index.Is there any solution for this??

No. You must create index with mapping before creating river configuration.
CSV river is not responsible for creating mapping. There is no reason to have this functionality in CSV river when there is standard API for that.
See: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html

2015 v 11:10, subburaj45<EMAIL_ADDRESS>

One more clarification is it posible to create index with mapping using river??
—
Reply to this email directly or view it on GitHub https://github.com/AgileWorksOrg/elasticsearch-river-csv/issues/59#issuecomment-130586889.

@xxBedy Thanks .One more clarification. Suppose considser the following configuration
curl -XPUT localhost:9200/_river/my_csv_river/_meta -d '
{
"type" : "csv",
"csv_file" : {
"folder" : "/home/testuser/river_test",
"filename_pattern" : "..csv$",
"first_line_is_header" : "true",
"field_separator" : ",",
"charset" : "UTF-8"
},
"index" : {
"index" : "myvar_model",
"type" : "csv_type",
"bulk_size" : 100,
"bulk_threshold" : 10
}
}'
Now in the folder /home/testuser/river_test i have a.csv file. Suppose consider i add 1 more csv b.csv file. whether the river automatically trigger to index that. Or otherwise i have to configure once again.

River is configured to run periodically. You can set how often it should check for new files to index. Default value is 60 minutes.

River check folder in specified interval (parameter pool: 60minutes is default) and looking for file specified by filename_pattern.
There is no need to configure river again. Just put a.csv and then b.csv and river will index both.
Bedy

2015 v 11:43, subburaj45<EMAIL_ADDRESS>

@xxBedy https://github.com/xxBedy Thanks .One more clarification. Suppose considser the following configuration
curl -XPUT localhost:9200/_river/my_csv_river/_meta -d '
{
"type" : "csv",
"csv_file" : {
"folder" : "/home/testuser/river_test",
"filename_pattern" : "..csv$",
"first_line_is_header" : "true",
"field_separator" : ",",
"charset" : "UTF-8"
},
"index" : {
"index" : "myvar_model",
"type" : "csv_type",
"bulk_size" : 100,
"bulk_threshold" : 10
}
}'
Now in the folder /home/testuser/river_test i have a.csv file. Suppose consider i add 1 more csv b.csv file. whether the river automatically trigger to index that. Or otherwise i have to configure once again.
—
Reply to this email directly or view it on GitHub https://github.com/AgileWorksOrg/elasticsearch-river-csv/issues/59#issuecomment-130593066.

@xxBedy thanks a lot man for your valuable time.


The FreeBSD 13.0 bulid does not work

Downloading disk image: https://github.com/cross-platform-actions/freebsd-builder/releases/download/v0.2.0/freebsd-13-x86-64.qcow2
Downloading hypervisor: https://github.com/cross-platform-actions/resources/releases/download/v0.3.1/xhyve-macos.tar
Downloading resources: https://github.com/cross-platform-actions/resources/releases/download/v0.3.1/resources-macos.tar
/usr/sbin/mkfile -n 40m /tmp/resourcesNeMLJA/res.raw
/usr/bin/ssh-keygen -t ed25519 -f /tmp/resourcesNeMLJA/id_ed25519 -q -N
Error: Unexpected HTTP response: 404

The problem is the name of the downloaded disk image:
freebsd-13-x86-64.qcow2 vs.
freebsd-13.0-x86-64.qcow2
https://github.com/gansm/finalcut/runs/4493630197?check_suite_focus=true
Maybe this can solve your problem:
var version = 13.0;
encodeURIComponent(version.toFixed(1));

The problem is that the OS version needs to be specified as a string in the YAML file, otherwise YAML will treat 13.0 as a floating point number and remove the decimal part. This only occurs when the decimal part is 0, because 13.0 and 13 are the same. This is not a problem with 12.2 for example, since 12.2 and 12 are not the same and .2 is preserved. This is one of the quirks with YAML. The solution is to specify the OS as a string by surrounding the value in quotes: https://github.com/cross-platform-actions/action/blob/193dcd15b0747f21a2ef9f5fc6cbd125e62c1745/.github/workflows/ci.yml#L35

But wouldn't it be better to solve this in the backend?
So it would no longer be a problem for the user.
> version = 13.0;
13
> version
13
> version.toFixed(1);
'13.0'

I don't want the action to impose any restrictions on what the OS version can be. What if the version for some OS contains letters? Or for some OS it should 10 and not 10.0, for example.
I prefer to keep it as is. I can improve the documentation and include the data type for each parameter. I can also mention this quirk.

Alright, but you should improve your documentation to prevent more users from falling into this trap.

I've updated the documentation: https://github.com/cross-platform-actions/action/commit/61acfa10c87b5766f42c4f4f353bd0bbf2c9893f. I've also update the examples and CI workflows file to always use quotes.


Added CoSEConstants.TILING_SORT_BY

Works with https://github.com/cytoscape/cytoscape.js-cose-bilkent/pull/116

Hi @metincansiper, I liked this option since it will give more flexibility to users to sort the nodes to be tiled.  I will review the changes in detail, but can you please make them in unstable branches?

Hi @hasanbalci, thanks! I realized that there would be one detail that I would better revise and update if needed. I will make it and make the PR's to unstable branch after that.

@hasanbalci I updated the base branches of this PR and the one related to cytoscape.js-cose-bilkent repository (https://github.com/cytoscape/cytoscape.js-cose-bilkent/pull/116) as unstable.
However, I realized something in this repository. It happens both the branch in my fork after making it based on unstable and the original unstable branch of this repository. I will report the output from the unstable branch of this repository:
When I use the node version 13.6.0 at the build step (npm run build) I see the following error: (node:34424) UnhandledPromiseRejectionWarning: Error: No valid exports main found for '/Users/siperm/Documents/Workspace/cose-base/node_modules/colorette'.
Then I updated my node version as 15.13.0 and the build was successful but I see that the bundled cose-base.js file is produced as minified. However, the existing cose-base.js file is not minified in the unstable branch.
Then I tried the node version 8.2.1 and at the build step I see the error of SyntaxError: Unexpected token ....
Is there a specific version of node that must be used?

@metincansiper It seems that we updated webpack version, but didn't configure webpack.config.js accordingly. I use node version 13.10.1 and it didn't give error but minified the cose-base.js file. Thanks for reporting this. I will make the required changes after I reviewed and merged your PR.

@hasanbalci I added my responses/questions below your comments.

@metincansiper I can't see your responses.

@hasanbalci sorry I forgot to submit it. I think it must be visible now.

@hasanbalci I made the updates that we have discussed. BTW as we discussed before the auto generated cose-base.js  file ended up being minimized in this commit.


Support hyperlinks to specific file line numbers in the terminal

Would it be possible to support hyperlinks that open to a specific file and line number in the terminal?
For example, if the output below displayed in the terminal -
/Users/.../Foo.js
  9:35  error  'children' is missing in props validation  react/prop-types

I could click on 9:35 and it would open the Foo.js file and move focus to line 9.

Hi @Tyriar
AVA produces text in the file:line:col format that you mentioned. Though they are not rendered as links. Am I missing something?

@keyvan-m-sadeghi if you are about file names in stack trace - that's not enough info to make it a link.
It should be either absolute path (as in ESLint unix formatter mentioned above) or at least path relative to workspace folder.
For example in out project we have about 200 index.js files, and having just name of the file as string won't be enough info to open correct file.

@keyvan-m-sadeghi see https://github.com/Microsoft/vscode/issues/22772, if ava changed to it to print ./index.js:line:col instead then it would work. https://github.com/Microsoft/vscode/issues/22772 may not be able to get resolved, at least with the current design of validating the paths, as doing so would require pinging the disk basically for every single word in the terminal.


Feature: Support for Non-cached Repository Access

This adds a DummyCache that doesn't actually do any caching but just stores downloaded content into temporary storage. Furthermore it factors out exceptions into a central place and both Fetcher and Cache classes into separate files.

It looks like this PR has broken a few tests. I'll take a look and probably submit a new PR


CSS for Font Styles

Issue: "Add custom font styles to the Emojinator Streamlit app using CSS."
Description: You can use Google Fonts or any other font source to apply different font styles to the app.

@Deadshot1611  hey can you please assign this issue to me I will make my best

Hi @Deadshot1611 can you please assign me this.

@Deadshot1611 can you please please assign this to me i will make my best

can you plz assign this issue to me i will make my best

@uzefaqureshi06 Its assigned to you


NCI Cloud Migration

resolution_fixed   |    by<EMAIL_ADDRESS>
NCI need to migrate accessdev to their production cloud service

Issue migrated from trac:17 at 2024-01-31 17:09:02 +1100

<EMAIL_ADDRESS>commented

The new cloud is now available, will require some changes in puppet to get working

<EMAIL_ADDRESS>changed priority from major to blocker

<EMAIL_ADDRESS>commented

Storage migration happening 1st-4th nov?

<EMAIL_ADDRESS>commented

Reboot instance on Grizzly on the 4th if possible

<EMAIL_ADDRESS>changed owner from NCI to bje900

<EMAIL_ADDRESS>changed status from new to assigned

<EMAIL_ADDRESS>changed resolution from `` to fixed

<EMAIL_ADDRESS>changed status from assigned to closed

<EMAIL_ADDRESS>commented

Accessdev now on new cloud, grizzly.
Some issues as reported in other tickets.
This ticket can now be closed I think.
Robin

<EMAIL_ADDRESS>commented

still requires firewall access to access-svn for the ~access directory

<EMAIL_ADDRESS>removed milestone (was accessdev v1.0)

<EMAIL_ADDRESS>commented

Milestone accessdev v1.0 deleted


Add UUID path extractor

Add UUIDVar, a path extractor for java.util.UUID
I also considered adding a ValidatedUUIDVar to extract a Validated[Throwable, UUID] from paths but then realized that there is already a simple way to return BadRequest for invalid UUIDs:
HttpService[IO] match {
  case GET -> Root / "user" / UUIDVar(userId) => ...
  case GET -> Root / "user" / str => BadRequest(s"Invalid identifier '$str'")
}

I discussed this change with @ChristopherDavenport @rossabaker in gitter, tried to keep it simple :)

Binary compatibility check failed because I removed NumericPathVar. If necessary I can fix this change to avoid modifying that class.

Ha well the compatibility check still fails because I added a new class. Maybe it was inappropriate to target this for 0.18.x. @ChristopherDavenport should I target master instead?

@ChristopherDavenport Abandoning this PR, I will target master instead.


Redis missing prereq

run Install-Package Microsoft.Extensions.Caching.Redis

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

ID: 0d01025d-86b2-bb2d-86c1-ef0695bc98e3
Version Independent ID: 5b9a6572-3671-0d54-b2ef-83d04f8b3e96
Content: Work with a distributed cache in ASP.NET Core
Content Source: aspnetcore/performance/caching/distributed.md
Product: asp.net-core
GitHub Login: @ardalis
Microsoft Alias: riande

Dup of #7220

Subject matched, but the content showed different.  Sorry for lack of
clarity.
On Fri, Jun 22, 2018, 6:22 PM Rick Anderson<EMAIL_ADDRESS>wrote:

Dup of #7220 https://github.com/aspnet/Docs/issues/7220
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Docs/issues/7221#issuecomment-399608415, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AYlOsXNzTuAtsxhlj5CmZ38cknU-PNYOks5t_Xw9gaJpZM4UyzX2
.


Webnovel Guard

webnovel = WebnovelBot(timeout=360)
NOVEL = 'https://www.webnovel.com/book/book-name_123456789'
webnovel.driver.get(NOVEL)

novel_id = webnovel.novel_id

webnovel.signin(email, password)

claim_daily(webnovel, NOVEL)

Sometimes guard is required, which it looks like the library doesn't handle(I also had to do reCaptcha in this example) and will redirect to:
https://passport.webnovel.com/guard.htmlhttps://passport.webnovel.com/emaillogin.html&sessionKey=abcdef&encry=longkeywithlotsof%s&email=myemail

EDIT: And actually if I do get through the guard, I get stuck anyways
    claim_daily(webnovel, NOVEL)
  File "/home/c0rn3j/test.py", line 12, in claim_daily
    bot.claim_tasks()
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/webnovel/decorators/signin.py", line 16, in __call__
    return self.__wrapped__(self.__self__, *args, **kwargs)
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/webnovel/bot.py", line 453, in claim_tasks
    self._focus_profile()
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/webnovel/bot.py", line 507, in _focus_profile
    profile_button = self.driver.find_element_by_css_selector("div[class^='g_user'][class*='_hover']")
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 598, in find_element_by_css_selector
    return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 976, in find_element
    return self.execute(Command.FIND_ELEMENT, {
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"div[class^='g_user'][class*='_hover']"}
  (Session info: chrome=88.0.4324.182)

claim_daily is as per example, just reordered.

def claim_daily(bot, novel=None):
	# claim daily fast pass
	bot.claim_tasks()
	bot.energy_vote([1])
	bot.power_vote()

	import time
	time.sleep(5)

	if novel is not None:
		bot.driver.get(novel)

I think this is because the button changed (or A/B testing is happening?) and the profile button now has g_dropdown instead of _hover:
g_user j_header_user g_dropdown _on (_on is there since I was currently hovering it)

Next up, I always get this pop up on new login (I guess it saves the answer in cookies since it keeps pestering me) and it does not look like that one is being handled.

Looks like the confirm button is this:
<button type="submit" title="confirm" class="bt _m mw160 j_post_preference">confirm</button>
So I did the following, which seems to work -

added a new function to click away the preferences (this could be done better I suppose):

    def yeetPreferences(self):
        """
        click the preferences button
        """
        signin_btn = self.driver.find_element_by_class_name('j_post_preference') # bt _m mw160 j_post_preference
        signin_btn.click()

modified the profile function to use the new CSS and also to click instead of just hover, as that doesn't do anything anymore

    def _focus_profile(self):
        """
        moves mouse over to profile button

        :return: profile button element
        """
        profile_button = self.driver.find_element_by_css_selector("div[class^='g_user'][class*='g_dropdown']")
        ActionChains(self.driver).click(profile_button).perform()

        return profile_button

I've been working on my other projects an as a result have neglected this.
would you be doing a pull request?

(I updated my above comment while you responded)
        for claim in self.driver.find_elements_by_css_selector('.j_claim_task'):
            claim.click()

Is this code not triggering on the following page because the class contains more elements?
claim

This is my first time using Selenium and I'm not a web developer on top so I am a bit out of my depth here, I've no issue sending a PR when I get it all working

I plan to add the usage of existing browser cookies [chrome, firefox] using browser_cookies3 package, you can expect it within a few hours
This should hopefully help forgo the troubles that the login process brings
after that i will add the suggestions you have given, unless you create a pull request

I plan to add the usage of existing browser cookies [chrome, firefox] using browser_cookies3 package, you can expect it within a few hours
This should hopefully help forgo the troubles that the login process brings
after that i will add the suggestions you have given, unless you create a pull request

I sent a PR for preferences and broken profile function.
I can't seem to figure out how the daily FP claim button broke, and I didn't look into the power stone issue yet (though I am 90% certain it's due to the current URL not being checked), so if you'll have time to look into it yourself, that'd be great!

I've looked through the daily FP and power stones buttons, the selectors seem to checkout. I havent done any testing yet.

Unfortunately this is all the time i have for today. I'll test them tomorrow

The issue is with claim_tasks (daily FP) is the waiting part, it seems it does not wait til it's fully loaded.
Or at least I'm assuming that since I added 1 second sleeps between each part and it worked this time.

Alright. I'll fix these asap.

commit 06adb11002161177463f1e2dc9004a1422e368fd should fix both power stone and claim daily issue

I am unfortunately unable to trigger the guard

I had it trigger on about every second new account when I was testing.
If you give me somewhere to contact you, I can PM you a list you can run through which should trigger it.

you can send to the temp mail<EMAIL_ADDRESS>

alright. i got it

pushed commit 91d77962eb8f20095a4a483076f41bcba3179b6d to fix the guard issue
as to my understanding guard appears when the user is not found in the webnovel database.
hence I've made it throw a ValueError when guard appears
try:
    webnovel.signin(USER_EMAIL, USER_PASS)
except ValueError:
   # do something on sign in failure

Traceback (most recent call last):
  File "/home/c0rn3j/test.py", line 39, in <module>
    webnovel.signin(account, password)
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/webnovel/bot.py", line 128, in signin
    raise ValueError('user not found')
ValueError: user not found

That is indeed catching it, but wouldn't it be better to redirect to the form where the code can be entered, so user can interact and fill it in?
Currently this happens if reCAPTCHA gets triggered, the bot simply waits til timeout until captcha is filled out and login is button is pressed again.

Side note, pip install git+https://github.com/mHaisham/webnovelbot.git fails if the dependencies in requirements.txt aren't already installed (the cookie dependency in my case).

but wouldn't it be better to redirect to the form where the code can be entered, so user can interact and fill it in?

I'll add make this default and single attempt optional

Currently this happens if reCAPTCHA gets triggered

certainly something that can be handled better

fails if the dependencies in requirements.txt aren't already installed

Its a problem with browser-cookie3. i'll add a warning to README

pushed commit 9f74df755c7ab65f5013b289e5dc5798a0639572
this gives better support handling captcha and guard.
Read more on README.md

That's perfect!
There seems to be a small issue with it though
Traceback (most recent call last):
  File "/home/c0rn3j/test.py", line 39, in <module>
    webnovel.signin(account, '123456aBc')
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/webnovel/bot.py", line 137, in signin
    captcha = self.driver.find_element_by_css_selector('#google-code-html iframe')
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 598, in find_element_by_css_selector
    return self.find_element(by=By.CSS_SELECTOR, value=css_selector)
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 976, in find_element
    return self.execute(Command.FIND_ELEMENT, {
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#google-code-html iframe"}
  (Session info: chrome=88.0.4324.182)

Ah. that is so weird it doesnt raise an error for me. I'll change it to an alternative method.

fixed 57e30f390abec1b8168b27543b8bff42983e582c
As per the documentation it is indeed supposed to throw an exception... no idea why it didnt for me

Traceback (most recent call last):
  File "/home/c0rn3j/test.py", line 39, in <module>
    webnovel.signin(account, password)
  File "/home/c0rn3j/.local/lib/python3.9/site-packages/webnovel/bot.py", line 149, in signin
    raise GuardException
webnovel.exceptions.GuardException

There still seems to be an issue regarding redirection when the Guard challenge is triggered.
I get redirected to this mangled URL, which gives a 'not found' HTML page.
https://passport.webnovel.com/guard.htmlhttps://passport.webnovel.com/emaillogin.html&sessionKey=[key]&encry=[key]&email=[email]

That is the usual guard html.
Assuming manual is set to false,  this behaviors is expected. we can only check if guard is present when we are redirected to it.

That is the usual guard html.

But it looks broken? Unless the webnovel.com webserver does some really weird parsing.
https://passport.webnovel.com/guard.htmlhttps://passport.webnovel.com/emaillogin.html
                                       ^

Assuming manual is set to false

My bad, I read the changes and somehow read that manual defaults to True. It was indeed not set(False).
I set it now.
This is the kind of popup I'd expect when manual is set to True:

But instead I get this form:

Which even when filled out redirects back to the seemingly malformed URL:

Indeed. I'll take a look at it tomorrow.

fixed the guard redirect issue d63b8e0583a16f00b29fcde9d4c2d5229a681235

Do let me know if you find anything else

Now I get stuck here, no captcha or guard were present for this login.
It does actually log in, but does not redirect back to a working page aftewards.

fixed 59cf7f184d042b8fb29490f7bdfa44ca19fd27d4
Also added GuardHandler, this should help with automating interaction with Guard Page e979e323a35cbc2bb2195334ef1619df95608c59
Read more here

That works beautifully! I did not get hit by reCAPTCHA but the Guard integration is perfect.
Thanks a lot for fixing all of the problems!
I'll open a new Issue if I run into more problems as this one is cramped enough as is.


Fix: Preserve actual start value in chunk download to ensure correct chunk order

The logical error in the old code is related to the handling of the start value when fetching chunks. Specifically, the start value is not preserved correctly when pushing chunks to the chunks array. This can lead to issues with chunk ordering during parallel downloads.
Old Code Issue:
In the downloadChunks function, the start value is used to fetch a chunk, but it is not preserved when the chunk is pushed to the chunks array. This can cause the chunks to be out of order because the start value is incremented before the chunk is fetched and pushed to the array.
Fix:
To fix this, the start value should be preserved in a variable (actualStart) before it is incremented. This preserved value should then be used when pushing the chunk to the chunks array.
Pseudocode:

Define a variable actualStart to preserve the start value.
Use actualStart when pushing the chunk to the chunks array.

This has now been released as<EMAIL_ADDRESS>Thanks again!


can't make association working

hi there i'm a big RoR newbie. I try to use simple_form in a search form along with metasearch. WOrks fine until i try to add an association to my form . here is the code :
biens/index.html.erb
Listing biens
<%= simple_form_for @search do |f| %>
<%= f.input :titre_contains, :label => "Titre", :required => false  %>
<%= f.input :prix_gte, :label => "Prix entre", :required => false %>
<%= f.input :prix_lte, :label => "et", :required => false %>
<%= f.association :category %>
<%= f.button :submit, "lancer la recherche" %>
<% end %>
<%= render 'index' %>
<%= link_to 'New Bien', new_bien_path %>
model bien.rb
class Bien < ActiveRecord::Base
belongs_to :category
belongs_to :operation
validates :prix, :presence => true
validates :num, :uniqueness => true, :presence => true
validates :titre, :presence => true
end
model category.rb
class Category < ActiveRecord::Base
has_many :biens
validates_presence_of :nom
end
biens_controller.rb
class BiensController < ApplicationController
def index
@search = Bien.search(params[:search])
@biens = @search.all

respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @biens }
end

end
So really a beginner stuff. I try a lot of things toi make it works like :

using :categories instead of :category
add  :collection => Category.all()

Anyway it says the same :
Started GET "/biens" for <IP_ADDRESS> at 2011-10-17 22:21:23 +0200
Processing by BiensController#index as HTML
Bien Load (0.0ms)  SELECT "biens".* FROM "biens"
Category Load (0.0ms)  SELECT "categories".* FROM "categories"
Rendered biens/index.html.erb within layouts/application (1117.2ms)
Completed 500 Internal Server Error in 1374ms
ActionView::Template::Error (Association :category not found):
4:   <%= f.input :titre_contains, :label => "Titre", :required => false  %>
5:   <%= f.input :prix_gte, :label => "Prix entre", :required => false %>
6:   <%= f.input :prix_lte, :label => "et", :required => false %>
7:   <%= f.association :category, :collection => Category.all(), :label => 'Type de bien :' %>
8:   <%= f.button :submit, "lancer la recherche" %>
9: <% end %>
10:
app/views/biens/index.html.erb:7:in block in _app_views_biens_index_html_erb___396600003_29987700'   app/views/biens/index.html.erb:3:in _app_views_biens_index_html_erb___396600003_29987700'
app/controllers/biens_controller.rb:9:in `index'
Rendered C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb (2.0ms)
Rendered C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.0ms)
Rendered C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (7.8ms)
Thanks if you have time for this.

Could you send the code of new action?

You're using the form with a metasearch object, @search. This guy is not
an instance of your Bien model, which means it does not know anything
about the relations it has.
You should create a input giving the :collection => Category.all option
instead of using the association.
On Mon, Oct 17, 2011 at 6:33 PM, Philippe MICHEL <
<EMAIL_ADDRESS>
hi there i'm a big RoR newbie. I try to use simple_form in a search form
along with metasearch. WOrks fine until i try to add an association to my
form . here is the code :
biens/index.html.erb
Listing biens
<%= simple_form_for @search do |f| %>
<%= f.input :titre_contains, :label => "Titre", :required => false  %>
<%= f.input :prix_gte, :label => "Prix entre", :required => false %>
<%= f.input :prix_lte, :label => "et", :required => false %>
<%= f.association :category %>
<%= f.button :submit, "lancer la recherche" %>
<% end %>
<%= render 'index' %>
<%= link_to 'New Bien', new_bien_path %>
model bien.rb
class Bien < ActiveRecord::Base
belongs_to :category
belongs_to :operation
validates :prix, :presence => true
validates :num, :uniqueness => true, :presence => true
validates :titre, :presence => true
end
model category.rb
class Category < ActiveRecord::Base
has_many :biens
validates_presence_of :nom
end
biens_controller.rb
class BiensController < ApplicationController
def index
@search = Bien.search(params[:search])
@biens = @search.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @biens }
end
end
So really a beginner stuff. I try a lot of things toi make it works like :

using :categories instead of :category
add  :collection => Category.all()

Anyway it says the same :
Started GET "/biens" for <IP_ADDRESS> at 2011-10-17 22:21:23 +0200
Processing by BiensController#index as HTML
Bien Load (0.0ms)  SELECT "biens".* FROM "biens"
Category Load (0.0ms)  SELECT "categories".* FROM "categories"
Rendered biens/index.html.erb within layouts/application (1117.2ms)
Completed 500 Internal Server Error in 1374ms
ActionView::Template::Error (Association :category not found):
4:   <%= f.input :titre_contains, :label => "Titre", :required => false
%>
5:   <%= f.input :prix_gte, :label => "Prix entre", :required => false
%>
6:   <%= f.input :prix_lte, :label => "et", :required => false %>
7:   <%= f.association :category, :collection => Category.all(), :label
=> 'Type de bien :' %>
8:   <%= f.button :submit, "lancer la recherche" %>
9: <% end %>
10:
app/views/biens/index.html.erb:7:in block in _app_views_biens_index_html_erb___396600003_29987700'  app/views/biens/index.html.erb:3:in _app_views_biens_index_html_erb___396600003_29987700'
app/controllers/biens_controller.rb:9:in `index'
Rendered
C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb
(2.0ms)
Rendered
C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb
(1.0ms)
Rendered
C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/template_error.erb
within rescues/layout (7.8ms)
Thanks if you have time for this.
--
Reply to this email directly or view it on GitHub:
https://github.com/plataformatec/simple_form/issues/349

--
At.
Carlos Antonio

Hi Rafael,
Thanks for answering so quick !
Here's the code for the new action in my bien_controller.rb, is that what you want ?
def new
@bien = Bien.new
respond_to do |format|
  format.html # new.html.erb
  format.json { render json: @bien }
end

end

Yeap! Change your form code to
<%= simple_form_for @bien do |f| %>

and it should work now

Hi carlos
I also tried this with this before posting ( i realised it doesn't know @search befor posting)
<%= f.association :category, :collection => Category.all() %>
it says :
Started GET "/biens" for <IP_ADDRESS> at 2011-10-17 22:54:41 +0200
Processing by BiensController#index as HTML
Bien Load (0.0ms)  SELECT "biens".* FROM "biens"
Category Load (0.0ms)  SELECT "categories".* FROM "categories"
Rendered biens/index.html.erb within layouts/application (74.2ms)
Completed 500 Internal Server Error in 85ms
ActionView::Template::Error (Association :category not found):
4:   <%= f.input :titre_contains, :label => "Titre", :required => false  %>
5:   <%= f.input :prix_gte, :label => "Prix entre", :required => false %>
6:   <%= f.input :prix_lte, :label => "et", :required => false %>
7:   <%= f.association :category, :collection => Category.all() %>
8:   <%= f.button :submit, "lancer la recherche" %>
9: <% end %>
10:

ok here's the trick
<%= f.input :category_id_equals, :collection => Category.all, :label => 'type de bien' %>
Thanks to both of you

Hey Philippe, exactly that =).
You cannot use the association helper if you're not handling an ActiveRecord
object.
On Mon, Oct 17, 2011 at 7:08 PM, Philippe MICHEL <
<EMAIL_ADDRESS>
ok here's the trick
<%= f.input :category_id_equals, :collection => Category.all, :label =>
'type de bien' %>
Thanks to both of you
--
Reply to this email directly or view it on GitHub:
https://github.com/plataformatec/simple_form/issues/349#issuecomment-2434830

--
At.
Carlos Antonio


cranelift: Port bitselect over to ISLE on x64

This is causing a test failure, as we are generating some unnecessary movdqas now. Haven't had time to look into why this is happening, but I figured I would put this WIP PR up for posterity, along with info on the failing test and unnecessary moves.
CLIF:
function %bitselect_i16x8() -> i16x8 {
block0:
    v0 = vconst.i16x8 [0 0 0 0 0 0 0 0]
    v1 = vconst.i16x8 [0 0 0 0 0 0 0 0]
    v2 = vconst.i16x8 [0 0 0 0 0 0 0 0]
    v3 = bitselect v0, v1, v2
    return v3
}

Before:
VCode_ShowWithRRU {{
  Entry block: 0
Block 0:
  (original IR block: block0)
  (instruction range: 0 .. 11)
  Inst 0:   pushq   %rbp
  Inst 1:   movq    %rsp, %rbp
  Inst 2:   load_const VCodeConstant(0), %xmm0
  Inst 3:   load_const VCodeConstant(0), %xmm1
  Inst 4:   load_const VCodeConstant(0), %xmm2
  Inst 5:   pand    %xmm0, %xmm1
  Inst 6:   pandn   %xmm2, %xmm0
  Inst 7:   por     %xmm1, %xmm0
  Inst 8:   movq    %rbp, %rsp
  Inst 9:   popq    %rbp
  Inst 10:   ret
}}

After:
VCode_ShowWithRRU {{
  Entry block: 0
Block 0:
  (original IR block: block0)
  (instruction range: 0 .. 13)
  Inst 0:   pushq   %rbp
  Inst 1:   movq    %rsp, %rbp
  Inst 2:   load_const VCodeConstant(0), %xmm0
  Inst 3:   load_const VCodeConstant(0), %xmm3
  Inst 4:   load_const VCodeConstant(0), %xmm1
  Inst 5:   movdqa  %xmm0, %xmm2
  Inst 6:   pand    %xmm3, %xmm2
  Inst 7:   pandn   %xmm1, %xmm0
  Inst 8:   por     %xmm0, %xmm2
  Inst 9:   movdqa  %xmm2, %xmm0
  Inst 10:   movq    %rbp, %rsp
  Inst 11:   popq    %rbp
  Inst 12:   ret
}}

we are generating some unnecessary movdqas now

It looks like the initial movdqa is being inserted by move mitosis, but that the regalloc isn't coalescing and eliding the move:
 TRACE cranelift_codegen::isa::x64::inst       > mov_mitosis(pand    %v1V, %v5V)
 TRACE cranelift_codegen::isa::x64::inst       >   -> movdqa  %v0V, %v5V
 TRACE cranelift_codegen::isa::x64::inst       >   -> pand    %v1V, %v5V

@cfallin any idea why regalloc might not be able to coalesce/elide this move? (See OP for full code)

It looks like regalloc correctly determines that these virtual registers (v0V and v5V) are in the same e-class / are connected by moves (and therefore could be coalesced?) but isn't actually coalescing them:
 TRACE cranelift_codegen::machinst::compile    > vcode from lowering:
VCode_ShowWithRRU {{
  Entry block: 0
Block 0:
  (original IR block: block0)
  (instruction range: 0 .. 12)
  Inst 0:   movdqa  %xmm0, %v0V
  Inst 1:   movdqa  %xmm1, %v1V
  Inst 2:   movdqa  %xmm2, %v2V
  Inst 3:   movdqa  %v0V, %v5V
  Inst 4:   pand    %v1V, %v5V
  Inst 5:   movdqa  %v0V, %v6V
  Inst 6:   pandn   %v2V, %v6V
  Inst 7:   movdqa  %v5V, %v3V
  Inst 8:   por     %v6V, %v3V
  Inst 9:   movdqa  %v3V, %v4V
  Inst 10:   movdqa  %v4V, %xmm0
  Inst 11:   ret
}}

...

 TRACE regalloc::bt_coalescing_analysis        >
 TRACE regalloc::bt_coalescing_analysis        > do_coalescing_analysis: begin
 TRACE regalloc::bt_coalescing_analysis        > connected by moves: i0 v0V <- r0V (est_freq 1)
 TRACE regalloc::bt_coalescing_analysis        > connected by moves: i1 v1V <- r1V (est_freq 1)
 TRACE regalloc::bt_coalescing_analysis        > connected by moves: i2 v2V <- r2V (est_freq 1)
 TRACE regalloc::bt_coalescing_analysis        > connected by moves: i3 v5V <- v0V (est_freq 1)
 TRACE regalloc::bt_coalescing_analysis        > connected by moves: i5 v6V <- v0V (est_freq 1)
 TRACE regalloc::bt_coalescing_analysis        > reduce cost of vr0 and vr6
 TRACE regalloc::bt_coalescing_analysis        > connected by moves: i7 v3V <- v5V (est_freq 1)
 TRACE regalloc::bt_coalescing_analysis        > reduce cost of vr5 and vr3
 TRACE regalloc::bt_coalescing_analysis        > connected by moves: i9 v4V <- v3V (est_freq 1)
 TRACE regalloc::bt_coalescing_analysis        > reduce cost of vr3 and vr4
 TRACE regalloc::bt_coalescing_analysis        > connected by moves: i10 r0V <- v4V (est_freq 1)
 TRACE regalloc::bt_coalescing_analysis        > Revised VLRs:
 TRACE regalloc::bt_coalescing_analysis        > vr0   (VR: v0V, sz=6, tc=2, sc=0.333, [(RF: i0.d-i5.u)])
 TRACE regalloc::bt_coalescing_analysis        > vr1   (VR: v1V, sz=4, tc=2, sc=0.500, [(RF: i1.d-i4.u)])
 TRACE regalloc::bt_coalescing_analysis        > vr2   (VR: v2V, sz=5, tc=2, sc=0.400, [(RF: i2.d-i6.u)])
 TRACE regalloc::bt_coalescing_analysis        > vr3   (VR: v3V, sz=3, tc=2, sc=0.667, [(RF: i7.d-i9.u)])
 TRACE regalloc::bt_coalescing_analysis        > vr4   (VR: v4V, sz=2, tc=1, sc=0.500, [(RF: i9.d-i10.u)])
 TRACE regalloc::bt_coalescing_analysis        > vr5   (VR: v5V, sz=5, tc=3, sc=0.600, [(RF: i3.d-i7.u)])
 TRACE regalloc::bt_coalescing_analysis        > vr6   (VR: v6V, sz=4, tc=3, sc=0.750, [(RF: i5.d-i8.u)])
 TRACE regalloc::bt_coalescing_analysis        > Coalescing hints:
 TRACE regalloc::bt_coalescing_analysis        >   hintsfor vr0 = (Exactly %xmm0, weight=1) (SameAs vr6, weight=1)
 TRACE regalloc::bt_coalescing_analysis        >   hintsfor vr1 = (Exactly %xmm1, weight=1)
 TRACE regalloc::bt_coalescing_analysis        >   hintsfor vr2 = (Exactly %xmm2, weight=1)
 TRACE regalloc::bt_coalescing_analysis        >   hintsfor vr3 = (SameAs vr5, weight=1) (SameAs vr4, weight=1)
 TRACE regalloc::bt_coalescing_analysis        >   hintsfor vr4 = (SameAs vr3, weight=1) (Exactly %xmm0, weight=1)
 TRACE regalloc::bt_coalescing_analysis        >   hintsfor vr5 = (SameAs vr3, weight=1)
 TRACE regalloc::bt_coalescing_analysis        >   hintsfor vr6 = (SameAs vr0, weight=1)
 TRACE regalloc::bt_coalescing_analysis        >   eclassof vr0 = [vr6, vr0]
 TRACE regalloc::bt_coalescing_analysis        >   eclassof vr1 = [vr1]
 TRACE regalloc::bt_coalescing_analysis        >   eclassof vr2 = [vr2]
 TRACE regalloc::bt_coalescing_analysis        >   eclassof vr3 = [vr4, vr5, vr3]
 TRACE regalloc::bt_coalescing_analysis        >   eclassof vr4 = [vr4, vr5, vr3]
 TRACE regalloc::bt_coalescing_analysis        >   eclassof vr5 = [vr4, vr5, vr3]
 TRACE regalloc::bt_coalescing_analysis        >   eclassof vr6 = [vr6, vr0]
 TRACE regalloc::bt_coalescing_analysis        >   vv_boundary_move at i5
 TRACE regalloc::bt_coalescing_analysis        >   vv_boundary_move at i7
 TRACE regalloc::bt_coalescing_analysis        >   vv_boundary_move at i9
 TRACE regalloc::bt_coalescing_analysis        > do_coalescing_analysis: end
 TRACE regalloc::bt_coalescing_analysis        >

Hmm, interesting. My understanding is that regalloc.rs computes equivalence classes to use in a strictly heuristic way during allocation (of virtual-reg ranges to registers, and then separately to spillslots). former (mainly in this file) traverses equivalence classes looking for register hints (move to/from fixed reg), and to avoid some evictions. But two vregs existing in the same eclass does not guarantee that the move between them will be elided; in fact, one can construct inputs where there is not possible, as liveranges in an eclass can overlap. Elements in an eclass are joined by an "equivalence" that's kind of misnamed, I guess: it just means that at one point, one of the vregs was assigned to the other. Consider e.g. a loop where two vregs are swapped every iteration (loop(x, y): br loop(y, x)). So in this case, for whatever reason, the spill weights and processing order mean that the two sides of the move get allocated to different registers, and then that's it; the heuristics weren't quite good enough.
Zooming out a bit, I would expect that once in a while, we get perturbations like this as ISLE's SSA lowering works just a bit differently. As long as we don't see regressions overall, I think this is fine to accept.

Swapped the operands to the two commutative instructions (which I noticed was the only difference between the pre-regalloc vcode on main vs this branch) and the moves went away.
Yay :grimacing:

Zooming out a bit, I would expect that once in a while, we get perturbations like this as ISLE's SSA lowering works just a bit differently. As long as we don't see regressions overall, I think this is fine to accept.

But yeah, agreed on this point :+1:


Error getting metadata for smart contract globalfinancing

Hi,
I ran this today and I received an error when I tried to instantiate the contract. The error message is "Error getting metadata for smart contract globalfinancing, please ensure this smart contract is depending on at least<EMAIL_ADDRESS>See screenshot below for details.

@andrewyuau I just went successfully through the pattern and application, and made updates here: https://github.com/IBM/global-financing-blockchain/commit/1cb31cc72392c5669bc81f3357bf078b44392429 including updating the contract libraries to "1.4.0-beta2"
Could you try and see if this corrects your issue?  You should see a notification for successfully instantiated smart contract

Thank you for the updates, I now see the notification for a successful instantiation, although I still see the same error message. The web app is working fine.


Feature: Swap dicebear user icons to Shapes

The Jdenticon Dicebear style was deprecated on Dec 25, 2021 and then removed on Jan 10, 2023. As a result, user profiles on Holodex have been broken for ages.
From currently available HTTP-API styles, the ones that are sufficiently abstract and neutral are:

Identicon
Rings
Shapes
Thumbs

From this shortlist Identicons are a low-res version of Jdenticons, and Thumbs are a bit too samey across different seeds. Rings works decently well as every usage of Dicebear on Holodex is inside a circular frame, but I've opted for Shapes in this PR as they are rather colorful and vary decently between seeds.

LGTM


Updated .gitignore

Updated .gitignore

Added cmake-build-debug folder
Added .idea folder

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@petroakzhygitov Can you please sign the CLA so we can approve the merge? Thanks!

@petroakzhygitov Can you please sign the CLA so we can approve the merge? Thanks!

Unfortunately I can't! The CLA doesn't work for me for some reason. For neither of my PRs. I tried it several times during the day but had no luck. Any suggestions how to fix this?

@petroakzhygitov Can you please sign the CLA so we can approve the merge? Thanks!

Unfortunately I can't! The CLA doesn't work for me for some reason. For neither of my PRs. I tried it several times during the day but had no luck. Any suggestions how to fix this?

Your commits come from both @petroakzhygitov and @pakzhygitov - both of those (I'm assuming yours) GitHub handles need to sign it.


Tsk 5228

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

project discontinued


Add feature to upload Docker images to AWS [WIP]

New command for MLCube has been added:
mlcube upload

The idea of this command is to allow users to upload the docker image specified inside the mlcube.yaml file to different registries, at the moment, this PR contains the logic to upload images to ECR (service from AWS).
This command expects to have the following AWS credentials as environment variables:

AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION

Another way to provide the credentials is providing an aws_credentials.json file containing the credentials with the following structure:
{
        "access_key_id": "XXXXXXXXXX",
        "secret_access_key": "XXXXXXXXXX",
        "region": "XXXXXXXXXX"
}

Note: this file must be located in the same folder of the mlcube.yaml
How to test this feature?
Install the latest version of the Docker runner:
virtualenv -p python3 env && source ./env/bin/activate

git clone https://github.com/mlcommons/mlcube && cd ./mlcube

git fetch origin pull/244/head:feature/upload_image_to_aws

git checkout feature/upload_image_to_aws

pip install semver spython && pip install ./mlcube

pip install --no-deps --force-reinstall ./runners/mlcube_docker

Then configure the AWS credentials, after that run:
mlcube upload

You can do this with an open source tool called skopeo.  e.g.
aws ecr create-repository --repository-name '{{ NEW REPO NAME }} ' && skopeo copy --format=v2s2 containers-storage:localhost/{{ my-podman-created-image}}:{{ image-tag}} docker://{{ AWS ACCOUNT }}.dkr.ecr.{{ AWS REGION }}.amazonaws.com/{{ NEW REPO NAME }} --dest-creds AWS:$(aws ecr get-login-password --output text)


New to programming, trying to get neumorphism working in android studio.

Hey there, I'm new to android studio and programming in general, and I decided to make a basic app. I decided I wanted to make the UI neumorphic, so I found this library. I got the dependencies in Gradle without a hitch, but I have no clue how to start the UI. Do I put something in a fragment XML file? do I replace something? I tried putting the example in an XML fragment file, but I got an error message "Cannnot resolve class soup.neumorphism.NeumorphCardView". How do I start making the UI, and can I edit in the visual editor, or can I only use XML? Sorry for the trouble lol

I can't reproduce this issue.
If you can reproduce it, please share your sample project.


Unit tests for console.AskAsync, console.ConfirmAsync

Unit tests for console.AskAsync, console.ConfirmAsync
Reordering of some code for better self-documentation

Hello @tmds, I had a few spare cycles today and knocked up the attached unit test coverage for your https://github.com/spectreconsole/spectre.console/pull/1194
Could you peer review this PR, and either:

Merge, push to the PR branch
Make changes, then 1.
Tell me if you don't agree/don't like this, and we can have a discussion

We should take the mindset of peers collaborating, not you trying to appease me.  So speak openly, and we'll get to a point of both being in agreement the PR is good to merge.
I hope that makes sense.

Thanks for helping me complete the PR, @FrankRay78!


Explore converting Preact to Lit

Try using Lit to get closer to native web components.
https://docs.astro.build/en/guides/integrations-guide/lit/
https://lit.dev/

Trying native web components for now.


Ordering wagtailsearchpromotions results can't reorder past a deleted item

With the fix from #2623 applied:

From Settings -> Promoted search results -> Add New Promoted Result, insert three recommended pages with descriptions filled in
delete the middle one
click the 'up' arrow on the last item. It does not move.

Fixed in #3405


test test partitioned hash table

Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.54 seconds
load time: 448 seconds
storage size:<PHONE_NUMBER>0 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221124142445_clickbench_pr_52350.html


IDbObjects needs to either die or become async all the way

Move as much as possible of this to Weasel.

Done in a local branch.


Publishing model change

Currently, the application is a "monolith" where all the data the pathway content and the user data are stored in the same database, and the "API" calls are all internal. The application also directly queries the database, parses the PHP templates, and serves the site content on every page load. Very "old school" lol.
In order to support a publishing model that has multiple layers of review and approval before publishing, we are going to split the application into an authoring side and a "published" static HTML site that has no direct editing ability. Curators will author pathways in a restricted environment. When the pathway is ready, a "publish" mechanism will export the pathway content (using the current template UI) into a set of static HTML files served by a different pod. Subsequent edits to content of the pathway will require re-export, which will bump the version number and update the correct HTML files.
The user data (pathway follows and activity launches) will live in a new key value store. Updates to come

[ ] Pathway export to static HTML
[ ] Research which key/value store to use for user data
[ ] User data API created
[ ] Deployment workflow updates

Mostly none of this came to fruition; instead, publishing entails exporting to status json and then prompting the "target system" (production) to import that.


Initial utility classes for absolute positioning

Feature request: utility class -initial for absolute positioning
top-0
top-auto
top-initial
etc...

What would top-initial apply in this case?
Because the CSS spec defines that the initial value of a position coordinate is auto
https://drafts.csswg.org/css-position-3/#insets
If you just want to set top to its initial value, top-auto does the trick.

Yep top-auto does what you need 👍


Decimal field gets overwritten by big decimal number

The number in xlsx is 1803,60

What type is the underlying model field?
Have you declared this field in your resource?  If so, what widget type have you used (if any)?
The value is definitely 1803,60 ? (I get decimal.ConversionSyntax when trying to import this value)

I tried importing an XLSX field (Book "price" ) with a value of 1803.60 (I set the format to '0.00').  On, import the screen implies that the trailing '0' will be lost on import which seems incorrect, because the value has not changed:

mode field: raw_requirement = models.DecimalField(         verbose_name="Rohbedarf", max_digits=8, decimal_places=2, blank=True, null=True     )
resource field: raw_requirement = fields.Field(column_name="Rohbedarf", attribute="raw_requirement")
actual value in xlsx file: 1803,60 (cell formated as number)
version of django / django-import-export: 4.0.2 / 2.8.0

Can you confirm that when it is imported to the db the value is correct? (you have decimal_places set to 2)?

Yes the value from the xlsx file gets saved correctly to the db. Apparently it is only wrong while importing.


encrypting passwords

I dun't know if superputty save passwords in plaintext or not, but is there a possibility to add a textbox that we can use to add the password for SSH sessions instead of having to type -pw password and in options allow/disallow showing passwords, or showing them as ********8 instead of plain text?
thanks

It's preferable to use Peagent to login by keys. There is no any plain text in such login type.


Eliminate segfault on server HTTP error

Also prints an HTTP error message in some cases. ~Note that because injection order is nondeterministic, when the server is down you will see one of 3 error messages when server unavailable.~
EDIT: Fixed a bug in psyringe that was allowing constructors to be called despite one of there dependencies failing. This has the result that we now get stable error messages including the HTTP status code returned from the server. See https://github.com/samsalisbury/psyringe/commit/afa419dfe20cdfb9c1ed69eb5ea6e400f32954ec

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

  Generated by :no_entry_sign: Danger

Codecov Report

Merging #478 into master will decrease coverage by 0.02%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master     #478      +/-   ##
==========================================
- Coverage   68.55%   68.53%   -0.03%
==========================================
  Files         181      181
  Lines       10076    10082       +6
==========================================
+ Hits         6908     6910       +2
- Misses       2643     2645       +2
- Partials      525      527       +2

Impacted Files
Coverage Δ

graph/graph.go
91.02% <0%> (-1.23%)
:arrow_down:

graph/targetmanifest.go
84.72% <60%> (-2.43%)
:arrow_down:

util/restful/putbackjson.go
61.11% <0%> (+2.77%)
:arrow_up:

Continue to review full report at Codecov.

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


Example of using react testing library in the plugin

In https://github.com/headlamp-k8s/headlamp/pull/795#issuecomment-1562617301
We thought it would be nice to give an example test using the popular rtl as well.

We have one of these since a while.


No exception gets thrown on responses with status code >= 400

Guzzle version(s) affected: 7.5.3
PHP version: PHP 8.0.30
cURL version: 7.74.0
Description
After adding a CurlHandler + handler stack to my Guzzlehttp\Client instance it no longers throws exceptions for error responses.
How to reproduce
The client I'm using:
$stack = new HandlerStack();
$stack->setHandler(new CurlHandler());

$stack->push(Middleware::mapRequest(function(RequestInterface $request) {
    // custom internal logging logic here

    return $request;
}));

$stack->push(Middleware::mapResponse(function(ResponseInterface $response) {
    // custom internal logging logic here

    $response->getBody()->rewind();

    return $response;
}));

$this->httpClient = new Client(['handler' => $stack]);

The request:
$response = $this->httpClient->request('GET', $endpoint, [
    'query' => [
        'page' => $page,
        'limit' => $limit,
    ],
    'headers' => [
        'Authorization' => "Bearer $token"
    ],
]);

No exception get's thrown when $response->getStatusCode() >= 400..

This is happening because you're using a custom stack and not pushing our https errors middleware. Usually, it would get added by the stack create method: https://github.com/guzzle/guzzle/blob/7.8/src/HandlerStack.php#L50. ;)


htpasswd auth causing 401 Unauthorized

I am using Traefik loadbalancer to automatically generate letsencrypt ssl certificate. Check out compose file for loadbalancer setup.
version: "3.2"

services:
 traefik:
   container_name: traefik
   restart: unless-stopped
   image: traefik:1.5.4
   ports:
     - "80:80"
     - "443:443"
     - "8080:8080"
   volumes:
     - "/var/run/docker.sock:/var/run/docker.sock"
     - "/mnt/traefik:/etc/traefik/"
   command: traefik --docker --docker.domain=docker.localhost --logLevel=INFO --docker.watch --acme --acme.onhostrule --acme.httpchallenge.entrypoint=http --acme.storage=/etc/traefik/acme/acme.json<EMAIL_ADDRESS>--acme.entryPoint=https --entryPoints='Name:http Address::80 Redirect.EntryPoint:https' --entryPoints='Name:https Address::443 TLS' --defaultentrypoints=http,https
   #command: traefik --web --docker --docker.domain=docker.localhost --loglevel=INFO
   networks:
     - gateway

 certdumper:
   container_name: traefik_certdumper
   image: mazdermind/traefik-certificate-extractor
   depends_on:
     - traefik
   restart: unless-stopped
   volumes:
     - /mnt/traefik/acme/acme.json:/var/acmejson/acme.json
     - /mnt/traefik/acme/certs:/var/acmejson/certs

networks:
 gateway:
   driver: bridge

certdumper is used to dump pem certificates into  /mnt/traefik/acme/certs from autogenerated certificates stored in acme.json by Traefik.
Now I will be running docker_registry service on external network traefik_gateway which is monitored by traefik service. Now with labels on the container we can configure to use the load balancer. Check out compose file.
version: "3.2"
services:
  docker_registry:
    container_name: du-docker-registry
    image: registry:2.6.2
    restart: unless-stopped
    environment:
      - REGISTRY_AUTH=htpasswd
      - REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm
      - REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd
      # - REGISTRY_HTTP_TLS_CERTIFICATE=/certs/fullchain
      # - REGISTRY_HTTP_TLS_KEY=/certs/privkey
      # - REGISTRY_HTTP_SECRET=xxx
    volumes:
      # - "/mnt/traefik/acme/certs/docker.skoolyapp.com:/certs"
      - "/mnt/du/docker-registry/data:/var/lib/registry"
      - "/mnt/du/docker-registry/auth:/auth"

    labels:
      - "traefik.enable=true"
      - "traefik.port=5000"
      - "traefik.frontend.rule=Host:registry.domain1.com,registry.domain2.com"
      - "traefik.acme.domains=registry.domain1.com,registry.domain2.com"
      # - "traefik.frontend.passTLSCert=true"
      # - "traefik.frontend.passHostHeader=true"
      # - "traefik.frontend.customResponseHeaders=Docker-Distribution-Api-Version:registry/2.0"

    networks:
      - traefik_gateway

networks:
  traefik_gateway:
    external: true

With setup I am getting the following error when I try to login in.
Error response from daemon: login attempt to https://registry.domain2.com/v2/ failed with status: 401 Unauthorized

Feel free to ask for more info, or point out flaw in the setup.
Thx

/auth/htpasswd <- can you confirm that this file exists inside the container and that the registry has access to it?
Also, the registry logs, ran in debug mode, would be helpful.

I wanted to comment in here, because this seemed like a similar issue I had. It turns out I had generated my user and password using htpasswd on macOS. It defaults to using MD5 algorithm. I added the -B flag to force bcrypt for new htpasswd file entries and it worked. This may be your problem? The documentation illustrates passing -B in the example in the docs, so I figured.

it worked for me too, thanks @farvour

I wanted to comment in here, because this seemed like a similar issue I had. It turns out I had generated my user and password using htpasswd on macOS. It defaults to using MD5 algorithm. I added the -B flag to force bcrypt for new htpasswd file entries and it worked. This may be your problem? The documentation illustrates passing -B in the example in the docs, so I figured.

You even need to do this when using the shell in the docker registry image itself. Thanks, it really helped me out.


progress bars addition

added progress bars at each step of the pipeline

@Sheena309 Looking good. For the record, this is the output:


Fix "Doit" in Legacy Mode

Also fix Legacy Connection when the first App opened does not have any assets.
Change-Id: I47df823f8a67b95fe3338277e31cf47564f58968

Fixes #2695 and #2697


Add community repo

The community repo is a recent development for packages which will be available by default but without extended support.
I've chosen to implement it as default, with a switch to turn it off on grounds that in the future all useful versions will have a community repo and won't complain about it.
This supersedes #87 mainly because it would otherwise have a bunch of merge conflict.

So, is your thinking that once it is enabled as default in Alpine (maybe in 3.3?), that version options file would not specify -E and the others keep it?

yes. the reason for the -E options is because if we add the community path to the repos for older versions, apk complains every time we update the cache. this is not a problem once the stable version repos have a community repo.

I guess I was more wondering, why -E to disable it. Why not -E to enable it and then just leave the existing options files alone?

the community repo is expected to be enabled by default in future versions, so eventually the -E will be dead code.
... also I couldn't think of an appropriate option letter.

specifically, I don't believe alpine-builder has any current end-user consumers so the change shouldn't break anything. adding the option to disable is a bit of negligible up-front breakage to avoid a bit of future interface change.


[Flake] macOS: bazel failed to fetch all external deps

https://source.cloud.google.com/results/invocations/0e7dc7ea-55ea-4453-afb9-b0499bb87732/targets/cloud-cpp%2Fgithub%2Fgoogle-cloud-cpp%2Fmaster%2Fmacos%2Fbazel/log
2021-03-29T23:51:04Z
Example:
2021-03-29T23:53:04Z: Fetch bazel dependencies [2/3].
Loading: 0 packages loaded
INFO: Repository local_config_cc instantiated at:
  no stack (--record_rule_instantiation_callstack not enabled)
Repository rule cc_autoconf defined at:
  /Volumes/BuildData/tmpfs/tmp/bazel/external/bazel_tools/tools/cpp/cc_configure.bzl:143:30: in <toplevel>
Loading: 0 packages loaded
ERROR: An error occurred during the fetch of repository 'local_config_cc':
   Traceback (most recent call last):
	File "/Volumes/BuildData/tmpfs/tmp/bazel/external/bazel_tools/tools/cpp/cc_configure.bzl", line 123, column 32, in cc_autoconf_impl
		configure_osx_toolchain(repository_ctx, overriden_tools)
	File "/Volumes/BuildData/tmpfs/tmp/bazel/external/bazel_tools/tools/cpp/osx_cc_configure.bzl", line 138, column 17, in configure_osx_toolchain
		fail("wrapped_clang failed to generate. Please file an issue at " +
Error in fail: wrapped_clang failed to generate. Please file an issue at https://github.com/bazelbuild/bazel/issues with the following:
return code 256, stderr: Timed out, stdout:
ERROR: /Volumes/BuildData/tmpfs/tmp/bazel/external/bazel_tools/tools/cpp/BUILD:93:6: no such package '@local_config_cc//': wrapped_clang failed to generate. Please file an issue at https://github.com/bazelbuild/bazel/issues with the following:
return code 256, stderr: Timed out, stdout:  and referenced by '@bazel_tools//tools/cpp:toolchain'
ERROR: /Volumes/BuildData/tmpfs/tmp/bazel/external/bazel_tools/tools/cpp/BUILD:93:6: no such package '@local_config_cc//': wrapped_clang failed to generate. Please file an issue at https://github.com/bazelbuild/bazel/issues with the following:
return code 256, stderr: Timed out, stdout:  and referenced by '@bazel_tools//tools/cpp:toolchain'
ERROR: Evaluation of query "deps((... union @local_config_platform//... union @local_config_cc_toolchains//... union @local_config_sh//... union @go_sdk//... union @remotejdk11_macos//:jdk))" failed: errors were encountered while computing transitive closure
Loading: 0 packages loaded
Loading: 0 packages loaded
2021-03-29T23:54:27Z: bazel fetch failed with 2

This seems similar (maybe a dup) of #5836


MODBULKOPS-161 - Karate Test: Bulk edit User records - tests using expiration date in the past

Purpose
Describe the purpose of the pull request.
MODBULKOPS-161 - Karate Test: Bulk edit User records - tests using expiration date in the past
Approach
How does this change fulfill the purpose?
TODOS and Open Questions

[x] Use GitHub checklists. When solved, check the box and explain the answer.

Learning
Describe the research stage. Add links to blog posts, patterns, libraries or addons used to solve this problem.


Flag unintended field over field overrides

There are concerns about the usability of field over field overrides. It seems too easy to accidentally hide fields and in most cases field over field overrides are unintended.
Three options have been discussed:

Make it a static error or a warning to override a field with a field.
Introduce a lint rule that flags all field over field overrides.
Use existing overridden_fields lint rule to flag field over field overrides that are not marked with @override.

CC: @vsmenon @leafpetersen @floitschG

Sounds like #28117

Where do folks stand on this?  cc @munificent @floitschG @lrhn @eernstg

It's not an error, but I'm agnostic to lints since I never use them.
As long as they are completely optional, I don't care which lints people use for their own projects.

Sounds like #28117, #28601, #28589, #28119.

There's certainly an overlap, but those issues are about allowing field overrides, e.g., setter-overrides-field (say, to perform some validation on the values assigned to that field), or getter-overrides-field (say, to log usages), etc. Even though field-overrides-field is a case which is difficult to justify (it's very likely to be a mistake which just creates some confusion and wastes some space), it is not singled out in the work done for those issues, and in particular it's not an error nor a warning.
I think we should keep a rather tight budget on making any notion of "stupid code" an error, it's much better to take a softer approach like a lint on that type of situation. The problem is that (1) there is no end to the number of situations we could cover if we start squeezing stupid code out of the language per se, and (2) some times we will get it wrong and outlaw some really useful corner cases.
As far as I can see, the overridden_fields lint, does actually check for field-overrides-field, but its documentation is sufficiently vague to allow several other interpretations: the description is a plain 'Do not override fields', and the reader can't really generalize from the examples.
So I think the existing lint is a good solution, but it needs to have better documentation.

Sorry, I wasn't clear enough.  Lints have nothing to do with the language team, other than as evidence of demand for features that we have chosen not to provide (e.g. @override).
The question is whether or not we want to make field/field overrides a language level error (as they are in swift, for example).  The argument for doing so is that it's a performance and correctness trap, and is essentially never what the user intended.
It sounds like @eernstg and @lrhn are against adding this as a language error.  Anyone else have thoughts?

Indeed.
There should be no difference between a getter and a final field. If there is a difference, then you can't refactor between them, and the entire idea of getters is to allow you to back and forth without worry.

I agree with @lhrn, and for the stated reasons. That being said, I think we have clearly set a usability trap for our users since we see that they do seem to override fields with fields even though it virtually never does what they want.
I believe that's because the syntax for declaring an "abstract field" is painfully long and redundant. A better syntax for that, or properties in general, might help a lot.

Better syntax would be great.
If you could just write:
int get set x;

to extend your abstract getter int get x; with a same-typed abstract setter, then it would be almost as short as int x; and won't allocate storage.
Or we could move to a C#-like syntax like int x { get; set; }. That's longer, but you can write the non-abstract version with less repetition:
int _num;
String str {
  get => "$_num";
  set => numx = int.parse(_);  // Using implicit argument for the => function!
}

Or we could move to a C#-like syntax like int x { get; set; }.

I didn't get enough time to polish it off, but I started working on a proposal in this direction. It gets complex when you consider all of the different flavors of "property" a user might want to define, but I think there's something promising there. Not having to repeat the name and type between the getter and setter would be fantastic.

We could of course add something like int x { get; set; } in order to make pairs of declarations a more concise (that's not much, though) and a more connected (which I think would be good for code comprehension, and which would be enforced as opposed to putting the getter and the setter right next to each other as a convention).
However, we can also go pretty far using the current syntactic style. Lasse already mentioned the abbreviation ..get set... On top of that, the repeated type would go away in many cases if we add one more kind of signature inference: set foo(x).. infers the argument type T if there is an accessible getter named foo returning T (it could declared in the same scope or in a supertype, with an explicit declaration or induced by a variable declaration).

Ok, so it seems like there is no consensus for moving forward on this.  Closing as not planned.


docs(tutorial): part 4

Should be ready to go. Needs a sanity check.

Where did googlebot get the crazy idea that anyone other than John and Me had something to do with this?

We found a Contributor License Agreement for you (the sender of this pull request) and all commit authors, but as best as we can tell these commits were authored by someone else

All it says is that you're sending a PR with commits that aren't crafted by you. :)

Looks like this commit introduces changes in other parts of the tutorial as well

LGTM otherwise

Yes, it touches pt3 (which can now refer to pt4) and updates the final tutorial code with the simplifications I found in pt4


Update .gitignore

Add .bin (fractured, cached weights for multi chip demos) and .png files to .gitignore file.

We use *.png in docs/ - is this for models?
@arakhmati

You're right. Maybe we don't need .png in outside of docs. I had some files after running tracy. But I think the .bin files within the models/demos dataset cache should definitely be in the .gitignore

Yep .bin is good
Please delete .png and we will approve

Are we still doing this?


Printer Redirection Questions

If xrdp is built using FreeRDP library support, then is it possible to redirect printers with xrdp?  If not, will this capability be available in future releases?  Has anyone tried to double redirect a printer? That is, log into a RDP session with a redirected printer, then log into another session with the first redirected printer to see if it in fact can be carried through and used end to end?
Thnxs

The only option is to use cups to connect to a network printer. If your on a remote desktop internet printing protocol will work too. Other than that .. nope

The last comment on this was in 2016...  so I thought I'd ask if there has been any progress on this.
As I use Guacamole with rdp connections to connect to ubuntu linux machines running xrdp I too am interested in any update on this topic as Guacamole has the ability to take a print job, convert it to PDF then transfer the PDF to the user's local machine/browser so it can be printed locally.
is printer redirection for xrdp in any future plans?
thanks
brian


[WIP] Refactor wall module & refactor archiver

Trying to refactor things to make it a bit more extensible and detect when it's completed processing.

Hoping to get this in tomorrow

This should be working now, but probably needs a bit more thought put into it. I'm not sure if the individual modules are the right place to put the attrs class definitions.

I've pretty high confidence that this is working now but I'm going to try and do a bit more refactoring and testing.


Compel Library: Prompt Re-weighting

Prompt re-weighting is a favorable feature for T2I models. I found Compel library because of this article at the diffuser website, and I think it would be great to migrate it from PyTorch to MindSpore.
The current commits can support prompt re-weighting with a pre-defined syntax for SDv1.5 and SDv2.0(2.1). For examples, please refer to examples/compel/readme.md.
However, these commits edit examples/stable_diffusion_v2/ldm/modules/encoders/modules.py and examples/stable_diffusion_v2/ldm/modules/encoders/text_encoder.py in order to support causal_attention_mask and attention_mask simultaneously. I have verified that before and after the commits, the generated images of the SD model are the same using the same random noise. However, these edits may introduce some risks of API mismatch errors in other colleagues' projects, which need to be carefully verified.

if possble, use class inheritance and method overloading to handle this text embedding extraction, since this method is not universal, adding more and more arguments will make the algo. hard to read :S

if possble, use class inheritance to handle this text embedding extraction, since this method is not universal, adding more and more arguments will make the orignal implementation harder to read :S

It seems the most risky changes are within the text_encoder.py. I will see if I can move these changes in to compel directory without touching examples/stable_diffusion_v2/ldm/modules/encoders/text_encoder.py.

Good feature!
Rather than examples, it's more reasonable to put it in mindone/models/compel

What about moving compel to mindone/tools? I don't think compel is a generative model, like sd or ldm. It's more a like to tool to manipulate the text embedding.

What about moving compel to mindone/tools? I don't think compel is a generative model, like sd or ldm. It's more a like to tool to manipulate the text embedding.

The models in mindone/models can be vae, lora, clip, t5, whare are basic models used to build generative models (referring to diffusers). From this view, it's ok to put it there


Better "solution" for #721

It's unanimously encouraged to completely ignore CommandError.UnknownCommand while in this instance that does not necessarily apply. It doesn't really make a lot of sense to reuse the same enum anyway.

This is not a good solution: overloads are stored as commands, so it makes no sense to return a different result. Additionally, this encourages bad behaviour as the result returned does not necessarily suggest that the overload was unknown. Something that would actually be a "better solution" would be to wait for #689.


[SP-5818] Backport of PDI-18576 - executeTrans REST API do not return…

… error response is inconsistent when transformation errors out (8.3 Suite)
@bcostahitachivantara @smmribeiro @pentaho-lmartins
cherry pick of 4d1e3d8 (original PR: #7782)

:white_check_mark: Build finished in 33m 43s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:ok_hand: All tests passed!
Tests run: 3644, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message


Document maturity levels in sandbox

/remove-lifecycle stale
Is anyone looking at or using this repo?


What are the steps to setup the 2 sms webhooks?

Hi! I went through parts 1 and 2 of your tutorial and I am missing a point.
I installed the app, configured and deployed to heroku no problem. However, when I try to "accept/reject" the reservation, the code sends me in the 'reservations#connect_guest_to_host_sms' action.
This seems logical, since I created the Twilio app with this webhook as instructed in the readme: SMS & MMS: http://[your server].com/reservations/connect_sms

So... I wonder what needs to be configured so that different incoming sms go to different webhooks? The first sms needing to go to the  'reservations#accept_or_reject' action...
# exerpt from routes.rb
post "reservations/incoming", to: 'reservations#accept_or_reject', as: 'incoming'
post "reservations/connect_sms", to: 'reservations#connect_guest_to_host_sms'

Thanks for helping me out understanding how this part works! :)

I'm referring to this step of the tutorial:
https://www.twilio.com/docs/tutorials/walkthrough/workflow-automation/ruby/rails#12
Let's take a closer look at the accept_or_reject controller. This controller handles our incoming Twilio request
Ok, fine, but why is this controller handling the Twilio request? :) Thanks!

If someone gets here with the same question:
In the "Numbers" section of Twilio's admin panel, you need to point your messaging url for the used number to the 'incoming' route instead of telling the number to use your Twiml App which seemed more intuitive to me in the 1st place.
I guess that if I didn't start with this particuliar tutorial it would have been a no brainer, but if you start with twilio this could be precised in the first steps of the tutorial


Regenerate spanner client

This PR was generated using Autosynth. :rainbow:
Log from Synthtool
synthtool > Executing /tmpfs/src/git/autosynth/working_repo/google-cloud-clients/google-cloud-spanner/synth.py.
synthtool > Ensuring dependencies.
synthtool > Pulling artman image.
latest: Pulling from googleapis/artman
Digest: sha256:545c758c76c3f779037aa259023ec3d1ef2d57d2c8cd00a222cb187d63ceac5e
Status: Image is up to date for googleapis/artman:latest
synthtool > Cloning googleapis.
synthtool > Running generator for google/spanner/artman_spanner.yaml.
synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/java.
synthtool > Running generator for google/spanner/admin/database/artman_spanner_admin_database.yaml.
synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/java.
synthtool > Running generator for google/spanner/admin/instance/artman_spanner_admin_instance.yaml.
synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/java.
synthtool > Running java formatter on 190 files
synthtool > Running java formatter on 1 files
synthtool > Running java formatter on 80 files
synthtool > Running java formatter on 1 files
synthtool > Running java formatter on 25 files
synthtool > Running java formatter on 1 files
synthtool > Running java formatter on 32 files
synthtool > Cleaned up 0 temporary directories.
synthtool > Wrote metadata to synth.metadata.

Closing because we want to regenerated the code to pickup:

the fix to artman that stops it from adding spurious package prefixes
the proto field name change made to endpoint_urls


Create SourceSetProvider that extends NamedDomainObjectProvider to provide task & configuration name methods

NamedDomainObjectProvider<SourceSet> should be replaced everywhere with a new SourceSetProvider extends NamedDomainObjectProvider<SourceSet>, which should add all the SourceSet#get*[Task|Configuration]Name(…) methods.
This will allow builds to lazily register SourceSets, yet still use these methods to safely & extensibly generate associated Task and Configuration names for lazy wiring.

This isn't how we see this evolving.
Instead of SourceSetProvider gathering the properties from SourceSet, we'd rather make this work at the container level.  IOW, instead of fat-Provider objects, the containers would have a way to realize/find elements from a Provider when necessary.
e.g., maybe a new method to add an element via a Provider that's a transformation of a Provider of another type:
NamedDomainObjectProvider<SourceSet> customSourceSet = sourceSets.register("customSourceSet")
configurations.newMethodForComposing(customSourceSet.flatMap { sourceSet ->
    configurations.createWithoutAdding(sourceSet.getCompileClasspathConfigurationName())
})
// wire other things

or, in reaction to new source sets:
sourceSets.whenObjectRealized { sourceSet ->
    configurations.create(sourceSet.getCompileClasspathConfigurationName())
    // other things
}

Or something higher level that ties source sets, tasks and configurations when the higher level thing is created.
At the moment, it's not particularly useful to use register/lazy configuration with other types of containers because inevitably, something is going to iterate over the collection and realize everything.

@big-guy Thanks for the info.  A somewhat related question, if you cam help.
I noticed that, in a project using the java plugin, all SourceSets are eagerly created, even if I used register.
This occurs because when the JavaPlugin is applied, pluginConvention.getSourceSets().all(…) is called (see https://github.com/gradle/gradle/blob/7a0c5fcfe06b62bdcaaf5e8c724cd128f2da2366/subprojects/plugins/src/main/java/org/gradle/api/plugins/JavaPlugin.java#L304).
Is that intentional? Or should all be changed to configureEach?

At the moment, only the TaskContainer should be used with register/configureEach. The issue is mainly centred around the restrictiveness of the lazy method on the containers. With configureEach, you aren't allowed to create additional element inside the container, as such. Most code outside the TaskContainer depends on some of the restricted behaviours so they can't be simply swapped. Once we implement the missing APIs to link containers together in a lazy way, we should be able to move forward with using configureEach everywhere.

@lacasseio Thanks for the info.


Installer boot: CSM support enabled getting black screen/CSM disabled results in garbled graphics

Hi, thanks for sharing your efforts here. I followed your recipe thoroughly assuming making macOS installer inside the Virtual Box macOS VM.
Unfortunately lack of success with booting the installer:

Enabled CSM support in BIOS - this results in hanging completely with black screen (lights on) right after choosing to boot from the USB installer stick
Disabled CSM support in BIOS (mentioned here: https://github.com/jsassu20/Lenovo-T450-Catalina-OpenCore) - this gives me console mode boot but then when entering graphics the screen is totally garbled.

Any suggestions would be much appreciated.
Platform:
System Manufacturer	LENOVO
System Model	20BWA04FPB
System Type	x64-based PC
System SKU	LENOVO_MT_20BW_BU_Think_FM_ThinkPad T450s
Processor	Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz, 2594 Mhz, 2 Core(s), 4 Logical Processor(s)
BIOS Version/Date	LENOVO JBET73WW (1.37 ), 14/08/2019
SMBIOS Version	2.7
Embedded Controller Version	1.04
BIOS Mode	UEFI
BaseBoard Manufacturer	LENOVO
BaseBoard Product	20BWA04FPB
BaseBoard Version	SDK0E50510 WIN
Installed Physical Memory (RAM)	12.0 GB
Total Physical Memory	11.9 GB
Name	Intel(R) HD Graphics 5500
Adapter Type	Intel(R) HD Graphics Family, Intel Corporation compatible

Follow the guide i linked in my post. CSM support should be enabled. Preferably you should reset bios to default settings and change the settings as recommend.
You are probably getting a black screen because the installer is not correctly made.
Recheck your usb drive

Follow the guide i linked in my post. CSM support should be enabled. Preferably you should reset bios to default settings and change the settings as recommend.
You are probably getting a black screen because the installer is not correctly made.
Recheck your usb drive

Hi, Thanks for the feedback. I gave it one more chance and must again confirm that with CSM Enabled the installer doesn't start at all.
However, with CSM Disabled and connected to an external monitor (and boot screen in BIOS set to VGA) I was able to get proper graphics on my laptop LCD screen - totally weird!
I was able to install Big Sur 11.1 successfully. However I found other issues which I would put into other issues here.

Hi, Thanks for the feedback. I gave it one more chance and must again confirm that with CSM Enabled the installer doesn't start at all.
However, with CSM Disabled and connected to an external monitor (and boot screen in BIOS set to VGA) I was able to get proper graphics on my laptop LCD screen - totally weird!
I was able to install Big Sur 11.1 successfully. However I found other issues which I would put into other issues here.

Another ridiculous tip: close and reopen laptop lid. No need to connect to external monitor.

Another ridiculous tip: close and reopen laptop lid. No need to connect to external monitor.