not working in firefox

polymer elements dont seem to work in firefox

I will have a look at that.

Thanks!
Some of the issues may fix themselves, when upgrading from polymer 0.5 to the recently released 0.8.

In other words: #10 should be resolved first.

Possibly.  Polymer 0.8 is still in alpha, but introduces a lot of changes to take it to a more production ready platform.  If we stick with polymer, an upgrade to 0.8 is inevitable.
https://www.polymer-project.org/0.8/
It also helps with performance.
At the same time webcomponent technology is new and evolving in the browser.  So we may find one day that firefox just fixes itself.
The other part is that websockets seem not to work in firefox, which prevents realtime communication.  Its a case now of trying to work out what the bug is, then the solutions may become clearer

May 6, 2015 ... We've just tagged the 0.9.0-rc of the Polymer library, and will be releasing it as a proper 0.9 in about a week. Make sure to get ready for the change!
https://blog.polymer-project.org/


Tutorial with large catalogs cross-matching

We should have a basic tutorial about large catalog cross-matching covering all the steps needed to go from initial raw data to a directory with cross-matched hipscat catalog. So it should include something about hipscat-import and some recommendations about Dask configuration.
We may consider Gaia DR3 vs DES DR2 use-case. Gaia DR3 gaia_source CSV files are here. DES DR2 FITS files are here, we can use only *_dr2_main.fits files for the main table data.
It also would be nice to have a "light" version of the notebook, which would run for a single file per catalog only, so users could run it on their laptops.

Blocked by https://github.com/astronomy-commons/hipscat-import/issues/227

Implemented in #166


updateOrCreate() does not log anything

Describe the bug
I have a model and a related model. When creating additional related models with updateOrCreate, it does not log anything.
To Reproduce
$model->relatedModel()->create($attributes) work well.
$model->relatedModel()->updateOrCreate($attributes) does not log anything.
Expected behavior
Well, I expect that updateOrCreate() would also create a log entry. Either that the element was updated or created.
Versions (please complete the following information)

PHP: 8.1.2
Database: MySQL 10.4.13-MariaDB / MariaDB 10.11.5+maria~ubu2004
Laravel: 10.26.2
Package: 4.7.3

Exception
None.
Stack Trace
n/a

Found an issue with my code, my apologies for submitting a false bug.


shell: /bin/bash --login fails

To make alacritty use a login shell, I used the following config. But it fails with an error
mouse_bindings:
  - { mouse: Middle, action: PasteSelection }

shell: /bin/bash --login

alacritty $ alacritty
device_pixel_ratio: 1
width: 1918, height: 1078
Initializing glyph cache
got font path="/home/minhajuddin/.local/share/fonts/Sauce Code Powerline Regular.otf"
num fonts = 436
num fonts = 436
Finished initializing glyph cache in 0.02053962
set_inner_size: 724px × 580px
width: 724, height: 580
Cell Size: (9 x 24)
PTY Dimensions: Line(24) x Column(80)
num_cols, num_lines = 213, 44
width: 1918, height: 1078
child finished with error '256'

alacritty $

As a workaround I am using this wrapper:
#!/bin/bash

exec /bin/bash --login

Sorry about that! It looks like that string is just being passed straight through. Should be easy enough to fix, though.

This should work now


bump to k8s packages to 1.17.5

[ ] knative/serving
[ ] knative/eventing
[ ] knative/eventing-contrib
[ ] knative/sample-controller
[ ] knative/sample-source

I guess doesn't matter, since we pinned pkg.

I guess doesn't matter, since we pinned pkg.

yeah

/test all

All downstream PRs are passing their required checks

Curious if this works ;)
/approve
/lgtm

welp - there you have it

/assign @mattmoor
/lgtm
/hold
:) There you go

I wonder why does it need approve.
/verify-owners

Because it's pkg 🥺

yeah
/hold cancel

/lgtm
/approve

thanks @vaikas


Ability to Set Both RetryPolicy? Policy and AsyncRetryHandler? Handler in TaskRetryOptions

I am confused why HandleAsync was made obsolete in RetryPolicy via the pull request tied to issue #275 without providing a means to have both a  retry policy and retry handler.
Per the current implementation TaskRetryOptions one can have either RetryPolicy? Policy or AsyncRetryHandler? Handler, but not both. If one chooses the former, they can create sleep periods between retries, but will retry all exceptions generated by the activity function. If one chooses the later, they can control which exceptions are retried, but not the sleep period between retries.
The orchestrations I implemented prior to moving to isolated functions often used the retry policy and custom handler in tandem. Below is a simplified Activity function that throws transient and non-transient exceptions.
public class AF_Example(IWidgetRepository widgetRepository, IMyApiClientService myApiClientService)
{
    [Function(nameof(AF_Example))]
    public async Task<string> HandleAsync(
        [ActivityTrigger] Guid widgetUID,
        FunctionContext executionContext,
        CancellationToken cancellationToken)
    {
        // If widget is not found, this activity function will never succeed.
        Widget widget = await widgetRepository.GetAsync(widgetUID, cancellationToken)
            ?? throw new NotFoundException(nameof(Widget), widgetUID.ToString());

        // Register widget via an API service and obtain confirmation ID. This
        // operation may experience transient exceptions (5XX status code).
        string confirmationID = await myApiClientService.RegisterWidgetAsync(widget, cancellationToken);

        return confirmationID;
    }
}

The first action in this activity function attempts to get a widget from a database. If the Widget is not found, there is no point in the orchestration retrying. I would set AsyncRetryHandler? Handler delegate to not retry on NotFoundException. My orchestrations would have a try/catch block to capture these exceptions for handling and I had confidence that no subsequent activity functions would be executed because of the exception.
The second action is a call to an API in which transient issue are possible. Even if  IMyApiClientService has retry logic (e.g., Polly), I found it useful to have my activity function implement retry policy that spans a much longer period of time than my API client service retry period. I want to set a RetryPolicy? Policy to create my sleep periods and constraints on how often and\or long I want to retry, and set the AsyncRetryHandler? Handler delegate to retry on HttpRequestException when its status code is 5XX.
I think it would be beneficial to be able to set RetryPolicy? Policy and AsyncRetryHandler? Handler in TaskRetryOptions so TaskOrchestrationContextWrapper.CallActivityAsync() could schedule an activity function retry if the handler and policy specify a retry should be performed.
Hoping you will consider this feature in that it appears to me to not alter existing operations and provides a useful feature that leverages configuration classes as is (sans adding a constructor to TaskRetryOptions).

@cgillum: for comment, since he's the PR's author

Hello!
This problem bothers me too, unfortunately.
Have anyone tried using AsyncRetryHandler (to filter exceptions on which to return) and using Task Delay, to make handler retry with custom periods? That was my idea how to handle retries, then I have found this HandleAsync property, then it turned it is not supported.

@Kobudzik: I have created pull request #281 to address this valuable missing feature and I am awaiting response\action from the team at Microsoft.

Responding to the opening statement of the original post:

I am confused why HandleAsync was made obsolete in RetryPolicy via the pull request tied to issue https://github.com/microsoft/durabletask-dotnet/pull/275 without providing a means to have both a retry policy and retry handler.

Quoting from the PR you linked to:

It has no implementation at all and some users are trying to use it and opening issues because it's not doing anything.

In other words, HandleAsync wasn't doing anything. The property was accidentally committed to the API surface as part of various refactoring when the original implementation was being written. We made it [Obsolete] rather than deleting it to avoid a breaking API change. It was never possible to have both a static retry policy and a dynamic retry policy at the same time for a single activity call.
@tomseida you mentioned the following:

The orchestrations I implemented prior to moving to isolated functions often used the retry policy and custom handler in tandem.

Can you share the orchestrator function code you used to accomplish this for your in-proc solution? Two things I'd like to understand:

Whether there's a feature regression here between the in-process model and the .NET Isolated worker model.
Whether there's a simpler model that we could introduce that matches your use case (it's easier for me to see the code than to read a text description).

Thanks in advance.

My pattern was to define a retry policy(ies) in the function's appsettings JSON file. In the example below I have created one retry policy called "Default":
    ...
    "ActivityFunctionRetry": {
      "Default": {
        "BackoffCoefficient": 2.0,
        "FirstRetryInterval": "00:00:10",
        "MaxNumberOfAttempts": 10,
        "MaxRetryInterval": "00:05:00"
      }
    },
    ...

The retry policy options are added to the service collection using Configure<ActivityFunctionRetryOptions>() and are accessed via IOptionsSnapshot<ActivityFunctionRetryOptions>. The ActivityFunctionRetryOptions class is presented below:
public class ActivityFunctionRetryOptions
{
    public double BackoffCoefficient { get; set; } = 1;
    public TimeSpan FirstRetryInterval { get; set; } = TimeSpan.Zero;
    public int MaxNumberOfAttempts { get; set; } = 1;
    public TimeSpan MaxRetryInterval { get; set; } = TimeSpan.MaxValue;
    public TimeSpan RetryTimeout { get; set; } = TimeSpan.MaxValue;
}

Below is an orchestration function that receives the IOptionsSnapshot<ActivityFunctionRetryOptions> and retrieves the instance named "Default" (name that appears in appsettings JSON file above). When the RunOrchestrator method is called a RetryPolicy is created via extension method GetRetryOptions() (code is presented further below). The RetryPolicy has both the timing\attempts of retries and a delegate that evaluates the exception type to determine if a retry should be performed.
public class OF_ReceiveCCCServiceARDetailReport
{
    internal const string FunctionName = nameof(OF_ReceiveCCCServiceARDetailReport);

    private readonly ActivityFunctionRetryOptions _activityFunctionRetryOptions;

    public OF_ReceiveCCCServiceARDetailReport(
        IOptionsSnapshot<ActivityFunctionRetryOptions> activityFunctionRetryOptions)
    {
        _activityFunctionRetryOptions = activityFunctionRetryOptions.Get("Default");
    }

