GET /v2/routes?q=organization_guid:<> returns 500 (Database error)

Issue
GET /v2/routes?q=organization_guid:<> returns 500 under certain circumstances. Underlying error is a bad SQL statement (PG::AmbiguousColumn).
We observe around 60% 200 and 40% 500 responses on a test landscape.
Context
cf-deployment 1.36.0
capi-release 1.58.0
Steps to Reproduce
cf curl '/v2/routes?q=organization_guid:a80e5ea1-fdf5-4d58-9131-3f311af57300&results-per-page=100'
Not yet clear how to reproduce as not all calls fail.
Expected result
Route list and status code 200.
Current result
Status code 500
{
"description": "Database error",
"error_code": "CF-DatabaseError",
"code": 10011
}
{"timestamp":1527597735.2560728,"message":"exception not translated: Sequel::DatabaseError - PG::AmbiguousColumn: ERROR:  column reference "guid" is ambiguous
LINE 1: ...tions"."id" = "spaces"."organization_id") WHERE (("guid" IN ...
                                                             ^:
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:166:in `async_exec'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:166:in `block in execute_query'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/database/logging.rb:49:in `log_connection_yield'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:166:in `execute_query'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:153:in `block in execute'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:129:in `check_disconnect_errors'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:153:in `execute'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:515:in `_execute'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:327:in `block (2 levels) in execute'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:537:in `check_database_errors'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:327:in `block in execute'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/database/connecting.rb:301:in `block in synchronize'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/connection_pool/threaded.rb:107:in `hold'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/database/connecting.rb:301:in `synchronize'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:327:in `execute'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/dataset/actions.rb:1135:in `execute'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/adapters/postgres.rb:680:in `fetch_rows'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/dataset/actions.rb:989:in `with_sql_each'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/dataset/actions.rb:997:in `with_sql_first'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/dataset/actions.rb:1005:in `with_sql_single_value'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/dataset/actions.rb:774:in `single_value!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/dataset/actions.rb:111:in `count'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sequel-4.49.0/lib/sequel/extensions/pagination.rb:43:in `paginate'
/var/vcap/data/packages/cloud_controller_ng/f71341cbdef726697d29f761a8b46863485b28ff/cloud_controller_ng/lib/cloud_controller/rest_controller/paginated_collection_renderer.rb:57:in `render_json'
/var/vcap/data/packages/cloud_controller_ng/f71341cbdef726697d29f761a8b46863485b28ff/cloud_controller_ng/app/controllers/base/model_controller.rb:101:in `enumerate'
/var/vcap/data/packages/cloud_controller_ng/f71341cbdef726697d29f761a8b46863485b28ff/cloud_controller_ng/app/controllers/base/base_controller.rb:86:in `dispatch'
/var/vcap/data/packages/cloud_controller_ng/f71341cbdef726697d29f761a8b46863485b28ff/cloud_controller_ng/lib/cloud_controller/rest_controller/routes.rb:16:in `block in define_route'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1610:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1610:in `block in compile!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `block (3 levels) in route!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:994:in `route_eval'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:975:in `block (2 levels) in route!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1015:in `block in process_route'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in `catch'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1013:in `process_route'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:973:in `block in route!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in `each'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:972:in `route!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1085:in `block in dispatch!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `block in invoke'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `catch'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `invoke'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1082:in `dispatch!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in `block in call!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `block in invoke'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `catch'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:1067:in `invoke'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:907:in `call!'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:895:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-protection-1.5.5/lib/rack/protection/xss_header.rb:18:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-protection-1.5.5/lib/rack/protection/path_traversal.rb:16:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-protection-1.5.5/lib/rack/protection/json_csrf.rb:18:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-protection-1.5.5/lib/rack/protection/base.rb:49:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-protection-1.5.5/lib/rack/protection/base.rb:49:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-protection-1.5.5/lib/rack/protection/frame_options.rb:31:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-1.6.9/lib/rack/nulllogger.rb:9:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-1.6.9/lib/rack/head.rb:13:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:182:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/sinatra-1.4.8/lib/sinatra/base.rb:2013:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-1.6.9/lib/rack/urlmap.rb:66:in `block in call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-1.6.9/lib/rack/urlmap.rb:50:in `each'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-1.6.9/lib/rack/urlmap.rb:50:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/middleware/rate_limiter.rb:43:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/middleware/request_logs.rb:22:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/middleware/security_context_setter.rb:19:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/middleware/vcap_request_id.rb:15:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/middleware/cors.rb:49:in `call_app'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/middleware/cors.rb:14:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/middleware/request_metrics.rb:12:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/rack-1.6.9/lib/rack/builder.rb:153:in `call'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/thin-1.7.0/lib/thin/connection.rb:86:in `block in pre_process'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/thin-1.7.0/lib/thin/connection.rb:84:in `catch'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/thin-1.7.0/lib/thin/connection.rb:84:in `pre_process'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/thin-1.7.0/lib/thin/connection.rb:50:in `block in process'
/var/vcap/packages/cloud_controller_ng/cloud_controller_ng/vendor/bundle/ruby/2.4.0/gems/eventmachine-<IP_ADDRESS>/lib/eventmachine.rb:1067:in `block in spawn_threadpool'","log_level":"warn","source":"cc.api","data":{"request_guid":"ed7461eb-ae01-4042-62d8-2ca3b84ff061::14a5fbb0-7408-419a-a6b4-64a438369242"},"thread_id":47413879359660,"fiber_id":47413879488080,"process_id":22161,"file":"/var/vcap/data/packages/cloud_controller_ng/f71341cbdef726697d29f761a8b46863485b28ff/cloud_controller_ng/app/controllers/base/base_controller.rb","lineno":317,"method":"translate_and_log_exception"}

SQL query was:
SELECT count(*) AS "count" FROM "routes" LEFT JOIN "spaces" ON ("spaces"."id" = "routes"."space_id") LEFT JOIN "organizations" ON ("organizations"."id" = "spaces"."organization_id") WHERE (("guid" IN ('d6c987b5-13cd-4562-88d5-856531e1700b')) AND ("organizations"."guid" IN ('a80e5ea1-fdf5-4d58-9131-3f311af57300'))) LIMIT 1

"guid" IN ('d6c987b5-13cd-4562-88d5-856531e1700b') seems to stand for route list.
If the same call succeeds (which happens but it is unclear if the content of the org has changed meanwhile), it returns:
$ cf curl '/v2/routes?q=organization_guid:a80e5ea1-fdf5-4d58-9131-3f311af57300&results-per-page=100'
{
   "total_results": 1,
   "total_pages": 1,
   "prev_url": null,
   "next_url": null,
   "resources": [
      {
         "metadata": {
            "guid": "d6c987b5-13cd-4562-88d5-856531e1700b",
            "url": "/v2/routes/d6c987b5-13cd-4562-88d5-856531e1700b",
            "created_at": "2018-05-27T07:57:11Z",
            "updated_at": "2018-05-27T07:57:11Z"
         },
         "entity": {
            "host": "myapplicationaa",
            "path": "",
            "domain_guid": "30b8fd61-2327-4f15-9940-2274f1760db4",
            "space_guid": "bbd79ecf-ab92-4ca8-a6ed-0645db87782a",
            "service_instance_guid": null,
            "port": null,
            "domain_url": "/v2/shared_domains/30b8fd61-2327-4f15-9940-2274f1760db4",
            "space_url": "/v2/spaces/bbd79ecf-ab92-4ca8-a6ed-0645db87782a",
            "apps_url": "/v2/routes/d6c987b5-13cd-4562-88d5-856531e1700b/apps",
            "route_mappings_url": "/v2/routes/d6c987b5-13cd-4562-88d5-856531e1700b/route_mappings"
         }
      }
   ]
}

Possible Fix
n/a

https://github.com/cloudfoundry/cloud_controller_ng/commit/5984648e58c2e7b346460803f9abe7ba328a6e1c fixed this bug.
We worked around it by cherry-picking this commit, building a capi-release 1.58.1 patch release and consuming this via ops file on top of cf-deployment 1.36.0.
I wonder why nobody else detected this problem. Maybe cf cli doesn't use this CC api call or only in rare use cases.

Fix is included in https://github.com/cloudfoundry/capi-release/releases/tag/1.59.0 = https://github.com/cloudfoundry/cloud_controller_ng/commits/6e070d7f7faccd3b997249212b4d22e45ab204fb
(and then in https://github.com/cloudfoundry/cf-deployment/releases/tag/v1.38.0)

glad this is fixed for you.
we had it tracked via this bug as well https://www.pivotaltracker.com/story/show/157822597


There is a frontend bug in the stopping response generation scenario

Describe the bug
There is a frontend bug in the stopping response generation scenario. Meaning that, stopping answer generation would be resulted in this bug. This occurs in the following two scenarios:

The conversation title is already created
The conversation title is not created

To Reproduce

The conversation title is already created

send a prompt
the app is in waiting for answer generation
the stop button is activated
click on stop button to stop getting answer
history/update returns 500
the error Error "An error occurred. Answers can't be saved at this time. If the problem persists, please contact the site administrator." is displayed in the answer section
send another prompt
the prompt is not visible (the screenshot is attached)

The conversation title is not created:

send the first prompt of the conversation
the app is in waiting for answer generation
the stop button is activated
click on stop button to stop getting answer
send another prompt
the prompt is changed to the second one.

Expected behavior
Choosing stop generation button should not resulted in error display and the next prompt should displayed in order.
Screenshots
For scenario one the screenshot is as:

Screen Record For second Scenario:
Configuration: Please provide the following

Azure OpenAI model name and version: gpt-4, version 2024-02-15-preview
Is chat history enabled? Yes
Are you using data? If so, what data source? (e.g. Azure AI Search, Azure CosmosDB Mongo vCore, etc) No

Additional context
There is also another bug in attached video that i think the rootcauses are as the same so I did not mention it.

it seems that the screen record is too big to be updated here.

Hi everyone, is there any update on this issue? Thank you!


Store taffy node keys in components

Objective
Store the taffy node keys in a component on the UI node entities instead of using the FlexSurface::entity_to_taffy map  to look them up.
Solution
Add new components TaffyNode and TaffyParent.
Manage and update them in flex_node_system, query for TaffyNode and TaffyParent instead of querying for Entity and Parent and then looking up the taffy node key in FlexSurface::entity_to_taffy.

Changelog

Added new components TaffyNode and TaffyParent
Added insert_node method to FlexSurface
Added make_measure function to flex module.
flex_node_system stores taffy nodes keys in the "TaffyNode" and "TaffyParent" components instead of looking them up using the entity_to_taffy map.

cargo run --profile stress-test --example many_buttons --features trace_tracy -- no-text

Is it possible to remove the entity_to_taffy hashmap? Otherwise it would mean storing the same information twice

Is it possible to remove the entity_to_taffy hashmap? Otherwise it would mean storing the same information twice

I don't think so, it's needed for handling children and removing orphaned taffy nodes.

Is it possible to remove the entity_to_taffy hashmap? Otherwise it would mean storing the same information twice

I don't think so, it's needed for handling children and removing orphaned taffy nodes. Maybe if Taffy could be made to store the layout data directly in the Bevy UI entities instead of using SlotMap.

https://github.com/DioxusLabs/taffy/pull/326 (or more likely, parts of this PR split out into their own PRs) will allow this. It's supposed to be possible with the current version of the LayoutTree trait, but in practice the current version has things like SlotMap keys in the trait function signatures which make it impractical.
With that approach all Taffy data (input styles, parent-children relationships, and and output layouts) would be stored by Bevy (however it chose to do so). Care would need to be taken to ensure performance parity though, as Taffy's SlotMaps are backed by Vecs and are therefore very fast to access. Not sure if it's possible to get Vec backed storage in bevy_ecs that only applies to UI nodes?

Although to this specific issue there might be a simpler solution. My understanding is that a Taffy component typically is a HashMap, so a Query of a component containing the Taffy node key ought to function the same as a HashMap containing the mapping I think.

Is it possible to remove the entity_to_taffy hashmap? Otherwise it would mean storing the same information twice

I don't think so, it's needed for handling children and removing orphaned taffy nodes. Maybe if Taffy could be made to store the layout data directly in the Bevy UI entities instead of using SlotMap.

DioxusLabs/taffy#326 (or more likely, parts of this PR split out into their own PRs) will allow this. It's supposed to be possible with the current version of the LayoutTree trait, but in practice the current version has things like SlotMap keys in the trait function signatures which make it impractical.
With that approach all Taffy data (input styles, parent-children relationships, and and output layouts) would be stored by Bevy (however it chose to do so). Care would need to be taken to ensure performance parity though, as Taffy's SlotMaps are backed by Vecs and are therefore very fast to access. Not sure if it's possible to get Vec backed storage in bevy_ecs that only applies to UI nodes?

I tried to get a version working with generic keys but got lots of ICE errors, so I hacked together a very niave implementation with World implementing LayoutTree etc and it was horribly slow and unusable.

Worked on this quite a bit more, made a lot of changes:

Removed any need for caching parent keys.
Renamed Node to NodeSize.
TaffyKey is renamed to Node and should be the primary component that all UI systems query for.
TaffyKey (now Node) is included in the UI node bundles instead of being added by the UI systems. The key is initially set to null and then assigned a permanent taffy key in the insert_new_ui_nodes system.
flex_node_system is split up into multiple systems. Might be too granular now and some of them could be consolidated.
The UI schedule can be run without needing a window or rendering.
Added a couple of simple tests adding and removing nodes and styles.

Improved the implementation and reduced it down to just the minimum necessary changes without any extra systems. Should be ready to merge, but I'll make some new tests for UiSurface.

It's increasing performances at the cost of memory. Not sure it's worth it in this case...

I do like the idea of breaking this out from a centralized hashmap (and perf wins are good), but having multiple sources of truth that need syncing gives me some pause. I'll need to give this some thought, which sadly will need to wait until 0.12.


Fans still spinning at low rpms after achiving Level 0

Hi. Every 5-30 changes between Level 1 -> Level 0 fans are still spining, they should be turned off. UI shows 0rpm on both fans, but I can still hear them. Changing  mode from Smart to Bios and than to Smart resolve the issue.
My current Smart mode levels:
Level=64 0
Level=65 1
Level=72 2
Level=76 3
Level=80 64
My laptop: Lenovo P52
Bios version 1.51
Windows 11
TPFanCtrl2 version V2.1.5
Edit: But sometimes there is over 0rpm in UI and the log shows that Level 0 was triggered but nothing happened

Hmm I honestly don't know why that might be happening. From the picture it seems like the fan is slowly wining down from level 1 to level 0, and it takes a very long time to do that, maybe increasing the temp level would help? Also maybe try decreasing the cycle time so it refreshes more.

Hi. I've tried various configurations of Mode levels (increasing, decreasing temps)  but it doesn't work. Also it may not apply only to this particular change from  level 1 to level 0 but to all levels (what is harder to notice refering to more dynamics in temps and high fan rpms).
I think the problem may refer to:

bad readings of current rpm status
command is not applied and stuck on the previous level

The speeds on the picture refer to that set on the manual level 1, so they doesn't spinning down but are stuck on the lowest spinning level 1. My Cycle temperature check is already lowered from 5 to 1 second.
Thank you for response.

Hi, I think that it is unlikely to be bad reading of current rpm, but it is very likely that the write command to EC conflicts in other operations to the EC and therefore is not applied. There was a problem where the program was unable to read before, and the solution I added was to spam the command many times in hope that one of them goes through (see this commit for read and this one for write). I could try to do more of that, but it will increase the load on the CPU.
Also, when the issue happens, does setting speed to 0 make the fan eventually go to level 0 after a long time or is there no change? Is there any error messages after a long time of waiting?

Ok, thank you @Shuzhengz for contribution, but I cannot achieve the desired outcome. Tried a few versions of TPFanControl but with no success. I modified one of them and now it seems to be working as expected for me.
This version of TPFanControl-dual-fan based on @nikolasgd should work on Thinkpads P52 and probably other Thinkpad dual fan models. It completely resolves the problem with the fan/fans persist spinning after achieving Level 0. My approach was to check if the fan Level is 0 and temperature is decreasing, if yes than update EC with fan Level 0.


feat(djoser/):added PEP-8 formatting

Thanks, but it's not so useful...

@haxoza in my view the PEP8 formatting makes the code neat and readable in the first place. Not that it was not readable earlier but it's kind a like a benchmark.


Create plugin to compress ATS reports

Recently we've noticed that JSON reports with labels - the one format accepted by ATS -
are simply too big. It is likely that we are experiencing Out Of Memory errors when
trying to process them.
To put it in perspective, below is a comparison between reports with no labels and
with labels for the worker repo full test suite.
  918951 bytes (897Kb) May 15 19:45 coverage.xml # this is the regular coverage with no labels
26607438 bytes (25Mb)  May 15 19:48 label.coverage.json # this is all labels, stock

To avoid processing issues and save bandwidth and all that we will be compressing these reports.
The compression idea is simple: we build a mapping label --> int that will substitute the label itself
in the report (usually large-ish strings) for a number in the "contexts" of each file.
We then include the reverse mapping in the report (int --> label) so that we can easily parse
the compressed report when processing it.
This is done via the new compress_pycoverage_contexts plugin that can be used when uploading
with the CLI. Notice that the process is transparent for the user.

I forgot to mention it in the PR opening comment, but the results are promissing.
Check below a comparison between the mentioned reports and the new compressed one.
We can see it's even slightly smaller than the XML one (with no labels)
897K May 15 19:45 coverage.xml
801K May 16 11:25 label.coverage.codecov.json # compressed report
 25M May 15 19:48 label.coverage.json


grunt server says address is already in use

When I run grunt server it seems to start the application twice and fails because the port is already in use:
$ grunt server
[...]
✖ 7 problems (0 errors, 7 warnings)

Running "develop:server" (develop) task

[grunt-develop] > started application "app.js".
[grunt-develop] > started application "app.js".
[grunt-develop] > Open Source Universal Remote UI + API has started on port 3000 (http).

[grunt-develop] > Open Source Universal Remote UI + API has started on port 3000 (http).

[grunt-develop] > events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE :::3000
    at Object.exports._errnoException (util.js:1026:11)
    at exports._exceptionWithHostPort (util.js:1049:20)
    at Server._listen2 (net.js:1253:14)
    at listen (net.js:1289:10)
    at Server.listen (net.js:1385:5)
    at EventEmitter.listen (/home/mike/devel/lirc_web/node_modules/express/lib/application.js:617:24)
    at Object.<anonymous> (/home/mike/devel/lirc_web/app.js:212:7)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.runMain (module.js:590:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3
>> application exited with code 1

Running "watch" task
Waiting...

Done, without errors.

I just installed grunt-cli (1.2.0) and grunt-init (0.3.2).

This project, grunt-cli, is only responsible for providing a command line interface to run Grunt. The server task is provided likely by 3rd party plugin/s. I recommend trying stackoverflow or the issue tracker for the plugin that is starting the server instead as I'm not familiar with them.

Oh I posted this on the wrong repository. Sorry.


Malformed PASV response: TYPE is now 8-bit binary

I'm using NuGet 16.5.0 and when I try to connect with FTPS to Godaddy shared hosting, this is the exception I get:

Malformed PASV response: TYPE is now 8-bit binary

this is my connection setup:
client.Host = deployment.ftp_details.host_name;
client.Port = deployment.ftp_details.port_number;
client.EncryptionMode = FtpEncryptionMode.Explicit;
client.SslProtocols = System.Security.Authentication.SslProtocols.Tls;
client.ValidateCertificate += new FtpSslValidation(cl_ValidateCertificate);
client.Credentials = new NetworkCredential(deployment.ftp_details.user_name, deployment.ftp_details.password);
client.DataConnectionType = FtpDataConnectionType.PASV;

And this happens when I do a recursive directory UploadFiles.
Also, it seems that WinSCP connects correctly, but one thing to mention is that Godaddy sets the ftps port to 21 like the regular ftp. I have fully disabled Windows Firewall.
update: this seems to happen on one other host, not related to Godaddy.

Why are you using passive? Does active not work for you?

I'm trying to setup server to server ftp connection. So I'm still not sure which route is the best.
If I enable active mode, I'll have to open a lot of ports right?

Remove this line for automatic detection:

client.DataConnectionType = FtpDataConnectionType.PASV;

Can you try the latest nuget release and report if it still happens?
https://www.nuget.org/packages/FluentFTP/17.0.0

Closing this since no response received from OP.


influxdb2-server: 2.1.1 -> 2.4.0

influxdb2-cli: 2.3.0 -> 2.4.0
Description of changes
Update to latest upstream release. Release notes don't suggest any breaking changes or required manual upgrade steps: https://docs.influxdata.com/influxdb/v2.4/reference/release-notes/influxdb/
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 191753 1

3 packages built:

influxdb2
influxdb2-cli
influxdb2-server

CI failure is spurious, evaluator ran out of disk space.

Removed Valentin from reviewer list, I think he got added because of a mistaken docs change. The change doesn't have doc changes any more.

@ofborg test influxdb cadvisor prometheus-exporters.influxdb
Could do with some of these in passthru.tests

Otherwise, nixpkgs-review happy, macos 10.15 & nixos x86_64


new task: auto-tag products with incoming inventory

Development notes:

The paginated query loop on inventory level change is for handling the maximum of 100 variants in conjunction with 100 locations (i.e. inventory levels). Technically, the Shopify location limit is 20 for PLUS shops, unless they specifically request more. I have seen 100 in the wild.

 https://mechanic.canny.io/task-requests/p/auto-tag-incoming-products


Change deeper dimensions (ddims) in an Image

Hi all,
is it possible to change deeper dimensions ('x' and 'y') in an Image instance ? I would like e.g. to change the default "-0.5 to 0.5", and the names, but I can't figure how from the tutorial and examples. I tried to change it using opts :
%%opts Image.A [aspect=4, fig_size=100, ddims=[Dimension('x', range=(0,1), type=float), Dimension('y', range=(0,1), type=float), Dimension('z', range=(0,1), type=float)]]

but I get a ValueError : 'ddims' is not a parameter of RasterPlot279474 ; however it seems to me that it is present in class holoviews.element.raster.Image not as a parameter, though...
Could someone help me?
Thanks!

I think there is some misunderstanding here. There's two fundamental ways to declare something about your plot, first of all you declare the actual data and metadata on the object itself. In the case of an Image you pass it the 2D array and the bounds and optionally specify the key dimensions (kdims) and value dimensions (vdims), which determine the axis labels and ranges. Then there is the options system, which allows you to declare stylistic choices about your plots, this includes things like aspects, figure sizes, colormaps etc. that is done via the options magic as you have shown above.
The deep dimensions (ddims) are only present HoloViews container types like HoloMaps, Overlays, GridSpaces and so on and are not settable. They simply return the dimensions of any objects contained within them.
To declare the dimensions and range of an Image  you do the following:
hv.Image(np.random.rand(10,10), bounds=(-0.5, -0.5, 0.5, 0.5), kdims=[hv.Dimension('x'), 'y'])

The bounds is specified as a tuple of the (left, bottom, right, top) edges of the Image and kdims (and vdims) should be specified as lists of Dimension objects or strings.

If you have any more questions join us on Gitter. I'll close the issue now since it's not a problem in HoloViews.

Ok thanks a lot for your help ! Indeed, no need to change ddims, changing bounds and kdims is enough.


Confused about the current version of Log Alerts API

In Upgrade to the current Azure Monitor Log Alerts API - Azure Monitor page, PowerShell cmdlets support is listed as one of the benefits.

However, the linked page says PowerShell is not currently supported in API version 2020-08-01, and it points to an Scheduled Query Rules API of version 2018-04-16.

Scrolling down a little bit, there is a sample use via Azure Resource Template link that brings me to a page which gives me an impression that 2020-08-01 is the current API version instead of 2018-04-16.

Scrolling down a little bit more again, in the process section, it says when switching to the current scheduledQueryRules API is successful the response should contain "version": 2.

My question is:

As of Jan 24, 2022 which one is the real current version of scheduledQueryRules API? Is it 2020-08-01, or 2018-04-16, or 2?

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

ID: 7494028f-bff6-47f0-0a32-e7627938d48b
Version Independent ID: 9adb3457-ec54-53a0-34a5-44cfb0706c11
Content: Upgrade to the current Azure Monitor Log Alerts API - Azure Monitor
Content Source: articles/azure-monitor/alerts/alerts-log-api-switch.md
Service: azure-monitor
Sub-service: alerts
GitHub Login: @yanivlavi
Microsoft Alias: yalavi

@dingliu Thanks for your comment. We will review the issue and get back to you shortly.

I submitted a change to this page to clarify it.
The current version of the API is scheduledQueryRules and it has two versions 2020-08-01 and 2018-04-16 both are GA.
This article is about migrating from the legacy rule management that used the log analytics API to scheduledQueryRules API.
To move from 2018-04-16 to 2020-08-01 you just need to touch the rule from 2020-08-01 and you will get the latest features. It is not a new API, only a new version.

#please-close


binance_perpetual_derivative connector: bot continues running without closing existing position after HTTP 503

Describe the bug
While running the spot_perpetual_arbitrage strategy with the binance_perpetual connector, i was unfortunate enough to run into a HTTP 503 error from binance for a trade that was meant to close the arb. This resulted in the perp position not being closed. However, the bot seemed to have continued running. Not sure if this is expected behavior.
Steps To Reproduce
Have to mock a server error on binance
Screenshot
this is what is shown on the log pane at the time of incident

Logs
2022-10-13 12:32:01,052 - 1 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative - ERROR - Error fetching /order
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 1376, in _api_request
    return await web_utils.api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_web_utils.py", line 113, in api_request
    raise IOError(f"Error executing request {method.name} {path}. "
OSError: Error executing request POST /order. HTTP status is 503. Error: {"code":-1001,"msg":"Internal error; unable to process your request. Please try again."}
2022-10-13 12:32:01,052 - 1 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative - WARNING - Error executing request POST /order. HTTP status is 503. Error: {"code":-1001,"msg":"Internal error; unable to process your request. Please try again."}
2022-10-13 12:32:01,052 - 1 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative - NETWORK - Error submitting order to Binance Perpetuals for 1.0 AVAX-BUSD .
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 1267, in _create_order
    order_result = await self._api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 1392, in _api_request
    raise e
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_derivative.py", line 1376, in _api_request
    return await web_utils.api_request(
  File "/home/hummingbot/hummingbot/connector/derivative/binance_perpetual/binance_perpetual_web_utils.py", line 113, in api_request
    raise IOError(f"Error executing request {method.name} {path}. "
OSError: Error executing request POST /order. HTTP status is 503. Error: {"code":-1001,"msg":"Internal error; unable to process your request. Please try again."}
2022-10-13 12:32:01,053 - 1 - hummingbot.connector.derivative.binance_perpetual.binance_perpetual_derivative - WARNING - Error executing request POST /order. HTTP status is 503. Error: {"code":-1001,"msg":"Internal error; unable to process your request. Please try again."}
2022-10-13 12:32:01,055 - 1 - hummingbot.core.event.event_reporter - EVENT_LOG - {"timestamp":<PHONE_NUMBER>.0, "order_id": "x-3QreWesyBAXBD5eae9b22b1921b488", "order_type": "OrderType.MARKET", "event_name": "MarketOrderFailureEvent", "event_source": "binance_perpetual"}

Release version
1.8.0

sure, is there an email or smth i can send those to? I don't think there's any more relevant details in the logs other than what i shared tho. It seems like this was a transient issue with binance's servers, i don't think it's possible to replicate it faithfully, but you can probably mock it by creating a mock binance_perpetual server that replies to the order request with HTTP 503

conf_n_logs.zip
error starts at around line 810 of the log file

what installation and machine type was used when this issue occurred

Oracle Cloud Ampere A1(arm64), ubuntu 22.04.1 lts, 4 cores  23.4 GB RAM

Monitoring a long term bot for binance perpetual not able to reproduce the error HTTP 503 for couple of days. Please also be advised that we have a bounty for binance perpetual that will soon be refactored by one of our community devs. Since this is not occurring on current version we will close if for now, else you may want to reopen and add logs and strategy config file for investigation. Thank you for your time 🙇


Streamlining

This addresses many inefficiencies which show up in a benchmark of the query engine

delaying conversion of int[] to double[] speeds up reading blocks from storage, reduces the size of arrays stored in the DataBlockCache
Don't detect function types by throwing exceptions
Size TransformFunction results properly.
Don't eagerly format error messages in function init

master
Benchmark                                                                            (_intBaseValue)  (_numRows)  Mode  Cnt        Score         Error   Units
BenchmarkFilteredAggregations.testFilteredAggregations                                             0     1500000  avgt    5    14603.463 ±    2802.292   us/op
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.alloc.rate                              0     1500000  avgt    5       20.648 ±       3.821  MB/sec
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.alloc.rate.norm                         0     1500000  avgt    5   473834.895 ±    4343.609    B/op
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.churn.G1_Eden_Space                     0     1500000  avgt    5       35.002 ±     301.381  MB/sec
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.churn.G1_Eden_Space.norm                0     1500000  avgt    5   785693.566 ± 6765058.556    B/op
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.churn.G1_Old_Gen                        0     1500000  avgt    5        7.788 ±      67.060  MB/sec
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.churn.G1_Old_Gen.norm                   0     1500000  avgt    5   174822.896 ± 1505277.856    B/op
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.count                                   0     1500000  avgt    5        1.000                counts
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.time                                    0     1500000  avgt    5        4.000                    ms
BenchmarkFilteredAggregations.testNonFilteredAggregations                                          0     1500000  avgt    5    31641.121 ±    2374.442   us/op
BenchmarkFilteredAggregations.testNonFilteredAggregations:·gc.alloc.rate                           0     1500000  avgt    5       23.624 ±       1.729  MB/sec
BenchmarkFilteredAggregations.testNonFilteredAggregations:·gc.alloc.rate.norm                      0     1500000  avgt    5  1171658.220 ±   20300.958    B/op
BenchmarkFilteredAggregations.testNonFilteredAggregations:·gc.count                                0     1500000  avgt    5          ≈ 0                counts

branch
Benchmark                                                                      (_intBaseValue)  (_numRows)  Mode  Cnt       Score         Error   Units
BenchmarkFilteredAggregations.testFilteredAggregations                                       0     1500000  avgt    5   14843.558 ±    1968.148   us/op
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.alloc.rate                        0     1500000  avgt    5      13.555 ±      12.460  MB/sec
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.alloc.rate.norm                   0     1500000  avgt    5  317323.358 ±  299561.102    B/op
BenchmarkFilteredAggregations.testFilteredAggregations:·gc.count                             0     1500000  avgt    5         ≈ 0                counts
BenchmarkFilteredAggregations.testNonFilteredAggregations                                    0     1500000  avgt    5   29995.803 ±    3471.378   us/op
BenchmarkFilteredAggregations.testNonFilteredAggregations:·gc.alloc.rate                     0     1500000  avgt    5      16.864 ±      27.741  MB/sec
BenchmarkFilteredAggregations.testNonFilteredAggregations:·gc.alloc.rate.norm                0     1500000  avgt    5  796248.501 ± 1317873.798    B/op
BenchmarkFilteredAggregations.testNonFilteredAggregations:·gc.count                          0     1500000  avgt    5         ≈ 0                counts

master
Benchmark                                                  (_intBaseValue)  (_numRows)  Mode  Cnt      Score      Error  Units
BenchmarkFilteredAggregations.testFilteredAggregations                   0     1500000  avgt    5  14759.558 ±  783.314  us/op
BenchmarkFilteredAggregations.testNonFilteredAggregations                0     1500000  avgt    5  32208.800 ± 1346.069  us/op

branch
Benchmark                                                  (_intBaseValue)  (_numRows)  Mode  Cnt      Score      Error  Units
BenchmarkFilteredAggregations.testFilteredAggregations                   0     1500000  avgt    5  13809.431 ± 1387.529  us/op
BenchmarkFilteredAggregations.testNonFilteredAggregations                0     1500000  avgt    5  30713.133 ± 3144.728  us/op

Codecov Report

Merging #8134 (33b50ff) into master (af742f7) will decrease coverage by 56.10%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #8134       +/-   ##
=============================================
- Coverage     70.32%   14.21%   -56.11%
+ Complexity     4305       81     -4224
=============================================
  Files          1624     1579       -45
  Lines         84176    82359     -1817
  Branches      12600    12408      -192
=============================================
- Hits          59196    11707    -47489
- Misses        20906    69779    +48873
+ Partials       4074      873     -3201

Flag
Coverage Δ

integration1
?

unittests1
?

unittests2
14.21% <0.00%> (+<0.01%)
:arrow_up:

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

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


escape character support on json, xml message payloads

It seems we don't support escape characters with json, xml message payloads
escape characters
XML escape characters
JSON escape characters

Escape characters are supported.
eg:
json j = {"key1":"va\"dasd\bdasd\\as\nl1", "key2":"val2", "key3":"val3"};


Add in ssh port option

Allows for rebuilding a remote host on a non-standard ssh port

i think -o and -p are too generic for being only for ssh.

i think -o and -p are too generic for being only for ssh.

How about --ssh-option and --ssh-port?

we need to set this port also for the --build-on-remote option, I propose adding the port to a separate variable so we can use it in the --builders arg if it's actually set. this would also make the filtering out part easier.
Also I'm fine with using -p and -o since ssh is the thing we mostly want to configure. adding the long options additionally would be nice though.

Just saw this PR. I have in the meantime merged this: https://github.com/numtide/nixos-anywhere/pull/130/files
I think we need a combination of both because ssh ports can be both specified in configuration and manually.

obsolete by https://github.com/numtide/nixos-anywhere/pull/153


about  PatchTST

According to the paper, PatchTsT have a  self-supervise  pre training procedure. Can your team  will add it soon ? Even if not, thank you very much! !!!

Another problem  , the MICN script have a error :    lable-length is 96  in origin paper's code。

Oh, I have a question, I find  that origin ECL datasets are txt-file  and  have't no col-name & date 。For example electricity.txt
https://github.com/laiguokun/multivariate-time-series-data/tree/master/electricity。  how you add a 'date' col?

Yes, we add the date col according to its time interval.

About PatchTST, we do plan to add the pretraining feature into this library. Maybe in this summer.
About MICN, label-len=48 can also obtain a fairly good performance.


"Main schema couldn't be loaded, verify your URL" error from valid URL

Hi Alejandra! Firstly - this tool is awesome, thanks! :smile: I was playing with it a little bit to see how it did on Human Cell Atlas JSON schemas and got an error from the demo deployment that I believe is an error.
The URL I used was https://fairsharing.github.io/JSONschema-documenter/index.html?parameters={"target":"https://schema.humancellatlas.org/type/project/9.0.3/project","display":"grid"}
I was attempting to visualise this schema: https://schema.humancellatlas.org/type/project/9.0.3/project.
I admit I haven't tried running this myself yet. Any thoughts?
Cheers, Tony

Hi Tony,
Thanks! I could load the schema with no errors (see screenshot). Did you just load that URL when you got the error? Or can you provide more details?
Some references don't look very good (see second screenshot), but this might be fix with some PR we intend to merge tomorrow.
Thanks,
Alejandra

Awesome, thanks guys!

tony, we will release the new PR this afternoon, so give us some time before testing out again :)

@tburdett you can see the visualisation of your schema here:
https://fairsharing.github.io/JSONschema-documenter/?schema_url=https://schema.humancellatlas.org/type/project/9.0.3/project
(the external schemas are also loaded)
let us know if you have more comments! thanks


asprintf exists on linux

asprintf exists on linux for quite a while, 2015 at least. do use it.
fixes https://bugs.swift.org/browse/SR-14935

@swift-ci test

We do for Android in https://github.com/apple/swift/blob/0053526c5d15532ef38fcf72006a9e16840b92a0/lib/ClangImporter/ClangImporter.cpp#L682-L688 . There's a comment for why it is not enabled in Linux, so if you need it for every Linux, maybe it needs to be done manually before any #include that end up in glibc.

Thanks for the contribution @soloturn!


ember-1.12.0 doesn't inject the service correctly

Right now you have to create a initializer with the following content to inject the service in ember-1.12.0 applications
export function initialize(container, application) {
  ['route', 'controller', 'component'].forEach((type) => {
    application.inject(type, 'preferences', 'service:preferences');
  });
}

export default {
  name: 'register-ember-preferences',
  initialize: initialize
};

Maybe we can have a initializer specific for ember-1.12.0 and include it in that case.
This is an example from the ember-cli.com documentation https://ember-cli.com/api/classes/Addon.html#method_treeForAddon
treeForAddon: function() {
  var tree = this._super.treeForAddon.apply(this, arguments);
  var checker = new VersionChecker(this);
  var isOldEmber = checker.for('ember', 'bower').lt('1.13.0');

  if (isOldEmber) {
    tree = new Funnel(tree, { exclude: [ /instance-initializers/ ] });
  }

  return tree;
}


Bibliography and including multiple files

My project looks like this:
main.typ
literature.bib
chapers/one.typ
chapter/two.typ
chapter/three.typ

main.typ has things like an abstract, table of contents, include for each chapter and then a bibliography.
If I try to cite from one of the chapters I get: the document does not contain a bibliography
If I add #bibliography("literature.bib") to each chapter I get: multiple bibliographies are not supported
How can I split my document in multiple files and still create one bibliography?

Also, I'm using typst.exe --watch main.typ and I expect it to only generate a pdf for main.typ but it generates pdfs for all .typ files included

Are you using the third-party LSP by any chance? Because the compiler doesn't do that. That would also explain the first error.

Oh it seems I only have this issue when using the Typst LSP autobuild function in VSCodium. When building using typst.exe --watch main.typ it creates the document as expected.

So, both issues are resolved?

Yes they are, thanks!


[Help]:  Read the rslc file generated by snap using pygmtsar

hello Dr
Hello, Doctor. I used the code in the PRM file of pygmtsar to read the rslc file generated by snap, and then I found that the read result was different from the result read by Matlab. Can you give me some suggestions? Here is the MATLAB code
machinefmt = 'b'; fid = fopen(infile,'r',machinefmt); [data,count]=fread(fid,bkformat); data = complex(data(1:2:count),data(2:2:count));  count=count/2; width = count/lines;% data  = reshape(data,width,lines).';

OK，thank you reply,I have another problem, can pygmtsar calculate the backscatter coefficient?

No, it has only persistent scatterers function calculation for weighted interferograms.


Make the model entity have consistent capitalization for model names

Almost all the model names are acronyms. Some of them are currently capitalized while others aren't (seemingly at random). What would be the most bidsy way to name the files?

I'd go with capitalization for acronyms and lower-case for others.

It's also worth checking with the BEP016 team to make sure everyone uses the same labels.


Debug aborting while testing giving out of bounds - Core dumped error

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (7b9d3ad 2022-06-18T00:06:55.933866068Z)
What command(s) is the bug in?
forge test --debug
Operating System
Linux
Describe the bug
Context
Debugger failing with an unexpected error.
Some of the files used in the foundry test are being imported out the source folder (i.e. src = 'contracts_forge' in foundry.toml).
On running
forge test --debug test_<test_name>
The debug module aborts following with the below error :-
[⠢] Compiling... Nothing to compile panicked at 'byte index 3627 is out of bounds of // SPDX-License-Identifier: MIT OR Apache-2.0 pragma solidity >=0.6.11; // ============ External Imports ============ import {Home} from "../../nomad-core/contracts/Home.sol"; import {XAppConnectionManager} from "../../nomad-core/contracts/XAppConnectionM[...]', library/core/src/str/mod.rs:107:9 Aborted (core dumped)
Steps to reproduce:-

Repo : https://github.com/code-423n4/2022-06-connext/tree/main/contracts
Follow development steps mentioned there.
run - forge test --debug test_BridgeFacet__xcall_worksWithPositiveSlippage

Things to note

forge test (without debug) working perfectly fine
Debug working upto test file only then suddenly aborts

My suspicion
External imports outside source folder (i.e. src = 'contracts_forge') are causing the issue.
// ============ External Imports ============ import {Home} from "../../nomad-core/contracts/Home.sol"; import {XAppConnectionManager} from "../../nomad-core/contracts/XAppConnectionM'[...]', library/core/src/str/mod.rs:107:9 Aborted (core dumped)

Seems like we're trying to show a part of the source code that doesn't exist, making me suspect that we're accidentally mapping to the wrong file. Out of curiosity, do you use multiple solc versions in your project?

Yes, there are multiple solc versions in the project.

Okay got it. Makes sense.
Btw just for knowledge, how hard is this issue for a complete rust beginner? Thinking of ways I can be helpful

Ah, I think @joshieDo is already on it :smile: Otherwise it wouldn't be too hard, the hard part is mostly knowing how ethers-solc works in this respect :)


Add script to validate remote object store paths

What does this PR do?
Adds a script that validates remote object store paths using composer utility functions.
This is helpful for debugging especially on remote runs.
What issue(s) does this change relate to?

Before submitting

[ ] Have you read the contributor guidelines?
[ ] Is this change a documentation change or typo fix? If so, skip the rest of this checklist.
[ ] Was this change discussed/approved in a GitHub issue first? It is much more likely to be merged if so.
[ ] Did you update any related docs and document your change?
[ ] Did you update any related tests and add any new tests related to your change? (see testing)
[ ] Did you run the tests locally to make sure they pass?
[ ] Did you run pre-commit on your change? (see the pre-commit section of prerequisites)

qq: Is this script supposed to be used locally?

@j316chuck the mcli yaml that i was using only supports s3, so i figured this would be an easy way to check all backends easily and through composer as well. Though, if this script fails, it doesn't necessarily rule out composer issues. I'll write an mcli yaml for this as well.

@dakinggg good suggestion! so it would both in the library as well as a script, yeah?

Yeah, exact same as composer_collect_env setup

@dakinggg I think the best move would be to create a list_remote_objects (that does exactly what the script does now, but returns a list of objects if objects are found). This would probably belong in file_helpers.py. If we add this function to file_helpers.py, do you have any thoughts on where to put the script?

Can you define console_scripts that don't use main? It kinda looks like you can, but I've never tried it. If so, can just define a function in file_helpers.py that prints out what you want, and define the console_scripts command to point to that function

@dakinggg Tried it, but it won't work--it needs to a be a function that takes no arguments. So we could (1) keep a tiny script in scripts/validate_remote_path.py and have it call the list_remote_objects function in file_helpers.py (2) create a small function that takes no args that is defined in file_helpers.py that acts as  a console script

I think Its possible to set it up with args parsed by argparse. because the composer launcher is set up the same way. See the main function in there that parses args


Specification is unclear on where description of relationships should go

In typing up an example for the discussion #211, it became clear to me that we have a weakness in the specification in regards to the use of a description field for a human-readable description of the nature of a relationship.
The specification says:

relationships: a dictionary containing references to other entries according to the description in section Relationships encoded as JSON API Relationships. The OPTIONAL human-readable description of the relationship MAY be provided in the description field inside the meta dictionary.

This makes it sound as one is supposed to use the meta dictionary belonging to the relationship object described in JSON API as "a meta object that contains non-standard meta-information about the relationship." I.e.:
    "relationships": {
      "calculations": {
        "data": [
          { "type": "calculations", "id": "4711" },
          { "type": "calculations", "id": "4712"}
        ],
        "meta": {
            "description": "The relaxation calculation generating this structure."
         }
      }
    }

However, as can be seen in this example, this only leaves room for a single description for all the linked entries of the same type! So I cannot indicate different descriptions for the two calculations entries.
So, perhaps it is reasonable then to use the meta field inside what JSON API calls the resource identifier object, i.e.:
    "relationships": {
      "calculations": {
        "data": [
          { "type": "calculations", "id": "4711",
            "meta": {
               "description": "The relaxation calculation generating this structure."
            }},
          { "type": "calculations", "id": "4712",
            "meta": {
               "description": "Calculation of elastic constants of this structure."
            }},
          }
        ],
      }
    }

Although, to me, this does seem to somewhat misuse that meta field, since this isn't meta-data about the referenced object, it is meta-data pertaining to the relationship to it.
To make matters worse, our specification actually has an example that uses this  description field like this:
"relationships": {
      "references": {
        "data": [
          { "type": "references", "id": "Dijkstra1968" },
          {
            "type": "references",
            "id": "1234",
            "meta": {
              "description": "This article has been retracted"
            }
          }
        ]
      }
    }

However, note how the description field in this example isn't used as a "human readable description of the nature of a relationship" as we say; here it is used as a clarification of the nature of that resource identifier object, which is more in line with the spirit of the JSON API spec.
This seems a bit of a mess. Any advice for what changes we should do to rectify this are welcome. I'm leaning towards clarifying that we standardizing on "misusing" the resource identifier object meta field and update the example accordingly.

However, as can be seen in this example, this only leaves room for a single description for all the linked entries of the same type! So I cannot indicate different descriptions for the two calculations entries.
So, perhaps it is reasonable then to use the meta field inside what JSON API calls the resource identifier object, i.e.:

I agree that meta of resource identifier object is a more natural place to describe the relations, and this should be stressed in the OPTiMaDe specification.

Although, to me, this does seem to somewhat misuse that meta field, since this isn't meta-data about the referenced object, it is meta-data pertaining to the relationship to it.

I understand the concern, but I can't think of a more suitable place to describe the relationships.

However, note how the description field in this example isn't used as a "human readable description of the nature of a relationship" as we say; here it is used as a clarification of the nature of that resource identifier object, which is more in line with the spirit of the JSON API spec.

Indeed, the comment This article has been retracted describes the referenced object, not the relationship. I agree that we should fix this example to show the intent to use meta of resource identifier object to describe relationships.

This seems a bit of a mess. Any advice for what changes we should do to rectify this are welcome. I'm leaning towards clarifying that we standardizing on "misusing" the resource identifier object meta field and update the example accordingly.

Agree.

According to the JSON API spec "a resource identifier object MAY also include a meta member, whose value is a meta object that contains non-standard meta-information".
To me, the question indeed seems to come down to @rartino's thought that "[a]lthough, to me, this does seem to somewhat misuse that meta field, since this isn't meta-data about the referenced object, it is meta-data pertaining to the relationship to it."
To this I would say we should be careful. Either we go directly against the JSON API and add our own field/member to a resource object identifier, or we put it under meta and acknowledge that it is in the gray-area between data and metadata? Personally, I prefer the second option, as it is more inline with the JSON API spec.


Removed apple.txt as this only caters to small windows based apple apps

What CDN does this PR relate to
Removal of apple cdn. It appears the cdn only covers small windows based apple apps and doesn't really fit the purpose of the cache project. OS updates can only be used with a proxy that is setup on a mac server.

:+1@:


Stars in row

Fist, thank you for awesome mod. It looks pretty.
Could you tell me how to get all stars in one row like in yours example:

I have bigger stars:

Are you sure you are using the latest version, this was an issue earlier versions 1.2.x  an lower

Yes, I'm quite sure. I saw artifacts in 2.0.0 for example (removed in 2.0.1). Except, that 2.0.2 was not available yesterday :-)
.../Valheim/BepInEx/plugins$ md5sum $(find -type f -iname "*better*")
5d9b5019167313e4eab0d1e3533e8cb3  ./BetterUI/BetterUI.dll

And yes, I see this issue for long time, that's way I select numbers. But yours stars are looks awesome.
A removed all other mods and I have the same effect.

At first glance it seems that the game has an different font spacing and its not taking my adjust to consider.
However the slot 7 has an really weird problem. Only 2 stars but both of them are on their own rows. In my code everything should be in 1 string and no row changes.
Sneak peak to code: Items.cs#L96
Could you provide:
System OS, System Language, Valheim Language.

Yes,. it's really strange. I see, you replace numer with stars character 2605 (nice trick), not with pixmaps. Than there is no way to put 2 stars in 2 rows, but it happens.
OS: Debian bullseye/sid (testing + unstable GNU / Linux)
GPU: GeForce RTX 2070 with nvidia drivers (from Debian repo), than Vulcan is used.
OS Language: it's a little harder, I use English, but same settings is from Polish (including rules like CTYPE):
$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=pl_PL.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME=pl_PL.UTF-8
LC_COLLATE=pl_PL.UTF-8
LC_MONETARY=pl_PL.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=pl_PL.UTF-8
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT=pl_PL.UTF-8
LC_IDENTIFICATION=pl_PL.UTF-8
LC_ALL=

Valheim Language: Polish.
I reset all LC_* vars and set English in Valheim – effect the same.


if test with properties

I know we had that discussion before but to be honest i am not sure i understand.
Today i can do :
[id='4'] {
}

And
['nuti::selected_id'='4'] {
}

but not
['nuti::selected_id'=id] {
}

Is there really no way to make the last one work? It would be so useful

This is a pretty fundamental limitation of CSS syntax (not just CartoCSS) and changing that would really break backward-compatibility. With selectors you are limited to [FIELD op CONSTANT] syntax. For example, the following selector is counter intuitive:
['nuti::selected_id'=id] {
  ...
}

it actually means the following expression: [nuti::selected_id]=='id'.  The only workaround is to use conditions in property expressions (line-fill: [nuti::selected_id] == [id] ? red : blue).

@mtehver ok did not know it was a CSS thing. I know the work around and i am using it already. Was hopping we could find a better way.
And if i was to write [id=[nuti::selected_id]]. In a sense [nuti::selected_id] could be seen as a constand as not being a field ;)
But i understand. I really see it as big "inconvenience" especially when handling "selected" object.
something like this:
['nuti::selected_id'=id] {
            back/line-width: @bicycle_line_width + 4;
            line-color: #60A5F4;
            line-width: h + 2;
            marker-placement: line;
            marker-type:arrow;
            marker-line-width:0;
            marker-opacity:0.6;
            marker-width: @bicycle_line_width;
            marker-height: @bicycle_line_width;
            marker-fill: #B3CEFF;
            [class=pedestrian] {
                back/line-width: @pedestrian_line_width+ 4;
                marker-width: @pedestrian_line_width;
                marker-height: @pedestrian_line_width;
            }
        }

becomes really hard to write with the workaround.
I wish we could find a way. It would help so much

I can confirm this is fixed with the when condition!


Adding Contributor section in readme  ( Automatically )

I will like to add a feature this will update contributor list in read me automatically !! Will start to work on this issue as soon as i get assigend !!

Feel Free to ask your doubts, if any
Deadline 16 March,2021 (11:59 PM IST)

Feel Free to ask your doubts, if any
Deadline 16 March,2021 (11:59 PM IST)

Ok Thanks !!

Feel Free to ask your doubts, if any
Deadline 16 March,2021 (11:59 PM IST)

Please give a review to PR I will do suggested changes !!


difference query parameter types

hi
How should we handle the difference between the actual requested parameter model type and the automated model type?
ex )
automation => { pageable: Pageable; searchType?: GetStudentsSearchType; searchKeyword?: string }
real => { page?: number;  size?: number;  sort?: string[], searchType?: string; searchKeyword?: string }

doc json

api code

swagger ui

gen type

please answer me! save me!

Hello @path-lucas, I don't understand question. The code generated seems good.

@anymaniax
The actual requested parameter types are: { page?: number; size?: number; sort?: string[], searchType?: string; searchKeyword?: string }
Parameter types created with orval were created as paging objects. : { pageable: Pageable; searchType?: GetStudentsSearchType; searchKeyword?: string }
Can't we make the type so that the paging object parameters are actually requested separately, just like the request parameters?

You need to modify the swagger that your code generate or your code description. Because as you can see the generate open api specifications as the pageable object. You can modify the doc using a transformer in the orval config but I really think that something in your code need to change to generate the specification.


Active state problem

Hi there
I'm testing your menu and have some issues with active state. Filter func dont addclass active on the element. Stayonactive is set to true. What am i doing wrong?

Depending on your test environment, your URL's for your menu items and the page path could be the culprit. For the active menu item option to work the page URL and the menu item for that page must match. If the page has a parent menu item then it's parent should have the same structure as well.
If you are using a CMS like WordPress or Drupal you shouldn't run into these edge cases since the CMS will make sure your URL's have a consistent structure. I usually use this plugin within a CMS myself. However, if you are using this plugin with a static site, you are more likely to run into issues such as inconsistent URL structures.
I've created a dev branch and added catches for several edge cases that I could think of. You can test this branch and let me know if this solved your issue. I also included extra HTML pages in a nested structure to give an example of how on an internal page the menu will be open to the current pages child menu items.
Once I've completed more testing of my own I'll push this out as an update to NPM.
https://github.com/Blake-C/mobile-mega-menu/tree/v1-dev


Duplicate element identifiers when page contains multiple tabs components

The tabs component automatically generates identifiers for its HTML elements tabId{{loop.index}}Item and tabId{{loop.index}}. Since the loop index is the only unique characteristic, it means that multiple tab components will lead to repeated identifiers and undefined behaviour.

Perhaps a utility filter could be introduced to dispense unique values:
{% set tabId = 0|nextUniqueIdentifier %}
...<a href="#{{ tabId }}"...
<section id="{{ tabId }}" ....


Add support for serving static files from content folder

Blog posts usually contain images. Adding this code makes it convenient for bloggers to include them in Pico content.
In a content/content-subfolder/post.md file add pictures like this:
![My image](my_image.jpg)

or like this without mod rewrite enabled
![My image](?content-subfolder/my_image.jpg)

First of all, thank you for your PR and making Pico even better @mpavelka! :+1:
Unfortunately I've to tell you that this is against Pico's recommended way of managing assets. Let me explain the reasons:
Passing static files (like images) through PHP is a highly unperformant solution. A user usually generates just a single dynamic/interpreted request per page impression (i.e. the actual page), plus a much higher number of static requests (e.g. stylesheets, images, JavaScript ...). A dynamic/interpreted request causes an order of magnitude higher performance impact on your server than a static request and is - by far! - the most important limiting factor of how many concurrent requests your webserver can handle.
By serving just one image through PHP, a single page impression results in two dynamic/interpreted requests. Serving just two or three images are then very likely sufficient to cause the same performance impact as two "normal" page impressions. This bisects the number of concurrent requests your webserver can handle!
Therefore passing static file requests through PHP is no option. However, I agree that users want to store their assets together with their contents. Nevertheless, we deny access to the content/ folder for security reasons. This protection actually isn't necessary for a vanilla Pico installation because it serves all contents of the content/ folder anyway, however, plugins may restrict access to certain pages. As this may cause hidden security issues for users who want to use such plugins, we deny access to the content/ folder by default ("security by default").
This unfortunately leads to a conflict of aims between convenience and security. The obvious solution is to still deny access by default, but allow access to certain files (e.g. by matching MIME types). However, configuring your webserver to do so is (besides its still not negligible performance impact) a pretty complex topic and varies from webserver to webserver. I think that this is a topic for very advanced users only.
Thus we recommend to create a distinct assets/ folder. This definitely is not a convenient solution, but - as far as I know - the only practicable.
Personally I recommend you to configure your webserver to behave as elucidated above. If you still want to pass asset files through PHP, I recommend you to create a plugin (simply hook into Pico's onRequestFile event). Again, thank you for contributing! :+1:

@PhrozenByte, thank you very much for the most exhaustive explanation to the topic, it makes a lot of sense.
I'm sure I'm not the first one to wonder about this problem, perhaps it would help others too to include a little how-to in docs/about page.

@mpavelka, you're welcome, I've added this to Pico's ToDo list to create a appropriate "advanced asset handling howto" :smiley:
@smcdougall, do you want to incorporate the above explanation into #359 (beginning with "Nevertheless, we deny access to the content/ folder for security reasons. […]")?

Sure.  :+1:
I've made a note on #359 to come back here and reference your explanation.


Adding start and move events

Needed this for a project I was working on and thought I'd add it to the main code base. :)
Edit: Also added a dragging stopped general event.

Any updates on this? I'd like to merge this in if possible. :)

"This pull request contains merge conflicts that must be resolved." says github.

Rebased with master. Sorry for the delay (work has been hectic lately). Hope to see this in master soon. :D

Thanks :)


Super Discord Channel Request

Can you please create an official discord for the community to grow and ask questions : ) ?

As the community is still pretty small it might not yet be necessary, I could go ahead and create a Telegram group now but I will also consider creating a Discord server. How does that sound?

That sounds great ! I'll be on the look out for channel when it is created. Thank you.


libjpeg-turbo linking issues

I am in the process of getting everything to work in a Linux environment, and so far so good, but I'm having difficulty with the turbojpeg part of the build process.
Specifically, I have added the following in the addon_config.mk file
linux64:
	ADDON_INCLUDE += libs/turbojpeg/include
	ADDON_INCLUDES += /usr/include/k4a
	ADDON_INCLUDES += /usr/include
	ADDON_LIBS += /opt/libjpeg-turbo/lib64/libjpeg.so
	ADDON_LIBS += /usr/lib/x86_64-linux-gnu/libk4a.so
	ADDON_LIBS += /usr/lib/libk4abt.so

And when I try to compile I get linker errors:
/home/random/of_v0.11.0_linux64gcc6_release/addons/obj/linux64/Release/ofxAzureKinect/src/ofxAzureKinect/Device.o:Device.cpp:function ofxAzureKinect::Device::Device(): error: undefined reference to 'tjInitDecompress'
/home/random/of_v0.11.0_linux64gcc6_release/addons/obj/linux64/Release/ofxAzureKinect/src/ofxAzureKinect/Device.o:Device.cpp:function ofxAzureKinect::Device::~Device(): error: undefined reference to 'tjDestroy'
/home/random/of_v0.11.0_linux64gcc6_release/addons/obj/linux64/Release/ofxAzureKinect/src/ofxAzureKinect/Device.o:Device.cpp:function ofxAzureKinect::Device::updateCameras(ofEventArgs&): error: undefined reference to 'tjDecompress2'

Is there a particular version (1.5? 2+?) of libjpeg-turbo I should be installing? I'm also not entirely sure how the compiling+linking of this was done for Windows so I'm not very clear on what needs to be changed?

Ah, hmmm, seems I had the wrong shared object inlcuded:
	ADDON_LIBS += /opt/libjpeg-turbo/lib64/libturbojpeg.so

That's better!


Links to download Banana Cake Pop don't work

Links to installers on your page here https://chillicream.com/docs/bananacakepop
Do not work.

@buxbuxbux  thanks for reporting
Yes these links are out of date
at the moment we do not have a standalone build of BCP ready, it might come back in the future
But we should really remove these links :)

