Colorcoding

Hello, I looked on your previews that you have variables colorcoded in the VSC editor (strings in orange, numbers in green, etc), can you share those settings with us?
Currently mine are all white as you can see in the picture bellow

Hi @LeiteArts10,
I uses CWTools for syntax highlighting. Please check this extension:


Is the documentation outdated?

When you click on the link "Configure NLA for RDS Connections," the page it links you to says it is no longer being updated because it is part of the Windows 2008 server documentation. It does have a button to go to the recommended version, but that only links to the Windows Server landing page, not an updated version of the configuration documentation.
Does the page being linked to contain functional documentation? Or is the updated documentation just not linked yet?
Link: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc732713(v=ws.11)

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

ID: 71cfbf1a-c5b7-df0f-8194-6ebc03afcc7d
Version Independent ID: f36b567f-aa48-2c8f-4908-b1fe18cd2842
Content: Remote Desktop - Allow access to your PC
Content Source: WindowsServerDocs/remote/remote-desktop-services/clients/remote-desktop-allow-access.md
Product: windows-server-threshold
GitHub Login: @lizap
Microsoft Alias: elizapo

Thanks for your dedication to our documentation. If we have been unable to review your issue in a timely manner, we sincerely apologize for the delayed response. We have captured the informtion you have provided for review. We are closing this issue for now, but if you feel that it's still a concern, please respond and let us know. If you determine another possible update to our documentation, please don't hesitate to reach out again. #please-close


Add JRuby to TravisCI

Sry, I’m on mobile. Can you fix the conflicts?

I can in a bit

Travis is passing, rerunning GH specs

I think we're all good!

Since it's passing like this, I think we're OK to leave the "hack" in there with a FIXME note.


Support devise authenticated routes

Fix
Description
Simplify how the request is reconstructed.
Also use the request when parsing the URL.
This change supports Devise authenticated routes.
Fixes #104
Related https://stimulus-reflex.discourse.group/t/cannot-get-sr-with-devise-to-work/14
Checklist

[x] My code follows the style guidelines of this project
[x] Checks (StandardRB & Prettier-Standard) are passing

This change/fix has been verified across about 4 different projects by multiple parties. I'll wait for a day or two prior to a merge and release. Would love if others that have experienced similar issues could weigh in with their experience using this PR/branch also.

Can confirm this fixed the problem for me as well. Thanks!

:bowing_man: This works great.


Pablo/dev 95 headers on sdk

This PR changes:

Gets sdk version from importlib so we don't have to manually write it in two places at the same time
Add headers:

X-PYTHON-VERSION
X-PYTHON-SDK-VERSION

Move headers logic to a separated private method in the PipelineClient

After a conversation with @vkd and @alexandertrefz, they suggested to change the headers to:

GF-Client = <client-name> / <version>
User-Agent = <client-name> / <version>

Reason to duplicate it: Front-end can't overwrite the user-agent
We should keep the header names consistent, which means we should also change the header:
X-PIPELINE-ACCESS-TOKEN to GF-Pipeline-Access-Token (sync changes with @vkd )

For the record,
In general, header keys are case-insensitive.
But there is a convention to write it like Content-Type, which turns our headers into Gf-Client and Gf-Pipeline-Access-Token.
Some HTTP clients go even further and send headers with that format regardless of how they were defined.

From the Browser side, no matter how I define the Header, the Browser DevTools show the Header as being sent as Gf-Client as well.


WaveDrom preview package for Atom editor