    [FunctionName(FunctionName)]
    public async Task RunOrchestrator(
        [OrchestrationTrigger] IDurableOrchestrationContext context,
        ILogger log)
    {
        OF_ReceiveCCCServiceARDetailReportCommand command = context.GetInput<OF_ReceiveCCCServiceARDetailReportCommand>();
        RetryOptions retryOptions = _activityFunctionRetryOptions.GetRetryOptions((ex) =>
            {
                var innerEx = ex.InnerException ?? ex;

                if (innerEx is NotFoundException) return false;
                if (innerEx is ProcessBatchException) return false;

                return true;
            });

        try
        {
            // ---------------------------------------------------------------------
            // Receive Document
            // ---------------------------------------------------------------------
            AF_ReceiveCCCServiceARDetailReportResponse receiveCCCServiceARDetailReportResponse =
                await context.CallActivityWithRetryAsync<AF_ReceiveCCCServiceARDetailReportResponse>(
                    AF_ReceiveCCCServiceARDetailReport.FunctionName,
                    retryOptions,
                    new AF_ReceiveCCCServiceARDetailReportCommand(command));
      ...

The GetRetryOptions() extension method:
    public static RetryOptions GetRetryOptions(this ActivityFunctionRetryOptions options, Func<Exception, bool> handle)
    {
        return new(options.FirstRetryInterval, options.MaxNumberOfAttempts)
        {
            BackoffCoefficient = options.BackoffCoefficient,
            MaxRetryInterval = options.MaxRetryInterval,
            RetryTimeout = options.RetryTimeout,
            Handle = handle
        };
    }

I think the current retry models suffice. When I wrote the code in pull request #281, I played it safe (i.e., did not want to alter execution for those that are not setting both RetryPolicy? Policy and AsyncRetryHandler? Handler). I think the more proper, less code version, would have all activity functions call InvokeWithCustomRetryHandler<T>(). If the caller does not set RetryPolicy? Policy then a default policy of one activity function call will be set (i.e., no retries). If the caller does not set AsyncRetryHandler? Handler, then no exceptions will be ignored.
Hope this clarifies how I was using RetryPolicy for "in-process" mode.

@tomseida thanks for this context - I forgot that the previous RetryOptions in the in-proc model had a convenient exception type filter feature. It seems like we should add this in as part of the static RetryPolicy to provide better parity with the in-prc model. I'll take a look at your PR as well - thanks for linking to that.

I tried this workaround to unblock till SDK supports it natively
internal static AsyncRetryHandler BuildRetryHandler(CustomRetryOptions options)
{
var firstRetryInterval = TimeSpan.FromSeconds(options.DefaultActivityRetryOptions.FirstRetryIntervalInSeconds);
var backoffCoefficient = options.DefaultActivityRetryOptions.BackoffCoefficient;
var maxRetryInterval = TimeSpan.FromSeconds(options.DefaultActivityRetryOptions.RetryTimeoutInSeconds);
return async (RetryContext rc) =>
{
    bool shouldRetry = rc.LastAttemptNumber < maxRetryCount;
    bool isRetriable = rc.LastFailure.IsCausedBy<SomeRetryableException>();

    if (isRetriable && shouldRetry)
    {
        TimeSpan backOffTime = rc.LastAttemptNumber == 0 ?
            firstRetryInterval :
            TimeSpan.FromSeconds(firstRetryInterval.TotalSeconds * Math.Pow(backoffCoefficient, rc.LastAttemptNumber));

        await Task.Delay(backOffTime);

        return true;
    }

    return false;
};

}

Created new PR #314 per suggestion of @cgillum.

Closing this issue since PR #314 resolves issue.

I raised the following issue, now I do see this thread. Trying to link it https://github.com/Azure/azure-functions-durable-extension/issues/2908
I'm also a bit confused, is this the project that implements the durable functions for isolated process function model, or is it https://github.com/Azure/azure-functions-durable-extension?


Fix rules on SMP workload checks job

What does this PR do?
This job must have the same ruleset as the job it depends on.
Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Admin merging this PR to fix the Gitlab CI config on main and unblock other developers. There are no changes to the contents of the CI jobs, so we're not expecting any CI job to fail (beyond the errors that might have slipped in main while we were blind).


Fixing 'how do I use use private git host' link in faq page

The FAQ section link is broken with . in the reference.
It is related to #1729.

Fixes #1730.

Thank you @sarath-p :cake:


Feature request: Allow specific custom derivation paths (without standard receive/change step)

I am trying to import a quite specific multisig setup where I need to access keys at m/0/0/20/n, with n being the address index.

Yes, this path is not the standard.
Yes, all components are unhardened.
Yes, there is no extra derivation step for receive/change addresses. Account 20 is receive, 21 is change.

Now to my issue: Sparrow interprets any given derivation path as the account path and therefore derives to m/0/0/20/0/n,  performing the extra derivation step for receive addresses, which is absolutely correct under normal circumstances, but makes it impossible to access the specified path.
Would it be possible to add an opt-in setting that ignores the extra derivation step and derives signing keys directly at the custom path such that the custom path m/0/0/20 leads to addresses at m/0/0/20/0, m/0/0/20/1, [...]?
That would make Sparrow a lot more powerful (and me very happy)!

Unfortunately there is a lot of work and additional UI complexity to support this use case, which I think is fairly rare. For example, in the Addresses there would now be no "Change" table, or concept of change in the wallet itself. Change is an important design feature in BIP32 for many reasons in a general wallet application.
Receive and change addresses are a very well supported standard - there is even now special syntax in output descriptors to support this derivation path step. Consider adapting your derivation path so it can support more wallets, even if you don't actually use the change derivation.

Consider adapting your derivation path

This is about recovery of an existing BitGo multi-sig. They do have a recovery tool (which is very bad) but I was trying to find a different and easy way around it - mainly to help other users.
I absolutely understand, of course, that this is too much effort for this specific use case! Thanks for the quick reply.


--noImplicitAny codefixes infer anonymous object types despite appropriate interfaces in (or out of) scope

TypeScript Version:  3.3.0-dev.20181212

Search Terms: noimplicitany infer code fix codefix quick suggested
Code
interface IBox {
    x: number;
    y: number;
}

const shiftBox = (box) => {
    box.x += 1;
    box.y += 1;
}

const box = {
    x: 0,
    y: 0,
};

shiftBox(box);

Expected behavior:
--noImplicitAny suggested fix on the box parameter:
const shiftBox = (box: IBox) =>

Actual behavior:
const shiftBox = (box: { x: any; y: any; }) => {

Related Issues: #13243 (parent tracking quick fixes) and #15114 (discussion on inference difficulties)
If there is an interface available that can satisfy an inferred type in a --noImplicitAny code fix, can we use that? Perhaps with an ordering of possibilities like:

Interfaces already available in the file, by how small they are
User-defined interfaces that could be imported, by how distant the file is
Module types already imported in a user file, by how distant the nearest import is

...where, if multiple interfaces could satisfy the best possibility of those three, we choose the one with the fewest fields?
In code bases that don't explicitly type when unnecessary (e.g. : IBox for variables), I'm finding the --noImplicitAny fixes to be a bit useless for anything other than primitives.

Coming back to this issue, in general I've observed it to be a common annoyance for folks trying to convert React apps to TypeScript. It blocks them from being able to infer types for parameters in common patterns like this one:
import React from 'react';

export const MyComponent = () => {
    // Expected:
    //   event: React.FormEvent<HTMLFormElement>
    // Actual:
    //   event: any
    const submitHandler = (event) => {
        event.preventDefault();
    };

    return <form onSubmit={submitHandler} />;
};

@sandersn is that code you prototyped 3/4 years ago still available & something you could post here?
@RyanCavanaugh is there any particular feedback this issue is still waiting on? I don't see any reason to block it from coming in.

Well, I found this unrelated gem, and I did lots of related prototyping in:

https://github.com/microsoft/TypeScript/compare/main...sandersn/better-usage-inference
https://github.com/microsoft/TypeScript/compare/main...sandersn/better-call-site-inference

The latter branch is the same as the former but has one more commit, which is very large because I forked most of the services layer for some reason.
That's all I found, though. Those branches are earlier than the experiment I'm thinking of, I'm pretty sure. In theory the only thing that's missing is some way to access the list of types that get created during checking, since the code to determine if a type is "close enough" to an inferred object type already exists.


Importing Existing Payloads

A feature to import existing payloads into Tracy.
Useful in the event, someone else has already filled the web app with tracers.

@eflores945 this is added in the settings page now. If you ever come across a string you want traced, navigate to the settings page and import it as a tracer. It should show up with a type of "IMPORT" and obviously won't have a screenshot, but tracy will look for it in future page renders.
Thanks for the suggestion! Keep them coming!


[Application Auto Scaling] Support scheduled scaling

Is your feature request related to a problem?
We are using Sagemaker real-time endpoint to serve traffic that is highly predictable and spikes quickly. In order to minimize cost during off peak hours, we would like to use scheduled action to change the min size before and after the peak hours. We also want to use target tracking scaling to scale out based on CPU usage. At the moment, Application Auto Scaling Controller only supports target tracking scaling and step scaling.
Describe the solution you'd like
Add support to configure scheduled actions
Describe alternatives you've considered
Terraform offers "aws_appautoscaling_scheduled_action" resource that appears to have the same desired effect. However, since we are using Sagermaker controller, we'd like to keep all relevant configs in the same place.

/cc @aws-controllers-k8s/applicationautoscaling-maintainer


WIP: Quantum partition function

Issue #, if available:
Description of changes:
Testing done:
Merge Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[x] I have read the CONTRIBUTING doc
[x] I used the commit message format described in CONTRIBUTING
[ ] I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

[x] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[x] I have checked that my tests are not configured for a specific region or account (if appropriate)

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

@mbeach-aws @christianbmadsen I believe this PR is just waiting for our team to review?

@mbeach-aws @christianbmadsen I believe this PR is just waiting for our team to review?

Acknowledged. We will take another look. Thanks for the nudge!

I wonder if it makes sense to describe a bit more what the functions are doing?

In general, the notebook needs more explanation than just the code blocks; you should be interleaving code and markdown cells, with a markdown cell before each code block explaining what is happening, with the math if applicable.

Codecov Report
Patch coverage: 48.10% and project coverage change: -3.71 :warning:

Comparison is base (700dbbf) 100.00% compared to head (828c481) 96.29%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@             Coverage Diff             @@
##              main      #17      +/-   ##
===========================================
- Coverage   100.00%   96.29%   -3.71%
===========================================
  Files           26       28       +2
  Lines         1028     1107      +79
  Branches       161      197      +36
===========================================
+ Hits          1028     1066      +38
- Misses           0       34      +34
- Partials         0        7       +7

Impacted Files
Coverage Δ

...m_partition_function/quantum_partition_function.py
47.43% <47.43%> (ø)

.../algorithms/quantum_partition_function/__init__.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Hello AoyuQC, This PR has had little activity; I will close it for now. You are welcome to come back and work on it and reopen it any time. You can also consider developing this work further in a sperate repo of yours and highlighting it on in Braket Algorithm library "Community repos" section, which we recently added. I hope this helps.


re-open issue RX IR signal from remote (IDFGH-2866) #4923 (IDFGH-2917)

@NatashaLi-ESPRESSIF @suda-morris  @
I am not able to receive data from AC remote
Please help guys

the example only support NEC and RC5 protocol, if your AC remote control uses other protocols, you need to implement the decoder yourself.

I have Mitsubishi AC remote and want to decode so what is the approach.
how to implement it?

Search GitHub for esp32 IR projects.  Ask on the forum.  If you are building a commercial device ask for support through your sales rep.  Otherwise it is unreasonable to ask for this type of support here.

Thank you for your reply.
I have to make an IR receiver so it is not necessary to use other protocols.
Now I am searching remote which has NEC protocol.
Actually I send hardcore date from an IR LED and received something in IR_procotol examples but not which I send it may be modulation is different.
I share it with you then you give me some clarity of what is going on.
 In IDF, we have supported two protocols: NEC and RC5, but there still be hundreds of other IR protocols on the market, it's impossible to include them all in IDF.
I'm afraid you need to implemented the protocol yourself if they're not NEC or RC5.
First of all, you should find the protocol spec, and maybe you also need to capture some waves sending from your AC remote control. When you got the data, you can take the existing the example as the reference to write your decoder. (the most hard part could be the representation of  bit zero and one I think.)

@varunsavita Thanks for reporting, will close for now. Thanks.


Entire newstate

Since onaction only requires you to send the state updates, and not the full new state (like redux would), onchange has the potential to only receive these state updates instead of the entire new state. This pull request ensures that onchange always receives the entire new state, and I renamed newState to stateUpdates to more accurately reflect what send-action expects from (and does with) the onaction callback.
Here's a demonstration of the current (pre-pull request) functionality.

Oh wow! Thank you.


#48 - Authentication set up to act first via oauth token, if not there, ...

...then via username and password.

:shipit:


Setup Ci and code quality tools

In this PR:

Setup a base workflow
Add detekt
Add ktlint

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@eeb1919). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop       #2   +/-   ##
==========================================
  Coverage           ?   71.42%
  Complexity         ?        3
==========================================
  Files              ?        1
  Lines              ?        7
  Branches           ?        0
==========================================
  Hits               ?        5
  Misses             ?        2
  Partials           ?        0

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 eeb1919...df241c7. Read the comment docs.


Implement 2021-01-16 pp changes

As per the blog post, scores are still being recalculated so test suite won't pass yet.
Sources:
NF changes
SO changes
New aim miss penalty curve
New speed miss penalty curve
AR bonus changes
Speed accuracy changes
Doubletap penalty

I'll merge when I have regenerated the test suite but it looks good so far

I'll merge when I have regenerated the test suite but it looks good so far


Incomplete recent recent traces with elasticsearch backend

Hey,
This isn't a problem with Jaeger per-se, more of an issue when you're using Jaeger with Elasticsearch backend.
Because spans come in asynchronously (and batched from collectors), and then the index is refreshed on an interval (say, 10s), its quite typical for the most recent traces to appear broken:

Then when you refresh 10/15s later, it's all nice complete:

This leads to such an unbelievable amount of "tracing is broken" comments to the platform team, so i'm trying to think about ways to handle it.
There is no requirement for "near real time" traces, so ideally i'm trying to find a way to ensure that traces don't become visible in search for say, 60s after the first span has come in (subsequently giving time for all spans to come in).
The only way I can think of doing this would be if elasticsearch exposed a time offset configuration for this storage backend, which effectively never returned results newer than 1 minute old when using the Last Hour time default.
Or perhaps have a config option to suppress results which are "trace-without-root-span"?
I'm open to ideas!

This was raised a few time indeed. I don't think it can be solved purely by limiting the search to [now-lookback, now-1min], because once any span falls into this range the whole trace will be returned, even if it's still in-progress. An alternative might be implementing a "window" parameter in the query service so that after the search is executed and traces are loaded in memory, those that have any spans within [now-window, now] are discarded as potentially incomplete. They could also be marked as potentially incomplete in the UI.
We're currently working on tail-based sampling implementation that requires pre-aggregation of spans in memory, which naturally introduces a window of inactivity before the whole trace is saved & indexed, so that would also address this problem.

This is related to https://github.com/jaegertracing/jaeger-ui/issues/462. The UI could signalize missing spans in certain situations (e.g. missing spans in the middle) it's clear that those spans haven't been yet reported/persisted.
If there are missing spans UI signalize skipping clock skew adjustment which is confusing for users.

Yeah this could even be a UI concern which makes it very prominent that we're displaying an incomplete trace.   Anything to save the user confusion!

I was investigating on these skipping clock skew adjustment errors almost for a week! Now I found out that I just have to wait for all of spans to be collected.
  There must be some instructions to prevent the confusion in the UI.


[TASK] Remove namespaceOverride from values.yaml in charts repo

          Just noticed `namespaceOverride` is not exposed in values.yaml in longhorn repo but in charts repo instead. Need to clean this one later when doing a release.

Originally posted by @innobead in https://github.com/longhorn/longhorn/pull/7287#discussion_r1421939881

Hi @derekbit,
This ticket might become invalid because this PR https://github.com/longhorn/longhorn/pull/7747, and we can not remove this field.
This field is used to override the Longhorn namespace when Longhorn is a sub-chart such as a sub-chart of the Harvester.

Just noticed namespaceOverride is not exposed in values.yaml in longhorn repo but in charts repo instead. Need to clean this one later when doing a release.

namespaceOverride is added in values.yaml in the Longhorn repo.


Limit amount of slices in pie chart

Funny things happen when you have a lot of genres:

Solution would be to limit the amount of genres, prob using .Take on an ordered enumerable with all genres, ordered by amount of games using that genre (descending). Could also just not show genres with only 1 game.

Oh! It's so beautiful, lol.


mitmdump, no request and response can be dumped on mac m1

Problem Description
A clear and concise description of what the bug is.
mitmdump, no request and response can be dumped on mac m1
start it with the following command:
mitmdump --set ssl_insecure=true -s dump.py

in dumpy.py, the request and response cannot receive any data even if a cellphone set the proxy and successfully get the https responses.
the request is defined as per the following in dump.py:
def request(flow):
    print("request received")
    time_FB = time.localtime(flow.request.timestamp_start)
    time_LB = time.localtime(flow.request.timestamp_end)
    with open(dumpfile, 'a', newline='') as f:
        f.write(time.strftime("%Y-%m-%d %H:%M:%S", time_FB) + ", " + time.strftime("%Y-%m-%d %H:%M:%S", time_LB) + "\n")
        f.write(flow.request.method + " " + flow.request.path + "\n")
        for k, v in flow.request.headers.items():
            f.write("%s: %s\n" %(k,v))
        f.write("\n")
    f.closed

Steps to reproduce the behavior:

start the mitmdump with the command mitmdump --set ssl_insecure=true -s dump.py
set a client with proxy and comment the server
the client try to get some https streams.
no files can be dumped and the request defined was not triggered.

System Information
Paste the output of "mitmproxy --version" here.
Mitmproxy: 10.0.0
Python:    3.11.5
OpenSSL:   OpenSSL 3.1.3 19 Sep 2023
Platform:  macOS-13.4.1-arm64-arm-64bit

the issue was caused by the certificate rejection.


[hw,dma] Add a chunk_done interrupt

This PR adds a new chunk_done interrupt. This interrupt is raised for chunked mem2mem transfers when a single chunk is transferred and the SW needs to start the transfer of a new chunk. When transferring the last chunk, only the done interrupt is raised.
This PR is based upon https://github.com/lowRISC/opentitan/pull/24108

@alees24 After the chunk_done status PR was merged, this one adds a status-type interrupt to the chunk_done. The PR intentionally uses interrupt index 1, where previously the memory limit IRQ was to not shuffle around the other IRQ.

Thank's for spotting this. I just added this change to the commit.

Merging because the salient CI tests have completed; DMA not present in Earl Grey.


Undefined function or variable 'normalizecols'.

Hey,
upon running tutorial1_MID_tfilter.m on a matlab r2016a, i receive the following bug report:

tutorial1_MID_tfilter
Number of spikes in training dataset: 3060
Computing STA and STC...
Computing top iSTAC filter...
Pruning out 14 dimensions (out of 32) from raw stimuli
Stripped off dimension 1, KL div=[0.3401 0.3401]
Undefined function or variable 'normalizecols'.

Error in makeBasis_StimKernel (line 59)
kbasis = normalizecols(kbasis);
Error in makeFittingStruct_LNP (line 53)
ktbas = makeBasis_StimKernel(ktbasprs,nkt);
Error in tutorial1_MID_tfilter (line 87)
gg0 = makeFittingStruct_LNP(filt0,RefreshRate,mask); % create LNP fitting structure

Hi Tristan,
Thanks for flagging this and apologies for the error. I've added the
'normalizecols.m' function to the repository.
I should add that this repo is not finished yet and there may be other
problems lurking. I'm hoping to finish it up in the next month!
best,
Jonathan
On Wed, Dec 28, 2016 at 2:16 AM, Tristan Stöber<EMAIL_ADDRESS>wrote:

Hey,
upon running tutorial1_MID_tfilter.m on a matlab r2016a, i receive the
following bug report:
tutorial1_MID_tfilter
Number of spikes in training dataset: 3060
Computing STA and STC...
Computing top iSTAC filter...
Pruning out 14 dimensions (out of 32) from raw stimuli
Stripped off dimension 1, KL div=[0.3401 0.3401]
Undefined function or variable 'normalizecols'.
Error in makeBasis_StimKernel (line 59)
kbasis = normalizecols(kbasis);
Error in makeFittingStruct_LNP (line 53)
ktbas = makeBasis_StimKernel(ktbasprs,nkt);
Error in tutorial1_MID_tfilter (line 87)
gg0 = makeFittingStruct_LNP(filt0,RefreshRate,mask); % create LNP fitting
structure
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pillowlab/MIDestimator/issues/1, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADdGW_TRR293Q7NsYRu-1s3N4HmJpX50ks5rMgzngaJpZM4LWuV-
.


save upstream Passive health checks failed

When using konga to configure the passive check policy of upstream, the healthchecks.passive.unhealthy.http_failures field enters the integer when the click is saved, js reports an error (error content: schema violation (healthchecks.passive: {↵ unhealthy = {↵ http_failures = "expected An integer"↵ }↵})).
I found out through the packet capture that the field in the data section of the submitted healthchecks.passive.unhealthy.http_failures has become a string, and other fields have no such problem.
Konga version: 0.14.03
Thank you for your help..

@lclin412 , you could try the next branch of Konga or if you're using containers pantsel/konga:next.
It has all the changes and fixes that will be introduced to the upcoming version.

With the next branch, the problem has been solved, thank you for your help.

Hello, we're using Konga in Docker v0.14.4-rc2 via container using pantsel/konga:next, but we still have this problem.


Interesting problem with double-updates

For some reason mousezoom method generates 240 updates / second on a 120Hz macbook pro. On an older mac with 60hz it generates usual 60 upd/sec.
The goal is to somehow figure this out. The problem is important because it directly affects the performance (when scrolling with touchpad).

Could throttling the event handler (to 60hz/16ms) be a solution ?
Using requestAnimationFrame could also work I guess


g++ linker errors

(visual branch) When using g++, the build fails due to a linker error: https://travis-ci.org/thm-mni-ii/sea/builds/437500592
[100%] Linking CXX executable bin/main
CMakeFiles/main.dir/src-view/examples.cpp.o: In function `SealibVisual::VisualDFS::run()':
examples.cpp:(.text+0x206): undefined reference to `void Sealib::DFS::process_small<Sealib::ExtendedSegmentStack>(unsigned int, Sealib::Graph*, Sealib::CompactArray*, Sealib::ExtendedSegmentStack*, void (*)(unsigned int, Sealib::Graph*, Sealib::CompactArray*, Sealib::ExtendedSegmentStack*), std::function<void (unsigned int)>, std::function<void (unsigned int, unsigned int)>, std::function<void (unsigned int, unsigned int)>, std::function<void (unsigned int)>)'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/main] Error 1
make[1]: *** [CMakeFiles/main.dir/all] Error 2
make: *** [all] Error 2

The build still fails when using g++ compiler.
I suggest we just start to fix all the code smells. Then the g++ compiler should run as well.

https://sonarcloud.io/project/issues?id=thm-mni-ii_sea&resolved=false&types=CODE_SMELL

Fixed with #87


kubernetes-apps: retry get default token name

In some installation, it can take up to 3sec to get the value. Retrying
for 5 sec will ensure the command won't return 1.
Fixes: https://github.com/kubernetes-incubator/kubespray/issues/1905
Signed-off-by: Sébastien Han<EMAIL_ADDRESS>

@chapsuk please reconsider this :)

More info, with a retry to 5 and a delay of 1:
TASK [kubernetes-apps/rotate_tokens : Rotate Tokens | Get default token name] ***
Wednesday 07 February 2018  12:08:32 +0100 (0:00:00.026)       0:06:05.222 ****
FAILED - RETRYING: Rotate Tokens | Get default token name (5 retries left).
FAILED - RETRYING: Rotate Tokens | Get default token name (4 retries left).
FAILED - RETRYING: Rotate Tokens | Get default token name (3 retries left).
ok: [k8s-01]

can you please provide error message on failed retries?
run ansible-playbook with -vvv

sorry, i found  issue.
think we need remove grep and see output

looks like a workaround rather than fixing the issue

@ant31 well, yes and no I guess. How do you explain that we have to wait a bit for this command to work? The playbook has a couple of tasks that wait for certain services to be up. How is that different in the end? Isn't this command just waiting for another component to be ready and then succeed?
However, this is actually a bug then yes there is potentially a better fix for that.
Thanks.

I think this is timeout for create default secret for system namespace and waiting task should be placed in create ns role.
I need proof of this.

ci check this

@chapsuk thanks for taking the time.

Change is good, but fix yamllint issues.

yamllint fixed in https://github.com/kubernetes-incubator/kubespray/pull/2260, it's okay

Thanks @chapsuk and @mattymo


Added platform for creating bots for slack

I have not found a similar category and create new.
By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖
⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆
It is a platform for the creation of automated programs and bots in slack.
She tries to get rid of different routine tasks and to keep all costs to a minimum.
No time to read documentation, no time to write your code?
Great! npm install.. and go!
Repository: https://github.com/agoalofalife/ssb
NPM: https://www.npmjs.com/package/super-slack-bot
Documentation: https://agoalofalife.github.io/ssb/#/

The commit references hypernova, is this right?

@juancri sorry, this is my failure

Thanks for the suggestion. I'm unfortunately going to pass on this one. I have a lot of PRs to review, so I'm not able to write a custom response.


matrix-synapse: Pass required --report-stats opt

Motivation for this change
The script matrix-synapse-pre-start was failing because synapse [expects] (https://github.com/matrix-org/synapse/blob/9bba6ebaa903a81cd94fada114aa71e20b685adb/synapse/config/_base.py#L238-L242) the --report-stats option to be passed on the command line (even if it exists in the configuration file).
Hope this is OK.
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

That's odd, it's been running fine here. Are you sure your config file is being read properly?

This code snippet seems pretty convincing: https://github.com/matrix-org/synapse/blob/9bba6ebaa903a81cd94fada114aa71e20b685adb/synapse/config/_base.py#L238-L242 is why I merged it, @Ralith. Think I should back it out?

The line immediately before the lines you highlighted guards that check with if config_args.generate_config, which afaict we are not passing. The option should be harmless, but shouldn't be necessary. I'd like to understand what exactly @eqyiel observed rather than just reverting the change and forgetting about it, so we can determine if there's a bug elsewhere (perhaps even upstream).

@Ralith @grahamc apologies, I must be getting confused.  Looking into it.

@Ralith there's some kind of chicken and egg problem here.  After reverting this commit (with no configuration but services.matrix-synapse.enable = true; and having removed /var/lib/matrix-synapse) I get the following:
$ systemctl status matrix-synapse
● matrix-synapse.service
   Loaded: loaded (/nix/store/mlcvpz52fg5vmhfyhp63zjz4cby8r9p7-unit-matrix-synapse.service/matrix-synapse.service; bad; vendor pres
   Active: failed (Result: exit-code) since Tue 2016-10-18 07:30:53 ACDT; 1s ago
  Process: 3775 ExecStart=/nix/store/q8fq3g23nk7m3wlicp7hxw5fl18rwfwb-matrix-synapse-0.18.0/bin/homeserver --config-path /nix/store
  Process: 3771 ExecStartPre=/nix/store/7mlvidhssxhmsjmxvsq3rkn87hj01hc3-unit-script/bin/matrix-synapse-pre-start (code=exited, sta
 Main PID: 3775 (code=exited, status=1/FAILURE)

Oct 18 07:30:52 ayanami systemd[1]: Starting matrix-synapse.service...
Oct 18 07:30:52 ayanami systemd[1]: Started matrix-synapse.service.
Oct 18 07:30:53 ayanami homeserver[3775]: File /var/lib/matrix-synapse/homeserver.tls.crt config for tls_certificate doesn't exist.
Oct 18 07:30:53 ayanami systemd[1]: matrix-synapse.service: Main process exited, code=exited, status=1/FAILURE
Oct 18 07:30:53 ayanami systemd[1]: matrix-synapse.service: Unit entered failed state.
Oct 18 07:30:53 ayanami systemd[1]: matrix-synapse.service: Failed with result 'exit-code'.

Even though the default path for the certificate and keys that we're writing to the configuration file is their default location, it looks like synapse it's choking because it's trying to read them when parsing the configuration file - before --generate-keys is even run.
So no, the configuration file is not being read correctly.
The confusion is because I ran this command after the fact, which requires that option:
$ /nix/store/...-matrix-synapse-0.18.0/bin/homeserver --config-path /nix/store/...-homeserver.yaml --keys-directory /var/lib/matrix-synapse/ --generate-config --report-stats no
Config file '/nix/store/...-homeserver.yaml' already exists. Generating any missing key files.

This is suggested [here] (https://github.com/matrix-org/synapse/blob/9bba6ebaa903a81cd94fada114aa71e20b685adb/synapse/config/_base.py#L94-L98), which actually generates the key files.
Removing the explicit key locations from the configuration file when they are unset in our config doesn't help, because --keys-directory only works when the path is set explicitly and now it's looking in /nix/store/:
$ systemctl status matrix-synapse
● matrix-synapse.service
   Loaded: loaded (/nix/store/zjxmg5jkq03xqpawhirbbg8f32nk77jw-unit-matrix-synapse.service/matrix-synapse.service; bad; vendor preset: enabled)
   Active: failed (Result: exit-code) since Tue 2016-10-18 07:54:37 ACDT; 4min 6s ago
  Process: 19214 ExecStart=/nix/store/q8fq3g23nk7m3wlicp7hxw5fl18rwfwb-matrix-synapse-0.18.0/bin/homeserver --config-path /nix/store/jq8rm1ld2hkhr30cwmislwzva0f4apfx-homeserver.yaml (code=exited, status=1/FAILURE)
  Process: 19210 ExecStartPre=/nix/store/rf2blfa4d0kmyd3p3c31rzg96k3p5wyb-unit-script/bin/matrix-synapse-pre-start (code=exited, status=0/SUCCESS)
 Main PID: 19214 (code=exited, status=1/FAILURE)

Oct 18 07:54:36 ayanami systemd[1]: Starting matrix-synapse.service...
Oct 18 07:54:36 ayanami systemd[1]: Started matrix-synapse.service.
Oct 18 07:54:37 ayanami homeserver[19214]: File /nix/store/example.com.tls.crt config for tls_certificate doesn't exist. Try running again with --generate-config
Oct 18 07:54:37 ayanami systemd[1]: matrix-synapse.service: Main process exited, code=exited, status=1/FAILURE
Oct 18 07:54:37 ayanami systemd[1]: matrix-synapse.service: Unit entered failed state.
Oct 18 07:54:37 ayanami systemd[1]: matrix-synapse.service: Failed with result 'exit-code'.

I'm out of time for now, will come back to this later.  If you have time, please have a go at running this service with just services.matrix-synapse.enable = true;, it sounds like you know more about this space than I do!

So, the problem is that some or all of these configuration keys need to be absent from the configuration file if the respective files do not exist:
tls_certificate_path: "${cfg.tls_certificate_path}"
tls_private_key_path: "${cfg.tls_private_key_path}"
tls_dh_params_path: "${cfg.tls_dh_params_path}"
signing_key_path: "/var/lib/matrix-synapse/homeserver.signing.key"

Otherwise synapse will choke and those keys will not be generated.
We might be able to include these conditionally like you've done with ${optionalString (cfg.tls_private_key_path != null) '' but I'd like to find out first whether synapse takes --keys-directory into account for purposes other than generating keys.  .homeserver-wrapped -h implies not:
  --keys-directory DIRECTORY
                        Used with 'generate-*' options to specify where files
                        such as certs and signing keys should be stored in,
                        unless explicitly specified in the config.

Opening PR to revert this, I will look into it more.

@Ralith should I merge that revert?

@grahamc Sounds like a good plan to me. It looks like it was a misdiagnosis, and @eqyiel seems to be on top of the real issue. We likely haven't encountered this before because most users tend to explicitly configure real SSL certs from the start.


impement scheduled jobs

create periodic action:

curl -X PUT localhost:8000/api/channels/{channel_name}/actions  \
    -H "X-api-key: ${QUETZ_API_KEY}" \
    -d '{"action": "synchronize", "repeat_every_seconds": 60}' | jq

this will add a new task to the job every 60 seconds (unless the last task runs longer)

cancel/pause periodic action

curl -X PATCH localhost:8000/api/jobs/{job_id}  -H "X-api-key: ${QUETZ_API_KEY}" -d '{"status":"cancelled"}'

restart periodic action:

curl -X PATCH localhost:8000/api/jobs/{job_id}  -H "X-api-key: ${QUETZ_API_KEY}" -d '{"status":"pending"}'

trigger action after delay:

curl -X PUT localhost:8000/api/channels/{channel_name}/actions  -H "X-api-key: ${QUETZ_API_KEY}" -d '{"action": "synchronize", "start_at": "2021-03-02T14:48:00"}

Codecov Report

Merging #383 (86cd9c9) into master (d17a171) will decrease coverage by 1.51%.
The diff coverage is 81.01%.

@@            Coverage Diff             @@
##           master     #383      +/-   ##
==========================================
- Coverage   83.83%   82.31%   -1.52%
==========================================
  Files          71       74       +3
  Lines        5356     5484     +128
==========================================
+ Hits         4490     4514      +24
- Misses        866      970     +104

Impacted Files
Coverage Δ

quetz/cli.py
74.82% <21.05%> (-1.71%)
:arrow_down:

quetz/tasks/common.py
79.22% <66.66%> (+6.05%)
:arrow_up:

quetz/tasks/workers.py
78.09% <71.01%> (-6.01%)
:arrow_down:

.../versions/cddba8e6e639_scheduling_spec_for_jobs.py
78.57% <78.57%> (ø)

...s/0a0ab48887ab_adding_function_args_to_job_spec.py
83.33% <83.33%> (ø)

quetz/jobs/dao.py
93.33% <90.00%> (-6.67%)
:arrow_down:

quetz/jobs/runner.py
92.12% <90.69%> (-0.13%)
:arrow_down:

quetz/authorization.py
94.40% <100.00%> (ø)

quetz/config.py
90.18% <100.00%> (+0.06%)
:arrow_up:

quetz/deps.py
85.00% <100.00%> (+2.02%)
:arrow_up:

... and 23 more

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 6e9552a...bec3c15. Read the comment docs.


Add limit parameter for all-transactions call when retrieving the last transaction

Closes #582

Adds the limit parameter for all-transactions call when retrieving the last transaction.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.268%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4290

Relevant Lines:
4568

💛  - Coveralls


Newly added feeds are fetched more often than needed

Describe the bug
When adding a new feed to CommaFeed, the feed is fetched in full four separate times as of CommaFeed 4.4.0. Below is the access log of a web server receiving such requests:
<IP_ADDRESS> - - [12/Jun/2024:07:35:35 +0200] "GET /test.xml HTTP/1.1" 200 151431 "-" "CommaFeed/4.4.0 (https://github.com/Athou/commafeed)"
<IP_ADDRESS> - - [12/Jun/2024:07:36:00 +0200] "GET /test.xml HTTP/1.1" 200 151431 "-" "CommaFeed/4.4.0 (https://github.com/Athou/commafeed)"
<IP_ADDRESS> - - [12/Jun/2024:07:36:00 +0200] "GET /test.xml HTTP/1.1" 200 151431 "-" "CommaFeed/4.4.0 (https://github.com/Athou/commafeed)"
<IP_ADDRESS> - - [12/Jun/2024:07:36:00 +0200] "GET /test.xml HTTP/1.1" 200 151431 "-" "CommaFeed/4.4.0 (https://github.com/Athou/commafeed)"

Note the timing of the requests – the first one is sent when the feed is analyzed, while the other three are sent in a short burst when the feed is properly added.
Expected behavior
The feed is only fetched once in full, and subsequent fetches observe HTTP caching semantics.
Environment (please complete the following information):

CommaFeed version (or "commafeed.com"): 4.4.0

Thanks! I removed one superfluous call already, I'll see what I can do about the other one.

Done! I added a small cache to the http client to prevent short burst of requests to the same feed.


How I can create a new built-in variable

Hello,
It's a grate tmux configuration settings, I would like add new features like show the K8s current context or the AWS profile configuration and I would like to know who I can create new build-in variables to add this new features.
Thanks in advance. Best regards.

Hello @clsaavedra 👋
Please have a look at the gh-394 branch.
The starting point is to turn your ~/.tmux.conf.local copy into a polyglot:
# : << EOF

...

# -- 8< ------------------------------------------------------------------------

# EOF
#
# foo() {
#   echo "foo"
# }
#
# "$@"

⚠ You need to pay much attention to the # characters and the last line containing # "$@".
Then within e.g. tmux_conf_theme_status_left or tmux_conf_theme_status_right you can call your function with #(cut -c3- ~/.tmux.conf.local | sh -s foo).
That's all I have for now. I'll think about implementing automatic variable discovery from functions defined in ~/.tmux.conf.local.

Hello @clsaavedra 👋
I force pushed the gh-394 branch.
No need to insert #(cut -c3- ~/.tmux.conf.local | sh -s foo) anymore in tmux_conf_theme_status_left or tmux_conf_theme_status_right. Just use #{foo}.
Make sure to update your ~/.tmux.conf.local copy with the instructions given above 👆

Hello @clsaavedra 👋
Did you get the chance to try the gh-394 branch?

Yes, I did and it is working fine, Thanks


[Feature request] extra args injection to terraform command

Hello,
Your tool looks promising but to make it even more flexible I would like to suggest following new feature:
Is it possible to add configuration which allows flags to be passed to terraform plan/apply command.
Use case:
We use .tfvars files which holds values for each environment so when terraform plan or terraform apply
is executed it will need -var-file parameter which have environment specific values.
For example final apply command looks like:
terraform plan -var-file=devel.tfvars

Is it possible to add configuration parameter to .tfmigrate.hcl or directly tfmigrate command which enables these
extra parameters injected to terraform plan/apply calls?
Suggestion:
tfmigrate {
  migration_dir = "./migrations"
  plan_extra_args = "-var-file=somevars.tfvars"
  apply_extra_args="-var-file=somevars.tfvars"
}

@kertzi Thank you for sharing your use-case!
I think it's better to add a new attribute in a migration file rather than tfmigrate's configuration file because a var file is typically related to its workspace.
For a workaround, you can pass any CLI flags to the terraform command via environment variables named TF_CLI_ARGS_<name>. For example TF_CLI_ARGS_plan="-var-file=somevars.tfvars"
https://www.terraform.io/docs/cli/config/environment-variables.html#tf_cli_args-and-tf_cli_args_name
You can also change environment variables per directory with direnv.  For how to integrate them with tfmigrate, see my comment here: https://github.com/minamijoyo/tfmigrate/issues/3#issuecomment-801131997

@kertzi Thank you for sharing your use-case!
I think it's better to add a new attribute in a migration file rather than tfmigrate's configuration file because a var file is typically related to its workspace.
For a workaround, you can pass any CLI flags to the terraform command via environment variables named TF_CLI_ARGS_<name>. For example TF_CLI_ARGS_plan="-var-file=somevars.tfvars"
https://www.terraform.io/docs/cli/config/environment-variables.html#tf_cli_args-and-tf_cli_args_name
You can also change environment variables per directory with direnv. For how to integrate them with tfmigrate, see my comment here: #3 (comment)

Thanks for reply, I will check that!

I'm going to close this because there has been no activity on this recently. Please feel free to reopen this if you have any questions or suggestions. Thanks!


Ensure packages.nuget.org serves V1 feed

Currently, http://packages.nuget.org redirects to http://packages.nuget.org/v1/FeedService.svc/
We need to make sure both of those URLs are functional in the new gallery, serving the V1 feed, either directly of through redirection.

We need to write and test a URL Rewriter rule ASAP if we want this to work for the Monday deployment.

Any suggestions on how one goes about this? Is this going to be something configured in IIS? If so, I would need access to our servers

FYI, this may help you, although may not cover all bases.  We have got around internal url issues with the following baseline:
1 - Assume ALL requests to the feed are coming in on /api/feeds/ (i.e. redirect to http://packages.nuget.org/api/feeds/)
2 - Implement url rewrite at a site level as follows (in web.config)
<rewrite>
  <rules>
    <clear />
    <rule name="Rebase non-GET /api/feeds requests" patternSyntax="Wildcard" stopProcessing="true">
      <match url="api/feeds*" />
      <conditions logicalGrouping="MatchAll">
	<add input="{REQUEST_METHOD}" pattern="GET" negate="true" />
      </conditions>
      <action type="Rewrite" url="{R:1}" />
    </rule>
  </rules>
</rewrite>

This is predicated on having IIS 7.5 with URL rewrite module.  It may not comply to your designs, but it works for us...
Hope it helps.

Sorry - wrong xml fragment in previous comment:
<rewrite>
  <rules>
            <clear />
            <rule name="FeedService.svc capture" patternSyntax="Wildcard" stopProcessing="true">
                <match url="FeedService.svc*" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                <action type="Redirect" url="api/feeds{R:1}" />
            </rule>
            <rule name="Rebase non-GET /api/feeds requests" patternSyntax="Wildcard" stopProcessing="true">
                <match url="api/feeds*" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{REQUEST_METHOD}" pattern="GET" negate="true" />
                </conditions>
                <action type="Rewrite" url="{R:1}" />
            </rule>
  </rules>
</rewrite>

Sorry - wrong xml fragment in previous comment:

This will capture direct requests to FeedService.svc (if anyone's hard referencing it).
One other thing - we also hack / rewire "/api/feeds/" to route to the V1 feed in the Routes.cs class, as there are (or were) incompatibilities between nuget.exe v1.4 & v1.5.  This could be done externally as well with something like:

(being very much untested).
Cheers

Note that with the old gallery, you can put https://packages.nuget.org in as a package source, and it worked. We don't know how people have used this URL, which is why I want to make sure it keeps working with the new gallery.

Thanks @chapoo. What we need to do is a bit tricker than that, as we only want to redirect root requests to packages.nuget.org specially (we already have redirects in place for the old paths). Root requests to nuget.org (sans packages.) shouldn't be redirected.
I just verified that URL Rewriter is installed by default for Azure web roles. I'm working on a rule now that looks at the host header.


Regression in 1.41.0: tsc is no longer run correctly when installed as devDependencies

VSCode Version: 1.41.0
OS Version: Linux Ubuntu

Steps to Reproduce:

Upgrade to 1.41.0
Ensure that typescript is not installed globally, only locally in the project as devDependency.
CTRL-SHIFT-p -> Tasks: Run Build Task
Output produced:

tsc -p /home/user/p/test_project/tsconfig.json --watch <
/bin/bash: tsc: command not found
The terminal process terminated with exit code: 127
Terminal will be reused by tasks, press any key to close it.

Does this issue occur when all extensions are disabled?: Yes
Downgrade to 1.40.2 fixes the problem.
tasks.json file:
{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "type": "typescript",
      "tsconfig": "tsconfig.json",
      "option": "watch",
      "problemMatcher": [
        "$tsc-watch"
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

Closing as a duplicate of https://github.com/microsoft/vscode/issues/86889


handling terminals created by vscode-Python

What problem did you solve?
If Python extension and R extension are open at the same time on VSCode a conflict emerges because Python extension creates a new terminal.

vscode-R currently checks for only one terminal available at (vscode.window.terminals.length === 1). I propose to fix that by actively excluding the "Deactive" terminal.
This issue has been reported before:
https://github.com/REditorSupport/vscode-R/issues/1459#issuecomment-2045382766
Note all 3 screenshots the second terminal is "Python ... Deactive" indicating the same root cause.
(If you do not have screenshot) How can I check this pull request?
To recreate the bug you should install Python VSCode extension and run some Python on VSCode (anything, just to activate the extension). Then close all R terminals and attempt to run a new R line of R code by using "Ctl + Enter" or "Cmd + Enter", should run into the error identifying terminal.

Hi @tomasnobrega, thank you for submitting this PR and very nice work tracking down the cause of the error!
Looking at the screenshot, it appears that the Python extension may have recently started to use the Terminal property hideFromUser to create hidden terminals. I had a look at the hideFromUser docs, but it was a bit unclear to me what happens if one of those terminals becomes visible - maybe hideFromUser changes to false, or maybe it stays as true since it seems to be part of creationOptions. Since people only seem to be running into this problem while using the Python extension, I'm happy to keep the fix specific to the Python extension's hidden terminals at the moment. We can try to generalise it to all hidden terminals in the future if people still run into problems.
I'm going to leave a couple of comments on the code. After those are resolved, I'll do some manual testing. (At that point I might also need to reach out to one of the more active maintainers for help on resolving the failed CI checks.)

Hi Andy thank you for the helpful comments, I will make the changes over the weekend

@andycraig I just commited with requested changes. In my VS Code its working. Let me know if you need anything else

@tomasnobrega Thank you very much for making these changes. I think it's fine to merge now now. I have written some notes below about some manual testing that I did, which turned up an edge case, but I think we can ignore it at present.
Details of manual tests I ran
With a file temp.R containing the code print("hello from R").
With the Python extension installed and a file temp.py containing the code print("hello from Python")
Setting r.alwaysUseActiveTerminal is false (the default):
Situation: There are 3 R terminals. The current terminal is the 2nd R terminal.

Create 3 terminals. Start R in each one.  The current terminal is not an R terminal.

Create 2 terminals. Start R in the 1st and 2nd terminals. Select the last (non-R) terminal
With the cursor in temp.R, run R: Run Selection/Line
Successful outcome: Code is run in the LAST (2nd) R terminal.

✅ PASSED
Situation: Works when there is only one terminal, it is an R terminal, and it has just been created. (This did not work at one point due to a bug in VS Code.)

 (Do not do anything at all between steps 1. and 2., as that may affect what is considered the active terminal)
Successful outcome: Code is run in the R terminal

✅ PASSED
Situation: There WAS a Python terminal, but it has been closed. There is an R terminal. (This did not work at one point, probably due to a bug in VS Code or the Python extension.)

With the cursor in temp.R, run R: Run Selection/Line
OUTCOME: VS Code shows message 'There are no open terminals.'

✅ PASSED
Situation: There is an open terminal. Code is run in that terminal.

 (It will produce a bash error since R is not open in the terminal. That is fine)

✅ PASSED
Situation: There WAS a Python terminal, but it has been closed. There are no open terminals. (This did not work at one point, probably due to a bug in VS Code or the Python extension.)

With the cursor in temp.py, run Python: Run Selection/Line in Python terminal to create a Python terminal
Kill the Python terminal using the trash icon
With the cursor in temp.R, run R: Run Selection/Line
Successful outcome: VS Code shows message 'There are no open terminals.'

❌ FAILED (no VS Code message was shown)

The tests all passed except the last one, for the situation where r.alwaysUseActiveTerminal is true, a Python terminal has been created and closed, there are now no open terminals, and the user tries to send code to the (non-existent) terminal. In this case, VS Code should display a message to the user saying that there are no open terminals, but there is no message. I had a look, and in this case there were two hidden terminals: the Python terminal (which is detected and successfully ignored by the check for 'Deactivate' in the terminal name), and also a second hidden terminal just called 'bash'. So the 'bash' terminal is being counted as a terminal. Then chooseTerminal() runs return vscode.window.activeTerminal, which is undefined. In all locations where chooseTerminal() is called it checks whether the result is undefined and if so does nothing. In summary: (i) In this test case, the expected message is not displayed to the user, but it should be fairly clear to the user anyway that there is no (visible) terminal to send code to; (ii) Code is not run in a hidden terminal, which is good; and (iii) This is the current behaviour anyway, as the existing code also fails to handle the hidden terminals.
In future it would be nice to handle that edge case too, but this PR solves a problem that many users are experiencing and I am happy for it to be merged in its current form.

@renkun-ken @ElianHugh @ManuelHentschel
Hi all, one of the CI checks is failing (macos-latest) and another was cancelled (windows-latest) but I don't know what needs to be done about them, if anything. Could you advise? If they are fine as-is, please go ahead and merge this PR as I am happy with the code itself.

@andycraig I'm fairly certain the stops are just issues with the runner, it started happening recently and tends to resolve (at least for me) if the tests are reran until they succeed. Probably worth investigating, but I don't believe it has anything to do with this PR

Perhaps a node.js version issue?
It seems that a very old node.js 16 is currently specified and obviously needs to be updated.

LGTM, thank you!
@eitsupi I'll create a new issue to track this, I'm not 100% familiar with the github actions used in this repo


chore: impelment vector-client & vector-server configs, add support for dns addresses for vector

Fixes RVT-4003
Fixes RVT-3992

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1351  👈
#1350
#1348
#1347
#1345
#1344
#1343
#1342
#1341
#1340
#1339
#1338
#1337
#1336
#1335
#1334
#1333
#1332
#1329
#1328
#1327
#1322
#1321
#1320
#1319
#1318
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @NathanFlurry and the rest of your teammates on  Graphite


Bump API Support

this seems not to support the latest.

The template needs updating as well, please and thank you.

I've proposed a PR with the update to the bindings version.

I've proposed a PR with the update to the bindings version.

I tried to test but I dont know how to get around the template compatibility. Is there anything different I should be doing? Thanks for your efforts on this, its much appreciated!

I've proposed a PR with the update to the bindings version.

First up, the efforts on this is greatly appreciated!
Unless Ive done something wrong, this is the error from the sync branch in the template repo that I get running cargo build:
error[E0412]: cannot find type CStr` in this scope
--> src/main.rs:26:24
|
26 | fn main(_args: Option<&CStr>) -> i32 {
|                        ^^^^ not found in this scope
|
help: consider importing this struct
|
10 + use core::ffi::CStr;
|
error[E0308]: mismatched types
--> src/main.rs:23:1
|
23 | entry!(main);
| ^^^^^^^^^^^^
| |
| expected fn pointer, found fn item
| expected due to this
|
= note: expected fn pointer fn(*mut u8) -> _
found fn item for<'a> fn(Option<&'a {type error}>) -> _ {main}
= note: this error originates in the macro entry (in Nightly builds, run with -Z macro-backtrace for more info)
Some errors have detailed explanations: E0308, E0412.`

@Coded-Alchemy, the fix to the template has been merged into master.

@Coded-Alchemy, looks like I haven't imported the CStr (my bad). You can just use it as Cargo suggests (I will further fix the template to include the import).


Show "howpublished" or custom journal title for papers in subheading.

I want to show that two short papers are published for a conference workshop. They are not in the proceedings, so i have to use misc or article.
howpublished seems to be commonly used for this. But the title of the workshop will this way only show up in the bib entry but not on the page itself. See here: https://haukesand.github.io/.

You can modify _layouts/bib.html
          {%- if entry.website %}
            Website
          {%- endif %}
          +{%- if entry.howpublished %}
          +  Link
          +{%- endif %}
          {%- if entry.doi %}
            doi:{{entry.doi}}
          {%- endif %}


Double count of Serializable in arrays

Fixed add for Serializable. Do not count the addition twice.
Bugfix for https://github.com/arangodb/velocypack/issues/80

Coverage remained the same at 96.522% when pulling d5a50f97f70ac4ff0339b48a49f53f500539fccb on bug-fix/serializable-array into df00f3ed7684f37493cecdf2a791d1e60446a9ec on main.


add sync editor

Signed-off-by: John Swanke<EMAIL_ADDRESS>

/cc @jamestalton

@jeswanke I found a few issues.

The Editor changes section uses a 14px heading, which is the same as the label on fields. I think this might need to be 20px to match the section headings, and some feedback from design might be useful.
Secrets are not hidden in the Editor changes section if I reveal them, make changes, then hide them again.
Edit credential fails on submit.

TypeError
Cannot read properties of null (reading 'getAllDecorations')
Call Stack
 getResourceEditorDecorations
  src/components/SyncEditor/decorate.ts:111:10
 decorate
  src/components/SyncEditor/decorate.ts:24:60
 eval
  src/components/SyncEditor/SyncEditor.tsx:246:64

@jeswanke Thanks for the updates. It's much closer now, except that the secret is not actually updated when I edit. The page does not crash and I get the toast saying it was successful, but it is not actually changed.


Add CI to priv/perf

:clipboard: Add associated issues, tickets, docs URL here.
Overview

how are you gonna push clean code to elixir-omg … if you don’t have a CI to validate you have clean code?

Thus....add CI to priv/perf 🎉
Changes

add credo. (copy pasted from priv/cabbage)
check credo and format for priv/perf in CI
run load test in test_barebone_release and test_docker_compose_release. I think in the future we will make it run low iterations here and run higher iterations against real env? We need a place to make sure our load tests code is actually run-able before merge 🤔 should there be better approach?
add run_load_test_on_deployed_env job in circle that hits the deployed env. Test example (without requiring previous steps done): here, slack discussion: here. Seems like a bit controversial? If we dislike the approach we can add that when we have clearer view on how we want to run the tests.

Testing
CI running and passing

Coverage decreased (-25.06%) to 61.231% when pulling b9563699afb3ca16bcedaa9f60274a39b89e2dbc on boolafish/perf_ci into 4445aee96d0ef8da80006f15c17058e302de61b1 on master.


An Error Occurred

If I go on "Preview" comes an error. Error Type: exceptions.TypeError
what can I do to solve this problem?
Also I get this error on "Edit" but only if I define a HTML file
Error details;
Error Type: exceptions.TypeError
Error Details: TypeError('Argument 2 does not allow None as a value',)
Error UID: 645dc104-569c-4f41-89c2-68b973a60fcd
RPC Error: N/A (Not an RPC error)
King Phisher Version: 0.2.1
Platform Version: Windows: 7 6.1.7601 SP1 Multiprocessor Free (Frozen=True)
Python Version: 2.7.9
Gtk Version: 3.8.9
Traceback (most recent call last):
File "Y:\KingPhisher\king_phisher\client\tabs\mail.py", line 808, in signal_notebook_switch_page
File "Y:\KingPhisher\king_phisher\client\tabs\mail.py", line 438, in show_tab
File "Y:\KingPhisher\king_phisher\client\tabs\mail.py", line 430, in load_html_data
TypeError: Argument 2 does not allow None as a value

It looks like it's an error with how the webkit webview is being called to render the HTML message. It also looks like it's being caused by a file not being set in the "Message HTML File" box under the Configuration tab. Setting that should fix the issue.

This issue is now fixed on the dev branch as of commit 67a5d9e017a938d6b92e761adacebd7ffa4d891b. If you have no other questions on it, I'd like to close this issue out. Thanks for reporting it.

yes, thank you.


How is Butterknife working?

Going according to the docs we first have to update the build.gradle main and app module files and then we can use @BindView in our code.
My question  is everywhere in the code samples ButterKnife.bind() is used by people in the onCreate() function but couldnt find in the Open Event app. How is it working over here?

Hi @arp95! In the Open Event app code, every activity instead of extending the default Activity class, they are extending the BaseActivity class which means whenever we are creating a new activity it'll be overriding the BaseActivity methods.
In onCreate() of BaseActivity,  we have called ButterKnife().bind which means all the activities will have it automatically. We need not call it every time in each activity.
I hope it clears your doubt! :)

@harshitagupta30 yeah missed that part.
Thanks !!


Force redeploy website

@wgtmac - apologies, the last PR didn't contain any core website changes so nothing was redeployed. This should fix that.

Could you also update the asf yaml like https://github.com/apache/parquet-mr/blob/master/.asf.yaml to avoid notifications to dev@ ML? Thanks!

@wgtmac - Ah, so I think the main ones may be coming from<EMAIL_ADDRESS>which I believe is a gitbox config. I can look into how to get rid of those notifications, but I think that config are specified outside of this yaml config unfortunately


Protocol violation and message receive when exceeding data limit size

Run a simple server with data size limit:
from aiosmtpd.controller import Controller
from aiosmtpd.handlers import Message
from aiosmtpd.smtp import SMTP

class MessageHandler(Message):
    def handle_message(self, message):
        print(message)

class MyController(Controller):
    def factory(self):
        return SMTP(self.handler, data_size_limit=10)

controller = MyController(MessageHandler())
controller.start()

Connect to it with nc
$ nc -C <IP_ADDRESS> 8025
220 hostname 1.0a1
HELO foo
250 vpn.bayan.rocks
MAIL FROM<EMAIL_ADDRESS>250 OK
RCPT TO<EMAIL_ADDRESS>250 OK
DATA
354 End data with <CR><LF>.<CR><LF>
Header: value
552 Error: Too much mail data
Header2: value2
552 Error: Too much mail data
Header3: value3
552 Error: Too much mail data

552 Error: Too much mail data
.
250 OK

The server responds multiple time with error code 552 and finally with 250!
Also server receives message and calls handle_message

This is still a problem although for me on git master, I get some different results.  After typing
Header: value

I see
Header: value
552 Error: Too much mail data

and then the server simply stops responding.  If I turn on debug mode (with either PYTHONASYNCIODEBUG=1 or -ddd below), all I see in the console is:
INFO:mail.log:Data: 'DATA'
DEBUG:mail.log:b'354 End data with <CR><LF>.<CR><LF>\r\n'
DEBUG:mail.log:b'552 Error: Too much mail data\r\n'
  C-c C-cINFO:mail.log:Completed asyncio loop

so I don't have any idea where the server's gone off to.
Also, this is a simpler way to invoke the issue.  Put this in a file called test.py
from aiosmtpd.handlers import Message

class MessageHandler(Message):
    def handle_message(self, message):
        print(message)

then from a git clone:
$ tox -e py35-nocov --notest -r
$ PYTHONPATH=. .tox/py35-nocov/bin/smtpd -c test.MessageHandler -s 10 -ddd -l <IP_ADDRESS>:8025 -n

now connect with nc as above.

Must be fixed with #30

@kozzztik #30 is merged.  I'll test this out to see if it's still a problem, but if it is then I'll defer it post 1.0.

W.r.t. behavior ...
I can only find this reference from z/OS. Quote:

z/OS SMTP acts like a state machine according to the original design and RFC 821. It must finish sending the mail before accepting valid SMTP server replies. Replies received before mail has been sent will not be processed.

So... does that mean that it must reach the end first `b".\r\n" before it acts upon the 552 codes?
That begets another question: Upon receiving b".\r\n", what code should the SMTP class return?

Updating this issue:
I asked around on StackOverflow, and a helpful individual pointed out that RFC 5321 section 4.2.5 seems to imply that status codes are to be returned after <CRLF>.<CRLF>.
I think that's the closest we can get to an authoritative specification.
Hence, this issue will be closed by merging #59 (which is still in Draft stage at the moment of this posting)

#59 has exited Draft stage and is of course ready to merge. I'll wait until Monday, then if no objections, I'll merge that and (auto)close this issue.


How to convert new lines to line breaks or paragraph tags?

I have html that is one long block of text in one big p tag, but each paragraph within that p tag is on a new line instead of in another p tag. Is there a way I can convert a new line to a br tag or p tag?
Update:
Nevermind, it looks like this won't work and you knew that. I edited the HTML.js file and removed the part that ignores \r\n and it worked for part of the file, but other parts it made things much worse. I don't know what to do but I will keep working on it. PS - I hate Wordpress! (this is stemming from the wordpress API for their posts)

We are in the process of cleaning the issue tracker to make it manageable. Because your issue did not follow our contribution guidelines, it will be closed. But you can ask this question on stackoverflow. Don't forget to add the react-native-render-html tag. We are notified on this tag, and will be happy to help you here.


Use fractional scaling instead of zooming. Also bug fixes..

UI Scaling
Make the UI much more legible and makes use of personal preference instead of zooming.
If the goal is to have very large buttons and text, I propose of using text scaling instead of zooming to increase legibility. I can write up those changes and add them to the this draft as well.
Before:

After:

Bug Fixes
To fix the UI from jittering while resizing, use the latest git version of egui instead of the latest release.
Other
We could add an options menu to house a slider for the UI scaling and / or a checkbox to just follow the OS scale.
I'm keeping this as a draft until the maintainers review to see if this is something they'd like to add.

I added all the changes necessary to complete the upgrade to 0.28.2 of egui. Again this is purely a draft of what these changes would look like.


fix IP_RECVORIGDSTADDR

I am pretty sure this is not enough to fix it as we also need to handle what we receive and extract the message out of it:
https://github.com/netty/netty/commit/b818852cdb0ee56ce3cf939e2faa538d519baabd#diff-270ab9e7691267cfbf3b7e16e528c41b0ab8cf28faf306dd99c014d87b370243R345

@normanmaurer What exactly is currently working wrong? I don't know much about native code, but I would like to solve this problem as soon as possible

@XjCyan1de there needs to be some code to extract the address like what I linked above.

Working on it, will publish the next week

@XjCyan1de sounds good... Best would be if we could make it work without going into JNI land...

there are some difficulties, at the moment there is no ready-made solution


Redshift shim type_string not being called

Describe the bug
@rsanjabi,  @dluftspring, and I are currently in the process of upgrading from v0.2.1 to v0.4.0. When trying to build, it appears that the redshift__type_string macro is not getting called appropriately; instead, the type_string macro appears in its place.
Steps to reproduce
Paste the following in your dbt_project.yml:
    dispatch:
      - macro_namespace: dbt
        search_order: ['dbt_project_evaluator', 'dbt']

Then on attempting to build:
dbt build --select package:dbt_project_evaluator dbt_project_evaluator_exceptions

We run into the following issue:
Postgres adapter: Postgres error: value too long for type character varying(1)

The compiled code looks like this:
  create  table
   "dbt_raphaelaabramson_dbt_project_evaluator"."base_node_relationships__dbt_tmp"

  as (

/* Bigquery won't let us `where` without `from` so we use this workaround */
with dummy_cte as (
    select 1 as foo
)

select
    cast(null as TEXT) as resource_id,
    cast(null as TEXT) as direct_parent_id,
    cast(True as boolean) as is_primary_relationship

from dummy_cte
where false
  )

Expected results
The compiled code should look like this:
with

_base_node_relationships as (
    select * from "dbt_raphaelaabramson_dbt_project_evaluator"."base_node_relationships"
),

final as (
    select

md5(cast(coalesce(cast(resource_id as VARCHAR(600)), '') || '-' || coalesce(cast(direct_parent_id as VARCHAR(600)), '') as TEXT)) as unique_id,
        *
    from _base_node_relationships
)

select  * from final

System information
The contents of your packages.yml file:
packages:
  - package: dbt-labs/dbt_utils
    version: [">=1.0.0", "<2.0.0"]
  - package: dbt-labs/codegen
    version: 0.9.0
  - package: dbt-labs/dbt_project_evaluator
    version: 0.4.0
  - package: elementary-data/elementary
    version: 0.6.12
  - package: calogica/dbt_date
    version: [">=0.7.0", "<0.8.0"]

Which database are you using dbt with?

[ ] postgres
[x] redshift
[ ] bigquery
[ ] snowflake
[ ] other (specify: ____________)

The output of dbt --version:
Core:
  - installed: 1.4.1
  - latest:    1.4.1 - Up to date!

Plugins:
  - redshift: 1.4.0 - Up to date!
  - postgres: 1.4.1 - Up to date!

Additional context
When I add the the redshift_shims macro to my project the code compiles correctly.
Are you interested in contributing the fix?

Thanks for the report! This is definitely not expected but we didn't manage to replicate it on our side.
Could you please:

make sure that the dispatch config is set properly and dbt_project.yml is saved? The snippet you shared has some "spaces" to the left, is it a copy/pasting issue or do you have those spaces in your yml file as well. They should not be there.
do a dbt clean to wipe your packages and partial parsing files and re-do a dbt deps before trying to re-run the models?

If those steps don't work we can try to investigate more.

Thanks for the report! This is definitely not expected but we didn't manage to replicate it on our side.
Could you please:

make sure that the dispatch config is set properly and dbt_project.yml is saved? The snippet you shared has some "spaces" to the left, is it a copy/pasting issue or do you have those spaces in your yml file as well. They should not be there.
do a dbt clean to wipe your packages and partial parsing files and re-do a dbt deps before trying to re-run the models?

If those steps don't work we can try to investigate more.

Egg on my face--it looks like the dispatch setting wasn't in the correct place. Thank you for your work on this--I'm going to close this issue out. Thanks!


Add Besu support

handle lack of implemented eth_maxPriorityFeePerGas method in RPC, when using EIP-1559 (case of Besu's new tx pool)
update all tests, so that they run with EIP-1559 network and without it

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (f_erigon@f36d39a). Click here to learn what that means.

Additional details and impacted files
@@             Coverage Diff             @@
##             f_erigon     #784   +/-   ##
===========================================
  Coverage            ?   37.50%
===========================================
  Files               ?       49
  Lines               ?     6192
  Branches            ?        0
===========================================
  Hits                ?     2322
  Misses              ?     3647
  Partials            ?      223

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


NSP watch notifications do not reach LB

Describe the bug
The LB might end up in a situation where there's a seemingly working gRCP stream (and underlying TCP connection) to the NSP server for watching external connectivity related changes, yet no message is received on it from the NSP.
According to tcpdump messages are received by stateless-lb from NSP when an update/refresh is due for the FE targets.
However, after some time other than the keepalive related packets no traffic is visible when running tcpdump on the NSP side of the connection when provoking change in external connectivity.
Debugging a bit on the NSP side showed that the watcher client is known to the server, and the server triggers a send on it for the events subscribed.
Restarting the NSP does not seem to help, a new TCP connection will be established but the problem remains (i.e. no incoming notifications). Restarting the LB container seems to solve the problem though.
To Reproduce
Steps to reproduce the behavior:

I've only seen this issues after suspending (for a couple hours) and waking my laptop running a Meridio deployment in Kind.
After step 1, the LB containers of the LB-FE PODs get stuck in non-ready, even though the external connectivity recovers and gets reported to NSP. The LB logs normally show an external connectivity unavailable event with a timestamp when the cluster got resumed.

Same problem was observed recently in a "real" environment.
Expected behavior
NSP watcher in LB should continue getting notifications from NSP server.
Context

Kubernetes: v1.22.9
Meridio: 1.0.0 (older releases also affected)
...

Logs

Also, observed on clusters:
1., Between FE and NSP: The cluster was left running for a couple days, and in the background the vpp-forwarders were occasionally redeployed.
FE failed to prolong its target registration with NSP to announce its availability.
There were no apparent errors in FE, although the retry package wrapping announcement to periodically renew the registration does not log any errors if run in a way to ignore them.
NSP logs showed that all of a sudden the FE still maintaining external connectivity has unregistered. According to tcpdump except for the tcp keepalives there was no FE originated exchange, although it should have occurred every 30 seconds (like in a normal case).
Deleting the NSP POD failed to resolve the issue. Killing the affected frontend process in the container however worked.
2., After restarting the the node running NSP:
After the NSP restarted on the rebooted node (node retarted concluded before POD eviction timeout could have kicked in), an FE (running on a different node than rebooted) re-registered itself, but shortly there was a sudden stop in it making the NSP think the FE had lost external connectivity. Roughly after 12 minutes, the FE's registration reappeared in NSP. A couple hours later NSP again considered the FE down. The FE never lost external connectivity.
Based on the logs the LB (collocated with the FE) after learning about the first disappearance of the FE via NSP, never again got any notification about the FE becoming available.

A possible root cause might the following:
In the stateless-lb un-registering the LB endpoint (NSE) can get stuck, i.e. it won't return thus blocking the goroutine handling FE related events. (Observed it on Kind.)
Some timeout should be applied when calling the endpoint unregister. We should revisit our NSM endpoint implementation.


be flexible if display.html is called different, e.g. paper.html

check display file tag in metadata. It inlcudes the right name of the display file

@nuest I think this is already fixed with issue #108 ?


Improve TemporalRowCountSection

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (2d72af2) 100.00% compared to head (f632a10) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #272   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           82        82
  Lines         2227      2240   +13
  Branches       242       244    +2
=========================================
+ Hits          2227      2240   +13

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Removing padding for Tabstrib Next #2726

Closes #2726
Removes padding left and right from saltTabstripNext class

How can I reference to Issue #2726 ?
Thanks

Hi @genarot, thank you for contributing. In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement. You can find instructions on how to complete that in our contributing guide.
Thanks

I forced a commit with only the changes for the "inline" variant so that you don't loose the reference to the original commit that added the padding in the "main" variant
Thanks.

Thanks for the contribution @genarot !


Exception handling

I am writing a new app with Adonis and I have an issue. With some Adonis functions. For example request.auth.attempt() or request.file(). I can use these functions but then something goes wrong, like the login attempt was not successful (wrong credentials) or the maximum file size exceeds then Adonis throws an exception. So far so good.
My question is: How do I handle these things? If something goes wrong I don't want that the user gets redirected to an 400 oder 500 error page. That is not good for the user experience. I would like to redirect back and flash some messages.
My attempt is to wrap the block into a try-catch block to handle these error. But I'm not yet convinced whether this is the best way to do it. Because from Laravel I am used to not handle these exceptions in controller but a separate exception handler takes care.
// Attempt to login with email and password
try {
    const authCheck = yield request.auth.attempt(email, password);
    if (authCheck) {
        return response.redirect('/');
    }
} catch (e) {
    yield request
        .withAll()
        .andWith({errors: [ { message: loginMessage.error } ] })
        .flash();
    yield response.redirect('back');
    return
}

So what do you do with exceptions?
PS: I'm new to Node and Adonis so assume I don't know the best practices for JS-Dev :)

When exceptions are raised, AdonisJs internally fires an event which you can listen and do error handling at a global level.
Check this https://github.com/adonisjs/adonis-app/blob/develop/app/Listeners/Http.js#L14 where AdonisJs itself is listening for the event and responds to it.
From where if required, you can build a service which can parse these error in more standard way and redirect the user back.
adonis-rally  is a demo project where I can created a service for handling exceptions and creating personalized errors messages. https://github.com/adonisjs/adonis-rally/blob/develop/app/Services/ExceptionParser.js
Also AdonisJs gives exceptions a unique name, so that when handling an exception you have some context. For example: ModelNotFound, PasswordMisMatch, InvalidLoginException etc.

I really recommend to have a look at the adonis-rally project @obstschale, helped me a lot.
Thanks @thetutlage for your explanations. What about exceptions thrown in event listeners? I couldn't find a way to consistently catching/handling them, they seem to get swallowed up. Do you have any guidance here?

Thx for the help. The adonis-rally repo is really useful. I adapted this idea and also check for the Accept header to return different responses for API requests and HTML requests.
// In app/Services/ExceptionParser.js
'use strict'

const ExceptionParser = exports = module.exports = {}

/**
 * handlers is the list of custom handlers to handle exceptions.
 * For example throw new ValidationException can be handled
 * using ValidationException function on the handlers
 * object.
 *
 * @type       {Object}
 */
const jsonHandlers = {
    ValidationException: function (error, request, response) {
        const fields = error.fields
        const status = error.status || 400
        const message = error.message
        response.badRequest({status, message, fields})
    },

    InvalidLoginException: function (error, request, response) {
        const fields = error.fields
        const status = error.status || 401
        const message = error.message
        response.unauthorized({status, message, fields});
    },

    default: function (error, request, response) {
        const message = error.message || 'Something went wrong'
        const status = error.status || 500
        response.status(status).send({status, message})
    }
}

const htmlHandlers = {
    ValidationException: function (error, request, response) {
        const fields = error.fields
        const status = error.status || 400
        const message = error.message
        response.badRequest({status, message, fields})
    },

    InvalidLoginException: function (error, request, response) {
        response.redirect('/login');
    },

    default: function (error, request, response) {
        const message = error.message || 'Something went wrong'
        const status = error.status || 500
        // Somehow this does not work so I leave it off and in app/Listeners/Http.js the view is rendered.
        //   yield response.status(status).sendView('errors/index', {error})
    }
}

/**
 * send method is used to make the final user friendly error
 * and send it back to the user/browser.
 *
 * @param      {Object}  error     The error
 * @param      {Object}  request   The request
 * @param      {Object}  response  The response
 *
 * @public
 */
ExceptionParser.send = (error, request, response) => {
    const type = request.accepts('json', 'html');

    switch (type) {

        case 'json':
            const jsonHandler = jsonHandlers[error.name] || jsonHandlers.default
            jsonHandler(error, request, response);
            break

        case 'html':
            const htmlHandler = htmlHandlers[error.name] || htmlHandlers.default
            htmlHandler(error, request, response);
            break
    }
}

// in app/Listeners/Http.js

'use strict'

const Env = use('Env')
const Ouch = use('youch')
const Http = exports = module.exports = {};
const ExceptionParser = use('App/Services/ExceptionParser');

/**
 * handle errors occured during a Http request.
 *
 * @param  {Object} error
 * @param  {Object} request
 * @param  {Object} response
 */
Http.handleError = function * (error, request, response) {

  ExceptionParser.send(error, request, response)

  /**
   * PRODUCTION REPORTER
   */
  const status = error.status || 500
  console.error(error.stack)
  yield response.status(status).sendView('errors/index', {error})
}

/**
 * listener for Http.start event, emitted after
 * starting http server.
 */
Http.onStart = function () {
}

Closing since not a bug and more of a discussion. Feel free to move it to Gitter channel. Thanks 😄

thanks


Introduce contentCharset property, introduce utility to parse form ur…

Introduce contentCharset property
Introduce utility function to parse application/x-www-form-urlencoded

to be improved