[extractor/youtube] Extract channel_is_verified

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

ADD DESCRIPTION HERE
Adds new field channel_is_verified
This also fixes and tidies up a few other metadata extraction problems.
Template

Before submitting a pull request make sure you have:

[X] At least skimmed through contributing guidelines including yt-dlp coding conventions
[X] Searched the bugtracker for similar pull requests
[X] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[X] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[X] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[X] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at cbe19de
Summary
🛡📊🎥

This pull request adds new features for YouTube extraction and testing. It enables yt_dlp to get and check the verification status of channels and videos, as well as the heatmap data of videos, from the YouTube platform. It also adds a new attribute channel_is_verified to the InfoExtractor class, which can be used by other extractors as well.

Sing, O Muse, of the skillful coder who devised
A clever way to mark the channels verified
By the mighty YouTube, whose videos he explored
With InfoExtractor, the base class he adored.

Walkthrough

Add a new attribute channel_is_verified to the InfoExtractor class and its subclasses, which indicates whether the channel that uploaded the video is verified on the platform (link, link, link, link, link)
Add a new enum value VERIFIED to the BadgeType class, which represents the verified badge that shows a check mark next to the channel name (link)
Move the definition of the _extract_badges method from the YoutubeBaseInfoExtractor class to the InfoExtractor class, and update the logic to handle different types of badge renderers and labels (link, link, link, link)
Update the methods that extract information from video, channel, comment, and sidebar renderers to use the _extract_badges method and the VERIFIED badge type, and to set the channel_is_verified attribute accordingly (link, link, link, link)
Update the test cases for the YoutubeIE, YoutubeTabIE, YoutubeSearchURLIE, and YoutubeConsentRedirectIE classes to include the channel_is_verified, comment_count, and heatmap fields in the expected dictionaries, and to match the current values of the dynamic fields (link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link, link)
Fix a bug where the badge_type variable was used instead of the label_badge_type variable in the _extract_badges method, and add a break statement to exit the loop once a match is found (link)
Fix a bug where the channel_handle variable could be None in the _extract_channel_renderer method, and try to extract the handle from the subscriberCountText field of the renderer (link)
Remove an outdated comment from the _extract_channel_renderer method (link)

Pls merge as 2 commits. I want the addition of a new field to have its own clean commit. You can first merge all the cleanup except new field.

Ans add to readme


lagoon deploy results improvement

Is your feature request related to a problem? Please describe.
running the lagoon deploy command says success immediately without knowing the results of the deployment
Describe the solution you'd like
I would like to watch the deployment logs (the same that are viewable in lagoon UI) live as they are happening.  Maybe a --watch flag?
Additional context
I ran a deployment with the cli and it said success.  The deployment failed however.

Currently, there is no way to stream the log output live from lagoon :(
At the moment, the best that can be done is to start a deployment, then poll the api for the status of the deployment until it completes. Once complete, it could dump the build log in one hit.

That'll work, as long as you don't have to leave the terminal to see what actually happened

https://github.com/uselagoon/lagoon-cli/pull/294 changes the lagoon get deployment command to accept the build name. This hasn't been released yet, but it will be soon.
This will return the build after it has been triggered, you could after triggering the build wrap it in a loop that checks the output of the get deployment for the status then
BUILDNAME=$(lagoon deploy latest --project $project --environment $environment --force --returnData)
lagoon get deployment --project $project --environment $environment --name $BUILDNAME

get deployment also has the --logs flag to return the logs, but doing this repeatedly is kind of pointless because they only update when there are periodic status changes.
I'm going to close this issue out, as the release that contains this is being bundled at the moment.


504 error while getting region features

Sometimes getting features results in an 504 error.
It is probably caused through slow data loading.
Example API call:
https://siibra-api-latest.apps-dev.hbp.eu/v2_0/atlases/juelich/iav/atlas/v1.0.0/1/parcellations/minds/core/parcellationatlas/v1.0.0/94c1125b-b87e-45e4-901c-00daee7f2579-290/regions/v2/features

yea, I noticed this as well, but this unfortunately cannot be fixed on our end.
I believe it is the nginx reverse proxy, that sets the timeout to 30 seconds.
part of the reason for implementing the redis in memory cache is so that expensive requests can be cached, and do not result in repeated 504's....

Response caching has been introduced. This issue can be marked as resolved.


New OSL builtins for patterns: linearstep(), smooth_linearstep()

linearstep(edge0, edge1, x) linearly interpolates from 0 to 1 as x goes from edge0 to edge1.
Here is a picture of linearstep(0,1,x):

smooth_linearstep(edge0, edge1, x, eps) is exactly linear (identical to linearstep) on [edge0+eps,edge1-eps] but has smooth ramp on and off between [edge0-eps,edge0+eps] and [edge1-eps,edge1+eps].
Below, linearstep(0,1,x) is blue, smoothstep(0,1,x) is green, smooth_linearstep(0,1,x,0.1) is red:

smooth_linearstep has some interesting properties:

It is exactly linear in much of its domain, unlike smoothstep which is always curvy.
Its slope is 1 in the linear range, exactly matching linearstep, unlike smoothstep which is "steeper" than linear interpolation.
But it does this be having its tails extend slightly beyond the edge0 and edge1 values.

By the way, I made those graphs with OSL!  I will polish it a bit and then publish the graphing shader.

LGTM


Harden hosting startup

Aggressively force loading of dependencies in our own implementations of IHostingStartup to avoid delayed load exceptions
Ensure VS doesn't attempt to enable hosting startup for AppInsights if application already depends on it explicitly, or that enabling app insights is completely idempotent and we are ok with it being done all the time.

Does this hardening belong in Hosting or in the individual light-up packages? I would think they would be better equipped to understand their own dependencies.

Each lightup package probably, depends on the plan. Your right this should probably move to AzureIntegration, I blindly put it here because it had hosting in the name.

https://github.com/aspnet/Hosting/issues/1075

Offline notes:

Fix #1075
Lightup packages should touch their primary dependencies from with HostingStartup.
Make sure lit up components are idempotent (don’t double register services, middleware, etc..)
Many WebHostBuilder methods register callbacks that are executed later, outside of the HostingStartup catch block. If these are the first thing to touch a dependency, they also need to be wrapped. See ConfigureServices, ConfigureLogging, ConfigureAppConfiguration, etc..
It's not just 3rd party dependencies that are the problem. An app may deploy and load an earlier version of ASP.NET libraries (e.g. Json config), so when the lightup tries to load the current version it may fail.

Aside from, most of the changes need to be made in the lightup packages. @muratg this need triaging, #1075 is the most critical fix and the only one that will fit in preview2.

We did the planned work for preview2. There's a few follow-up items that we'll need to talk about and plan for preview3.

@DamianEdwards do we want to invest time in detectoid work in 2.0.0 RTM?

No, I don't think it's critical for release.

Closing as we think what we currently have is good enough.


BITMAKER-2086: Integrate estela with Webpack

Description
Modify estela to use webpack and restructure the app.
Issue

Issue ID.

Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] My code follows the style guidelines of this project.
[ ] I have made corresponding changes to the documentation.
[x] New and existing tests pass locally with my changes.
[x] If this change is a core feature, I have added thorough tests.
[x] If this change affects or depends on the behavior of other estela repositories, I have created pull requests with the relevant changes in the affected repositories. Please, refer to our official documentation.
[x] I understand that my pull request may be closed if it becomes obvious or I did not perform all of the steps above.

@rodp63 I think it's ready to review.


”Igiroasa”, ”Lumnic”, ”Mijarca”, ”Prunaru”, ”Zegaia” are listed in the drop-down menu

Description:
When user writes ”Igiroasa”, ”Lumnic”, ”Mijarca”, ”Prunaru”, ”Zegaia” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Igiroasa"

Expected results
The location appears in the drop-down menu as "Sat Igiroasa, MEHEDINȚI (Prunișor)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Lumnic"

Expected results
The location appears in the drop-down menu as "Sat Lumnic, MEHEDINȚI (Prunișor)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Prunaru"

Expected results
The location appears in the drop-down menu as "Sat Prunaru, MEHEDINȚI (Prunișor)".

Step 8
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 9
Write in the search bar "Zegaia"

Expected results
The location appears in the drop-down menu as "Sat Zegaia, MEHEDINȚI (Prunișor)".


interface references

Allow interfaces to be used in the API surface, they should already be usable but it is not sure if all templates support them.
Here is an example:
interface Radio { ... }
interface Registry {
  get(name: string): Radio
}

To make this work we need to ensure that all filters in all technologies do return interfaces.
We need also decide if interfaces in structs are allowed?

You can add now interfaces as part of your references:
IDL
module demo 1.0

interface Common {
    value3: int
}

interface Counter {
    getCommon(): Common
}

YAML
name: demo
version: "1.0"

interfaces:
  - name: Common
  - name: Counter
    operations:
      - name: getCommon
        return:
          type: Common

Code
Will result into code like

package demo

// Data Structures
type Common interface {
    // Methods

}
type Counter interface {
    // Methods
    GetCommon() Common
}

Filters
In the filters only the interface case needs to be handled:
func ToReturnString(prefix string, schema *model.Schema) (string, error) {
  ...
	case model.TypeInterface:
		text = fmt.Sprintf("%s%s", prefix, schema.Type)
  ...
}

We will not implement this. We expect interfaces can not be used a references.


Add proper support for eth_hashrate

We should properly support eth_hashrate, as it currently always returns 0.
We need to add eth_submitHashrate that is just a two arg function, a BigInteger first arg (value) and a hash as second arg (key) and we put it in a hashmap.  Then for eth_hashrate we sum up the values of the map with the cpu rate.
We may want to size limit the hashmap (where we evict the least recently updated value) and remove zero rates to prevent memory bloat attacks.