Would it be possible to add a WaveDrom preview package for Atom editor (https://atom.io)?
Something like https://github.com/atom/markdown-preview

@cdwilson I am 100% for it. I am using Atom daily. Do you use it?
And I have seeing many cases of WaveDrom inside MarkDown like this https://github.com/drjson/stackedit-wavedrom
or AsciiDoctor : https://github.com/asciidoctor/asciidoctor-diagram
Don't have time to do it now, so any help are welcome.

That exists: https://atom.io/packages/markdown-preview-enhanced
Please close the issue.


[CT-2967] [Feature] run dbt in --sample mode

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
Introduce a new boolean flag, --sample/--no-sample, that informs whether dbt should run in 'sample' mode.
In sample mode, dbt would resolve ref and source identifiers as select * from <identifier> limit <sample-size>.
A default sample size could be used (perhaps 100?), or set in config at the model-level to inform the size of the sample to select when referencing the model.
models:
  - name: my_model
     config:
       sample:
         size: 10

This would also enable setting a sample size using the hierarchical config syntax in dbt_project.yml:
--- dbt_project.yml
models:
  <resource-path>:
    + sample: {<dictionary>}

It would also be interesting to explore providing column-level filters as configs, so that samples would resolve as select * from <identifier> where <filters> limit <sample-size>. This way, it would be possible to tune samples to ensure referential integrity within a run in sample mode.
We may also want to create an equivalent env_var, so folks could set a sample for a given environment
Describe alternatives you've considered
It's possible to implement something like this with overrides of ref & source macros, but that makes dbt upgrades more difficult.
Also considered a simpler version of this where --sample is an integer argument representing the sample size in  https://github.com/dbt-labs/dbt-core/pull/8337. This doesn't leave design space for configuring filters on model/source samples however.
Who will this benefit?
any dbt user looking for speedier (at the cost of completeness/accuracy) development & CI runs!
Are you interested in contributing this feature?
yep!
Anything else?
Took a first pass at this in a spike here: https://github.com/dbt-labs/dbt-core/pull/8337

Hey @MichelleArk, excited about this enhancement, as it intersects with some planned work that we were going to execute using ref/source overrides!
We definitely would love to see this in a really configurable form, like the where config you've suggested, or even additionally an order by (ie order by random()).  Essentially, the more customizable the better from our perspective!

Thanks for opening @MichelleArk!
I love how simple the --sample boolean flag is, with all the actual configuration defined in code.
Question: Is this sufficient in practice? Will users need the ability to define multiple different sampling strategies for the same models, to run in different environment (dev vs. CI vs. QA vs. ...)?
If so: Should that look like lots of vars / env vars within the sample config block? Or, should it look like different "named" sample strategies that can be referenced on the CLI?

I'd offer a few more arguments in favor of supporting column-specific filters:

Pick a few representative segments (customers/regions/etc) in development & CI → sense-check in downstream dashboarding ("last-month revenue for Bouches-du-Rhône isn't looking quite right")
For time-series data, limit based on recency (e.g. "last 3 days"), rather than data scattered across time
Benefit from partition pruning on DWHs (like BQ) where that's the only sure way to achieve better time/cost savings

This could look like, defining additional attributes on columns in a model's properties:
# models/properties.yml
models:
  - name: my_model
    columns:
      - name: customer_id
        sample: [10, 30]  # array -> 'in' filter
      - name: created_at
        sample: "> {{ run_started_at.date() - modules.datetime.timedelta(days=3) }}"  # string -> filter as is

Or, it could also be a config that's set for many models at once (every model in the project):
# dbt_project.yml
models:
  my_project:
    +sample:
      customer_id: [10, 30]  # array -> 'in' filter
      created_at: "> {{ run_started_at.date() - modules.datetime.timedelta(days=3) }}"  # string -> filter as is

The latter option would require dbt to check the set of columns first, to see if fields named customer_id and created_at actually exist (case-insensitive of couse). As it's templating out each source / ref call, it would figure out if the model/source being referenced has those columns. I think we could do that in one of two ways:

If those models have enforced contracts → save an introspective DWH query
If those models already exist in the development schema (or defer to prod) → introspective DWH query

@jaypeedevlin I'm happy to hear that this piques your interest! I'm curious - what would be your motivation for order by random()? I'm thinking it's the exact opposite of what I'm describing above: give me a truly random smattering of data, which is unlikely to match up with other models in downstream joins / dashboarding.

Love this topic!
I also agree that column-specific filters predicates might be more interesting for consistency across models or even just on its own. If you have years of data in your model, I feel it might be more relevant to get everything from the past month rather than random data points scattered - although probably depends on the use cases and what you are trying to test!
I'm wondering if we could customize where to apply this filter though. As I understand it, if one sets this in a .yml file then I assume it would be executed at the end of the model whereas it might be better performance-wise to run it early - especially if you have big tables and a lot of transformations in a model.
We have been doing something similar, on the first group of CTEs of certain models where we simply select from source or ref, we added this block:
select * from {{ ref('stage') }}
{% if target.name != 'prod' and var("dev_load_full") != true %}
where to_date("timestamp") >= dateadd('day', -{{ var("dev_load_days") }}, current_date())
{% endif %}

And we define those variables in the dbt_project.yml as default:
vars:
  dev_load_full: false
  dev_load_days: 7

This way we can sample the data early in the query rather than later.

@jtcohen6 that was a reasonably arbitrary example of truly random sampling. Most of our models are incremental so we'd be (in theory) randomly sampling just the most recent data anyway. Definitely not the most sophisticated method for my example though, I'll grant you that, but just arguing to make this as configurable as possible.

Really love the conversation going here - I have personally written a handful of hack-y work-arounds to accomplish this exact thing, so would be excited to see a native approach in dbt-core, especially for folks trying to optimize time and warehouse spend! Curious about the name "sample" vs. something like "limit" - I know we already have a limit config for test outputs and a limit for the dbt show command. Thinking more about it, I like that the name "sample" is distinguished from "limiting the outputs" (which it's not!).
I can also imagine folks wanting to configure different samples per environment, which is something we could enable using environment variables.
# dbt_project.yml
models:
  my_project:
    +sample: {{ env_var('sample') }}

@QuentinCoviaux my understanding here is that running dbt in --sample mode actually affects what {{ ref() }} and {{ source() }} compile to, rather than adding a limit at the end of a model. So, for example, if we had a model with many CTEs:
with customers as (

    select * from {{ ref('stg_customers') }}

),

orders as (

    select * from {{ ref('stg_orders') }}

),

payments as (

    select * from {{ ref('stg_payments') }}

),

customer_orders as (

        select
        customer_id,

        min(order_date) as first_order,
        max(order_date) as most_recent_order,
        count(order_id) as number_of_orders
    from orders

    group by customer_id

),

customer_payments as (

    select
        orders.customer_id,
        sum(amount) as total_amount

    from payments

    left join orders on
         payments.order_id = orders.order_id

    group by orders.customer_id

),

final as (

    select
        customers.customer_id,
        customers.first_name,
        customers.last_name,
        customer_orders.first_order,
        customer_orders.most_recent_order,
        customer_orders.number_of_orders,
        customer_payments.total_amount as customer_lifetime_value

    from customers

    left join customer_orders
        on customers.customer_id = customer_orders.customer_id

    left join customer_payments
        on  customers.customer_id = customer_payments.customer_id

)

select * from final

when executing in --sample mode, the {{ ref() }} statements here would compile to their raw location plus their configured limits. So, if we had configured samples as such:
models:
  - name: stg_customers
     config:
       sample:
         size: 10
  - name: stg_orders
     config:
       sample:
         size: 50
  - name: stg_payments
     config:
       sample:
         size: 75

the compiled code would look something like this:
with customers as (

    select * from my_warehouse.my_schema.stg_customers limit 10

),

orders as (

    select * from my_warehouse.my_schema.stg_orders limit 50

),

payments as (

    select * from my_warehouse.my_schema.stg_payments limit 75

),

customer_orders as (

        select
        customer_id,

        min(order_date) as first_order,
        max(order_date) as most_recent_order,
        count(order_id) as number_of_orders
    from orders

    group by customer_id

),

customer_payments as (

    select
        orders.customer_id,
        sum(amount) as total_amount

    from payments

    left join orders on
         payments.order_id = orders.order_id

    group by orders.customer_id

),

final as (

    select
        customers.customer_id,
        customers.first_name,
        customers.last_name,
        customer_orders.first_order,
        customer_orders.most_recent_order,
        customer_orders.number_of_orders,
        customer_payments.total_amount as customer_lifetime_value

    from customers

    left join customer_orders
        on customers.customer_id = customer_orders.customer_id

    left join customer_payments
        on  customers.customer_id = customer_payments.customer_id

)

select * from final

In that case, we would actually be filtering as early as possible.
I have seen this sort of problem solved in 2 ways:

overriding the ref & source macros (this solution)
adding a limit macro to the end of relevant model

I'd be curious @jtcohen6 and @MichelleArk for y'all's thoughts on the pros / cons of each approach - and why "sampling" is better than "limiting".

Insights about sampling
"Why not just take samples?"

Sampling is actually pretty hard. Data developers will sometimes use sample-ish hacks (like testing with the last 3 days’ worth of data, or using a sample function built into the database) but these can often come back to bite you. Samples need to take into account referential integrity and unevenly distributed data if they are to be any use when testing.

One solution

SnowShu is a sampling engine designed to support testing in data development.

Here's one solution for sampling by Health Union:

https://snowshu.readthedocs.io/en/latest/

Caveat: I haven't tried it out personally.
Interesting links
Here's some other interesting links from Health Union:

Medium<EMAIL_ADDRESS>PyPI: https://pypi.org/project/snowshu/
SnowShu: https://github.com/Health-Union/snowshu
Rest of their repos: https://github.com/Health-Union
Cross-database macros: https://github.com/Health-Union/dbt-xdb

It would also be interesting to explore providing column-level filters as configs, so that samples would resolve as select * from  where  limit . This way, it would be possible to tune samples to ensure referential integrity within a run in sample mode.

Just adding a +1 here to being able to sample via adding a filter!

Sampling sounds like a great idea! I would also second the ask for full customisation of this configuration. Not just limit but ordering and even using a SQL filtering for it. For example in BigQuery, I would use one partition for example. However it could be expanded with time. Having it to begin with is a great start!

Bonus considerations:

Making sure this works for tests. For generic tests, it's like a default set of where configs—maybe even better!—but the two features should work happily together.

Just checking whether this will be included? (🥺)

Making sure this works for tests. For generic tests, it's like a default set of where configs—maybe even better!—but the two features should work happily together.

@joellabes @jtcohen6 Does this mean, a data test for a sampled model should only run on the sample of data? That seems easy, given that the data test will run on the filtered table that's been created in the warehouse.
Or, does this mean -> https://github.com/dbt-labs/dbt-core/issues/10877


Frame didn't arrived within 15000

Required Info

Camera Model
{ D400 (D435i) }

Firmware Version
<IP_ADDRESS>

Operating System & Version
Linux (Ubuntu 18.04.3 LTS)

Kernel Version (Linux Only)
5.0.0-32

Platform
PC

SDK Version
2.29.0

Language
C++

Segment
Robot

Issue Description
Error on trying to get depth frames from RealSense D435i. I have 8 devices (not connected simultaneously, same code being tested on devices one by one). This happens consistently only on 2 out of 8. I am using direct connect to USB 3 port via USB-C cable provided along with the RealSense module.
Error 1:
Detected device:<PHONE_NUMBER>11
terminate called after throwing an instance of 'rs2::error'
what():  Frame didn't arrived within 15000
Aborted (core dumped)
Error 2 (using catch exception):
terminate called after throwing an instance of 'rs2::backend_error'
what():  set_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Device or resource busy
Aborted (core dumped)
Error 3 (using catch rs2::error):
error type: UNKNOWN
failed_function: rs2_pipeline_wait_for_frames
failed args: pipe:0x563588aa1370
Output for $ rs-fw-update -l
connected devices:

Name: Intel RealSense D435I, serial number:<PHONE_NUMBER>11, update serial number:<PHONE_NUMBER>34, firmware version: <IP_ADDRESS>, USB type: 3.2

Output for $ rs-enumerate-devices
Device info:
Name                          : 	Intel RealSense D435I
Serial Number                 :<PHONE_NUMBER>11
Firmware Version              : 	<IP_ADDRESS>
Recommended Firmware Version  : 	<IP_ADDRESS>
Physical Port                 : 	/sys/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/video4linux/video2
Debug Op Code                 : 	15
Advanced Mode                 : 	YES
Product Id                    : 	0B3A
Camera Locked                 : 	YES
Usb Type Descriptor           : 	3.2
Product Line                  : 	D400
Asic Serial Number            :<PHONE_NUMBER>34
Firmware Update Id            :<PHONE_NUMBER>34
Similar to unresolved issue: #4071

Upgrading to firmware <IP_ADDRESS> did not cause any change.

`// include the librealsense C++ header file
#include <librealsense2/rs.hpp>
// include OpenCV header file
#include <opencv2/opencv.hpp>
#include
#include
#include <sys/stat.h>
const int WIDTH = 848;
const int HEIGHT = 480;
const int FPS = 30;
int main(int argc, char *argv[])
{
rs2::context ctx; // Create librealsense context for managing devices
std::vectorrs2::pipeline pipelines;
std::vectorstd::string serialNos;
std::vectorcv::Mat depth16_frames;
std::vectorcv::Mat depth8_frames;
std::vectorcv::Mat ifred_frames;
// Start a streaming pipe per each connected device
for (auto &&dev : ctx.query_devices())
{
    try
    {
        //Contruct a pipeline which abstracts the device
        rs2::pipeline pipe;

        //Create a configuration for configuring the pipeline with a non default profile
        rs2::config cfg;

        //Enable specific device
        cfg.enable_device(dev.get_info(RS2_CAMERA_INFO_SERIAL_NUMBER));

        //Add desired streams to configuration
        //cfg.enable_stream(RS2_STREAM_COLOR, WIDTH, HEIGHT, RS2_FORMAT_BGR8, FPS);
        cfg.enable_stream(RS2_STREAM_DEPTH, WIDTH, HEIGHT, RS2_FORMAT_Z16, FPS);
        cfg.enable_stream(RS2_STREAM_INFRARED, WIDTH, HEIGHT, RS2_FORMAT_Y8, FPS);

        //Instruct pipeline to start streaming with the requested configuration
        pipe.start(cfg);

        // add pipe and device serial id to list
        pipelines.emplace_back(pipe);
        serialNos.emplace_back(dev.get_info(RS2_CAMERA_INFO_SERIAL_NUMBER));
        depth16_frames.emplace_back(cv::Mat());
        depth8_frames.emplace_back(cv::Mat(cv::Size(WIDTH, HEIGHT), CV_8UC1));
        ifred_frames.emplace_back(cv::Mat());

        std::cout << "Detected device: " << dev.get_info(RS2_CAMERA_INFO_SERIAL_NUMBER) << std::endl;
    }
    catch (...)
    {
        std::cout << "Exception Occured" << std::endl;
    }
}

int num_devices = pipelines.size();
std::time_t sys_time;
std::string filePath("/home/sumandeepb/ExtDrv/data/realsense/filter/");
int key = 255;
do
{
    for (int iDevice = 0; iDevice < num_devices; iDevice++)
    {
        auto pipe = pipelines[iDevice];

        try
        {
            // wait for an available frame
            rs2::frameset frameset = pipe.wait_for_frames();
            sys_time = std::time(nullptr);

            //Get each frame
            //rs2::frame color_frame = frameset.get_color_frame();
            rs2::frame depth_frame = frameset.get_depth_frame();
            rs2::frame ifred_frame = frameset.get_infrared_frame();

            // Creating OpenCV Matrix from a color image
            //cv::Mat color(cv::Size(WIDTH, HEIGHT), CV_8UC3, (void *)color_frame.get_data(), cv::Mat::AUTO_STEP);
            depth16_frames[iDevice] = cv::Mat(cv::Size(WIDTH, HEIGHT), CV_16UC1, (void *)depth_frame.get_data(), cv::Mat::AUTO_STEP);
            depth16_frames[iDevice].convertTo(depth8_frames[iDevice], CV_8U, 1 / 256.0);
            cv::applyColorMap(depth8_frames[iDevice], depth8_frames[iDevice], cv::COLORMAP_JET);
            ifred_frames[iDevice] = cv::Mat(cv::Size(WIDTH, HEIGHT), CV_8UC1, (void *)ifred_frame.get_data(), cv::Mat::AUTO_STEP);

            // Display in a GUI
            std::stringstream ss;
            //cv::imshow("Color", color);
            ss << "InfraRed_" << iDevice;
            cv::imshow(ss.str(), ifred_frames[iDevice]);
            ss.str(std::string());
            ss << "Depth_" << iDevice;
            cv::imshow(ss.str(), depth8_frames[iDevice]);
        } catch (rs2::error e)
        {
            std::cout << "error type: " << e.get_type() << std::endl;
            std::cout << "failed_function: " << e.get_failed_function() << std::endl;
            std::cout << "failed args: " << e.get_failed_args() << std::endl;
            std::cout << "message: " << e.what() << std::endl;
        } catch (...)
        {
            std::cout << "Exception Occured" << std::endl;
        }
    }

    key = cv::waitKey(1);
    std::stringstream ss;
    switch (key)
    {
    case ('s'):
    case ('S'):
        for (int iDevice = 0; iDevice < num_devices; iDevice++)
        {
            ss.str(std::string());
            ss << filePath << sys_time;
            std::cout << ss.str() << std::endl;
            mkdir(ss.str().c_str(), 0755);
            ss << "/" << iDevice;
            std::cout << ss.str() << std::endl;
            mkdir(ss.str().c_str(), 0755);
            //cv::imwrite(ss.str() + "filtertest_color.png", color);
            cv::imwrite(ss.str() + "/filtertest_depth.png", depth8_frames[iDevice]);
            cv::imwrite(ss.str() + "/filtertest_ifred.png", ifred_frames[iDevice]);
        }
        break;
    default:
        break;
    };
} while (27 != key);

cv::destroyAllWindows();

}`

On the same device if I just use:
cfg.enable_stream(RS2_STREAM_ACCEL);
then it works. I get correct IMU sensor data frames. Issue is only when trying to fetch depth / image data stream.

Hi @sumandeepb,
This looks like the USB bandwidth and power capability issue. How about only one D435i connected?
What's kind of platform you used?

Hi @sumandeepb,
This looks like the USB bandwidth and power capability issue. How about only one D435i connected?
What's kind of platform you used?

hi @freemanlo , there is only one device is connected. I just said that I have 8 D435i in stock, and only 2 of them have this issue. Rest of the 6 work fine. With same version of firmware. Hope that clarifies things.

Hi @sumandeepb,
Please check the calibration data (rs-enumerate-devices -c) on these two malfunctioned D435i cameras.
If it's normal, suggest to go back to the reseller for RMA and failure analysis.

Hi @sumandeepb,
Did these two D435i cameras' depth streams never work normally before when you got them?

Hi @sumandeepb,
Please check the calibration data (rs-enumerate-devices -c) on these two malfunctioned D435i cameras.
If it's normal, suggest to go back to the reseller for RMA and failure analysis.

I will check tomorrow and report the results here.

Hi @sumandeepb,
Did these two D435i cameras' depth streams never work normally before when you got them?

I don't think so. We got 8 of them a few months back. Did the development with just 2, they worked fine. Later tested all 8 and out of that 2 never seem to stream the deapth data, only streams the IMU data.
They had really old firmware in them 5.10.xx. Updating the firmware to version <IP_ADDRESS> (production) did not help. Then again updating to firmware version <IP_ADDRESS> (development) also did not help.
What could be the reason ?

Hi @sumandeepb,
This requires the failure analysis of these two cameras. One reason we faced was that the internal hardware connection between the interposer board and the camera module  is loose due to the accidental drop.
No solid connection will affect the video stream, which requires high data throughput with reliable cable and connection. IMU stream is thru internal I2C interface, which doesn't require the high speed.
By the way, does the stream of these two malfunctioned D435i cameras have the same issue?

Hi @sumandeepb,
Any update? How about the color stream of these two cameras?
Do you have the RMA?

Hi @sumandeepb,
This requires the failure analysis of these two cameras. One reason we faced was that the internal hardware connection between the interposer board and the camera module is loose due to the accidental drop.
No solid connection will affect the video stream, which requires high data throughput with reliable cable and connection. IMU stream is thru internal I2C interface, which doesn't require the high speed.
By the way, does the stream of these two malfunctioned D435i cameras have the same issue?

I will have to open and check the hardware. I shall update the status in a few days.

Hi @sumandeepb,
Any update?

Hi @sumandeepb,
Any update?
If we don’t hear from you in 7 days, this issue will be closed.

RealSense error calling rs2_pipeline_wait_for_frames(pipe:0x559ba8ff80):
Frame didn't arrive within 15000
getting this when running from nvidia jetson or nvidia jetson docker

Same issue with D415, Odroid (Ubuntu 18)


Create LICENSE

Hi! Thanks for your contribution :)
I will check this PR as soon as I can.
(Powered by GitMate.io)

ack 250c103259d246de860f9749a5606b4767031752

@abhishalya ff

Hey! I'm GitMate.io! This pull request is being fastforwarded automatically. Please DO NOT push while fastforward is in progress or your changes would be lost permanently :warning:

Automated fastforward with GitMate.io was successful! :tada:


Steve socket is spammed on fresh visit to node detail page

Setup

Rancher version: v2.9-head

Describe the bug

Rancher now returns a resource.error message when watching an individual resource over websocket

See https://github.com/rancher/rancher/issues/41809
Previously it failed to return an resource.error of too old which would result in socket spam

That revealed a scenario where the ui itself caused the spamming

See https://github.com/rancher/dashboard/issues/10540
Handle the way we get revisions when watching

That also revealed another bug, which this issue is about

The resource.error message is now returned when we try to watch a resource we should not

For instance the metrics.k8s.io.nodemetrics resource used in the node detail page
The resource.error though isn't one we let stick, so we just try to resource.start / watch again... which results in the same resource.error, repeat ad nauseam

Impact

This happens on navigate to the node detail page, as opposed to only when refreshing on the detail page
The spam does not stop by going from the detail page to the list page. Going from the node detail page where we watch an individual node metric to the node list where we watch all node metrics should behave the same as things like pod ... but it doesn't. Pods will stop the individual watch and start a watch for all.
This applies to all resources that we can't watch (no schema watch verb, about 8 out of 182 in a DS rke2 cluster)

To Reproduce

Bring up a rancher instance at or newer than 793118 (7th March)
Navigate to the node list
Bring up dev tools
Navigate to a node's detail page

Result

View the messages sent over the cluster socket repeat the resource.start, resource.stop / resource.error, resource.start cycle

Expected Result

We should not attempt to watch resources the user cannot watch

Screenshots

/backport v2.7.next2

/backport v2.8.next2

This is a manual test candidate. This require debug level logs to be enabled on Rancher and monitor log messages. @yonasberhe23

I noticed there's no /k8s/clusters/<cluster id>/v1/subscribe socket in both the local and downstream cluster
I see the following resource.error messages on a node from the downstream cluster:

I see the following resource.error messages on a node from the downstream cluster:
{name: "resource.error", resourceType: "node", data: {,…}}
data
:
{,…}
name
:
"resource.error"
resourceType
:
"node"

Same errors for endpoints and apps.deployment

You'll need to check Big request rows to see the full url path that the socket is using (network tab --> cog icon top right --> checkbox on left)

The main thing to confirm is that there's not lots and lots of repeated messages every second (green socket message sent, resource.start, resource.error, resource.start, green socket message sent, etc)

Tests pass on v2.9-16190ecee0aa3fb4aa570aa0fc932a36d9dcd082-head


⚠ DesiTorrents has degraded performance

In a65a725, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 1039 ms

Resolved: DesiTorrents performance has improved in 9bd3e3a after 10 minutes.


Convert Projects to .NET 5 and netstardard2.0

This PR migrates OpenDebugAD7 and its dependencies that built using .NET
Framework v4.6.2 to be on .NET5 and netstandard2.0.
Projects such as MIDebugPackage and SSHDebugPS will still stay as .NET
Framework v4.7.2.
Summary:

Removed GlassDir
Cleaned up Property groups with Configuration/Platform
Removed Desktop.* Configurations
Added MIDebugEngine-Unix.sln for dotnet build builds.
Moved test project's output to bin/(Configuration)/tests
Fixed some analyzer issues
Added AssemblyResolver that is needed for .NET 5 to find dependent
dlls
YAML now builds macOS and Linux

TODO:

[ ] Publish Binaries
[ ] Get Tests Running

Inputs="@(MakePIAPortableFiles)" Outputs="@(MakePIAPortableFiles->'$(PIAOutput)%(Filename)%(Extension)')'')

Refers to: src/MakePIAPortable/MakePIAPortable.csproj:67 in 204b11f. [](commit_id = 204b11fab1cae913b12afb7c2590a1b689a0dbec, deletion_comment = False)

NOTE: We skip this step for the lab configuration to ensure that in the lab we build exactly what is checked in.-->

This comment is now wrong

Refers to: src/MICore/GenerateXmlSerializersAssembly.targets:4 in 204b11f. [](commit_id = 204b11fab1cae913b12afb7c2590a1b689a0dbec, deletion_comment = False)

You probably want to change this code:
MIEngine\build\miengine.settings.targets:33:        full
So that we only use legacy PDBs in official builds on Windows.

Refers to: src/MIDebugEngine/MIDebugEngine.csproj:1 in 204b11f. [](commit_id = 204b11fab1cae913b12afb7c2590a1b689a0dbec, deletion_comment = False)

Oh, you actually changed this file, let me move my comment to a better spot.

In reply to: 876740154

Refers to: src/MIDebugEngine/MIDebugEngine.csproj:1 in 204b11f. [](commit_id = 204b11fab1cae913b12afb7c2590a1b689a0dbec, deletion_comment = False)

    <DebugType>full</DebugType>

We should change this 'DebugType' stuff so that we only use legacy PDBs for our official builds on Windows.

Refers to: build/miengine.settings.targets:33 in 204b11f. [](commit_id = 204b11fab1cae913b12afb7c2590a1b689a0dbec, deletion_comment = False)

One other TODO item: notarization for the OpenDebugAD7 executable on OSX.

Delete these again

Refers to: src/OpenDebugAD7/App.VSCode.config:18 in 5a2618a. [](commit_id = 5a2618abdf92e4ce4c4950b4428fe9eccd96d7f9, deletion_comment = False)

Will work on TODO's in the feature/dotnet branch before merging into main.


CSS layers?

Summary
Basically I want to be able to port the css onto a layer so that I can determined the order of the css that will be applied
Examples
No response
Motivation
No response
Search keywords: layers, css layers, prepend

Could you explain the exact use case you are looking for ? Is it for global layers, or component/utils specific layers ?
You might also be interested in this.

I see this now: #140, So I guess layers will be included in next versions? :)

Related to #226

I'm using the latest version of Pigment as of today (0.0.28) and the use of layers is causing some headaches. More specifically, because the Pigment styles are in a layer, they are getting overridden by less specific rules elsewhere:
e.g., trying to build an Icon Button component (as part of a larger enterprise library), the size of the icon is getting overridden by the default style of the MUI icon being passed in:

Is there a way to force the Pigment layers to load last?


Add About to Header and Footer

[x] Add Link to About on the left after HELP, move HydroShare logo home page further right.

@ChristinaB - can you clarify this a bit (there is no on the left after help?)

[x] Architecture
[x] Metrics - link to Kibana website
[x] Publications - add years tabs
[x] Team - add years tabs
[x] Governance
[x] Update links and text in footer

@ChristinaB - Need to add the content to pages.hydroshare.org site, and then update the links

Governance Notes
Link to ongoing Discussion
Web page draft for Governance developed in Google Docs
Link to Draft Governance webpage

@mjstealey - this will be ready for you to add to the header once we get the checkboxes added.

@aphelionz   -  jon pollack said he was on Github, but I'm not sure that he is added to this group. Is that something you can do?
This issue is for organizing the About pages needed, checking them off as they are ready, and then @mjstealey can do his magic on the header.   Do we need a different issue to work on adding tabs to years?  @mjstealey  Is this something that can be done in Mezzanine?    Here is an example webpage that would make updating publications and team relatively simple moving forward.  See this link to an example of tabs by year-yes, we should be jealous on the sponsor funding, but the point is can we do this for Team and Publications?)