I actually just killed it yesterday ... my fault :D
It is coming back rather quickly with the release....

@michaelstaib any chance on fixing these links on https://chillicream.com/docs/bananacakepop or is there a place where I can download release directly or can you just post a valid link in the issue?

Not yet ... but we are closing in .... new bcp is on its way ... couple more days.

We're waiting for standalone , thank you guys

The PR is already done and waiting for review ... I think the standalone app will be back online this week.

Its coming along ...

We're almost ready and waiting for the auto update PR. As soon as it's ready we'll push it 👍


[Map] DM-jumpspot_xlocdest_tute

Hash: 8f5ba1e3ba38465f6dfbfd447e8b83b44d948b2d
Current name: DM-jumpspot_xlocdest_tute
This is a Demo or tutorial map for mappers to learn how to do jumpspots, xloc combos and other 'stuff' - not a DM map

Updated


Documentation

Guys is there any documentation for this client. I started using it on a small project I have a while ago but it seems like lot of things changed. it would be nice if there some docs somewhere. Thanks in advance :)

I'd suggest you check out:

https://github.com/slackhq/node-slack-client/blob/master/CHANGELOG.md
https://github.com/slackhq/node-slack-client/blob/master/README.md
https://github.com/slackhq/node-slack-client/tree/master/examples