If we always return 0, does this count as a bug?

If we always return 0, does this count as a bug?

I would say it’s an improvement rather than a bug

In progress ...
Implementation

Implemented submitHashrate endpoint which is by default limited to 1000 sealers. Adding a 1001 will remove the oldest from the list (0x0 hashrate is refused)
Updated eth_hashrateendpoint so that it returns the cumulative hashrate of all sealers if the list is not empty. Otherwise it returns the local hashrate
Added hashrate submission with Stratum1EthProxyProtocol and Stratum1Protocol

Test

Tested the hashrate submission with ethminer sudo ethminer -G -P stratum + tcp: //<IP_ADDRESS>: 8008 --report-hashrate
Tested the json rpc api

{"id":1,"jsonrpc":"2.0","method":"eth_submitHashrate","params":["0x00","0x01"]}

{"id":1,"jsonrpc":"2.0","method":"eth_submitHashrate","params":["0x01","0x01"]}

ToDo

Test with Phoenix
Test with EthProxy
Add CLI option to change the limited number of sealers


Add getting started section to README

Readme Update
Please add a getting started section to README so people will know how to start the project

Added Getting Started section to README file.


Where can I handle error when file size exceeds maxFieldsSize?

I  set koa-body options to
{
    formidable:{
        uploadDir: './static/uploads',
        keepExtensions:true,
        maxFieldsSize :1024*1024,  //1M
    },

    multipart: true,
    urlencoded: true,
}

when I upload a file with size larger than 1M, I get a 0 size file in my disk, but koa-body do not throw this error. How I can handle it ?

maxFieldsSize can't limit the size of upload file

@awayisblue you should use maxFileSize: 1 * 1024 * 1024


How/where to handle Heartbeat timeout exception

Hi @cressie176,
I am trying to test the reconnection part of Rascal. When shutting down RabbitMQ, I see the reconnection code working, using the DEBUG mode for Rascal. I see some instances of Heartbet timeout coming up from the amqplib, like:
at Heart.emit (events.js:198:13)',\n     '    at Heart.EventEmitter.emit (domain.js:448:20)',\n     '    at Heart.runHeartbeat (/Users/carlosgarcia/Documents/mailonline/development/mol-fe/mol-fe-web-push-api/node_modules/amqplib/lib/heartbeat.js:88:17)',\n     '    at ontimeout (timers.js:436:11)',\n     '    at tryOnTimeout (timers.js:300:5)',\n     '    at listOnTimeout (timers.js:263:5)',\n     '    at Timer.processTimers (timers.js:223:10)' ]
I have two applications, one producer and one consumer, using the same broker, and while the producer is able to publish messages after the reconnection, the consumer is not able to consume messages even though it seems that is has reconnected and re-established the subscriptions.
I see uncaught exceptions for the hearbeat and unexpected close errors. How should I handle those? I have .on('error') listeners in all the places mentioned in the documentation, when creating the broker and for the subscription and the publication. We use the promise version.
I can see this in the DEBUG rascal logs on the consumer application
rascal:Vhost Initialising vhost: my-host-name rascal:tasks:createConnection Connecting to broker using url: amqp://admin:***@localhost:5673/web-push-api?heartbeat=10&connection_timeout=10000&channelMax=100 rascal:tasks:createConnection Obtained connection: my-connection-hash rascal:tasks:createChannel Creating channel rascal:tasks:assertExchanges Asserting exchange: my-exchange rascal:tasks:assertQueues Asserting queue: subscription rascal:tasks:applyBindings Binding queue: subscription to exchange: my-exchange with binding key: my-binding-key rascal:tasks:closeChannel Closing channel rascal:Vhost vhost: my-host-name was initialised with connection: my-connection-hash
Is normal that it closes the channel?
Checking the RabbitMQ UI Management, it seems the consumer doesn't get attached to the queue.
Please, let me know if you need any more info from my side.
Thanks a lot.

Hi @carlosvillademor,
Nice to hear from you. The channel that's being closed is the one rascal used to assert the exchanges and queues. It is normal for rascal to close this after initialising the vhost. You can see the series of tasks here
It's odd that you're seeing uncaught exceptions though. I've no explanation for that, and don't get them if I run the simple example and pause the docker container after a while, e.g.
npm run docker
cd examples/simple
DEBUG='rascal:*' node index.js

2019-07-03T21:07:11.924Z: hello world
rascal:SubscriberSession Acknowledging message: 4b53bcba-e6b2-4aad-8ba9-b952d7cd3dc6 on channel: 5458fdcf-ed24-4507-80d4-84d370f2c3f3 +1s
rascal:Vhost Returning confirm channel: d5473513-8be8-436e-8c97-c4ad2825fe1a. Queue size: 0, pool size: 1, available: 0, taken: 1 +11ms
rascal:Vhost Requested confirm channel. Queue size: 0, pool size: 1, available: 1, taken: 0 +993ms
rascal:Vhost Borrowed confirm channel: d5473513-8be8-436e-8c97-c4ad2825fe1a. Queue size: 0, pool size: 1, available: 0, taken: 1 +0ms
rascal:Publication Publishing 37 bytes to confirm exchange: demo_ex with routingKeys: a.b.c +1s
rascal:Subscription Received message: f3747b34-eaed-4b6c-9360-3770b85d839e from queue: demo_q +1s
2019-07-03T21:07:12.928Z: hello world
rascal:SubscriberSession Acknowledging message: f3747b34-eaed-4b6c-9360-3770b85d839e on channel: 5458fdcf-ed24-4507-80d4-84d370f2c3f3 +1s
rascal:Vhost Returning confirm channel: d5473513-8be8-436e-8c97-c4ad2825fe1a. Queue size: 0, pool size: 1, available: 0, taken: 1 +14ms
rascal:Vhost Requested confirm channel. Queue size: 0, pool size: 1, available: 1, taken: 0 +991ms
rascal:Vhost Borrowed confirm channel: d5473513-8be8-436e-8c97-c4ad2825fe1a. Queue size: 0, pool size: 1, available: 0, taken: 1 +0ms

docker pause rascal-rabbitmq