@mjstealey  - I just wanted to re-ping you on this question of using tabs on the About pages.  My understanding is that we could make a new page for each year (for team and publication) and reorganize the dashboard to look like tabs.  If you have a better recommendation, please let me know.

@ChristinaB - Adding questions here as well as inline with the original post.
What is the exact wording for the left hand nav bar:
Key: REQUESTED (CURRENT)

About (About HydroShare) ?

Architecture (Architecture)
Metrics (Usage Metrics) ?
Publications (Publications)
Team (Team)
Governance (Policies) ?

@mjstealey
I updated Usage Metrics to Metrics.
Governance is a new page, I have posted what I have ready now.  The new structure on Pages (pending further suggestions, but currently live) is:

Footer links have been moved to Pages for Statement of Privacy and Terms of Use.
SiteMap does not seem to be something we really need to include (at this time, in the current crazy long list format).

Seems like the sitemap was there for search engine optimization purposes?

@aphelionz and @mjstealey  - is the site map generating automatically from iRODS ? This link should stay were it is.  Statement of Privacy and Terms now live officially on Pages.
Is this a good time to change the name from Pages to Help?

I fixed up Publications and added an ALL page per @rayi113.
I added a Funding page but need more info from  @dtarb and others to finalize. Are we listing all projects that have contributed to HydroShare development? I think yes.