If there are specific questions that you don't see answered in there that you'd like more detail on, please create another issue requesting docs for that area and I can write something up and add it to the README / examples directory.

thanks for your reply :) but it could be nice to have some reference for the API generally speaking.

For the general API, there's https://api.slack.com/methods
The individual methods in the web client facets also have JSDoc annotations that provide a similar level of detail. If you wanted, you could run a JSDoc generator over those? At some point we'll get to doing that on our side and have a github pages or similar location for it.

Closing this for now, let me know if there are specific documentation areas that you'd like to see addressed and I can see what I can do.


Error: request.args.to_dict

when use
function: request.args.to_dict()
it returns single value only
Example:
if url = 'http/?a=1&a=2'
function return {a:1}
desires return {a:[1,2]}
i think it should sensitive on multiple values

From the docs: request.args.to_dict(flat=False)
Please use Stack Overflow for questions about your own code. This tracker is for issues related to the project itself. Be sure to include a minimal, complete, and verifiable example.


[ALLUXIO-1889] Fixing JSON encoding.

https://alluxio.atlassian.net/browse/ALLUXIO-1889
/ should not be escaped, which is fixed by this PR

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9353/
Test PASSed.

Merged build finished. Test PASSed.

LGTM

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9357/
Test PASSed.

Great utility method! I left a few minor comments.