rascal:Publication Publishing 37 bytes to confirm exchange: demo_ex with routingKeys: a.b.c +1s
rascal:Vhost Requested confirm channel. Queue size: 0, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 0, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 1, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 0, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 0, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 1, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 2, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 3, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 4, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 5, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 6, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 7, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 8, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 9, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 10, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 11, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 12, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 13, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 14, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 15, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 16, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 17, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 18, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 19, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 20, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Requested confirm channel. Queue size: 21, pool size: 1, available: 0, taken: 1 +1s
rascal:Vhost Handling connection error: Heartbeat timeout initially from connection: 9a7be731-b9c3-400b-9dbd-d0a56d8bdd68, vhost:amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +851ms
Error: Heartbeat timeout
at Heart. (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/connection.js:427:19)
at emitNone (events.js:106:13)
at Heart.emit (events.js:208:7)
at Heart.runHeartbeat (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/heartbeat.js:88:17)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)
rascal:Vhost Initialising vhost: / +1ms
rascal:tasks:createConnection Connecting to broker using url: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +40s
rascal:Subscription Handling channel error: Heartbeat timeout from demo_sub using channel: 5458fdcf-ed24-4507-80d4-84d370f2c3f3 +25s
Error: Heartbeat timeout
at Heart. (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/connection.js:427:19)
at emitNone (events.js:106:13)
at Heart.emit (events.js:208:7)
at Heart.runHeartbeat (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/heartbeat.js:88:17)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)
rascal:Publication Channel error: Heartbeat timeout during publication of message: 886cdac7-8302-4c34-8311-1f17ad7dcd6b to demo_pub using channel: d5473513-8be8-436e-8c97-c4ad2825fe1a +24s
Error: Heartbeat timeout
at Heart. (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/connection.js:427:19)
at emitNone (events.js:106:13)
at Heart.emit (events.js:208:7)
at Heart.runHeartbeat (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/heartbeat.js:88:17)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5) '886cdac7-8302-4c34-8311-1f17ad7dcd6b'
rascal:SubscriberSession Removing channel: 5458fdcf-ed24-4507-80d4-84d370f2c3f3 from session +25s
rascal:Subscription Subscribing to queue: demo_q +2ms
rascal:Vhost Requested channel. Outstanding channel requests: 2 +4ms
rascal:Vhost Requested confirm channel. Queue size: 22, pool size: 1, available: 0, taken: 0 +149ms
rascal:Vhost Will attempt reconnection in in 1392ms +853ms
rascal:Vhost Requested confirm channel. Queue size: 23, pool size: 1, available: 0, taken: 0 +151ms
rascal:Vhost Requested confirm channel. Queue size: 24, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Handling connection error: Failed to connect to: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT initially from connection: 9a7be731-b9c3-400b-9dbd-d0a56d8bdd68, vhost:amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +232ms
Error: Failed to connect to: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT
at Socket. (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/connect.js:172:20)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at Socket.emit (events.js:208:7)
at Socket._onTimeout (net.js:407:8)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)
rascal:Vhost Initialising vhost: / +2ms
rascal:tasks:createConnection Connecting to broker using url: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +2s
rascal:Vhost Requested confirm channel. Queue size: 25, pool size: 1, available: 0, taken: 0 +771ms
rascal:Vhost Will attempt reconnection in in 3848ms +233ms
rascal:Vhost Requested confirm channel. Queue size: 26, pool size: 1, available: 0, taken: 0 +772ms
rascal:Vhost Requested confirm channel. Queue size: 27, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 28, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 29, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Handling connection error: Failed to connect to: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT initially from connection: 9a7be731-b9c3-400b-9dbd-d0a56d8bdd68, vhost:amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +68ms
Error: Failed to connect to: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT
at Socket. (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/connect.js:172:20)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at Socket.emit (events.js:208:7)
at Socket._onTimeout (net.js:407:8)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)
rascal:Vhost Initialising vhost: / +0ms
rascal:tasks:createConnection Connecting to broker using url: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +5s
rascal:Vhost Requested confirm channel. Queue size: 30, pool size: 1, available: 0, taken: 0 +936ms
rascal:Vhost Will attempt reconnection in in 6215ms +67ms
rascal:Vhost Requested confirm channel. Queue size: 31, pool size: 1, available: 0, taken: 0 +937ms
rascal:Vhost Requested confirm channel. Queue size: 32, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 33, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 34, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 35, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 36, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Handling connection error: Failed to connect to: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT initially from connection: 9a7be731-b9c3-400b-9dbd-d0a56d8bdd68, vhost:amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +263ms
Error: Failed to connect to: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT
at Socket. (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/connect.js:172:20)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at Socket.emit (events.js:208:7)
at Socket._onTimeout (net.js:407:8)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)
rascal:Vhost Initialising vhost: / +0ms
rascal:tasks:createConnection Connecting to broker using url: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +7s
rascal:Vhost Requested confirm channel. Queue size: 37, pool size: 1, available: 0, taken: 0 +738ms
rascal:Vhost Will attempt reconnection in in 11174ms +267ms
rascal:Vhost Requested confirm channel. Queue size: 38, pool size: 1, available: 0, taken: 0 +734ms
rascal:Vhost Requested confirm channel. Queue size: 39, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 40, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 41, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 42, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 43, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 44, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 45, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 46, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 47, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 48, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Handling connection error: Failed to connect to: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT initially from connection: 9a7be731-b9c3-400b-9dbd-d0a56d8bdd68, vhost:amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +401ms
Error: Failed to connect to: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT
at Socket. (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/connect.js:172:20)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at Socket.emit (events.js:208:7)
at Socket._onTimeout (net.js:407:8)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)
rascal:Vhost Initialising vhost: / +0ms
rascal:tasks:createConnection Connecting to broker using url: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +12s
rascal:Vhost Requested confirm channel. Queue size: 49, pool size: 1, available: 0, taken: 0 +603ms
rascal:Vhost Will attempt reconnection in in 22491ms +402ms
rascal:Vhost Requested confirm channel. Queue size: 50, pool size: 1, available: 0, taken: 0 +600ms
rascal:Vhost Requested confirm channel. Queue size: 51, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 52, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 53, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 54, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 55, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 56, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 57, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 58, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 59, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 60, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 61, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 62, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 63, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 64, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 65, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 66, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 67, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 68, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 69, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 70, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Requested confirm channel. Queue size: 71, pool size: 1, available: 0, taken: 0 +1s
rascal:Vhost Handling connection error: Failed to connect to: amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT initially from connection: 9a7be731-b9c3-400b-9dbd-d0a56d8bdd68, vhost:amqp://guest:@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +814ms
Error: Failed to connect to: amqp://guest:***@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100. Original message was: connect ETIMEDOUT
at Socket. (/Users/steve/Development/guidesmiths/rascal/node_modules/amqplib/lib/connect.js:172:20)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:106:13)
at Socket.emit (events.js:208:7)
at Socket._onTimeout (net.js:407:8)
at ontimeout (timers.js:475:11)
at tryOnTimeout (timers.js:310:5)
at Timer.listOnTimeout (timers.js:270:5)

docker unpause rascal-rabbitmq

rascal:Vhost Initialising vhost: / +1ms
rascal:tasks:createConnection Connecting to broker using url: amqp://guest:***@localhost:5672?heartbeat=10&connection_timeout=10000&channelMax=100 +24s
rascal:tasks:createConnection Obtained connection: 14ab05a0-ef7b-46fd-8ef9-49b8779f015e +11ms
rascal:tasks:createChannel Creating channel +2m
rascal:tasks:assertExchanges Asserting exchange: demo_ex +2m
rascal:tasks:assertQueues Asserting queue: demo_q +2m
rascal:tasks:applyBindings Binding queue: demo_q to exchange: demo_ex with binding key: a.b.c +2m
rascal:tasks:closeChannel Closing channel +2m
rascal:Vhost vhost: / was initialised with connection: 14ab05a0-ef7b-46fd-8ef9-49b8779f015e +23ms
rascal:Vhost Created channel 90ac8002-7370-441c-956f-425710cbc791 from connection: 14ab05a0-ef7b-46fd-8ef9-49b8779f015e +16ms
rascal:Vhost Borrowed confirm channel: 90ac8002-7370-441c-956f-425710cbc791. Queue size: 72, pool size: 1, available: 0, taken: 1 +1ms
rascal:Publication Publishing 37 bytes to confirm exchange: demo_ex with routingKeys: a.b.c +50s
rascal:Vhost Created channel e91b1968-13e2-4b80-a0ca-3418af5e15b7 from connection: 14ab05a0-ef7b-46fd-8ef9-49b8779f015e +6ms
rascal:Vhost Returning confirm channel: 90ac8002-7370-441c-956f-425710cbc791. Queue size: 71, pool size: 1, available: 0, taken: 1 +7ms
rascal:Vhost Borrowed confirm channel: 90ac8002-7370-441c-956f-425710cbc791. Queue size: 71, pool size: 1, available: 0, taken: 1 +0ms
rascal:Publication Publishing 37 bytes to confirm exchange: demo_ex with routingKeys: a.b.c +13ms
rascal:SubscriberSession Opening subscriber session: amq.ctag-3ujqH7hOkOy1m8dr_qaBaA on channel: e91b1968-13e2-4b80-a0ca-3418af5e15b7 +50s
rascal:Subscription Received message: ccb48b46-3c83-4c49-99c8-e8f3e2bbebb7 from queue: demo_q +50s
2019-07-03T21:07:14.937Z: hello world
rascal:SubscriberSession Acknowledging message: ccb48b46-3c83-4c49-99c8-e8f3e2bbebb7 on channel: e91b1968-13e2-4b80-a0ca-3418af5e15b7 +1ms
rascal:Subscription Received message: 8e340e30-2cb4-4efd-bec4-f95202bf75e3 from queue: demo_q +3ms
2019-07-03T21:07:15.939Z: hello world
rascal:SubscriberSession Acknowledging message: 8e340e30-2cb4-4efd-bec4-f95202bf75e3 on channel: e91b1968-13e2-4b80-a0ca-3418af5e15b7 +3ms
rascal:Vhost Returning confirm channel: 90ac8002-7370-441c-956f-425710cbc791. Queue size: 70, pool size: 1, available: 0, taken: 1 +7ms
rascal:Vhost Borrowed confirm channel: 90ac8002-7370-441c-956f-425710cbc791. Queue size: 70, pool size: 1, available: 0, taken: 1 +0ms
rascal:Publication Publishing 37 bytes to confirm exchange: demo_ex with routingKeys: a.b.c +7ms
rascal:Subscription Received message: 202e046f-5f98-498b-afc2-6b295974677d from queue: demo_q +6ms
2019-07-03T21:07:16.941Z: hello world

@carlosvillademor any luck?

Hey @cressie176,
very sorry for the late reply mate. Well, kind of. It got better when I changed to use only one broker per application. I was using two at the beginning. My reasoning being to have two different TCP connections, one for subscriptions and another for publications. Later I realised that was done under the hood by Rascal. The fact is that I was able to see the reconnection happening although sometimes my application dies, but it has nothing to do with Rascal. I have a listener on the process exit event, but it is not giving much information about why is exiting. Anyway, nothing to do with Rascal.
So sorry for the false alarm, and thanks for the help. Maybe we could add explicitly that Rascal creates two different TCP connections under the hood to the documentation, what do you think? I was reading best practices on CloudAMQP and they talk about the two connections to separate publishers and consumers, hence my try to create two brokers, if you see what I mean.
Thanks @cressie176! And nice job this Rascal!

Hi @carlosvillademor, I don't think Rascal does create multiple connections - it will create multiple channels though.

Just thought it was worth mentioning, I am not doing anything but the boilerplate examples in an application and have seen the heartbeat timeout error boil up and crash my app sporadically. I haven't been able to pinpoint why sometimes it does and sometimes it doesn't.  I attach the error handlers in the 4 places it says to in the documentation, and even see the error message get logged, but it somehow still bubbles up to the top scope and crashes the app.  I will try to reproduce in an isolated docker setting with my exact configuration.


Fails to compile/run with syntax error at ./triehash.pl line 221, near "package Trie {

$ git log --oneline --no-decorate -1
e0bd5e0 Merge pull request #2 from jwilk-forks/spelling
$ ./triehash.pl
Invalid version format (non-numeric data) at ./triehash.pl line 219, near "package Trie "
syntax error at ./triehash.pl line 221, near "package Trie {

    "
Execution of ./triehash.pl aborted due to compilation errors.
$ perl --version

This is perl 5, version 12, subversion 1 (v5.12.1) built for x86_64-linux-thread-multi

Copyright 1987-2010, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

$ git log --oneline --no-decorate -1
e0bd5e0 Merge pull request #2 from jwilk-forks/spelling

$ prun perl perl --version

This is perl 5, version 34, subversion 0 (v5.34.0) built for x86_64-linux-thread-multi

Copyright 1987-2021, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