@ChristinaB - The sitemap should actually be updated. Currently the sitemap link on pages goes to the sitemap of HydroShare. The sitemap on HydroShare is a custom implementation that was put in place by a prior Caktus developer (Calvin).
Ideally we break the sitemap link between pages and www and allow them to both have their own sitemap for web crawlers to find.
Added #2018 to reference the Terms of Use and Statement of Privacy issue.
And yes, will look at changing the name from pages.hydroshare.org to help.hydroshare.org in the near term.

I updated Team pages to be consistent with the fake tabs like Publication.  2017 needs a review, I'm not sure that the entire list is active. We can add new 2.0 people when funding is in place.
I need clarification on 2014  -- 1) do we want to include the following? if so, I need the first name and affiliation.
J. Coposky,
K. Gustafson,
S. Jackson,
H. Johnson,
Y. Kim,
T. Whitenack,
I. Zaslavsky,
L Zhao,
N. Martin,
S. Duncan,
L. Christopherson,

@mjstealey
I think everything is ready to go on the Header and Footer updates.
This is the Footer update text and layout (maintain original color scheme)  that @aphelionz put together.

Contact Us Here (hyperlink) should go to<EMAIL_ADDRESS>In future work, we will work with @Lizabrazil on how to support and where to post<EMAIL_ADDRESS>def<EMAIL_ADDRESS>etc

@rayi113 is there a separate issue to fix pages

@dtarb - Yep #2093


alignment is not preserved

When we write some text and save it to db and load it to editor, text alignment is removed.
edit:
I used   p: 'style|text-align' to whitelist but I feel this should be inbuilt.

Yes, I have identified a problem with the current style.
Although it was improved, it was decided to apply in version 3.0.0 due to compatibility problems with the previous version.

Yes, I have identified a problem with the current style.
Although it was improved, it was decided to apply in version 3.0.0 due to compatibility problems with the previous version.

Thank you!

Thank you!

It has been fixed in the latest version.
The "text-align" style is maintained on lines such as P tags.

Text alignment is fixed but image alignment especially to the right is not working fine. It is aligned to center.
I fixed this by code below on react(NEXTjs)
if (typeof window !== 'undefined') {
    const { width } = document.getElementsByClassName('__se__float-right')[0].firstChild.firstChild;
    document.getElementsByClassName('__se__float-right')[0].firstChild.style.removeProperty('margin');
    document
      .getElementsByClassName('__se__float-right')[0]
      .firstChild.setAttribute('style', `width:${width}px; margin-left:auto!important;`);
}

and then It shows peroperly
<div class="... __se__float-right">
<figure style="width: 200px; margin-left:auto;">
...


"showingTooltipIndicators" causes Range Error.

The bug
When changing the amount of data provided to a bar chart I get a Range Error:
======== Exception caught by rendering library =====================================================
The following IndexError was thrown during paint():
RangeError (index): Index out of range: index should be less than 3: 3

The relevant error-causing widget was:
  BarChart BarChart:file:///home/gustavo/FlutterProjects/fl_charts_bug/lib/main.dart:89:14
When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49  throw_
dart-sdk/lib/_internal/js_dev_runtime/private/js_array.dart 581:7             _get]
packages/fl_chart/src/chart/bar_chart/bar_chart_painter.dart 588:21           [_drawTouchTooltip]
packages/fl_chart/src/chart/bar_chart/bar_chart_painter.dart 66:9             paint
packages/fl_chart/src/chart/bar_chart/bar_chart_renderer.dart 81:14           paint
packages/flutter/src/rendering/object.dart 2403:7                             [_paintWithContext]
packages/flutter/src/rendering/object.dart 189:12                             paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                          paint
packages/flutter/src/rendering/object.dart 2403:7                             [_paintWithContext]
packages/flutter/src/rendering/object.dart 189:12                             paintChild
packages/flutter/src/rendering/box.dart 2792:14                               defaultPaint
packages/flutter/src/rendering/flex.dart 1078:7                               paint
packages/flutter/src/rendering/object.dart 2403:7                             [_paintWithContext]
packages/flutter/src/rendering/object.dart 189:12                             paintChild
packages/flutter/src/rendering/shifted_box.dart 79:14                         paint
packages/flutter/src/rendering/object.dart 2403:7                             [_paintWithContext]
packages/flutter/src/rendering/object.dart 189:12                             paintChild
packages/flutter/src/rendering/box.dart 2792:14                               defaultPaint
packages/flutter/src/rendering/custom_layout.dart 408:5                       paint
packages/flutter/src/rendering/object.dart 2403:7                             [_paintWithContext]
packages/flutter/src/rendering/object.dart 189:12                             paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                          paint
packages/flutter/src/material/material.dart 554:11                            paint
packages/flutter/src/rendering/object.dart 2403:7                             [_paintWithContext]
packages/flutter/src/rendering/object.dart 189:12                             paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                          paint
packages/flutter/src/rendering/object.dart 392:12                             pushLayer
packages/flutter/src/rendering/proxy_box.dart 1929:14                         paint
packages/flutter/src/rendering/object.dart 2403:7                             [_paintWithContext]
packages/flutter/src/rendering/object.dart 189:12                             paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                          paint
packages/flutter/src/rendering/object.dart 2403:7                             [_paintWithContext]
packages/flutter/src/rendering/object.dart 189:12                             paintChild
packages/flutter/src/rendering/proxy_box.dart 140:14                          paint
packages/flutter/src/rendering/object.dart 2403:7                             [_paintWithContext]
packages/flutter/src/rendering/object.dart 141:10                             _repaintCompositedChild
packages/flutter/src/rendering/object.dart 100:5                              repaintCompositedChild
packages/flutter/src/rendering/object.dart 973:29                             flushPaint
packages/flutter/src/rendering/binding.dart 499:19                            drawFrame
packages/flutter/src/widgets/binding.dart 883:13                              drawFrame
packages/flutter/src/rendering/binding.dart 363:5                             [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1145:15                           [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1082:9                            handleDrawFrame
packages/flutter/src/scheduler/binding.dart 996:5                             [_handleDrawFrame]
lib/_engine/engine/platform_dispatcher.dart 1005:13                           invoke
lib/_engine/engine/platform_dispatcher.dart 159:5                             invokeOnDrawFrame
lib/_engine/engine.dart 455:45                                                <fn>
The following RenderObject was being processed when the exception was fired: RenderBarChart#d9fae
...  parentData: <none> (can use size)
...  constraints: BoxConstraints(w=600.0, h=400.0)
...  size: Size(600.0, 400.0)
RenderObject: RenderBarChart#d9fae
  parentData: <none> (can use size)
  constraints: BoxConstraints(w=600.0, h=400.0)
  size: Size(600.0, 400.0)
====================================================================================================

First of all I thought the error might have been caused by the data's count difference, for example from 3 items to 5, but this did not seem to be the caused, then when I was stylizing a bit more the chart I realized that the source of the problem was the showingTooltipIndicator parameter.
When I comment it or simply don't use it, I don't get the error, However it would be great to have it on my chart.
To Reproduce
class MyData {
  const MyData(this.x, this.y);

  final double x;
  final double y;
}

const List<MyData> three = [
  MyData(0, 46),
  MyData(1, 19),
  MyData(2, 5),
];

const List<MyData> five = [
  MyData(0, 4),
  MyData(1, 90),
  MyData(2, 30),
  MyData(3, 10),
  MyData(4, 15),
];

class FlChartBug extends StatefulWidget {
  const FlChartBug({Key? key}) : super(key: key);

  @override
  State<FlChartBug> createState() => _FlChartBugState();
}

class _FlChartBugState extends State<FlChartBug> {
  List<MyData> data = three;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            TextButton(
                onPressed: () => setState(() {
                      data = three;
                    }),
                child: const Text("3 items")),
            TextButton(
                onPressed: () => setState(() {
                      data = five;
                    }),
                child: const Text("5 items")),
            Chart(data: data),
          ],
        ),
      ),
    );
  }
}