Thanks for these improvements! I left one minor comment, otherwise LGTM

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9359/
Test PASSed.

Merged build finished. Test PASSed.

+1 LGTM

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9360/
Test PASSed.

LGTM


Enable IE 11 compability of Angular + pdf.js

Configuration:

Web browser and its version: IE 11
Operating system and its version: Any
PDF.js version: 1.4.0
AngularJs version: 1.5.11

Steps to reproduce the problem:

Use AngularJS 1.5.11 with automatic bootstrapping
Include PDF.js version 1.4.0 BEFORE the script tags of Angular

What is the expected behavior? (add screenshot)

Angular works perfectly together with PDF.js
PDF.js wraps missing API in a functions that will use the shimmed version if the native one is not available.

What went wrong? (add screenshot)

See https://github.com/angular/angular.js/issues/15772
Currently pdf.js defines document.currentScript but not link.origin nor link.protocol. If angular starts it checks if it is allowed to bootstrap automatically it checks for currentScript and asume that this will be enough to filter IE, meaning if currentScript is not defined we can automatically bootstrap. This check will not work in combination with pdf.js.

Libraries shouldn't modify properties of objects they don't own as it causes issues like this. If they need a particular API that is missing in some supported environments they may wrap its usage in a function that will use the shimmed version if the native one is not available.
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
http://plnkr.co/edit/YFCQM2Px0QU0KnGzsAlM?p=preview