Thank you. No idea, why I didn’t finish trying with the newer Perl version I pasted at the end. So with Perl 5.34.0:
$ prun perl perl ./triehash.pl
#ifndef TRIE_HASH_PerfectHash
#define TRIE_HASH_PerfectHash
#include <stddef.h>
#include <stdint.h>
enum PerfectKey {
    Unknown = -1,
};
static enum PerfectKey PerfectHash(const char *string, size_t length);
#ifdef __GNUC__
typedef uint16_t __attribute__((aligned (1))) triehash_uu16;
typedef char static_assert16[__alignof__(triehash_uu16) == 1 ? 1 : -1];
typedef uint32_t __attribute__((aligned (1))) triehash_uu32;
typedef char static_assert32[__alignof__(triehash_uu32) == 1 ? 1 : -1];
typedef uint64_t __attribute__((aligned (1))) triehash_uu64;
typedef char static_assert64[__alignof__(triehash_uu64) == 1 ? 1 : -1];
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
#define onechar(c, s, l) (((uint64_t)(c)) << (s))
#else
#define onechar(c, s, l) (((uint64_t)(c)) << (l-8-s))
#endif
#if (!defined(__ARM_ARCH) || defined(__ARM_FEATURE_UNALIGNED)) && !defined(TRIE_HASH_NO_MULTI_BYTE)
#define TRIE_HASH_MULTI_BYTE
#endif
#endif /*GNUC */
#ifdef TRIE_HASH_MULTI_BYTE
#else
#endif /* TRIE_HASH_MULTI_BYTE */
static enum PerfectKey PerfectHash(const char *string, size_t length)
{
    switch (length) {
    default:
        return Unknown;
    }
}
#endif                       /* TRIE_HASH_PerfectHash */


Document the alignment assumption in RawConcurrentBitmap.

Added to class header and to the function that assumes this.

Why doesn't Allocate() enforce this requirement? I realize we currently only using it in testing, but it seems odd not to enforce alignment requirement in its own internal Allocate() function.

Actually, better still, TERRIER_ASSERT this requirement (this % 8 == 0) where the correctness of code depends on this

Coverage remained the same at 98.129% when pulling ff852c62fc454d887f23a3bbf50982e0e31c319a on lmwnshn:cbdoc into 05e7368432d7e0a2d65b29f288f8455e378219c3 on cmu-db:master.

@mbutrovich
Will we ever use Allocate outside of testing? I added an assert there, but technically the Allocate function itself should ensure it returns some 64-bit aligned memory. Though I'm not sure how that works right now.

@lmwnshn You can use AllocationUtil


Hopefully fix the issue this time

for posterity, this is in ref to https://github.com/ibutsu/ibutsu-server/issues/46


Fix Dependabot config

Summary
@yahoo/ychaos-dev

the pytz python package recognises Asia/Kolkata as the timezone for India.
Also on validating using the Dependabot Config Validator, found that the message was too long, so truncating it.

Fixes: Dependabot config

Checklist
Checklist (Developer)
Prerequisites

[x] I have read the contribution guidelines

Code Analysis

[ ] Covered by Unittests
[ ] Security warnings ignored (Why?!)

Project related

[ ] Schema changed and is backward compatible.
[ ] Introduces a new sub-command for ychaos CLI

Autogenerated Files

[ ] Auto generated schema

Pre-Merge Checklist

[ ] All the build jobs are passing

Checklist (Reviewer 1)

[ ] Reviewed Source Code
[ ] Reviewed Tests (If applicable)
[ ] Reviewed Documentation (If applicable)

Checklist (Reviewer 2)

[ ] Reviewed Source Code
[ ] Reviewed Tests (If applicable)
[ ] Reviewed Documentation (If applicable)

Linked to #36


Fix #211

Ensure that transitive ivy jars are not directly aggregated under a module's runClasspath; only the ivy coordinates are aggregated, and every module resolves it's own set of ivy jars using coursier, which avoids duplicate jars entering the classpath through ivy
Fixes https://github.com/lihaoyi/mill/issues/211
Not sure why the tests are sad on Java 9

Would be great to see what caused java.lang.reflect.InvocationTargetException in java9 tests
all java.lang.reflect.InvocationTargetException
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.base/java.lang.reflect.Method.invoke(Method.java:564)
    mill.define.Module$Internal.$anonfun$reflect$2(Module.scala:67)
    scala.collection.TraversableLike$WithFilter.$anonfun$map$2(TraversableLike.scala:739)
    scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
    scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
    scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:191)
    scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:738)
    mill.define.Module$Internal.reflect(Module.scala:61)
    mill.main.ResolveTasks$.endResolveLabel(Resolve.scala:125)

I managed to be able to reduplicate the issue on my machine.
Based on @lihaoyi's comment here, I tried removing ~/.mill and it seems to workaround it (see https://travis-ci.org/lihaoyi/mill/builds/359079895). So, it seems the issue is Ammonite caching (no idea why the caching issue is exposed only in Java 9; I guess it's a ... feature 😆).

@lihaoyi I changed some ci test scripts and appveyor config in master to remove ~/.mill before running tests; if you rebase/merge, that should make this PR green. It can be reverted when the caching issue cause is identified and resolved.

@robby-phd great, will give it a shot. I have a tentative fix for the
caching problem in the test branch of the Ammonite repo, so hopefully a
fix isn’t too far away
On Tue, 27 Mar 2018 at 2:43 PM, Robby<EMAIL_ADDRESS>wrote:

@lihaoyi https://github.com/lihaoyi I changed some ci test scripts and
appveyor config in master to remove ~/.mill before running tests; if you
rebase/merge, that should make this PR green. It can be reverted when the
caching issue cause is identified and resolved.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lihaoyi/mill/pull/261#issuecomment-376685651, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ATpwjAXcAmcchY8RYs2yFgqgNSy9350_ks5tirJogaJpZM4S9Ry1
.


Phoebemirman/ch14649/GitHub give edge users ability to change

https://app.clubhouse.io/augur/story/14649/github-give-edge-users-ability-to-change-gas-price
needs gasPriceOverride branch merged into augur.js code merged into augur.js

This pull request introduces 4 alerts and fixes 1 when merging deaec388186bed859b5289c08eea8ac996c2b86e into cd04a910fbaa2f240c7b077ff0870210ed097819 - view on LGTM.com
new alerts:

4 for Potentially inconsistent state update

fixed alerts:

1 for Potentially inconsistent state update

Comment posted by LGTM.com

Coverage decreased (-0.2%) to 62.996% when pulling deaec388186bed859b5289c08eea8ac996c2b86e on phoebemirman/ch14649/github-give-edge-users-ability-to-change into cd04a910fbaa2f240c7b077ff0870210ed097819 on master.

This pull request introduces 4 alerts and fixes 1 when merging cbb39d51aabc4ddec6f8850fc831cf20c8efd741 into cd04a910fbaa2f240c7b077ff0870210ed097819 - view on LGTM.com
new alerts:

4 for Potentially inconsistent state update

fixed alerts:

1 for Potentially inconsistent state update

Comment posted by LGTM.com

This pull request introduces 4 alerts and fixes 1 when merging 8570d9c79981a7442d73b15dd9fc3a7d3f1bdf8a into cd04a910fbaa2f240c7b077ff0870210ed097819 - view on LGTM.com
new alerts:

4 for Potentially inconsistent state update

fixed alerts:

1 for Potentially inconsistent state update

Comment posted by LGTM.com

This pull request introduces 5 alerts and fixes 1 when merging dca043418e1af8141cdcb0584c7685e967402630 into cd04a910fbaa2f240c7b077ff0870210ed097819 - view on LGTM.com
new alerts:

4 for Potentially inconsistent state update
1 for Superfluous trailing arguments

fixed alerts:

1 for Potentially inconsistent state update

Comment posted by LGTM.com

This pull request introduces 7 alerts and fixes 1 when merging 2ae2763304f68dc27ae9ef5e29afb0339b4772d1 into 26897ec1ae0eccd9bf74156fd5912b65bca48c66 - view on LGTM.com
new alerts:

5 for Potentially inconsistent state update
1 for Superfluous trailing arguments
1 for Syntax error

fixed alerts:

1 for Potentially inconsistent state update

Comment posted by LGTM.com

This pull request introduces 6 alerts and fixes 1 when merging c855444e62dd56be248889e51537fb44911ce213 into 26897ec1ae0eccd9bf74156fd5912b65bca48c66 - view on LGTM.com
new alerts:

5 for Potentially inconsistent state update
1 for Superfluous trailing arguments

fixed alerts:

1 for Potentially inconsistent state update

Comment posted by LGTM.com

This pull request introduces 6 alerts and fixes 1 when merging 021e0eb0645dd7fa1a7681089e28be2e6a2c5c9f into 26897ec1ae0eccd9bf74156fd5912b65bca48c66 - view on LGTM.com
new alerts:

5 for Potentially inconsistent state update
1 for Superfluous trailing arguments

fixed alerts:

1 for Potentially inconsistent state update

Comment posted by LGTM.com

This pull request introduces 6 alerts and fixes 1 when merging a7ad9992cf1f8bc0fa0ac71f1c40d32ec48d3305 into 26897ec1ae0eccd9bf74156fd5912b65bca48c66 - view on LGTM.com
new alerts:

5 for Potentially inconsistent state update
1 for Superfluous trailing arguments

fixed alerts:

1 for Potentially inconsistent state update

Comment posted by LGTM.com


Memory trimming

how much memory reduced?

around 6 GB of memory should be reduced, since the memory requirements for TCs are brought down heavily.


[WIP] Introduce Redux

This is not going to be fun, but this is definitely needed...
Purpose
In this PR, I refactor the whole project to introduce Redux and get rid of
our very own Store. This was nice to learn and play with React, but now we
are reaching the limits of this part. Hence this refactoring to use Redux
instead, as we did for Franklin for instance.
Features