class Chart extends StatelessWidget {
  const Chart({Key? key, required this.data}) : super(key: key);

  final List<MyData> data;

  @override
  Widget build(BuildContext context) {
    return SizedBox(
      height: 400,
      width: 600,
      child: BarChart(
        BarChartData(
          maxY: 100,
          titlesData: FlTitlesData(
            show: false,
          ),
          gridData: FlGridData(
            show: false,
          ),
          borderData: FlBorderData(
            show: false,
          ),
          barTouchData: BarTouchData(
            enabled: false,
          ),
          barGroups: [
            for (final item in data)
              BarChartGroupData(
                x: item.x.toInt(),
                barRods: [
                  BarChartRodData(
                    y: item.y,
                    width: 10,
                  ),
                ],
                showingTooltipIndicators: [0],
              ),
          ],
        ),
      ),
    );
  }
}

Versions

Flutter -> 2.8.0
FlChart -> 0.40.6

This is a duplicate of #840.


first challenge with quick_sort function

QuickSort is a popular and efficient sorting algorithm that follows the divide-and-conquer paradigm. The basic idea behind QuickSort is to select a "pivot" element from the array and partition the other elements into two sub-arrays according to whether they are less than or greater than the pivot. The process is then applied recursively to the sub-arrays.

You should not have deleted the check list that was here
I will put it back

[ ] PR's title includes the challenge's name and language
[ ] PR has short and clear description of the challenge
[ ] PR has appropriate labels and milestones for easy identification
[ ] PR it is assigned to the owner
[ ] reviewers are assigned
[ ] the PR contributes only one focused change
[ ] the branch is up to date with main/master
[ ] the code works when pulled and run locally
[ ] all conflicts are resolved (if any)
[ ] It is linked to an issue in the appropriate column of the project board
[ ] feedback is addressed (if any, and if it is appropriate feedback.)

README Documentation

[ ] The solution is documented in /src/README.md
[ ] The markdown source is formatted
[ ] Spelling and grammar is correct in all text
[ ] The markdown looks correct when you preview the file
[ ] All links and images work
[ ] The README documents the solution's behavior, strategy(ies) and implementation(s)
[ ] There are use cases in code blocks to illustrate the function's behavior

Python Files

[ ] There is a module header
[ ] There is a module docstring
[ ] File names are in snake_case
[ ] Test files are named test_<module_name>.py

Function Docstring

[ ] Behavior description
[ ] Parameter description
[ ] Return value description
[ ] Include any assumptions
[ ] Include 3 or more (passing!) doctests
[ ] Include 1-2 use cases (if necessary)

Function Implementation

[ ] The solution is not is not copied from djeada
[ ] The code is auto-formatted
[ ] The code has no (reasonable) linting mistakes
[ ] Variables are named with snake_case
[ ] The function has a clear and helpful name
[ ] The file's name matches the function name
[ ] The code follows the strategy as simply as possible
[ ] Variable names are clear and helpful
[ ] Comments explain the strategy (if necessary)
[ ] There are type annotations
[ ] (challenge) The code includes defensive assertions

Unit Test Suite

[ ] The test class has a helpful name in PascalCase
[ ] The test class has a docstring
Each unit test has

[ ] A helpful name
[ ] A clear docstring
[ ] Only one assertion

[ ] All tests pass
[ ] There are tests for defensive assertions
[ ] There are tests for boundary cases
[ ] Test suite includes black-box and glass-box tests

add README.md
add working test_quick_sort
when i pull your branch i have to fix it,
with
from quick_sort import quick_sort