Sounds like shifting blame from somewhat IE11-incomplete security check Angular logic to PDF.js polyfill... alright. Marking as a simple bug to fix to fix this gap:

document.location.origin must be set to new URL(document.location.href).origin if 'origin' property is absent
HTMLScriptElement.prototype shall have origin and prototype getter with the similar logic as above.

@yurydelendik For me this is analogous to the situation where a couple of Web APIs had to change their names because MooTools was applying partial polyfills and code on the Web started depending on it.
Polyfilling is risky, IMO it should be done only with complete polyfills and only in final apps, not in libraries. If libraries need a particular API that's not available everywhere, they should wrap the native API in an utility function and use that function; that removes the whole class of possible bugs like this one.
In short: library code shouldn't modify objects it doesn't own, e.g. native browser globals.

Polyfilling is risky

@mgol oh, I agree. Entire PDF.js viewer application must reside in it's own sandbox (I recommend iframe), but people keep using it within bigger apps. So we have to react accordingly.

library code shouldn't modify objects it doesn't own, e.g. native browser globals.

Let's take another example, without typed arrays and Promise PDF.js library would not be the same. And by not modifying global objects we would make our code unreadable and probably less performant for majority of the modern browsers.

Let's take another example, without typed arrays and Promise PDF.js library would not be the same. And by not modifying global objects we would make our code unreadable and probably less performant for majority of the modern browsers.