[x] Install Redux et al.
[x] Refactor components into logical units
[x] Make the component tests pass again
[x] Rewrite the Store into a Redux store (using modules and redux-ducks)
[ ] Port all existing tests
[ ] Maybe write a few more tests
[x] Maybe rename a few methods as our conventions slightly evolved since
the beginning of this project (e.g., onSomething() vs
handleSomething())

Also...

Fixes #107
Fixes #143

ETA
No ETA yet. Hence, contributions should be delayed as most of the code will
be affected.

I have to rewrite the tests for the store now, and everything should be ok then.

I broke the synchronization feature obviously.. Managed to get it work on my laptop but need to look at what I missed in the test suite..

Still something weird with the synchronization feature....

I am more and more convinced that having a separate routine for the synchronization is not our/my best idea..

Ok, that looks good to me now. Let's test it.

To fix:
Warning: Failed prop type: Required prop `forceUpdate` was not specified in `Editor`.
    in Editor
Warning: Failed prop type: Required prop `forceUpdate` was not specified in `Markdown`.
    in Markdown

Deployed last version (c1a2eeb) into production for 12-24h (with Sentry).
If you want to give it a try, browse https://monod.lelab.tailordev.fr/. If you don't have the latest version (see bottom right), close all your Monod tabs, then reopen https://monod.lelab.tailordev.fr/ again (that's how service workers work...). Next:

if you cannot load your existing documents, please let me know
if you get new forks of your current document for no reasons (e.g., you are working alone), please let me know
otherwise, Sentry should collect all other errors

🎆 🔥 ⭐ 🌟 🌠


Multi-session datasets with multiple lesion masks

Our current workflow seems to assume that when there's a lesion mask, there's only one T1w image and only one mask. In Neurostars #3776, where there are multiple sessions with anatomicals and masks, this results in an illegal list of lesion masks being passed to t1_2_mni.
mri_robust_register (used under the hood of mri_robust_template) was actually designed for the case of tumors [1], where the changing size would wreak havoc with cost functions. (The solution was to identify outlier voxels and exclude them from the cost function.)
So as long as the template looks reasonable, then the appropriate thing to do is to apply the transforms from each of the input T1w images to their corresponding lesion masks, and take the union of the masks.
Do we currently produce a figure for the report showing the lesion mask overlay? If we're going to do any manipulation of the masks, I think this will be an important addition.
@danlurie Your thoughts on this would be very appreciated.

Just want to make sure I understand the situation before answering, which of the following situations are we considering?

There are multiple sessions, and each session has its own T1w and lesion mask.
There are multiple sessions, each session has its own T1w but there is only a single lesion mask.
Both 1 and 2.
Something else.

Also, am I following correctly that multi-session T1w images are handled by registering them together; is that correct? Then the question is how best to transform the lesion masks from each session to the co-registered T1w images?

I believe it's case 1, at least for what we're seeing. If there were multiple T1s and only one lesion mask, that would itself be potentially problematic if the first session (ordered lexically) were not the one with the mask, then alignment might be broken.

Also, am I following correctly that multi-session T1w images are handled by registering them together; is that correct?

Yes, we create a template by coregistering all of the T1w images and taking the median. Typically aligned to the first image (ordered lexically).

Then the question is how best to transform the lesion masks from each session to the co-registered T1w images?

So it's just coregistering to a single template, and the transform from each original image to the template is produced by the template creation step. So we would then be able to pair each transform to the associated mask and easily get a series of masks in the template space.
My thought then is to take the union of all of these. I would assume that, if a voxel is marked bad in one of the T1w images, then it should be bad in the final template.

Is it possible to process T1w in different session separately?
In our case, different between session was more than a year or more for the same subject, same protocol, same parameter and same machines.

They can be preprocessed entirely separately, but I believe at the moment fMRIPrep can't simply select one session and ignore the others. If that's what you want, I think it makes sense to prioritize re-enabling --session <label> options, at which point you would run a separate instance of fMRIPrep for each session.
This would mean, though, that there's no correspondence between the T1w space for each session. Only the MNI space derivatives would be in register with each other. There are some open questions on the best way to handle longitudinal data, and we'd appreciate any input on what people expect/want in those cases.
In any event, are you working with the poster from NeuroStars (Peter Goodin)? If so, then fixing the session selection would probably be a better short term goal than working out the correct integration of lesion masks from multiple sessions.

Oh, I think Peter is on Github. cc @petergoodin

Thanks very much. I work with Ted Satterthwaite from Penn.

In my experience, given the difficulty of drawing/generating masks, multiple masks (i.e. one mask for each session) will only exist in cases where the masked area is different between sections, such as when doing a longitudinal study of stroke recovery. Given such a scenario, we would not want to take a union of the masks, but rather just accept that there will be some deformation when registering to the common T1w template.

If there were multiple T1s and only one lesion mask, that would itself be potentially problematic if the first session (ordered lexically) were not the one with the mask, then alignment might be broken.

I expect this issue will come up at some point for datasets where there are multiple sessions but only a single mask (e.g. because the pathology is stable and does not change over the period of the study). How to handle this may be more of a BIDS question (e.g. Do we require a mask in each session directory?)

Hi,
Just to confirm: the pathology is stable over scans and the mask was drawn from the first session lesion then co-registered to subsequent session.

Okay. I think in this particular case, as long as you're happy using the template, then removing the extra lesion masks might be sufficient to resolve your issue. I would run first with --anat-only, to make sure that the lesion mask does align to the final template (do not use --longitudinal).

Awesome, thanks for the work around!

Ah, and just to be clear:

I would run first with --anat-only, to make sure that the lesion mask does align to the final template

--anat-only will not fix the mask. It just avoids spending time on functionals before you've had a chance to verify the mask. You'll still want to manually load the preprocessed T1w and the original ROI mask to check.
And actually, I'd add --output-space T1w, which prevents T1w-MNI normalization. If your mask is not aligned, that will likely add on a bunch of time.

Same problem occurs in fmriprep. Is it still possible to solve this problem?

@276562578  In general, no we do not have a method for using multiple lesion masks. If your use case matches Peter's, then you can delete duplicate lesion masks. If not, please describe your use case in detail (a listing of the subject directory and description of the masks would be needed).

It's very appreciate!
I also want to confirm again, pter's case means multiple ses share one lesion mask, so do I just keep the lesion_roi in ses-1 and delete the lesion_roi in other ses, or do I put the same lesion_roi file in each ses?
Thanks again!

May be the only way I can do is like this?
bids
├── dataset_description.json
│── sub-L0011
│   ├── ses-1
│── sub-L0012
│   ├── ses-2
│── sub-L0013
│   ├── ses-3


cilium clustermesh status doesn't work when Clustermesh is installed via Helm

When Clustermesh is installed via Helm, the  cilium clustermesh status command doesn't run correctly.
This command fails because of a mismatch on the clustermesh certificates secret names defined on cilium-cli and Helm Chart.
cilium-cli
ClusterMeshServerSecretName           = "clustermesh-apiserver-server-certs"
ClusterMeshAdminSecretName            = "clustermesh-apiserver-admin-certs"
ClusterMeshClientSecretName           = "clustermesh-apiserver-client-certs"

Helm Chart
  name: clustermesh-apiserver-server-cert

https://github.com/cilium/cilium/blob/master/install/kubernetes/cilium/templates/clustermesh-apiserver-server-secret.yaml#L8
  name: clustermesh-apiserver-admin-cert

https://github.com/cilium/cilium/blob/master/install/kubernetes/cilium/templates/clustermesh-apiserver-admin-secret.yaml#L8
  name: clustermesh-apiserver-client-cert

https://github.com/cilium/cilium/blob/master/install/kubernetes/cilium/templates/clustermesh-apiserver-client-secret.yaml#L8
Its better to fix this on the Helm Chart right ?

This looks like an oversight in cilium-cli. I think we should fix this here rather than Cilium's Helm chart.

Thanks for the feedback :slightly_smiling_face: What happens to the clusters that were set up using the current version ? Should we make it retro-compatible, like only pick up the certs if there is no cert secret ?

Yes, I think making it compatible to clusters set up using the -certs secret would be preferrable.

I'll take care of this then.

Great, thanks @samueltorres!

Hello, I also encountered this problem. Is there any chance to get this fix?
BTW, is there any cluster mesh setup guide with helm? Thanks

Fixed by #1056


./cloud-run-deploy.sh    Error on running command GLIBC_2.33' not found (required by /bin/sh)

Describe the bug
While deploying serverpod api in google cloud in Windows. I'm not able to run the command.

If more information is required. Let me know.
Please help in this.

By installing gcloud again. This issue is resolved.

Now different issue.
Which port to use here.

In google cloud this error is coming.
GLIBC_2.33' not found (required by /bin/sh)
"/bin/sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /bin/sh)"

I am seeing the same errors.
textPayload: "/bin/sh: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /bin/sh)" and  textPayload: "/bin/sh: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.34' not found (required by /bin/sh)"

We identified an issues with the compatibility between busybox and the docker image. The PR referenced above this comment solves this and should be able to be used as inspiration to solve the issue for anyone else.


Schedule API

Re: https://github.com/temporalio/sdk-features/issues/73
rendered
Some things I could add if helpful:

types
comments with the corresponding gRPC fields

I took minor liberties in choosing different terms for fields compared to gRPC. Downside is having a difference between SDK and tctl. But if we like SDK terms, maybe we submit a PR to tctl so it matches.
Also flattened / removed the schedule from { schedule:  { spec,  action, policies, state } }.
Note: you can hide comments for easier reading