Code is good and working, but it could be made better
You are missing:
module and test docstrings
type annotaions
comments marking zero case and it would be better to add coments on logic
use auto formatter (it's easy, just install autoPEP8 and press Shift-Alt-F in VSCode)

Good, just fix the other issues


Properly handle single statement IAM policies

AWS will not wrap the Statements in single statement policies in an array,
they will just have the single statement object.
This adds some custom MarshalJSON and UnmarshalJSON methods which deal with
this in a way similar to Principle (another "adaptable" field.)

OK, I have amended the commit to remove the custom MarshalJSON for IAMPolicyDocument.


Fix (->-) signature in Propellor.Types.Container

Please submit changes to http://propellor.branchable.com/todo/ instead of using github pull requests, which are not part of my workflow. Just open a todo item there and link to a git repository containing your changes. Did you know, git is a distributed system? The git repository doesn't even need to be on github! Please send any complaints to Github; they don't allow turning off pull requests or redirecting them elsewhere.  -- A robot acting on behalf of Joey Hess


Add oauth transform unit test

TODO's and t.Log(f)'s removed.

@jmontleon re: my remark about equality, I took a closer look at this and I think it's actually doing what we expect it to do. The objects we're testing (Manifest) are simple https://github.com/fusor/cpma/pull/148/files#diff-074e096a46e8203beecc17975713e0a9R259, they're just a Name (string) and CRD ([]byte). They are not nested types, and don't contain any pointers.
Additionally, I moved one of the expected values into a different slot in the array, and that failed the test. That tells me the arrays are ordered with the same objects at each index. < That concern goes away once we split out the array into individual tests. The transform output would return an array of one object, that we'd compare to the single identity provider that we passed as input.
I think this is doing everything we expect it to do, so I'm ready to ack it with an issue that we need to return to this and write a Test function for each identity provider rather than having them all in one test function.

I think we've got sufficient consensus on this to merge.


Adjust heading width to avoid overlaps cancel box in Dashboard

Due to issue #2966, I had controlled the heading width according to the cancel box width.
https://user-images.githubusercontent.com/44208107/174785325-0429ba5a-ec5d-48c8-8260-ce0067a56316.mp4

Internal Tracking ID: EXPOSUREAPP-13402

@MikeMcC399 I had updated it with 50px more

@MikeMcC399 Thanks for reporting and reviewing!


Mat 1439 add charge step to cycles interpolated

This PR addresses a request to add charge steps to the interpolated cycles.

Column 'step_type' added to interpolated frame. Typed as 'category', and set as either 'charge' or 'discharge' for filtering processes
Function for filtering charge step
Split up function into step interpolation function for either charge or discharge and function that combines the charge and discharge portions.

Minor clean up of big file tests is also included here.

@JosephMontoya-TRI I think I addressed all of your comments, thanks for those!


Search in multiple dictionaries

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when
I can only look up words in one selected dictionary.
Describe the solution you'd like
A clear and concise description of what you want to happen.
I should be able to group my dictionaries.
Results from different dictionaries of a given group are presented in the search panel, and I should be able to select which dictionary group to look up words.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This feature is currently partially implemented in 1.0.0-alpha.1, note that this version is not stable.


$cordovaDatePicker Issue

Not sure if this more of an issue of the actual plugin or with the wrapper. When I cancel/clear a datepicker box in iOS, the success function is called with a date value of null. When I cancel a datepicker box in Android, the success function is never called. It looks like Android uses the error function instead, but the $cordovaDatePicker only wraps the success function. Is this intended? It seems like the actual plugin should be more consistent with whether it uses the success or error callback.
Original
show: function (options) {
	var q = $q.defer();
	options = options || {date: new Date(), mode: 'date'};
	$window.datePicker.show(options, function (date) {
		q.resolve(date);
	});
	return q.promise;
}

Modifications
show: function (options) {
	var q = $q.defer();
	options = options || {date: new Date(), mode: 'date'};
	$window.datePicker.show(options, function (date) {
		q.resolve(date);
	}, function() {
		q.resolve(null);
	});
	return q.promise;
}

I believe this was resolved in our latest release.
https://github.com/driftyco/ng-cordova/releases/tag/v0.1.24-alpha


PD: Batch edit enabled form field states that don't generate modals

User Story
As a PD user in batch edit mode, I would like to know what states the fields in my batch edit form are in, specifically which fields are enabled, so that I can make edits to those fields.
Acceptance Criteria
Fields are enabled or disabled based on what properties the selected Transfers share
https://docs.google.com/spreadsheets/d/1dbEeeFj3Bdi9IsRQUl_N-xUr3XnERoJkL2BhEuWO9gw/edit#gid=0
Enabled form fields are in 1 of 2 states, comprising booleans (checkboxes) and values:

Displaying a shared value (even if that value is unchecked and empty)
Are in a mixed state

Form fields this ticket covers
Aspirate

[ ] Checkbox for pre wet tip
[ ] Checkbox for Mix, text field for uL, text field for repetitions
[ ] Checkbox for Delay, text field for s, ignore field for tip position
[ ] Checkbox for Touch tip, ignore field for tip position
[ ] Checkbox for Air gap, text field for uL

Dispense settings

[ ] Checkbox for Delay, text field for s, ignore field for tip position
[ ] Checkbox for Mix, text field for uL, text field for repetitions
[ ] Checkbox for Touch tip, ignore field for tip position
[ ] Checkbox for Blow out, dropdown for location
[ ] Checkbox for Air gap, text field for uL

New component behavior

[ ] Checkbox can take on a mixed state
[ ] Form fields can take on the "-" mixed state
[ ] Dropdowns can take on a mixed state where the "-" is a non selectable item in the dropdown

Covered by #7128 and all the other work for the individual fields to handle enable/disable states etc


Reload launchd on change

Description
notify the chef-client service on macOS, if running as a daemon, when the daemon-plist changes.
Issues Resolved
none

Looks like it would fix the issue #620 I raised.

Thanks @pludi


Incentive Cash FAQ says "You will earn 2 Minima a day..."

Hi team,
The FAQs in Incentive Cash say you will earn 2 Minima a day when the amount is 1 a day.

nice spot

This is fixed in v1.0.43

fixed, closing

Hi,
The new version of IC 1.0.43 says "You will earn 1 Minima per week". Is this correct?

Thanks,
Jazmin

Nope, it should be 7 a week.. will be fixed in next version
On Wed, 16 Jun 2021 at 7:11 PM, Jazmin @.***> wrote:

Hi,
The new version of IC 1.0.43 says "You will earn 1 Minima per week". Is
this correct?
[image: image]
https://user-images.githubusercontent.com/60537663/122255177-c7bf1500-cec5-11eb-8535-bef066612e6d.png
Thanks,
Jazmin
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/minima-global/Minima/issues/250#issuecomment-862512407,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIBLNWM55F4WJFY4TSONVDTTTDELTANCNFSM46E7CRNA
.

ah you were too quick to respond!  Eurobuddha asked me to raise this as a new ticket since this one is closed...


API / property to expose the text from the textarea

Better than having to access the internals:
el.components.textarea.textarea.value
Question popped up in StackOverflow question

Ah, thanks for reporting it!

Added getText() in latest version.


add stripchat website

is it possible to add stripchat to this program

Sorry, it was designed for Chaturbate-only and have no plan to support other website


How to target center slide?

I need to apply custom CSS to a center slide. The slider appears to not have any class that would identify it as a center slide. How do I target the center slide?

I've approached it by applying an active class to the index of the slides that matches the slider.getInfo().index property on the transitionStart or transitionEnd events.
However, in loop mode the slides get fully replaced when you navigate far enough in either direction and I haven't found a suitable event that will let me reapply my active classes to the new layout - the rearranging happens after transitionEnd. It's a bit janky

I've approached this using CSS for my carousel which has 3 slides visible.
.tns-item:not(.tns-slide-active) + .tns-slide-active + .tns-slide-active {     opacity: 1; }
First find the slide that is not active > then find the slide that is active and then target the slide immediately after (the one that is centered).
This can end up being quite cumbersome if you have multiple slides on display, but does allow you to use CSS transitions where needed and not have to rely on the events that can cause the slides to flicker.

You can easily add a class using a event. For example:
slider.events.on("transitionEnd", function(info) {
  info.slideItems[info.indexCached].classList.remove(
    "your-class-here"
  );

  info.slideItems[info.index].classList.add(
    "your-class-here"
  );
});

Thank you @wadtech @codetopixels @arjenblokzijl
@dmxd5 You could use transitionStart or transitionEnd events to get the index of the first active slide, then get the center slider based on how many slides on one page.

transitionStart/End don't work when the slides reset with the loop option on, and there's no event for when the loop resets - any classes added are stuck.

simple addition would be to add an event that fires after the loop resets?

$(document).ready(() => {
  const slider = tns({
    container: '.donut-slider',
    items: 4,
    slideBy: "page",
    loop: true,
    controls: false,
    center: true,
    mouseDrag: true,
    swipeAngle: false,
    speed: 700,
  });
  // why bother declaring constants when this only happens once?
  console.warn(getComputedStyle(document.querySelector('.donut-slider_item')).paddingLeft);
  slider.getInfo().slideItems[slider.getInfo().index].classList.add('donut-slider_item--active');
  slider.events.on('indexChanged', () => {
    const info = slider.getInfo();
    const indexPrev = info.indexCached;
    const indexCurr = info.index;
    console.log(indexPrev, indexCurr);
    info.slideItems[indexPrev].classList.remove('donut-slider_item--active');
    info.slideItems[indexCurr].classList.add('donut-slider_item--active');
  });
});

Results:

when the loop resets, the previous item still has the donut active class.
indexPrev never updates when the loop resets - the indexCached value, in this case, remains four.

7 6 compiled.js:1:3572
6 5 compiled.js:1:3572
5 4 compiled.js:1:3572
4 3 compiled.js:1:3572
4 10

I get why transitionStart/End don't do this, but I feel like indexChanged should pop the indexCached value. Would also nice for the transition-duration:0 be applied to a class rather than an inline style, so child items can look to the class to have their own transition durations changed to 0.

This can end up being quite cumbersome if you have multiple slides on display, but does allow you to use CSS transitions where needed and not have to rely on the events that can cause the slides to flicker.

@codetopixels
I applied it like
.container .tns-item {
  opacity: .2;
}
.container .tns-item:not(.tns-slide-active) + .tns-slide-active + .tns-slide-active {
  opacity: 1;
}

and it worked so this means you can change slider. Thanks.

@minaminfo really buggy css...
Is there a better solution and maybe official support when using center: true ?

@ganlanyuan Can you reopen the issue? For me it is not solved and it would be great if there is official support for center items like in owl carousel

I've approached this using CSS for my carousel which has 3 slides visible. I have all my slides opacity property set to .5 and wish for the centered one to be 1.
.tns-item:not(.tns-slide-active) + .tns-slide-active + .tns-slide-active { opacity: 1; }
First find the slide that is not active, then find the slide that is active and then target the slide immediately after (the one that is centered).
This can end up being quite cumbersome if you have multiple slides on display, but does allow you to use CSS transitions where needed and not have to rely on the events that can cause the slides to flicker.

Unfortunately this does not work if the slider is looped.

Use the changes applied in pull requests #638 or #670
@katsar0v @thenomadicmann

I had the problem with a slider that had a transition transform scale effect so I needed to put the .active class beforehand to avoid the shrink/scale effect and I came up with this (its not pretty):
let servicesSlider = tns({
    container: ".slider-services",
    items: 3,
    slideBy: 1,
    autoplay: false,
    gutter: 30,
    loop: true,
});

let index;
servicesSlider.events.on("indexChanged", () => {
	const info = servicesSlider.getInfo();
	const originalCount = info.slideCount;
	const allCount = info.slideCountNew;
	const itemsCount = info.items;
	const indexCurrent = info.index;
	if (index !== indexCurrent) {
		index = indexCurrent;
		if (index === 1) {
			info.slideItems[originalCount + 1].classList.add("active");
		} else if (index === allCount - itemsCount) {
			info.slideItems[allCount - itemsCount - originalCount + 1].classList.add("active");
		}
	}
});

I get rid of the .active class in my goTo("next/"prev) logic. So far it works with 3 items displayed no matter what the number of slides is, I tried for 5 items displayed and it was out of index but you can tweek it to your taste.

// Add class for center item         slider             .getInfo()             .slideItems[slider.getInfo().index].classList.add(                 "vl-slide-center"             );         slider.events.on("indexChanged", () => {             const info = slider.getInfo();             const indexCurr = info.index;             const elements = document.getElementsByClassName("vl-slide-center");             while (elements.length > 0) {                 elements[0].classList.remove("vl-slide-center");             }             info.slideItems[indexCurr].classList.add("vl-slide-center");         });


As a courier, I want to know which warehouse to get my package

so that I can easily collect my delivery orders.

Resolved in #174


Build process should upload slo-generator image to GCR and not assume latest

When building slo-generator using cloudbuild.yaml, there are two issues I've encountered:

The build process doesn't upload the image to GCR:

Finished Step #1                                                                                Starting Step #2 - "Run all tests"
Step #2 - "Run all tests": Pulling image: gcr.io/<REDACTED>/slo-generator
Step #2 - "Run all tests": Using default tag: latest
Step #2 - "Run all tests": Error response from daemon: manifest for gcr.io/<REDACTED>/slo-generator:latest not found: manifest unknown: Failed to fetch "latest" from request "/v2/<REDACTED>/slo-generator/manifests/latest".
.....
ERROR: failed to pull because we ran out of retries.
ERROR
ERROR: build step 2 "gcr.io/<REDACTED>/slo-generator" failed: error pulling build step 2 "gcr.io/<REDACTED>/slo-generator": generic::unknown: retry budget exhausted (10 attempts): step exited with non-zero status: 1

The test step (id: Run all tests) assumes latest, which best case is less than ideal if you're building a custom version, and at worst, doesn't work on a fresh repo because 'latest' isn't a valid tag (see error above).

Fixed by #149


Inconsistent results with filter control

My team noticed an issue today with the filtering functionality of this component. The best way I could think of to communicate the issues was with a series of screenshots. See below.
Here is the default state of the grid with no filter applied. Note that company with the name "Acuity Insurance" in the list:

When I enter the first two characters of the company name into the filter, "Acuity Insurance" is still in the list of results in the grid:

Now, when I enter a third charter, which, note, is still part of the company name "Acuity Insurance", I see no results at all in the grid (note that it actually does appear that there is a row in the grid...but there is no content visible in it...part of the problem?):

If I enter the entire first word of the company name, "acuity" and add a question mark to the end of the word...I still have no results, but I now actually get the "no data" message in place of the grid:

Then if I hit backspace, and remove the question mark, I actually now see the result I expect:

Anyone else seen this? Is there a solution or workaround for fixing this? Would love to see consistent results with the filter control.

Hey there! Sorry you're encountering issues like this. Screen shots are a perfect way to convey this information. Are you using infinite scrolling and is this a local data set or is it calling out to a server to get results?
We'll try to get this sorted out. :+1:

I am using infinite scrolling, yes...and the data is local. I am making a server call to get the results, but...prior to rendering the grid, so, its all local.

Would you be able to get us some sample data to reproduce the results you're seeing?

The results that the above screenshots are based on is just some mock data that is getting generated...so the issues really apply to just about any data...here's a sample collection of mock data that got generated today...hopefully this helps.
https://gist.github.com/ryexley/ef7ac617ba01ebef3276

Thanks for posting the information. Sorry to keep bugging you for more info but could you please create a project that I can pull down to demonstrate this or something along those lines (jsfiddle or would be great too)? I'm not able to reproduce the issue and I'd really like for this to be working for you.

Hey @ryexley -- I'm going to close this one for now. Please let me know if you're still encountering problems and we can open it back up.

I am still experiencing it, but I've not had the capacity to put together a
full sample project to reproduce the issue. I provided a collection of
sample data, but not a full solution.
On Sat, Apr 25, 2015 at 4:12 PM Ryan Lanciaux<EMAIL_ADDRESS>wrote:

Hey @ryexley https://github.com/ryexley -- I'm going to close this one
for now. Please let me know if you're still encountering problems and we
can open it back up.
—
Reply to this email directly or view it on GitHub
https://github.com/GriddleGriddle/Griddle/issues/123#issuecomment-96272771
.

Thanks for sending the mock data. I was not able to reproduce the issue with the mock data.

@ryexley are you using a custom component to render the column? the sorting/filtering only works on the raw data you pass in, not the data that is rendered.

@pherris not for the Company column, no...for the other column, yes, I'm using a custom component for it...but not Company.


[stable/kube-state-metrics] Document kubeTargetVersionOverride

Is this a new chart
NO
What this PR does / why we need it:
It adds parameter used in psp-clusterrole.yaml template, but being missed in README.md and values.yaml.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @mrueg

Looks good to me, can you rebase please?

/ok-to-test

/lgtm

Thanks for speedy approve, @mrueg !


ROX-25485: e2e test for policy as code

There is one workflow automated in this e2e test so far:

Create a policy in Central
Save policy as CR
Apply the CR to the stackrox namespace
Update the CR and propagate the change to Central
Delete the CR and observe the policy is removed from Central

Technical notes on the e2e tests:
I set up a shared informer factory so that each segment of the test could have its own event listener to know exactly when a state change from the controller happened.  I then use a channel to send the updated policy to the test goroutine.
This makes the tests reliable (because we always wait for the change to happen) and fast (because we never wait longer than we need to).
Mutating requests to the Kube API still happen via a typical client.
(Yes there's only one use of the informer at this point, but I expect other e2e tests to be added, and they will likely make use of it as well.)

/test gke-nongroovy-e2e-tests


changing st.experimental_rerun to st.rerun to remove warning

Currently experiencing this warning, would love to see this update

Nice work @bedaw99
I do the same thing with a condition to always use this project with Streamlit version <1.27 https://github.com/Jumitti/streamlit_modal
@mdu-adam-williamson if you want to use it:

download streamlit_modal folder with init.py from @bedaw99 or my fork https://github.com/Jumitti/streamlit_modal
put streamlit_modal folder at the root of your python script
don't forget to install deprecation package (pip install deprecation)
That all folks !

Here you can see how i do it: https://github.com/Jumitti/TFinder


Experimental Docker file is superceded by ./fhir-install/docker/Dockerfile-fhirdb2

Experimental Docker file is superceded by ./fhir-install/docker/Dockerfile-fhirdb2

https://github.com/IBM/FHIR/pull/451/files

waiting on Review/QA from Albert, and then it is safe to close


Mark issues/PRs to read

Sometimes I find it inconvenient "reading" issues/PRs one by one if you don't want to "read" em all.
IMO would be good to have a possibility to mark those you want to "read".  🤘

Sorry what’s the problem this solves? Is this different from notifications? Can you not use bookmarks for this?
Sent with GitHawk

It's a faster way to clear some issues/PRs that you are not interested in a certain moment.
If I don't have time to have a look in issues/PRs, I usually keep some of these in my inbox and "read" the others which I am not interested.  So when I enter Githawk later, I don't forget.
While in bookmarks I keep the ones that are my "favourite".

Ha, I'm really confused. I do exactly that workflow now:

Open app and see latest notifications
Swipe those I don't care about
Read the ones I do care about eventually
Reach inbox zero when convenient

Can you mockup what your proposal would be? Or explain how this is different? What features would be required to make this work?


use LOCAL_ONE consistency

Since have upgraded to newer version of cassandra-maven-plugin, we are not limited to setting our consistency to ONE due to this bug: https://issues.apache.org/jira/browse/CASSANDRA-6238.
Should not impact performance that much. This is just cleaning up work.

Coverage decreased (-0.01%) to 74.905% when pulling 152a60e406a771f6db5aad18c8bd11b35cb41180 on shintasmith:local_one into 3cc888d121b326fcfd5e3b05b91b26c85a2f4961 on rackerlabs:master.

That is awesome!

Coverage increased (+0.02%) to 74.936% when pulling cfce25df880bf074fee43ffdd43faf49ec6b6a31 on shintasmith:local_one into 3cc888d121b326fcfd5e3b05b91b26c85a2f4961 on rackerlabs:master.


Validate bundle list when creating or updating a profile

Right now, a profile's bundle list is an arbitrary string that the user provides. It's meant to be a comma separated list. The following validations should take place:

The bundle names must follow k8s resource naming requirements (they can't have special characters, etc...)
The list must be comma separated if more than one bundle
(Optional, needs some thought) The bundle names must refer to valid existing bundles. This is trickier than it seems, for e.g., what happens when a bundle is deleted? We don't have a full relational database backing the objects, so can't express constraints.

Aha! Link: https://pf9.aha.io/features/ARLON-172

(Optional, needs some thought) The bundle names must refer to valid existing bundles. This is trickier than it seems, for e.g., what happens when a bundle is deleted? We don't have a full relational database backing the objects, so can't express constraints.

@bcle is it okay to check if the bundle names exist using the list API we have for the arlon bundle list command? For now, that's the approach I'm taking.

The list must be comma separated if more than one bundle (this is taken care of)
The bundle names must follow k8s resource naming requirements (they can't have special characters, etc...) (docs have some RFCs will do a regex validation for it.)


feat: add macOS support

What this PR does?
Adds macOS support to get system icon.
Below is the screenshot of the hello.rs example.

Will it be merged any time soon?

I will check this request next week and merge it if I don't see any problems. I don't have access to a Mac, so I cannot test it


RFC: Get rid of folder classes

The current system of folder classes has proven to be quite confusing to our users. I'd like to replace it with something that is easier to understand/use. How exactly that could look like is up for discussion.
Quick suggestions:

Allow users to create "folder groups" and have sync and notification settings per folder group.
Per folder sync and notification settings and a bulk editing UI to make it easy to change those settings for a bunch of folders at once.

I doubt the display class is used by many people to switch between different views of the folder list. So I'd just get rid of that feature. It can be replaced by a simpler mechanism to hide selected folders.

The above suggestions sound good.  I'd like to add a third one that is more evolutionary.  It would, for example, conserve the current "class inheritance" (display -> sync -> push -> notification).
IMHO the most confusing aspect of the current class system is that, depending on particular account settings, "2nd class" can have higher priority than "no class", or it can be the other way around.
For example, if an account is configured to display only "1st and 2nd class", "no class" are the lowest priority.  If, on the other hand, all folders are displayed "except 2nd class",  "2nd class" is the lowest priority.
It seems to me that this choice has been made so that classes can work both as a whitelist and as a blacklist.  With no class assigned by default, displaying "1st and 2nd class" corresponds to a whitelist approach, and displaying "all except 2nd class" corresponds to a blacklist approach.
I believe that all the nice features of the current system can be conserved while making it more simple.  In the following I use the example of display class, but I mean any class, i.e. also "sync class".

Rename 1st -> A, 2nd -> C, "no class" -> B.  Each folder thus belongs to a class.  (The new classes A, B & C are just placeholders for names that are yet to be decided).
Only allow to display folders according to a fixed class hierarchy: "display A", "display A & B" , "display all, i.e. A, B & C".  The crucial difference to the current class system is: there's no longer the option "display 1st and 2nd".  This option would correspond to "display A and C" after the rename.

The current "1st and 2nd" behavior is a two-level whitelist (it makes is possible to switch between displaying "1st only" and "1st and 2nd").  If this behavior is deemed important enough, it can be implemented in a less confusing way by making the default class of new folders configurable.  There could be also functionality to bulk-assign a class (perhaps to all folder, or to all folder that already have some other class).
Another problem that should be tackled at the same time is that currently the default display class for new folders ist "no class", while the default push class for new folders is "2nd".  IMHO it's preferable to only set the display class by default.

I think the whole folder class system is very confusing while it is not adding any functionality or usability.
  what i would prefer, is a simple List of all folders in that particular account with checkboxes for subscribed, synch, push, searchable, move target.
With checkbboxes the user has a binary decision between two very distinct a clear options: yes or no.
with classes you have a ternary decision (1st class, 2nd class, None) while the meaning of these options depend heavily on other settings. But the user only get's the functionality of e.g. synching: yes or no.
I think the class-system has 2 levels of indirection too many.
If classes were meant for a fast switch between "show me all", "show me, what i need" and "do not disturb or distract me", one might achieve this with to have multiple versions of this above list of folder settings. e.g. a "do not disturb"-version, a "at work"-Version a.s.o.
I think, even the suggested folder groups are a bit too much. in IMAP you can have folders within folders so grouping is already in existence. you can automatically apply all settings of a folder to all it's subfolders, unless the user specifies it otherwise.

I agree that the class system is cumbersome.

It is not possible to have an overall view of the status of all folders for a specific action (Display, Sync and Push).
It is not possible to reset/change those classes in bulk.

Each folder can have four different class:

Display Class
o	None
o	Class 1
o	Class 2
Sync Class
o	None
o	Class 1
o	Class 2
o	Same as Display
Push Class
o	None
o	Class 1
o	Class 2
o	Same as Display
Notification Class
o	None
o	Class 1
o	Class 2
o	Same as Display

For the each accounts, there is five different class system, which can all be configure differently:

Display
o	All
o	Class 1 only
o	Class 1 & 2
o	All but Class 2
Copy/Paste Destination
o	All
o	Class 1 only
o	Class 1 & 2
o	All but Class 2
Sync
o	All
o	Class 1 only
o	Class 1 & 2
o	All but Class 2
o	None
Push
o	All
o	Class 1 only
o	Class 1 & 2
o	All but Class 2
o	None
Notification
o	All
o	Class 1 only
o	Class 1 & 2
o	All but Class 2
o	None

It seem ideal to hide the class property of each folder in the UI and allow a way to list/edit each class system and their member in one single place.
I mean, a dedicated UI for each list (display, sync, push, notification, c/p destination) in which we can see all the folders and they status in that list (enable, disable) and a way to enable/disable them all at once.
The class system can still be what is it use in the background, but I do not think it should be visible at all in the UI.

I think the notion of letting people define folder groups, letting people put folders into a (single) group, and having the group control the behavior is good.   That does make people define everything as a group, but I think that is actually what 99.9% want.
Personally, I want:
a very small number of folders that do push (and are polled on connect), and for which I get notifications
the rest of the folders not to be updated via push or poll, not to be queried on the server on any periodiic basis, and not to notify me
I can see someone wanting push/poll but not to be notified as a third option, and I can see someone wanting no push and occasional poll, with or without notification.
Beyond that, I wonder if there is a real need for any more complexity.

By the way, there is a confusing terminology: in the settings of folder push class, there is an option same as sync class, while there is no sync class setting - I guess that it should be modified as same as poll class. Using different terminologies to name the same thing in a software is pretty confusing.


Add lint to Travis

Resolves #357

Awesome! Will this check for google-style compliance? Or just ignore the pep-8 compliance checks that differ from google style?

Google (public) style is pep8. This package currently follows Google internal style.
We should work to remove the ignored warnings after this is merged.

Sounds good. Before I merge, can you change this PR to be against the development branch rather than master?

Current coverage is 98.36% (diff: 100%)

Merging #363 into master will not change coverage

@@             master       #363   diff @@
==========================================
  Files            38         38
  Lines          2989       2989
  Methods           0          0
  Messages          0          0
  Branches        146        146
==========================================
  Hits           2940       2940
  Misses           43         43
  Partials          6          6

Powered by Codecov.

Rebased, should be good to go.


Add a test plan for csproj-referencing-xproj scenarios

The test plan so far. Still to do:

[ ] Add some steps for consuming an xproj from a Windows 8.1 Universal app.
[ ] Add some steps for consuming an xproj from a Xamarin app.

Review: @davkean, @Pilchie, @rchande, @yishaigalatzer, @emgarten

I would add the todos directly to the document, even if you don't fill out the sub-bullet instructions for them yet.

My intent is to merge with the TODOs done. I just wanted this out for review so far.

Per the updated roadmap, this test plan probably doesn't need to exist in this form.


drivers: timer: nRFx: Remove redundant code

Remove redundant declaration of youve_print. This probably
had been a review oversight and upstreamed.
Signed-off-by: Vinayak Kariappa Chettimada<EMAIL_ADDRESS>

Codecov Report

Merging #7559 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7559   +/-   ##
=======================================
  Coverage   55.25%   55.25%
=======================================
  Files         468      468
  Lines       51673    51673
  Branches     9893     9893
=======================================
  Hits        28553    28553
  Misses      19207    19207
  Partials     3913     3913

Continue to review full report at Codecov.

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


Multiple Overcast Damage Events in a Single Spell Do Not Stack

I discovered that if you take a spell like self sqrt(19) impulse and thoth it many times, you only pay the cost once. I believe that what's happening here is minecraft damage mechanics (aka iframes) are eating the extra damage events.
This is particularly noticeable with spells that accumulate a large list of coordinates or entities to act on (e.g., mass block breaking spells, or mass entity impulse spells). These are actually better to overcast.
The simple fix is to make it so we pay the sum total of all overcasts for the spell, and if that kills us, so be it. :)
For fixing it while preserving the overcasting design space, I recommend the following:

Formally set the maximum overcast cost for any single effect at 20. We should simply die if we pass that.
Allow multiple <20 costs to exist in a spell, but as above, make us pay for it.

Watch spells get more complex as we build in "safety mechanisms" to make overcasted spells less likely to kill you.

solved I think


[youku] Update ccode to 0508.

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[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] Bug fix
[ ] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Update the ccode of Youku to the latest version. The older one is not working.

ccode not work anymore.


Suggestion - Disable or Enable Mining of any connected Miner

just a suggestion for the web panel to be able to put the miner 'to sleep' and enable it when wanted

You could add explorer.exe into "stealth-targets" and it would pause the miner at all times.

makes a lot of sense thank you will try


Graphic issue: Checkbox in Avatars and controls list

Steps to reproduce the behavior
Load demo page and go to Menu -> Components -> Avatars and controls list

Relevant code
The resolution is 1166px X 801px.
I notice that only if the width has even numbers the graphic issue appear. (1166px, 1218px, 1264px ...)
Environment description
macOS Mojave v. 10.14.1 - Google Chrome Version 70.0.3538.110 (Official Build) (64-bit)

@gioboa thank you. I saw vertical line on the checkbox, but haven't reproduce in my env. Will check on macOS later.

It's problem from material.io
The same in issue#9


Remove double-definition of From

Ref: https://github.com/FuelLabs/sway/issues/819

Agreed that this is an issue with the std lib.
I believe the original motivation to do it like this was that I needed to implement From for 2 different types before we had generics to work with.

Currently blocked by:
pub trait From {
fn from<T>(v: T) -> self;
             ^^^ Unimplemented feature: Generic traits have not yet been implemented.
 }

Is there an issue in the Sway repo to track this feature?

Opened one here https://github.com/FuelLabs/sway/issues/948


SCB-865 Implement reaction of the event in Alpha Server

Implement reaction of TCC event in alpha server, which involves

rpc OnConnected (GrpcServiceConfig) returns (stream GrpcTccCordinateCommand)
rpc participate(GrpcTccParticipateEvent) returns (GrpcAck)
rpc OnTccTransactionEnded (GrpcTccTransactionEndedEvent) returns (GrpcAck)
rpc OnDisconnected (GrpcServiceConfig) returns (GrpcAck)
Add junit test framework code for alpha TCC workflow.
Integrate alpha saga and tcc within same boot which are different with port.

Coverage decreased (-3.3%) to 90.563% when pulling 908b834b05f4e1e8c34dd634e25a8d130ff0571e on cherrylzhao:master into 6dee5988235181f3b0c90c99b0dc1a73d6b612f7 on apache:master.

Note, the iCLA is received.


[Feature Request] Support delete MRU item

Sometimes, there are outdated items in MRU, could command like LeaderfClearMRU pattern provided to clear these items?

There has already been a way to delete outdated items.
1. :Leaderf mru
2. press <tab> to switch to normal mode
3. delete the items with d

Following error occurs when I try to delete a item in mru:

Are you using the latest version? How to reproduce it?

The Leaderf is the latest version: a572b353c797a24b29f21020ede7474709c82f05
Reproduce:

Open vim, execute Leaderf mru
Move to an item and then press d, then the error occur.

Could you help to debug this issue?
https://github.com/Yggdroot/LeaderF/blob/a572b353c797a24b29f21020ede7474709c82f05/autoload/leaderf/python/leaderf/mruExpl.py#L73-L80
Add
print(lines)
print(repr(lfEncode(os.path.abspath(lfDecode(name))) + '\n'))

below line 75, to see the output after d is pressed.

@Yggdroot Here is the output after add the codes:

Can not reproduce. Please remove $HOME/.LfCache and have a try.


Add failing Test cases for field with null values and mysql dateString

Hey @jbalatero #165 adds date support
For supporting null's that was intentional as I'm not sure what the sorting logic for nulls should be? Also not sure if different engines might handle nulls differently

Just published 4.3.0 that supports dates now

Will close this but if you have a use case that needs null support please can you open an issue? Then we can try and figure out an approach


Tune comment parser for asterisks

This is a followup for #269

One question, other changes look good.
/lgtm
/hold

/hold cancel

Thanks @tengqm .
/lgtm


Support Multiple Key Types for Base Entity

Guid is a secure and reliable data type. But there can be instances where performance can be a bit down due to lot of Guids in DBs.
To combat this, we can make the BaseEntity to BaseEntity where T can be simple ints as well.
Someone can take this up and raise a PR as well.
Things to note.
Ensure new migrations are built.
Test every other scenario as well.

i think the main problem here is at Repository level :)

I've tested PR and there is no apparent problem in code behavior.
Please check it out

I've done some work to support generic Key type in this project, but imho the result wasn't good.
the repo methods needs to be changed to accept TKey and client code must provide TKey type in everywhere because  C# Method type inference ignores generic constraints on the method type parameters
Other solution that I was considering was to provide multiple RepositoryAsync for example RepositoryIntAsync or RepositoryGuidAsync , but that would be massive code duplicate and also bypassing UOW
So I'm wondering if anyone has a better idea?
btw we can also consider [ULID](https://github.com/RobThree/NUlid) instead of GUID for primary keys:
Universally Unique Lexicographically Sortable Identifier
A GUID/UUID can be suboptimal for many use-cases because:

It isn't the most character efficient way of encoding 128 bits
It provides no other information than randomness

A ULID however:

Is compatible with UUID/GUID's
1.21e+24 unique ULIDs per millisecond (1,208,925,819,614,629,174,706,176 to be exact)
Lexicographically sortable
Canonically encoded as a 26 character string, as opposed to the 36 character UUID
Uses Crockford's base32 for better efficiency and readability (5 bits per character)
Case insensitive
No special characters (URL safe)

https://github.com/blazorhero/CleanArchitecture/blob/master/src/Domain/Entities/Catalog/Brand.cs
We have developed more or less the same requirement for BlazorHero as well. Can you please check it.

@iammukeshm thanks.
the problem arise in RepositoryAsync:

equality checks like e.Id == entityId will cause Operator '==' cannot be applied to operands of type 'TKey' and 'TKey' because of TKey is not constrained. we can constrain TKey with where TKey : struct but string and/or guid are not struct and int is not class. the solution that I'm considering is to provide overloaded method for type int and guid. but that's tricky.
methods like GetByIdAsync<T> needs to be changed to GetByIdAsync<T, TKey> and client code needs to supply each of this types. for example code like GetByIdAsync(product) needs to be changed to GetByIdAsync<Product, Guid>(product)

equality checks like e.Id == entityId will cause Operator '==' cannot be applied to operands of type 'TKey' and 'TKey'
Can we use Equals() method instead of  == operator?

@iammukeshm I'm not quite sure. because predicate will be translated to sql, I suspect that Equals can't be translated.
can you check it out?

@imnikitaokunev Equals() works, tnx!


Sending a Cookie

I'm trying to spider a site that redirects to a EULA page if a specified cookie isn't present.
How would I pass this cookie to the collector to avoid the redirect?
Thanks
Gordon

Cookies are carried through by default once obtained.  So once it is passed the EULA it should keep going.   Do you know exactly when/how is the cookie obtained for a regular web user?  You could try to replicate doing the same when crawling.
Otherwise, there are few things you can consider.  First, you can extend GenericHttpClientFactory#createDefaultCookieStore() to create your own cookie store (set cookies you want to be used before crawling starts).
For a no-programming solution, you can set any HTTP request headers you like with the GenericHttpClientFactory.  You can set the proper cookie information like this.
  <httpClientFactory>
    <headers>
        <header name="Cookie">name1=value1; name2=value2; ...</header>
    </headers>
  </httpClientFactory>

If the cookie value expires, the above solutions may not work as a long-term solution and you should focus on getting the cookie from the website first (like a normal user would do).

Thank you for your quick response. That helped lots!

No problem!


Docs for 0.10 failed

Seems the process to generate documentation for 0.10 failed
https://docs.rs/crate/lindera/0.10.0/builds/515760

@PSeitz
Thanks! Let me check.

@PSeitz
0.11 has been released. Please refer to the latest documentation.
https://docs.rs/crate/lindera/0.11.1
Thanks!