Not necessarily. You could keep your own internal set of variables that shadow globals. This may not cover all cases but at least promises should be fine. Something like:
var Promise = window.Promise || PROMISE_POLYFILL;

at the top of PDF.js. In that case you're not touching the global and you still can use Promise in your code without any changes.
This shouldn't affect performance in modern browsers either as it's a simple alias for them.
I understand it may not be so easy in all the cases, though (e.g. if only a few methods need to be polyfilled)

PDF.js code is transforming to use ES6 modules. The above approach can be problematic atm, unless a packager will automatically provide a polyfill.
I would like not turn this issue into discussion about angular logic or pdf.js compatibility approach, it will be nice to fix a our polyfill so we will play nice with angular. A PR is welcome :)

On the different thought, let's close this issue as won't fix. There is no confirmation that there are Angular+PDF.js+IE11 real world uses, if there is, the fix can be easy made on angular side by patching Angular.js.

@elliotstoner this issue is about AngularJS compatibility, not Angular (2+) and only applies if you use ng-app instead of manual bootstrapping. Angular 2+ doesn't even support automatic bootstrapping so this issue won't apply there.

@mgol Ah ok - I'll create a new issue then, thanks.


[WEBSITE] update button style

Description
update button style for tutorials and model zoo
Checklist
Essentials

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)