I would still like to see the full TypeScript definitions. But if that's at implementation time, ok, I will wait to review there.

@cretz added types. Left a few TODOs with questions
Rendered: https://github.com/temporalio/proposals/blob/schedules/typescript/schedules.md#types

When do you want to unset? Do you mean an update where I want to set policy
to current&future server defaults?
On Wed, Aug 17, 2022 at 12:45 PM Roey Berman @.***>
wrote:

@.**** commented on this pull request.
In typescript/schedules.md
https://github.com/temporalio/proposals/pull/62#discussion_r948191397:

When creating a handle using getHandle, uses the provided runId or firstExecutionRunId

When creating a handle using start, uses the returned runId (first in the chain)

When creating a handle using signalWithStart, uses the the returned runId

*/
runIdForResult?: string;
+}

+/**

Policy for overlapping Actions.

*/
+export enum ScheduleOverlapPolicy {
/**

Don't start a new Action.

*/
Skip = 1,

We have to keep UNSPECIFIED in the protos, the enum needs this value to
denote "unset"
—
Reply to this email directly, view it on GitHub
https://github.com/temporalio/proposals/pull/62#discussion_r948191397,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB5LGCE2NEPRG4CDN4VBMLVZUJJXANCNFSM547T4WOA
.
You are receiving this because you were assigned.Message ID:
@.***>

When do you want to unset? Do you mean an update where I want to set policy to current&future server defaults?

I mean indicating in gRPC that the value has not been set (undefined).

Now that's what you call a saga 😊. I believe all issues raised so far have been either resolved or left as TODO comments for future consideration. If any future issues come up, feel free to submit an issue or PR. This doc now lives at: https://github.com/temporalio/proposals/blob/master/typescript/schedules.md
The SDKs will start implementing the Schedule API. Some things in this doc are TypeScript-specific, and different languages have different conventions or expectations, so there will be some differences between SDKs. Also, we may find that parts of this doc are suboptimal as we learn through the implementation process, so we may modify this doc. The Schedule API will be marked experimental (i.e. may have breaking changes) until it has been released in at least two SDKs and has had user testing/feedback.


span-batches: encode bitlists as big-endian integers, use standard Go…

Description
This adds a commit on top of the protected tx patch, to:

simplify the bitlist encoding/decoding code
deduplicate bitlist handling

This updates the spec to encode the bitlist as big-endian integer, rather than the old right-padded approach. This is a breaking change, but allows us to use the big.Int standard encoding/decoding.
Tests
Bitlist encoding/decoding is already covered for each usage of a bit-list.

@ImTei the tests did not have hardcoded bitlist byte strings, so the tests pass still, since both encoding/decoding have been updated.


Is it possible to check status of cron it has executed the process

I have a cronjob that i want to run every 30 minutes and i need to check status if that cron job has completed its task.
Right now there i a method getStatus but it only gives two types of status scheduled and running I want to get status if it has completed it's task.
Actually i want to stop cron job if it is taking more than 10 minutes time to execute that job.

Yes, it would be useful to know get some custom output when the task is ended.

@parthpkp97 Yes there is an undocumented method for this. Just use .getStatus()

@jon-malave The method is not working. It's returning error.
job.getStatus is not a function

@mithun1999 I have the same problem

@jon-malave  just got the same error as @mithun1999  with node-cron 3.0.0


when add nginx basic authentication to the query , queryfrontend cannot request the query to get data

Thanos, Prometheus and Golang version used: 0.23.1

Object Storage Provider: aliyun
What happened:
When I add nginx basic authentication to the query ,
auth_basic "Basic Authorization";
auth_basic_user_file /etc/nginx/basic_auth_file;
auth user : admin  auth passwd : admin
the queryfrontend cannot request the query to get data

What you expected to happen:
I hope that query frontend still has proper access to query data when all components are basic authentication on
How to reproduce it (as minimally and precisely as possible):
Full logs to relevant components:
level=error ts=2021-11-09T05:32:27.317881424Z caller=retry.go:73 org_id=anonymous msg="error processing request" try=0 err="context canceled"
level=error ts=2021-11-09T05:32:36.706454915Z caller=retry.go:73 org_id=anonymous msg="error processing request" try=0 err="context canceled"
level=error ts=2021-11-09T05:33:08.036321816Z caller=retry.go:73 org_id=anonymous msg="error processing request" try=0 err="context canceled"
level=error ts=2021-11-09T05:34:17.317520275Z caller=retry.go:73 org_id=anonymous msg="error processing request" try=0 err="context canceled"
level=error ts=2021-11-09T05:41:46.793805155Z caller=retry.go:73 org_id=anonymous msg="error processing request" try=0 err="context canceled"

Anything else we need to know:

Query frontend supports downstream config and http client config is supported in sidecar https://github.com/thanos-io/thanos/commit/c98324b8f938574c4e2a4a4344005b116ad806cb as well.
It would be good to merge these to a more common config struct.

Query frontend supports downstream config and http client config is supported in sidecar https://github.com/thanos-io/thanos/commit/c98324b8f938574c4e2a4a4344005b116ad806cb as well.
It would be good to merge these to a more common config struct.
Thoughts @someshkoli @GiedriusS ?

Would be a good addition along with using single http(thanks/http) client across. Had seen instances  of code duplication wrt this ^


rendering vpc_id in ec2 responses

Coverage remained the same at 93.557% when pulling d2a234f75d67cda65372fef446601fd87f437d9a on JackDanger:jack/rendering-vpc_id-in-ec2-responses into a0283fc1caa8daf30a711dd8b94f23987efae81d on spulec:master.


Type of body is widened by default without any provided known properties

Description
When using @hey-api/client-fetch, the type of body is: (BodyInit | Record<string, unknown> | Record<string, unknown>[] | null) & GroupState & GroupStateCommands, where GroupState and GroupStateCommands are api specific.
This means that intellisense is by default polluted with array methods, which is not very helpful. Is there a reason we are including Record<string, unknown>[] and if so, why are we using an intersection to merge the array methods with the api specific properties?
OpenAPI specification (optional)
No response
Configuration
No response
System information (optional)
No response

Not really. Would you expect this to be just GroupState & GroupStateCommands?

I don't know if there is a use case for providing an array of objects to
the body? We can just extend the api specific types with string indexed
keys assigned to unknown, to provide anything else.
Op za 25 mei 2024 14:43 schreef Lubos @.***>:

Not really. Would you expect this to be just GroupState &
GroupStateCommands?
—
Reply to this email directly, view it on GitHub
https://github.com/hey-api/openapi-ts/issues/625#issuecomment-2131242683,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZKPIJIRDKJDOH4A4M5QHLZECBO5AVCNFSM6AAAAABII2OWY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZRGI2DENRYGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hey, can you add a reproducible example please?

Did you already implement the changes? If so, feel free to release an alpha
build.
Op ma 27 mei 2024 14:08 schreef Lubos @.***>:

Hey, can you add a reproducible example please?
—
Reply to this email directly, view it on GitHub
https://github.com/hey-api/openapi-ts/issues/625#issuecomment-2133344850,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZKPIKOQY6DDAXBKLW24ODZEMO43AVCNFSM6AAAAABII2OWY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZTGM2DIOBVGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I have not

No rush!

Plus one on this one.
I'm unable to reproduce with the PetStore API Spec, but I agree that widening the body to be
(property) body?: ((Record<string, unknown> | BodyInit | Record<string, unknown>[] | null) & FOO) | undefined

defeats the point of using a client library as you can virtually pass anything as a body, and get none of the type-safety benefits. I'll also have a look to see if I can determine what's causing this behaviour 👍🏼

Okay so I figured this out.
This behaviour happens when the body is marked as optional. Here's a minimal reproduction example @mrlubos
openapi: "3.0.0"
info:
  version: 1.0.0
  title: Swagger Petstore
  license:
    name: MIT
servers:
  - url: http://petstore.swagger.io/v1
paths:
  /pets:
    post:
      summary: Create a pet
      operationId: createPet
      tags:
        - pets
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Pet'
        # required: true (if we add this, then we get nicely typed methods, without it, it;s pretty much `any`)
      responses:
        '201':
          description: Null response
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
components:
  schemas:
    Pet:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        tag:
          type: string

    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string

Nice detective skills @thisisanto, will be fixed in the next release


DOCK-2137: fix checker workflow field refresh issue

Description
This PR fixes the issue where the checker workflow field briefly disappears when toggling between the different topic sentences.
Review Instructions
Go to one of your workflows and change the topic sentence from Automatic to Manual. The checker workflow field should not disappear.
Issue
https://ucsc-cgl.atlassian.net/browse/DOCK-2137
Security
If there are any concerns that require extra attention from the security team, highlight them here.
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that your code compiles by running npm run build
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] If this is the first time you're submitting a PR or even if you just need a refresher, consider reviewing our style guide
[x] Do not bypass Angular sanitization (bypassSecurityTrustHtml, etc.), or justify why you need to do so
[x] If displaying markdown, use the markdown-wrapper component, which does extra sanitization
[x] Do not use cookies, although this may change in the future
[x] Run npm audit and ensure you are not introducing new vulnerabilities
[x] Do due diligence on new 3rd party libraries, checking for CVEs
[x] Don't allow user-uploaded images to be served from the Dockstore domain
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.
[x] Check whether this PR disables tests. If it legitimately needs to disable a test, create a new ticket to re-enable it in a specific milestone.

I tried running this locally, and I still see a flash. Does anybody else?

It doesn't flash for me locally

Not sure I'm testing it right, but running locally, when I view one of my workflows and change the topic's source from (Manual to Automatic, etc) in the Topic "Edit" dialog, the "Checker Workflow" line does not appear to blink.
Related thought: some bad behaviors will only be apparent in situations where there high latency between the browser and the dockstore api, long enough that the flickering (or whatever) spans enough clicks that it registers visually. Someday, we might try to come up with a testing setup wherein we simulate high round trip latency (other side of world, 300ms ping?), and run our UI through its paces to discover areas that need improvement.
(We did this at an old startup of mine to test our rich-media Java banner units, it would help to ensure that the banners were usable for everyone, everywhere, and occasionally turn up some pretty funky race-condition-type stuff).

It should be when you save the topic. So the Checker Workflow line shouldn't blink after you saved the changes.

Someday, we might try to come up with a testing setup wherein we simulate high round trip latency (other side of world, 300ms ping?), and run our UI through its paces to discover areas that need improvement.

If manual, we sometimes use https://developer.chrome.com/docs/devtools/network/reference/#throttling

Someday, we might try to come up with a testing setup wherein we simulate high round trip latency (other side of world, 300ms ping?), and run our UI through its paces to discover areas that need improvement.

If manual, we sometimes use https://developer.chrome.com/docs/devtools/network/reference/#throttling

Cool, looks like you can set the latency in a "Custom" throttling profile, thanks!

OK, I have wide-ish screen and was only focusing on the right portion of the screen, where you click to edit the topic. The View with an eye icon for the checker workflow does disappear then reappear, both with and without the fix. And that's what I was referring to, and incorrectly got it mixed in with the line as a whole.
The Checker Workflow label does remain and that's what the bug was written up against.


Newer LexVec

Requesting an updated version of LexVec with Common Crawl 2017,
with 3 million most frequent words to be competitive with GloVe.
Bonus: Common Crawl 2015~2017 to get 100B tokens (like word2vec)

@alexandres how does LexVec compete with Fasttext with OOV words?

Have a look at http://www.aclweb.org/anthology/W18-1209 which compares performance on the Rare Words dataset and performs some qualitative analysis on OOV words.


Spyder encounters internal error on hover (TypeError / ValueError)

Problem Description
Internal error happens upon clicking one of functions
What steps reproduce the problem?

Launch Spyder.exe
Open Copilot and enable docs to follow cursor (if it's not)
Open kite_tutorial.py
Put cursor to pretty_print(obj, indent=4)

What is the expected output? What do you see instead?
Expected to see no error
Traceback/Error

--- Logging error ---
Traceback (most recent call last):
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\editor\widgets\codeeditor.py", line 1217, in handle_hover_response
    at_point=self._last_point)
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\widgets\mixins.py", line 634, in show_hint
    inspect_word=inspect_word)
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\widgets\mixins.py", line 474, in _check_signature_and_format
    name_plus_char = inspect_word + open_func_char
TypeError: can only concatenate tuple (not "str") to tuple

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\mOSt\Anaconda3\lib\logging\__init__.py", line 1034, in emit
    msg = self.format(record)
  File "C:\Users\mOSt\Anaconda3\lib\logging\__init__.py", line 880, in format
    return fmt.format(record)
  File "C:\Users\mOSt\Anaconda3\lib\logging\__init__.py", line 619, in format
    record.message = record.getMessage()
  File "C:\Users\mOSt\Anaconda3\lib\logging\__init__.py", line 380, in getMessage
    msg = msg % self.args
ValueError: incomplete format
Call stack:
  File "C:\Users\mOSt\Anaconda3\Scripts\spyder-script.py", line 10, in <module>
    sys.exit(main())
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\app\start.py", line 205, in main
    mainwindow.main()
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3716, in main
    mainwindow = run_spyder(app, options, args)
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3598, in run_spyder
    app.exec_()
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\completion\languageserver\client.py", line 349, in on_msg_received
    handler(resp['result'], req_id)
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\completion\languageserver\providers\document.py", line 169, in process_hover_result
    {'params': contents})
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\completion\languageserver\plugin.py", line 284, in receive_response
    self.COMPLETION_CLIENT_NAME, req_id, response)
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\completion\plugin.py", line 120, in receive_response
    self._maybe_send_locked(req_id)
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\completion\plugin.py", line 161, in _maybe_send_locked
    send()
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\completion\plugin.py", line 143, in send
    self.gather_and_send(request_responses)
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\completion\plugin.py", line 212, in gather_and_send
    response_instance.handle_response(req_type, responses)
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\editor\widgets\codeeditor.py", line 921, in handle_response
    handler(params)
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\editor\widgets\codeeditor.py", line 1224, in handle_hover_response
    self.log_lsp_handle_errors("Error when processing hover")
  File "C:\Users\mOSt\Anaconda3\lib\site-packages\spyder\plugins\editor\widgets\codeeditor.py", line 952, in log_lsp_handle_errors
    logger.error('%', 1, stack_info=True)
Message: '%'
Arguments: (1,)

Versions

Spyder version: 4.0.0rc2
Python version: 3.6.1
Qt version: 5.9.7
PyQt version: 5.9.2
Operating System name/version: Windows 7, x64

Dependencies
cloudpickle >=0.5.0          :  1.2.2 (OK)
pygments >=2.0               :  2.4.2 (OK)
qtconsole >=4.6.0            :  4.6.0 (OK)
nbconvert >=4.0              :  5.6.1 (OK)
sphinx >=0.6.6               :  2.2.1 (OK)
pylint >=0.25                :  2.4.4 (OK)
psutil >=0.3                 :  5.6.5 (OK)
qtawesome >=0.5.7            :  0.6.0 (OK)
qtpy >=1.5.0                 :  1.9.0 (OK)
pickleshare >=0.4            :  0.7.5 (OK)
zmq >=17                     :  18.1.0 (OK)
chardet >=2.0.0              :  3.0.4 (OK)
numpydoc >=0.6.0             :  0.9.1 (OK)
spyder_kernels >=1.8.0;<2.0.0:  1.8.0 (OK)
qdarkstyle >=2.7             :  2.7 (OK)
atomicwrites >=1.2.0         :  1.3.0 (OK)
diff_match_patch >=20181111  :  20181111 (OK)
watchdog                     :  None (OK)
keyring                      :  None (OK)
pexpect >=4.4.0              :  4.7.0 (OK)
pympler                      :  None (OK)
sympy >=0.7.3                :  1.4 (OK)
cython >=0.21                :  0.29.13 (OK)
IPython >=4.0                :  7.9.0 (OK)
matplotlib >=2.0.0           :  3.1.1 (OK)
pandas >=0.13.1              :  0.25.3 (OK)
numpy >=1.7                  :  1.17.3 (OK)
scipy >=0.17.0               :  1.3.1 (OK)
pyls >=0.31.0;<0.32.0        :  0.31.0 (OK)
rtree >=0.8.3                :  0.8.3 (OK)

@dalthviz, please take a look at this one.

Thanks for reporting. This is very serious and we'll try to fix ASAP.

Simply hovering over any callable results in the error; hovering over objects and modules appears not to. In normal usage, this typically occurs once every 60 seconds or more even without intending to hover. FYI, for users reading this issue, you can temporarily disable hover hints in Completion and Linting ---> Introspection ---> Enable hover hints in Spyder's preferences, which prevents the error from occurring.

just ran the current dev version in debug mode and reached the same point. Variable inspect_word seems to have changed from being a string to now being a tuple.
My current work-around is that I added a type-check in ...\spyder-master\spyder\widgets\mixins.py, line 473 ff::
if has_signature:
    if isinstance(inspect_word, tuple):
        inspect_word = inspect_word[0]
    name_plus_char = inspect_word + open_func_char

seems to do fine.


Angular example : create is not a function

Hello,
Thanks for this plugin, its great. I've used it as script tag js plugin, and now trying the Angular example. I'm running into a init error though:
Error: WaveSurfer.create is not a function
I can see from my IDE that indeed WaveSurfer.create does not seem to be available. Am I loading wavesurfer.min.js wrong somehow? Im using require.js, heres the modified directive:
##########
define(['components/player/playerModule', 'wavesurfer'], function (module) {
'use strict';

module.registerDirective('Player', function () {
    return {

        controller: 'PlayerController',
        controllerAs: 'vm',
        restrict: 'E',
        //scope: {
        //    player: '='
        //},

    link: function ($scope, $element, $attrs) {
        $element.css('display', 'block');

        var options = angular.extend({ container: $element[0] }, $attrs);
        var wavesurfer = WaveSurfer.create(options);
        //var blah = WaveSurfer.createDrawer(options);

        if ($attrs.url) {
            wavesurfer.load($attrs.url, $attrs.data || null);
        }

        $scope.$emit('wavesurferInit', wavesurfer);
    }

    }
});

});
Thanks in advance