Changes

[x] update button style

Job PR-869/1 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-869/1/index.html

Job PR-869/2 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-869/2/index.html

Job PR-869/3 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-869/3/index.html

Job PR-869/4 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-869/4/index.html


Fix the problem of rebuilding all

Since the traversal order of lua's pairs is undefined, the order of the flags list will change randomly each time they are added.
xmake triggers a rebuild based on flags changes, which is not a problem if the list of flags is identical each time it is built.
Also, the xmake/dev branch has a fix for add_configfiles change detection, so that if you use the dev version, no rebuild will be triggered when the code has not changed, even if you switch release/debug mode.
You can run the following command to update to the dev version, which also adds support for ld.lld.
xmake update -s dev

However, since the paths contained in ldscripts change according to mode, each switch in mode will still trigger an update of the ldscripts file, which will cause the link to be re-executed.
[100%]: build ok!
ruki-2:tests ruki$ xmake f --sdk=~/projects/working/rtos/llvm-project/build/ -m release; xmake
checking for platform ... cheriot
checking for architecture ... cheriot
loading board description from  /Users/ruki/projects/working/rtos/cheriot-rtos/sdk/boards/sail.j
son
targeting a simulated environment
generating /Users/ruki/projects/working/rtos/cheriot-rtos/sdk/firmware.ldscript.in ... ok
loading board description from  /Users/ruki/projects/working/rtos/cheriot-rtos/sdk/boards/sail.j
son
targeting a simulated environment
changed build/test-suite-firmware.ldscript
[ 98%]: linking firmware build/cheriot/cheriot/release/test-suite
[ 98%]: Creating firmware dump build/cheriot/cheriot/release/test-suite.dump
[100%]: build ok!
ruki-2:tests ruki$ xmake f --sdk=~/projects/working/rtos/llvm-project/build/ -m debug; xmake
checking for platform ... cheriot
checking for architecture ... cheriot
loading board description from  /Users/ruki/projects/working/rtos/cheriot-rtos/sdk/boards/sail.j
son
targeting a simulated environment
generating /Users/ruki/projects/working/rtos/cheriot-rtos/sdk/firmware.ldscript.in ... ok
loading board description from  /Users/ruki/projects/working/rtos/cheriot-rtos/sdk/boards/sail.j
son
targeting a simulated environment
changed build/test-suite-firmware.ldscript
[ 98%]: linking firmware build/cheriot/cheriot/debug/test-suite
[ 98%]: Creating firmware dump build/cheriot/cheriot/debug/test-suite.dump
[100%]: build ok!


System Update Settings - GitSync Options

Add GitSync options selectors to post update GitSync.
Minimal, Diff, Verbose, Dry Run
The GitSync options have utility for post update sync also.
Also applicable to RELENG_2_3_2.
Dependency Note:
The verbose option will need to be split out into "show_files" and "show_command" when the following commit is applied.
https://github.com/pfsense/pfsense/pull/3168/commits/a6fd4c0ff4141a1836ed74add1df55477d87ddd0

What would be the idea of having options like --dry-run or --show-command set on GUI?

Testing, debugging, troubleshooting, etc.  Same reasons one might use them in the command shell.

@NOYB can you please re-submit it for master branch?

For master branch
https://github.com/pfsense/pfsense/pull/3436


ComplexThrowable can't add Rigibody if it is missing

There is a problem with the logic of adding a Rigidbody to the gamobject if it is missing. As you can see in the code below, if there is no rigibodies on the gameobject to grab, rigidBodies.Count will be 0 and holdingBody will be null. Therefore, the method will hit return and end without a chance to call Util.FindOrAddComponent(hand.gameObject). This method should be placed somewhere before this null check so we add a Rigidbody if it is missing. Should I start a PR for this?
private void PhysicsAttach( Hand hand )
		{
			PhysicsDetach( hand );

			Rigidbody holdingBody = null;
			Vector3 holdingPoint = Vector3.zero;

			// The hand should grab onto the nearest rigid body
			float closestDistance = float.MaxValue;
			for ( int i = 0; i < rigidBodies.Count; i++ )
			{
				float distance = Vector3.Distance( rigidBodies[i].worldCenterOfMass, hand.transform.position );
				if ( distance < closestDistance )
				{
					holdingBody = rigidBodies[i];
					closestDistance = distance;
				}
			}

			// Couldn't grab onto a body
			if ( holdingBody == null )
				return;

			// Create a fixed joint from the hand to the holding body
			if ( attachMode == AttachMode.FixedJoint )
			{
				Rigidbody handRigidbody = Util.FindOrAddComponent<Rigidbody>( hand.gameObject );
				handRigidbody.isKinematic = true;

				FixedJoint handJoint = hand.gameObject.AddComponent<FixedJoint>();
				handJoint.connectedBody = holdingBody;
			}

			// Don't let the hand interact with other things while it's holding us
			hand.HoverLock( null );

			// Affix this point
			Vector3 offset = hand.transform.position - holdingBody.worldCenterOfMass;
			offset = Mathf.Min( offset.magnitude, 1.0f ) * offset.normalized;
			holdingPoint = holdingBody.transform.InverseTransformPoint( holdingBody.worldCenterOfMass + offset );

			hand.AttachObject( this.gameObject, attachmentFlags );

			// Update holding list
			holdingHands.Add( hand );
			holdingBodies.Add( holdingBody );
			holdingPoints.Add( holdingPoint );
		}