the first part of the directive... importing the wavesurfer js:
define(['components/player/playerModule', 'wavesurfer'], function (module) {
'use strict';

...

Try actually passing the second dependency in the function:
define(['components/player/playerModule', 'wavesurfer'], function (module, WaveSurfer) {

I've tried that with no luck, but also additional dependecies aren't needed there, like in this example:
define(['components/tracks/tracksModule', 'bootstrap-validator', 'bootstrap-tagsinput', 'select2'], function (module) {
'use strict';

...
Any other ideas? Heres a screen shot of fx that IDE sees as available as well, not sure if this may help:

If I use the CreateBackend function, I get some WaveSurfer errors, so I'm pretty sure the plugin is getting loaded correctly. Couple questions on ways to implement other ways, maybe you can approve one or the other;
1 - follow regular JS example using init() ect
2 - set the appropriate items with dot syntax instead of function; ie WaveSurfer.create.url = blahblah
thanks for any input

Yes, you should try the regular examples. The second suggestion won't work.


Infinite loop on multi-store site after Account page reload

Current behavior

Reloading any my-account url on a multi-store site causes an infinite redirect loop and constant requests to the server
Expected behavior

A single reload
Steps to reproduce the issue

In a browser tab, go to https://demo.storefrontcloud.io/de/
Login<EMAIL_ADDRESS><EMAIL_ADDRESS>Navigate to any Account page, eg My Orders
Reload the page using the browser Reload button
Observe the infinite reload

Make sure to close the browser tab to prevent server overload!
Repository

Can you handle fixing this bug by yourself?

[ ] YES
[x] NO

Well, maybe. I'm trying but haven't found a proper fix yet and don't have any more time today.
Which Release Cycle state this refers to? Info for developer.
Pick one option.

[ ] This is a bug report for test version on https://test.storefrontcloud.io - In this case Developer should create branch from develop branch and create Pull Request 2. Feature / Improvement back to develop.
[x] This is a bug report for current Release Candidate version on https://next.storefrontcloud.io - In this case Developer should create branch from release branch and create Pull Request 3. Stabilisation fix back to release.
[x] This is a bug report for current Stable version on https://demo.storefrontcloud.io and should be placed in next stable version hotfix - In this case Developer should create branch from hotfix or master branch and create Pull Request 4. Hotfix back to hotfix.

Environment details

Browser: Chrome 73
OS: Mac OS
Node: 8.11.4
Code Version: 1.8.4, 1.9

Additional information

The problem is in vue-storefront/core/modules/user/router/beforeEach.ts
next('/')
setTimeout(()=> {
  router.push(to.path)
}, 0)

Redirecting to '/' on a multi-store site always causes problems. I'm not sure exactly what's happening here, but I'm pretty sure this is where the problem is.
In this case, the current store is not set at this stage, so using localizedRoute('/', currentStoreView().storeCode) is not useful.

We should probably move this redirect to beforeResolve as storeCode is checkd in client-entry.js beforeResolve as well; https://github.com/pkarw/vue-storefront/blob/be69f5fec7171bf7a04f254f215c8fd19fca5095/core/client-entry.ts#L85
The other option is to add the module based hook after the app is ready (multistore set, translations loaded etc) - currently we don't have an option to bind to such an event @filrak @patzick

@patzick on https://next.storefrontcloud.io/de/my-account still user is redirect to Home page

@alinadivante if only with Ctrl+f5 - page refersh, then fine. If the redirect occurs while clicking the option in menu (CSR) then it's a bug. My account IS NOT supported in SSR

@pkarw it works perfect now on https://next.storefrontcloud.io/my-account so @patzick will improves it also for https://next.storefrontcloud.io/de/my-account

OK :)

Corrected in newest RC deploy:)

nice! :) thanks @patzick


Use --no-cache for drama-free-django Docker build

The Docker-based process to build and test drama-free-django uses a Dockerfile that includes a reference to the DFD GitHub repository.
If docker build is used without --no-cache, it's possible that changes to that repo wouldn't get included even if the image is rebuilt.
This change adds --no-cache to ensure that the image is completely rebuilt each time.
Testing
Follow the instructions here and observe that the image gets completely rebuilt.
Checklist

[X] PR has an informative and human-readable title
[X] Changes are limited to a single goal (no scope creep)
[X] Code can be automatically merged (no conflicts)
[X] Code follows the standards laid out in the CFPB development guidelines
[X] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated
[X] Reviewers requested with the Reviewers tool :arrow_right:

Replaced by #5174 (now merged)


Ability to filter all query, not one by one

The idea is in adding Q() object filter to bulk_update and bulk_update_or_create methods to filter all query results in WHERE. This abillity requires moving Manager methods to QuerySet in order to integrate it into django system. So I'm going to change major version.

where parameter (WhereNode) for bulk_update function is implemented in https://github.com/M1hacka/django-pg-bulk-update/pull/43.
I have not done this for bulk_update_or_create in case of not obvious logic. What should it do?
? insert records that don't match filter? That is not supported by Postgres INSERT ON CONFLICT statement, which filters by exact match rule. Condition can not be added there.
? update only fields, that suit filter? Not obvious. That is not supported by postgres eighter - postgres wants every updated record to be updated in result.

Released 3.0.0


pgweb: 0.11.12 -> 0.13.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/sosedoff/pgweb/releases.
meta.description for pgweb is: "A web-based database browser for PostgreSQL"
meta.homepage for pgweb is: "https://sosedoff.github.io/pgweb/"
meta.changelog for pgweb is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.12.0 with grep in /nix/store/brcj2j4gwn2854f4kvs8lcxdxzd3m2wn-pgweb-0.12.0
found 0.12.0 in filename of file in /nix/store/brcj2j4gwn2854f4kvs8lcxdxzd3m2wn-pgweb-0.12.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
pgweb

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

pgweb

Maintainer pings
cc @zupo for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/sosedoff/pgweb/releases.
meta.description for pgweb is: "A web-based database browser for PostgreSQL"
meta.homepage for pgweb is: "https://sosedoff.github.io/pgweb/"
meta.changelog for pgweb is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.13.0 with grep in /nix/store/4i00s47b0bw8j0xq3xxh3wq2j7awjqk5-pgweb-0.13.0
found 0.13.0 in filename of file in /nix/store/4i00s47b0bw8j0xq3xxh3wq2j7awjqk5-pgweb-0.13.0

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
pgweb

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

pgweb

Maintainer pings
cc @zupo for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/sosedoff/pgweb/releases.
meta.description for pgweb is: "A web-based database browser for PostgreSQL"
meta.homepage for pgweb is: "https://sosedoff.github.io/pgweb/"
meta.changelog for pgweb is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.13.1 with grep in /nix/store/g04xjmw3xfsxd4s6a13fny1gil5k0raq-pgweb-0.13.1
found 0.13.1 in filename of file in /nix/store/g04xjmw3xfsxd4s6a13fny1gil5k0raq-pgweb-0.13.1

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
pgweb

Instructions to test this update (click to expand)

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

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

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

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

1 package built:

pgweb

Maintainer pings
cc @zupo for testing.


Release CmdStan & Stan 2.28.2

Description:
There were two bugs that were discovered in the 2.28.1 release:

https://github.com/stan-dev/cmdstan/issues/1055
https://github.com/stan-dev/cmdstan/issues/1058

These have now been addressed and we can do a patch release. We don't want to release on a Friday, so we should do it Monday or whenever @serban-nicusor-toptal has time (but not before Monday).
Here is a short checklist:

[x] merge https://github.com/stan-dev/cmdstan/pull/1060
[x] check that Stan submodule updates on CmdStan master after https://jenkins.mc-stan.org/blue/organizations/jenkins/Stan/detail/master/30/pipeline/ finishes
[x] update the release numbers of Stan on the master branch (not on develop!)
[x] update the release numbers of CmdStan on the master branch (not on develop!)
[x] release Stan 2.28.2 (release notes are posted below)
[x] release CmdStan 2.28.2 (use 2.28.1 stanc3 tarballs - there were no changes there, release notes are posted below)
[ ] run CmdStanPy/R tests to make sure we didn't miss anything (CmdStan tests arent really that rich)
[ ] create and merge Stan PR to merge master to develop
[ ] create and merge CmdStan PR to merge master to develop

Stan release notes:

Fixed a performance regression caused by using the diagnostic writer even when diagnostics were not requested.

CmdStan release notes:

Fixed a performance regression caused by using the diagnostic writer even when diagnostics were not requested.
Fixed a bug that prevented the use of init files when num_chains > 1.

Current Version:
v2.28.1

Release for Stan/CmdStan is now ready.
CmdStanR tests are running here

@rok-cesnovar cmdstan is failing on master, did I mess something up ?

Yes, it related to 1062. Start a run with master branches for submodules and it will pass.

Argh I think Stan failed because of this develop here

The releases look good, the cmdstanr tests seem to be passing. @WardBrian can you run cmdstanpy when you have the chance?

PS: I've fixed #1062 so there's no need for manual action.

hm, but wont this now be a problem with develop cmdstan? I guess we will see :) But we can address that later.

Only thenon-x86 binaries are missing, then should be good if cmdstanpy tests pass.

Cmdstanpy tests are running now as a result of my pr to allow us to run them on arbitrary versions: https://github.com/stan-dev/cmdstanpy/pull/502
If either of you could take a look at the GHA file and approve, in the future this should allow us to manually run all the cmdstanpy tests on any version (including RCs, for example)

I'm not entirely sure why Stan fails, I've ran it with master here with no success.

CmdStanPy tests are green

non-x86 are up now! The only thing left is to make Stan tests pass green on Jenkins and the PRs

Order seems to be restored and the patch release process is done. Thanks @serban-nicusor-toptal !


How to get http query param ?

In hyper how to get  url params,
for exmaple Http://server/?p1=a&p2=b
how to get p1 and p2?
Thanks !

You can use Uri::query() to get the optional query.
let uri = Uri::from_static("http://server/?p1=a&p2=b");
assert_eq!(uri.query(), Some("p1=a&p2=b"));


Start to redesign the entire project

New home page
Removed quick search
Removed static pages for local NGO
Lots of small changes in other elements of the layout

It'll fix #16 for now.
I'm not satisfied with the result yet but I'll probably make small changes from now on instead of trying to redesign everything in a single step, or if someone who knows how to create a good UI step up I can just reopen the task.

Coverage decreased (-0.1%) to 95.761% when pulling d18b62bb93e7612971d53c392c85e61ae4d465fb on new-layout into 325d24d4a3b83009052e40e23d001e41b9ec4678 on next.