OUPSIE, I realised that it is for the rigidbody on the hand, closing this...


Include UserId in SessionName

Hi there,
is it possible to include the iam user name in the role session name when assuming a role? This way, k8s api logs would include the original IAM user name in the k8s api logs, along with the session name. Currently, only the session name is included, which appears to be an arbitrary number that needs to be mapped with the AssumeRole events in CloudTrail.
For example, my aws-auth contains the following role mapping:
- rolearn: arn:aws:iam::123123123123:role/dev1-role
      username: dev1-{{SessionName}}
      groups:
        - dev1-role

This leads to log events with user.username fields like dev1-123456789123456789.
Instead, I suggest session names that session names are set in a way that usernames loke like this dev1-JaneDoe-123456789123456789. This allows to query for all logs where user.username like "-JaneDoe-".
I believe basically this would have to be changed in token.go
userIDParts := strings.Split(*resp.UserId, ":")
if len(userIDParts) == 2 {
	sessionSetters = append(sessionSetters, func(provider *stscreds.AssumeRoleProvider) {
		provider.RoleSessionName = userIDParts[1]
	})
}

/remove-lifecycle rotten

+1

+1.
Right now, a aws-auth entry like:
    - rolearn: arn:aws:iam::xxxx:role/developer-user-role
      username: developer:{{SessionName}}
      groups:
        - developers

Produces logs:
failed to query namespace "kube-system" from k8s API: namespaces "kube-system" is forbidden: User "developer:EKSGetTokenAuth" cannot get resource "namespaces" in API group "" in the namespace "kube-system"

Being able to use more data would be helpful here.

/reopen

When using federated users, the following setting seems to provide some of the need expressed by this issue:
https://github.com/kubernetes-sigs/aws-iam-authenticator#note-for-federated-users

Any news about such issue?


detect result

您好，这边测试了一个weights/checkpoint_VOC_efficientdet-d1_37.pth的模型，结果是这个样子的，有几个好像未检测到

hi @zhanglaplace,
I just trained on VOC at 37 epoch, it really hasn't optimized yet,
If you get better for detection, you can try this weights: weights at epoch 65
And this is results for this epoch

You can try it.:v
Anyway, I will public a better weight when complete training.

@toandaominh1997
Looking forward to your new model.

hello!
can you provide your train loss figures if you complete the training?
i have training 130 epoch, but it hasn't optimized yet
thank you!


Adding openAPI to KafkaSource

Signed-off-by: Matthias Wessendorf<EMAIL_ADDRESS>Fixes #

Proposed Changes

as per title

Release Note

Docs

/retest

/retest-required

/retest

/retest-required


K8S(1.8) cluster not showing Scope UI using NodePort option

I am using Kubernetes 1.8 cluster
i have deployed 4 node cluster using kubeadm and also deployed kubernetes dashboard .I am trying to deploy weavescope but not getting UI showing on browser.
I have deployed Weave Scope UI as per your DOC:-
https://www.weave.works/docs/scope/latest/installing/#k8s
So what i run commands on kubernetes master as follows:-
kubectl apply --namespace kube-system -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')?k8s-service-type=NodePort"

kubectl port-forward -n kube-system "$(kubectl get -n kube-system pod --selector=weave-scope-component=app -o jsonpath='{.items..metadata.name}')" 4040

When i Run above command i am getting following Output:-
Forwarding from <IP_ADDRESS>:4040 -> 4040

Tried Following URL in browser But Not showing Scope UI:-
http://node-name:4040 OR https://node-name:4040

When i checking the logs i get some error they are as follows:-
 kubectl logs -n kube-system weave-scope-app-567cfdb6d5-k5nbw

Output:-
<app> INFO: 2017/10/20 19:24:24.939146 app starting, version 1.6.5, ID 7f05df408cec211c
<app> INFO: 2017/10/20 19:24:24.939440 command line args: --mode=app --no-probe=true
<app> INFO: 2017/10/20 19:24:24.955916 listening on :4040
<app> WARN: 2017/10/20 19:24:25.011041 Error updating weaveDNS, backing off 20s: Error running weave ps: exit status 1: "Link not found\n"
<app> WARN: 2017/10/20 19:24:45.052765 Error updating weaveDNS, backing off 40s: Error running weave ps: exit status 1: "Link not found\n"

i get some error

These are WARNings. You can ignore them.

Tried Following URL in browser But Not showing Scope UI: http://node-name:4040 OR https://node-name:4040

The instructions make scope accessible on the host on which the kubectl command is run. It looks like you are running kubectl on the master and then try to access scope from a different machine - that won't work.

@rade  When i check the
{code}
kubectl -n kube-system edit svc weave-scope-app
{code}
Please edit the object below. Lines beginning with a '#' will be ignored,
and an empty file will abort the edit. If an error occurs while saving this file will be
reopened with the relevant failures.

apiVersion: v1
kind: Service
metadata:
annotations:
cloud.weave.works/launcher-info: |-
{
"server-version": "master-1677a73",
"original-request": {
"url": "/k8s/v1.7/scope.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiI4IiwgR2l0VmVyc2lvbjoidjEuOC4xIiwgR2l0Q29tbWl0OiJmMzhlNDNiMjIxZDA4ODUwMTcyYTlhNGVhNzg1YTg2YTNmZmEzYjNhIiwgR2l0VHJlZVN0YXRlOiJjbGVhbiIsIEJ1aWxkRGF0ZToiMjAxNy0xMC0xMVQyMzoyNzozNVoiLCBHb1ZlcnNpb246ImdvMS44LjMiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjgiLCBHaXRWZXJzaW9uOiJ2MS44LjEiLCBHaXRDb21taXQ6ImYzOGU0M2IyMjFkMDg4NTAxNzJhOWE0ZWE3ODVhODZhM2ZmYTNiM2EiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE3LTEwLTExVDIzOjE2OjQxWiIsIEdvVmVyc2lvbjoiZ28xLjguMyIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==?k8s-service-type=NodePort",
"date": "Fri Oct 20 2017 19:24:23 GMT+0000 (UTC)"
},
"email-address"<EMAIL_ADDRESS>}
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"cloud.weave.works/launcher-info":"{\n  "server-version": "master-1677a73",\n  "original-request": {\n    "url": "/k8s/v1.7/scope.yaml?k8s-version=Q2xpZW50IFZlcnNpb246IHZlcnNpb24uSW5mb3tNYWpvcjoiMSIsIE1pbm9yOiI4IiwgR2l0VmVyc2lvbjoidjEuOC4xIiwgR2l0Q29tbWl0OiJmMzhlNDNiMjIxZDA4ODUwMTcyYTlhNGVhNzg1YTg2YTNmZmEzYjNhIiwgR2l0VHJlZVN0YXRlOiJjbGVhbiIsIEJ1aWxkRGF0ZToiMjAxNy0xMC0xMVQyMzoyNzozNVoiLCBHb1ZlcnNpb246ImdvMS44LjMiLCBDb21waWxlcjoiZ2MiLCBQbGF0Zm9ybToibGludXgvYW1kNjQifQpTZXJ2ZXIgVmVyc2lvbjogdmVyc2lvbi5JbmZve01ham9yOiIxIiwgTWlub3I6IjgiLCBHaXRWZXJzaW9uOiJ2MS44LjEiLCBHaXRDb21taXQ6ImYzOGU0M2IyMjFkMDg4NTAxNzJhOWE0ZWE3ODVhODZhM2ZmYTNiM2EiLCBHaXRUcmVlU3RhdGU6ImNsZWFuIiwgQnVpbGREYXRlOiIyMDE3LTEwLTExVDIzOjE2OjQxWiIsIEdvVmVyc2lvbjoiZ28xLjguMyIsIENvbXBpbGVyOiJnYyIsIFBsYXRmb3JtOiJsaW51eC9hbWQ2NCJ9Cg==?k8s-service-type=NodePort",\n    "date": "Fri Oct 20 2017 19:24:23 GMT+0000 (UTC)"\n  },\n  "email-address": "support@weave.works"\n}"},"labels":{"app":"weave-scope","name":"weave-scope-app","weave-cloud-component":"scope","weave-scope-component":"app"},"name":"weave-scope-app","namespace":"kube-system"},"spec":{"ports":[{"name":"app","port":80,"protocol":"TCP","targetPort":4040}],"selector":{"app":"weave-scope","name":"weave-scope-app","weave-cloud-component":"scope","weave-scope-component":"app"}}}
creationTimestamp: 2017-10-20T19:24:25Z
labels:
app: weave-scope
name: weave-scope-app
weave-cloud-component: scope
weave-scope-component: app
name: weave-scope-app
namespace: kube-system
resourceVersion: "1547183"
selfLink: /api/v1/namespaces/kube-system/services/weave-scope-app
uid: 487d3909-b5cc-11e7-8adc-441ea16045ac
spec:
clusterIP: <IP_ADDRESS>
externalTrafficPolicy: Cluster
ports:

name: app
nodePort: 30733
port: 80
protocol: TCP
targetPort: 4040
selector:
app: weave-scope
name: weave-scope-app
weave-cloud-component: scope
weave-scope-component: app
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}

The copy/paste of your kubectl edit isn't very clear as it's being formatted as markdown. Could you indicated what you've edited in the configuration?
Thanks.


archive: Add zstd decoding

The formatting of the arrays in the tests is obviously ridiculous, but otherwise I think I'm happy with this.