Fix date record list filter for between/not between operators

Fix date record list filter for between/not between operators

Everything works as expected. No need for a CL here. Moving the card to Done.


650 add qr code to pdfs for verification

Closing this PR in favor of: https://github.com/openwallet-foundation-labs/learner-credential-wallet/pull/659


fix: Make MIW / Keycloak constant static IPs as variables

Description

Changed MIW / Keycloak constant IPs as Terraform variable.
Added a readme, how to override these variables.

Closes #275
Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[x] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[x] Copyright and license header are present on all affected files

@ndr-brt Could you please merge it.


Extension causes high cpu load

Issue Type: Performance
Extension Name: LiveServer
Extension Version: 5.5.1
OS Version: Darwin x64 18.2.0
VSCode version: 1.32.3

:warning: Make sure to attach this file from your home-directory: /Users/elsayer/ritwickdey.LiveServer-unresponsive.cpuprofile.txt :warning:
Find more details here: https://github.com/Microsoft/vscode/wiki/Explain:-extension-causes-high-cpu-load

Hello. few questions!!,
When you're getting this issue? after load of vscode or after clicking to Go Live ?
Is this happen every-time ? or random ?
Please reply here https://github.com/ritwickdey/vscode-live-server/issues/278
Duplicate of https://github.com/ritwickdey/vscode-live-server/issues/278

[Note: This issue is closed by a javascript code (written by me).
https://gist.github.com/ritwickdey/36682dabe4a992c57e4562c935bfbbdd ]

Thank You.


Add filter to UTXO screen

Please, add filter on the top of UTXO screen which will show only Unspent coins

Can I be assigned on this too?


Variables don't serialize into Macro Expression syntax

Given this C#
Script.Inline($"echo {variables["MyVariable"]}"),

The yaml produced is:
  - script: |-
      echo variables['MyVariable']

This doesn't work. For variables to work in string/variable interpolation they need to use Macro expression syntax.
This would be:
  - script: |-
      echo $(MyVariable)

#233

I see some nullability problems on the main build after the merge. I will do one more sanity check in the evening before releasing a new version

Hope it's all good :)

A new version is out! 1.4.2


Handle rate limits

The headers returned by each API call contain the following fields:

x-rate-limit-limit: the rate limit ceiling for that given endpoint
x-rate-limit-remaining: the number of requests left for the 15-minute window
x-rate-limit-reset: the remaining window before the rate limit resets, in UTC epoch seconds

These fields are documented here. Method calls should parse these fields to determine when to sleep the process and for how long. Performing additional requests when the limit has been reached risks account suspension.

Has anyone thought about the best way to handle this?
I was thinking that we could convert everything below this line in the _user_lookup method into a function and then add a boolean argument to each method called wait (or whatever) which, when True, calls that function.
I think that it would mostly just be adding a single if-conditional in each internal/base method and then deciding where we want to put the new function.
Thoughts?

Has anyone thought about the best way to handle this?
I was thinking that we could convert everything below this line in the _user_lookup method into a function and then add a boolean argument to each method called wait (or whatever) which, when True, calls that function.
I think that it would mostly just be adding a single if-conditional in each internal/base method and then deciding where we want to put the new function.
Thoughts?

On second thought, this might be better to include within the oauth.py file?

On second thought, this might be better to include within the oauth.py file?

See #54.

There may be some room for improvement, however, this is functionally addressed at the moment so I'm going to close. Please create new issues for improvements.


KLdiv in PPOModel

https://github.com/reinforceio/tensorforce/blob/4538be55121ea90b744046c883475582183c2a93/tensorforce/models/ppo_model.py#L97
I think that need swap distribution and prev_distribution. KL(p || q) != KL(q || p). In TRPO theorem we need small KL(old policy || new policy).

Thanks for reporting! However, I think that this is not actually an issue, since the KL divergence in PPO is only used for diagnostic logging. In TRPO, the same is done, but the KL divergence which is used for the actual update calculation is the other way round (update vs diagnostics). Would you say that it would nevertheless make sense to swap the arguments, i.e. report the distance of the old to the new distribution instead of the new to the old?

I think that even for diagnostic must use KL(old policy || new policy).

Okay, done.


[recipe request] bazel

Name of package: bazel
URL of package source code: https://github.com/bazelbuild/bazel
License of package: Apache-2
List of package dependencies:

    - java-openjdk-ppc64le {{ openjdk }} # [ppc64le]
    - openjdk {{ openjdk }} # [x86_64]
    - unzip  {{ unzip }} # [linux]
    - zip    # [linux]

Short description of package and use case(s):
A fast, scalable, multi-language and extensible build system

Folks who would also like to see this package in the supplementary channel, please thumbs-up so the developers can know which requests to prioritize.

Bazel is included!


Image src returning invalid image causes application failures

From @eamon-hguk on June 8, 2017 12:1
Please, provide the details below:
Though my issue is a little different as it relates to the view.
I am trying to retrieve images in the view by using an Url pointing at images in an S3 bucket
<Image [src]="https://s3-eu-west-1.amazonaws.com/hgevents-images-test/26/1472222735722_Logo_Gradient_rgb.jpeg" width="100" height="100"></Image>
When using a URL to an invalid image, or a non-existent one (such as given above), I get the following error:
CONSOLE ERROR file:///app/tns_modules/@angular/core/./bundles/core.umd.js:1091:24: ERROR Error: Uncaught (in promise): Error: Response content may not be converted to an Image file:///app/tns_modules/tns-core-modules/http/http-request/http-request.js:123:61 [<root>] UIApplicationMain@[native code] [<root>] start@file:///app/tns_modules/tns-core-modules/application/application.js:211:26 [<root>] bootstrapApp@file:///app/tns_modules/nativescript-angular/platform-common.js:72:28 [<root>] bootstrapModule@file:///app/tns_modules/nativescript-angular/platform-common.js:60:26 [<root>] anonymous@file:///app/main.js:5:57 [<root>] evaluate@[native code] [<root>] moduleEvaluation@[native code] [<root>] [native code] [<root>]
My problem is not so much that an error is thrown, but that this error stops other areas of the application working, such as data being rendered on other pages.
Is there a way to either get Nativescript to ignore this error, or to handle it, so it does not break my application?
If not then this is an issue, as it does not reflect how this would work in other applications, such as a web application, where the failure would not cause any collateral damage.
Did you verify this is a real problem by searching [Stack Overflow]
Possibly relates to: NativeScript/NativeScript#3381
Tell us about the problem
Please, ensure your title is less than 63 characters long and starts with a capital
letter.
Which platform(s) does your issue occur on?
Both
Please provide the following version numbers that your issue occurs with:

CLI: 3.0.1

Please tell us how to recreate the issue in as much detail as possible.
See above
Is there code involved? If so, please share the minimal amount of code needed to recreate the problem.
See above
Copied from original issue: NativeScript/NativeScript#4339

Hi @eamon-hguk,
I reviewed your case and created sample NativeScript Angular 2 project, however, was unable to reproduce similar scenario with issues with data binding and page rendering, while loading an image from broken URL.
In my sample application, I am using the URL from the description. Could you review the sample project and make the needed changes, which will allow us to reproduce this case on our side
Archive.zip

From @eamon-hguk on June 12, 2017 10:38
Hi @tsonevn
It seems the problem wasn't what I thought it was, it was when I was trying to load the image in the view using a function call inline, like below:
 <Image  [src]="getEventImage(eventId)" stretch="aspectFit"></Image>
Whereas if I get an image in advance by adding doing it in the init block of the component class, it is fine.
Then I can load it like this:
 <Image  [src]="event.imageUrl" stretch="aspectFit"></Image>
So there seems to be a problem, when you try and load an image using an inline function call, it cannot deal with the failure, but not as originally described.

Hi @eamon-hguk,
Indeed loading an image source from a method will not work in NativeScript Angular 2 project. we will research what is causing this issue . However, after a little research, I found in this StackOverflow thread that the recommended way to load an image is to fill an array with the values and then bind to the array.

Hi @tsonevn,
That's exactly what I ended up doing!
Thanks for your help

+1 reported via t. 1129079

@NickIliev your original issue from 2 years ago is still open. This PR prevents it from breaking end users:
https://github.com/NativeScript/NativeScript/pull/5856


Export environment variables from config

I want make use of setting environment variables through mise, attempting to replace direnv in simple cases at least.
Unfortunately, the action does not export the variables included in the configuration:
Example config:

Example workflow:

The build subsequently fails because changie doesn't find its config.

Workaround:
    - uses: jdx/mise-action@v2
      with:
        install: false # we only need env

    - name: Load mise env
      run: |
          mise env -s bash \
              | grep -v 'export PATH=' \
              | cut -d' ' -f2 \
              >> "$GITHUB_ENV"

this is painful, should probably be fixed under an option


Chat not working anymore (during grouprides)

Hi,
The last 10 days or so the Chat window of Zwift Sauce is not longer showing the chats.
I have the  feeling is mostly occuring with grouprides.
When riding with a pace partner it seems to be working
This kinda ruins my ride  because I chat a lot.
The alternative is Zwift Companion app but that is mostly not working. It's not seeing i'm riding so ...
Hope this problem can be fixed quickly.

Looking into it. thank you @huysp


feat(COPY TO): hive partitioning support

Addresses (https://github.com/GlareDB/glaredb/issues/2462)
Provides hive partitioning support for Parquet & Json.
Missing from this PR:

Remaining formats (lance, csv, bson)
Reading hive partitioned files

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

this all looks really good to me.

I'd love to see some tests on "what happens when you partition by something other than a date"
we should definitely open another ticket for "reading from hive-partitioned files." right now you can use our glob, function, and that helps, but there is a push down projection that this might not be able to do. Clearly out of scope for this ticket, but it'd be killer feature either way.
I'd love to see a test with another file format (json or bson?) just just to make sure that it's generic enough and doesn't rely on something parquet specific.
I think it'd be good to be explicit about the expectation that the partitioned field remains in the output data or is elided because it's in the partition, so a test there would be good.

Agree on all these points - thanks for the feedback. (Just a note: the PR isn't in its final form yet. The current test was primarily for development ease - more comprehensive tests are on the way!).

marking as draft as it's not actively waiting on review.
@melbourne2991 please feel free to ping us when it is ready.

@melbourne2991 wanted to check in on this. Is there anything I can do to help you on this?

hey @tychoish, apologies, I've been swamped lately - I'm not sure if I'll have time to get around to this in any reasonable time frame - happy for someone else to pick it up, there shouldn't be too much effort left on it I hope


Adds more descriptive and helpful error messages to the FT contracts and txs

Closes: #169
Based on guidelines in https://github.com/onflow/docs/issues/795
Description

Updates all error messages to include more information and relevant data about the error if possible
Updates CLI commands for C1.0

For contributor use:

[x] Targeted PR against master branch
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[x] Re-reviewed Files changed in the Github PR explorer

Спасибо вам очень хорошо


#11 Render Code with Code Blocks

Updated the Markdown Quote-Blocks used to display code on the website to Code-Blocks for better support and accessibility.

Made changes in .md files to change Block quotes to code blocks.
Added a folder prism inside  website/static and added prism.js and prism.css inside prism folder.
Linked prism.js and prism.css files to html using siteConfig.js.
Used prismjs.com for code highlighting.

@divya-mohan0209 please review this PR. Although the last PR #13 isn't merged, so this one may show those files changed as well.

@divya-mohan0209 I provided my review and the changes have been made. If you may please review it so that this PR may be merged and #11 is closed.


Discussion ragged array support

I just saw that the segment function supports ragged array, and I was wondering what you think of including something like this inside clouddrift.
def apply_ragged(func, arr, rowsize, *args, **kwargs):
    """
    Apply a function over segments of a ragged array
    """
    if not sum(rowsize) == len(x):
            raise ValueError("The sum of rowsize must equal the length of x.")

    output = []
    start = 0
    for r in rowsize:
        end = start + int(r)
        output.append(func(arr[start:end], *args, **kwargs))
        start = end
    return np.concatenate(output)

from concurrent import futures
def apply_ragged_thread(func, arr, rowsize, *args, **kwargs):
    """
    Apply a function over segments of a ragged array
    """
    if not sum(rowsize) == len(x):
            raise ValueError("The sum of rowsize must equal the length of x.")

    def wrapper(x):
        return func(x, *args, **kwargs)

    with futures.ThreadPoolExecutor() as executor:
        outputs = executor.map(wrapper, np.array_split(arr, np.cumsum(rowsize[:-1])))
    return np.concatenate([o for o in outputs])

The main advantage is that we can remove if rowsize is None: in segments (and future functions that I guess would require a similar construct), but of course the user now has to use this function if they have a ragged array.
For example, I've tested with the segment function.
x = [0, 1, 1, 1, 2, 2, 3, 3, 3, 3, 4]
rowsize = [3, 2, 6]
segment(x, 0.5, rowsize)
> array([1, 2, 1, 1, 1, 4, 1])

apply_ragged(segment, x, rowsize, tolerance=0.5)
> array([1, 2, 1, 1, 1, 4, 1])

apply_ragged_thread(segment, x, rowsize, tolerance=0.5)
> array([1, 2, 1, 1, 1, 4, 1])

PS: So far, I have not found an elegant way of performing the same for n ragged array arguments, e.g. velocity_from_position, which expects x, y, and t.

Ok, I'm pretty happy because I just now managed to make it work right now for n parameters and arguments.
Here are the new functions. There are two versions, one is a simple map and the other one is doing the calculation on different threads. But basically both are doing the same thing.
from concurrent import futures
from collections.abc import Iterable
import numpy as np
from clouddrift.analysis import segment, velocity_from_position

def apply_ragged(func, rowsize, arrs, *args, **kwargs):
    """
    Apply a function over segments of a ragged array
    """
    if not isinstance(arrs[0], Iterable):
        arrs = [arrs]

    for arr in arrs:
        if not sum(rowsize) == len(arr):
            raise ValueError("The sum of rowsize must equal the length of arr.")

    def wrapper(iterargs):
        return func(*iterargs, **kwargs)

    arrs = [np.array_split(arr, np.cumsum(rowsize[:-1])) for arr in arrs]
    iterargs = [[arrs[i][j] for i in range(len(arrs))] for j in range(len(arrs[0]))]

    # combine other arguments
    for arg in iterargs:
        if args: arg.append(*args)

    results = list(map(wrapper, iterargs))

    # concatenate the n outputs arguments
    if isinstance(results[0], tuple):
        outputs = []
        for i in range(len(results[0])):
            outputs.append(np.concatenate([r[i] for r in results]))
        return tuple(outputs)
    else:
        return np.concatenate([r for r in results])

def apply_ragged_thread(func, rowsize, arrs, *args, **kwargs):
    """
    Apply a function over segments of a ragged array
    """
    if not isinstance(arrs[0], Iterable):
        arrs = [arrs]

    for arr in arrs:
        if not sum(rowsize) == len(arr):
            raise ValueError("The sum of rowsize must equal the length of arr.")

    def wrapper(iterargs):
        return func(*iterargs, **kwargs)

    arrs = [np.array_split(arr, np.cumsum(rowsize[:-1])) for arr in arrs]
    iterargs = [[arrs[i][j] for i in range(len(arrs))] for j in range(len(arrs[0]))]

    # combine other arguments
    for arg in iterargs:
        if args: arg.append(*args)

    with futures.ThreadPoolExecutor(max_workers=1) as executor:
        results = executor.map(wrapper, iterargs)

    # concatenate the n outputs arguments
    results = list(results)
    if isinstance(results[0], tuple):
        outputs = []
        for i in range(len(results[0])):
            outputs.append(np.concatenate([r[i] for r in results]))

        return tuple(outputs)
    else:
        return np.concatenate([r for r in results])

I was testing with those 3 functions:
def test(x, tolerance):
    return x + tolerance

def test2(x, y, tolerance):
    return x + y + tolerance

def test3(x, y, z, tolerance):
    return x + y + z + tolerance

And you can see the tests below.
# data
rowsize = [3, 3, 3]
x = np.array([1, 1, 1, 2, 2, 2, 3, 3, 3])
y = 2*x
z = 3*x
tolerance = 0.5

# one arguments
a = apply_ragged(test, rowsize, x, tolerance)
b = apply_ragged(test, rowsize, x, tolerance=tolerance)
c = apply_ragged_thread(test, rowsize, x, tolerance)
d = apply_ragged_thread(test, rowsize, x, tolerance=tolerance)

np.testing.assert_allclose(a, b)
np.testing.assert_allclose(a, c)
np.testing.assert_allclose(a, d)
np.testing.assert_allclose(a, x + tolerance)

# two arguments
a = apply_ragged(test2, rowsize, [x, y], tolerance)
b = apply_ragged(test2, rowsize, [x, y], tolerance=tolerance)
c = apply_ragged_thread(test2, rowsize, [x, y], tolerance)
d = apply_ragged_thread(test2, rowsize, [x, y], tolerance=tolerance)

np.testing.assert_allclose(a, b)
np.testing.assert_allclose(a, c)
np.testing.assert_allclose(a, d)
np.testing.assert_allclose(a, x + y + tolerance)

# three arguments
a = apply_ragged(test3, rowsize, [x, y, z], tolerance)
b = apply_ragged(test3, rowsize, [x, y, z], tolerance=tolerance)
c = apply_ragged_thread(test3, rowsize, [x, y, z], tolerance)
d = apply_ragged_thread(test3, rowsize, [x, y, z], tolerance=tolerance)

np.testing.assert_allclose(a, b)
np.testing.assert_allclose(a, c)
np.testing.assert_allclose(a, d)
np.testing.assert_allclose(a, x + y + z + tolerance)

And finally, for a functions that returns multiple values, like velocity_from_position.
rowsize = [2, 3, 4]
x = np.array([1, 2, 1, 3, 5, 1, 5, 8, 11])
y = np.zeros_like(x)
t = np.array([1, 2, 1, 2, 3, 1, 2, 3, 4])
velocity_from_position(x, y, t, coord_system="cartesian")
> (array([1., 1., 2., 2., 2., 4., 3., 3., 3.]),
 array([ 0., -0.,  0.,  0., -0.,  0.,  0.,  0.,  0.]))

This is the result when using the ragged arrays as a simple 1d array (calling the function directly).
rowsize = [2, 3, 4]
x = np.array([1, 2, 1, 4, 6, 1, 5, 8, 11])
y = np.zeros_like(x)
t = np.array([1, 2, 1, 2, 3, 1, 2, 3, 4])
u1, v1 = apply_ragged(velocity_from_position, rowsize, [x, y, t], coord_system="cartesian")
u2, v2 = apply_ragged_thread(velocity_from_position, rowsize, [x, y, t], coord_system="cartesian")

np.testing.assert_allclose(u1, u2)
np.testing.assert_allclose(v1, v2)

u1, v1
> (array([1., 1., 3., 2., 2., 4., 3., 3., 3.]),
 array([0., 0., 0., 0., 0., 0., 0., 0., 0.]))

Looks super interesting! Let's discuss. I am trying to think of the implications.
Oh I did not know about the concurrent.futures module. Is that a straightforward thing to use to conduct parallel tasks with python?

Yes, it's one of the options.

So it comes down to the API being

apply_ragged(func,x,rowsize,...) or
func(x,rowsize,...)

Option 1 is easier for the developers for sure. Not sure what's easier for a simple user? I guess applying something like velocity_from_position without the need to explicitly write a loop? I like it.

True,  both then 2 assumes that all the clouddrift function will have if rowsize: do this, else: do that, which is the case in segments, but not in velocity_from_position right now.

I think this would be a very nice addition and a good strategy for going forward.
From the user's perspective, the two APIs seem similar to me in the sense that with either of the two strategies, the user has to learn how it works and use it consistently. 1 does seem a tad more advanced since it's a functional approach, and it may seem complicated to an imperative Python user. And with 2, the user has to remember to pass rowsize to a function if it's to work with ragged arrays.
From a developer's perspective, 1 is obviously better and easier to maintain.
Overall, and pending more in-depth review, I'm in favor for 1. @philippemiron since you already have a working implementation, can you start a PR and we can play with it and improve if needed?
Can this approach be generalized to work with N-d arrays? (I'm not necessarily advocating for that, merely wondering).

True, both then 2 assumes that all the clouddrift functions will have if rowsize: do this, else: do that, which is the case in segments, but not in velocity_from_position right now.

Indeed. So far we have discussed and agreed on wanting functions to support both contiguous 1-d arrays and ragged arrays, but we have not quite yet specified a uniform and consistent strategy on how exactly to do it. I think this issue (and its future PR) may do exactly that--provide a consistent framework for functions to apply to both contiguous and ragged arrays.

I can try to implement this in a PR. I have not tested n dimensions of ragged arrays, and to be honest I'm also not sure how this would apply in our case.

A good test of performance would be to input the GDP ragged array version 2 and use velocity_from_position on the lat and lon arrays.

Is it feasible to use ProcessPoolExecutor instead of ThreadPoolExecutor here? From my limited understanding, the former is more optimal for CPU-bound work. But it does have a limitation on what kind of data can be returned.

I guess it's feasible, but I'm not exactly sure how. Problem is, ProcessPoolExecutor uses pickle to transfer memory across processes, and the lambda function can't be pickled. I remember seeing that there is a way to make this work by defining a wrapper function (similarly to what I had on top of this message) but it must be defined outside of the scope of the function. Like this (from here).
from multiprocessing import Pool

class Test:
    def __init__(self, x):
        self.x = x

    @staticmethod
    def test(x):
        return x**2

    def test_apply(self, list_):
        global r
        def r(x):
            return Test.test(x + self.x)

        with Pool() as p:
            l = p.map(r, list_)

        return l

if __name__ == '__main__':
    o = Test(2)
    print(o.test_apply(range(10)))

I have not figured out how to generate and pass the arguments properly in that case...


[RopeModule] Remove unnecessary typealiases

These render the emitted .swiftinterface unusable when the module is built with library evolution enabled.
Checklist

[X] I've read the Contribution Guidelines
[X] My contributions are licensed under the Swift license.
[X] I've followed the coding style of the rest of the project.
[ ] I've added tests covering all new code paths my change adds to the project (if appropriate).
[ ] I've added benchmarks covering new functionality (if appropriate).
[X] I've verified that my change does not break any existing tests or introduce unexplained benchmark regressions.
[ ] I've updated the documentation if necessary.

@swift-ci test


unify logging to logrus in tigera-apiserver

change all logging statements inside tigera-apiserver code base to use logrus.
used within tigera-apiserver will log with logrus.
fix some log levels to better reflect of the log severity.

Description

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

TBD

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

Should fix https://github.com/projectcalico/calico/issues/7988 :tada:


[Public procedure] Query "Qty. Reserved From Item Ledger" - SetSourceFilter

Describe the request
Can you please expose function SetSourceFilter in Query "Qty. Reserved From Item Ledger"?
Additional context
We want to calculate the ReservedQtyFromInventory for a given Sales / Purchase order by location, forcing us to copy the functions from codeunit 99000832 "Sales Line-Reserve" GetReservedQtyFromInventory.
Doing so fails to compile due to the missing access to SetSourceFilter.
internal procedure GetReservedQtyFromInventoryWithLocation(SalesHeader: Record "Sales Header"; LocationCode: Code[10]): Decimal
    var
        ReservationEntry: Record "Reservation Entry";
        QtyReservedFromItemLedger: Query "Qty. Reserved From Item Ledger";
    begin
        ReservationEntry.SetSource(Database::"Sales Line", SalesHeader."Document Type".AsInteger(), SalesHeader."No.", 0, '', 0);
        QtyReservedFromItemLedger.SetSourceFilter(ReservationEntry); // MISSING
        QtyReservedFromItemLedger.SetFilter(Location_Code, LocationCode);
        QtyReservedFromItemLedger.Open();
        if QtyReservedFromItemLedger.Read() then
            exit(QtyReservedFromItemLedger.Quantity__Base_);

        exit(0);
    end;

Internal work item: AB#558855

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 27466.


Enabling interaction model causes crash with null pointer

Problem
STR:
1 - set chip_enable_interaction_model = true in src/lib/core/core.gni
2 - build examples/chip-tool
3 - ensure you have a paired device
4 - run with arguments onoff on 1
Result: crash with null pointer. The line in OnOffCluster::On in CHIPClusters.cpp:
app::Command * ZCLcommand             = mDevice->GetCommandSender();
returns null then the null pointer gets used.
Proposed Solution
call mDevice->InitCommandSender() at the appropriate place to ensure the sender is not null.

@erjiaqing please kindly fix this issue, thanks


Custom type didn't work when the text want to custom is placed at fist of string

Hi, try set the custom type first and then set the text on the label

Hi again,
Use this
let customType = ActiveType.custom(pattern: "(?:^|\s|$)are\b") //Looks for "are" , works for the first word


Fix broken link in tutorial

The link to the quarto installer in the tutorial is broken. This PR updates the link to where the quarto installer code currently resides.

Thank you! :)


Add license to package.json

So it displays without an * in tools like:
https://www.npmjs.com/package/license-checker

👍  thanks!


ci: run browser tests without circle

The circle ci image we've been using for testing was causing permissions issues in github actions. This was the original reason for the permission setting in the action run. Chrome has since been added to the default runner so we actually don't need the image at all.

@open-telemetry/javascript-approvers since the recent release of actions/core this PR is blocking all other PRs so please approve ASAP

Seems like karma has some problems with node v18: https://github.com/open-telemetry/opentelemetry-js/actions/runs/3243835797/jobs/5319134741
https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported maybe we need to downgrade to Node.js v16 instead.


Blog post full page

Summary
Introduce the possibility to have the blog article spanning over the all page, max-width:100.
Motivation
Having both the author and TOC columns reduces quite a lot the readable space.
I have tried to set the variable max-width: 100% !important but it ends up with the same behaviour for the article page as well having worked on the #main tag.

If your want a wider main content area use
https://mmistakes.github.io/minimal-mistakes/docs/layouts/#wide-page
Or layout: splash
https://mmistakes.github.io/minimal-mistakes/docs/layouts/#splash-page-layout

I will try with the splash because

If the page contains a table of contents, it will no longer appear to the right. Instead it will be forced into the main content container directly following the page’s title.

and I like the TOC on the right sticky specially with some long posts.


time: TestLoadFixed failure

What version of Go are you using (go version)?
go version go1.4.3 linux/amd64
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/gnu/store/avygi1jh3ki2cji6fb9i0lg1h3r2nz80-go-1.4.3"
GOTOOLDIR="/gnu/store/avygi1jh3ki2cji6fb9i0lg1h3r2nz80-go-1.4.3/pkg/tool/linux_amd64"
CC="/gnu/store/frrj3bfbmg5vrd0flh9cf8j64h7cr2v4-gcc-4.9.3/bin/gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="0"
What did you do?
Trying to rebuild Go 1.4.3 with tzdata 2016g, the test TestLoadFixed fails:
--- FAIL: TestLoadFixed (0.00s)
	time_test.go:929: Now().In(loc).Zone() = "-01", -3600, want "GMT+1", -3600
FAIL
FAIL	time	2.473s

This is the same underlying issue as in https://github.com/golang/go/issues/17276. That is, the name of the time zone used in the test has changed in tzdata 2016g. However, the fix suggested in that ticket does not work for 1.4.3. When I apply the patch that fixes the bug for the 1.7 release series, compilation fails like this:
 # Building C bootstrap tool.
cmd/dist

# Building compilers and Go bootstrap tool for host, linux/amd64.
lib9
go tool dist: missing file /tmp/guix-build-go-1.4.3.drv-0/go/include/fmt.h

What did you expect to see?
A successful test suite.
What did you see instead?
A failure of TestLoadFixed.
What do you suggest for distributions that use Go 1.4.3 to bootstrap later versions of Go?

First, I suggest that you not care about a failure in the time package when building Go 1.4 solely in order to build a later version of Go.  A test failure of that sort doesn't matter.  Don't worry about it.
Second, I'm afraid that I simply don't believe that your 1.4 sources built before you applied the change in https://golang.org/cl/29995 but then failed to build in the way that you describe after you applied that change.  That change could not cause that failure.  Either that failure existed before you applied that change, or you changed more than just that one file.

First, I suggest that you not care about a failure in the time package when building Go 1.4 solely in order to build a later version of Go. A test failure of that sort doesn't matter. Don't worry about it.

Thanks for the advice. We'll skip that test.

Second, I'm afraid that I simply don't believe that your 1.4 sources built before you applied the change in https://golang.org/cl/29995 but then failed to build in the way that you describe after you applied that change. That change could not cause that failure. Either that failure existed before you applied that change, or you changed more than just that one file.

Intriguing.
Our packaging [0] alters the Go sources in these ways:

Delete some tests that require networking, which is not available in the Guix build environment.
Disable some other tests that all seem to be related to Unix shell operations. I didn't make that part of the packaging, so I don't know off-hand how they fail.
Patch paths to a variety of dependencies.

I'm afraid that I'm simply not a Go programmer, so I can't say if these changes would cause the failure in question when combined with the fix for https://github.com/golang/go/issues/17276.
However, our 1.4.3 package does successfully bootstrap 1.7.1 and 1.7.3, which I do use to build working Go applications.
[0] If you see anything amiss, I'd be very glad if you told us.
http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/golang.scm?h=core-updates&id=f08add0c5a3f1f7200b0a00e17ed880692d2244b#n47

Decision from meeting: we'll just skip this test on the Go 1.4 branch.
/cc @josharian

Bootstrapping later Go versions doesn't require Go 1.4's all.bash to pass.
Just do make.bash and use the tool chain to bootstrap later Go versions.
Why do you want to update the timezone database in 1.4? If you're using
later Go versions, the fact that Go 1.4 doesn't have the latest timezone
database doesn't matter. And we certainly won't issue a new 1.4 point
release to update the time tests or the bundled timezone database.
Closing as nothing to do.

@minux when cherry-picking fixes to 1.4, it's nice to have confirmation that all.bash runs. Skipping tests on release-branch.go1.4 whose failures are known to be unimportant seems a reasonable approach to take. I'll still close this issue, though, since CL 31855 went in. (I think GitHub only auto-closes based on commit messages when commits land in the master branch.)


Generate InstrumentationEvent::BeginTransaction for custom transaction SQL

Fixes #4392

Thanks for opening this PR, seems like this was just missed while implementing that feature.

Please note that I was unsure which branch to base this pull request on. I picked 2.2.x because that seems to include the latest release. However, I can easily rebase my changes on top of master if necessary.

PR's should target the master branch by default as that's where the development is happening. If something is an important fix we might backport is later. That could be the case here.


Support additional indexes for the MongoCrawlDataStoreFactory

Here is the kind of thing I want to be able to do:
<addIndex collection="references">{ 'contentType': 1}</addIndex>

This is a helpful syntactic sugar sort of feature - adding it after the fact is quite doable.

What is the relation between the extra indexes and crawling?  I mean would those indexes have any use by the crawler or it is just for convenience?

This is the process of establishing crawl quality.   Trying to figure out what sort of fish you've bagged.  The kind of thing no doubt your analytics products help with ;)
Another way would be to just index into Elasticsearch the crawling logs - I'm sure there are defined ways to import log4j output.

Ten minutes later, the Python has finished anyway:
db.references.create_index([('contentType', pymongo.ASCENDING)], background=True, sparse=True)
db.references.create_index([('crawlStatus', pymongo.ASCENDING)], background=True, sparse=True)

Feel free to close this unless you think it is helpful enough.

I am not sure I fully get what you are seeking to do, but if I do, maybe a custom implementation of
ICrawlerEventListener would be a better fit?
You can have a look at this implementation as a starting point:
URLStatusCrawlerEventListener.

Yes, I was thinking about that in my other comment.   The problem is that architecturally, writing Java to do that sort of thing just doesn't pay.   Things like logstash are just too good at taking files and pumping them to elasticsearch.   So, maybe I'll go that way.
For whatever its worth - if I'm replying at this time on a Friday, I'm pretty stoked on Norconex Collectors.

The proof is in the pudding.   This logstash.conf is many, many fewer lines of code than doing it as a ICrawlEventListener.  All it needs is the tweek to send it to elastic search.
input {
  file {
    path => "${CRAWLER_WORKDIR}/logs/latest/logs/*.log"
    sincedb_path => "${CRAWLER_WORKDIR}/sincedb"
    start_position => "beginning"
    type => "log4j"
  }
}

filter {
  grok {
    match => { "message" => "[^:]+: %{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel}\s+-\s+%{JAVALOGMESSAGE:content}" }
    remove_field => [ "message" ]
  }
  date {
    match => [ "timestamp", "yyyy-MM-dd HH:mm:ss", "ISO8601" ]
    remove_field => [ "timestamp" ]
  }
}

output {
  stdout { codec => rubydebug }
}

Nice! Thanks for sharing.


@vue/apollo-composable currently only works with @vue/composition-api <= 0.5.0

Describe the bug
I was trying to follow the setup instruction and I noticed that the last release from @vue/apollo-composable was 3 months ago. When trying to use it it was impossible to use the composition function. it was not returning anything neither any error.
To Reproduce
Steps to reproduce the behavior:

Follow the @vue/apollo-composable setup instruction(using latest version)
try to use a query
nothing will happen

Expected behavior
The graphql query should be executed.
Versions
vue:  2.6.11
vue-apollo: 3.0.3
apollo-client: 2.6.10
@vue/apollo-composable: 4.0.0-alpha.8
@vue/composition-api: 1.0.0-beta.1 (latest, do not work)
@vue/composition-api: >= 0.6.x (do not work)
@vue/composition-api: <= 0.5.x (works, no bug)
Additional context
No error is triggered, it just does not execute the query.

Exact same problem here, downgraded to<EMAIL_ADDRESS>for now :/

I think #1000 should be fixing this, but not accepted yet :/

Confirm. It's an issue.

I'm so glad I found this workaround. Lost a whole day on tinkering with my setup thinking it was me.

Thanks for the workaround, downgrade  @vue/composition-api has some side effects, but it's warning ... it should be OK.
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in data(): "TypeError: Cannot convert undefined or null to object"

This pull request is awesome!
I need it!

Exact same problem here,

I am closing this issue because I just verified that the latest version of @vue/apollo-composable 4.0.0-alpha.10 with the latest version of @vue/composition-api 1.0.0-beta.6 is working nicely. So, this bug is not happening anymore.


[desktop] Telluride Integration UX Issues -> Improvements

We should not be clearing the clipboard after automatic pasting URLs on search
We should wait for Telluride server to initialize upon startup before auto-pasting and searching URLs.

These 2 issues are related.
It's common that you find a video you want to download, you copy the URL from the browser, then open FrostWire, then FrostWire fails to start the search because telluride is still being opened and then you can't paste again because we emptied the clipboard for you, so you have to go back to the browser, which you may have already closed the tab for.
Ideas.
For 1. we could probably keep a variable with the last auto pasted URL, this way when we check the clipboard, we don't repeat the same search over and over.
For 2. we need to keep track of the state of the telluride server, and queue any given searches that should only get triggered after a callback from the server once it's started.

Fixed by 33a3555


misc: add a test case for updateMany and remove deprecated mongoose type definition

Heya,
I add a test case to cover updateMany. That can help us make sure some general operations work as expected.
Also, I removed the mongoose type definition as it's deprecated now.

Also, I would like to help set up the GitHub Action to run the unit tests on every commit.
The benefit would be that we can ensure everything works properly.


use OFA-CN-Large pre-training model to infer Image Captioning

Hello, I found that Image Caption based on MUGE seems to be over-fitting. I want to know how to use OFA-CN-Large pre-training model to infer Image Captioning?

How do you evaluate overfitting? Is it about its performance biased to e-commerce or something else?


XMG Fusion 15 - Menu System Tray extension crashed when changing the lightbar

When I click on the Menu tray extension to change the lightbar the system tray extension crashed.
I can change the keyboard color without any issues.
System:
OS: Pop!_OS 21.04 x86_64
Host: XMG FUSION 15 (XFU15L19) Late 2019
Kernel: 5.13.0-7620-generic
-- Error message when running from terminal the start.sh
output.txt

Check led class permission and if tuxedo driver are installed

Lightbar has a different controller compared to ite8291. So you need tuxedo-keyboard module to get it working: https://github.com/tuxedocomputers/tuxedo-keyboard
Also I have noticed ValueError: Namespace AppIndicator3 not available error. gir1.2-appindicator3-0.1 debian package should be installed for it. But I am not sure about the arch package. Is it libappindicator-gtk3? Any ideas?

Can someone confirm that it works (or the new package is needed) in Arch?

I am closing the issue since it looks solved


PKCS #11 Unit Tests

PKCS #11 Unit Tests
Description

100% line coverage.
Refactored common setup and teardown stubs to macros to reduce LOC.

Checklist:

[x ] I have tested my changes. No regression in existing tests.
[ x] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks

/bot run checks


can compare for excel files and pdf files?

now i want to compare the excel and pdf files,but do not know if this lib support it.

Hello,
This library does not have any functionality for comparing XSLX files with PDF's generates from XSLX.
I do not know the it's and puts of the PDF format but you would probably have better luck trying to find something that will convert PDF back to source first.

Hi MalcolmJohnston,
My measn is i wounder if this lib can compare one excel with another excel file, or compare one pdf file with another pdf file, do not need compare pdf file with excel file.

Hi @taiyangluoshan88 ,
Thanks for getting back to me, from the read me for this project :)

It supports scenarios such as:

Splitting DOCX/PPTX files into multiple files.
Combining multiple DOCX/PPTX files into a single file.
Populating content in template DOCX files with data from XML.
High-fidelity conversion of DOCX to HTML/CSS.
High-fidelity conversion of HTML/CSS to DOCX.
Searching and replacing content in DOCX/PPTX using regular expressions.
Managing tracked-revisions, including detecting tracked revisions, and accepting tracked revisions.
Updating Charts in DOCX/PPTX files, including updating cached data, as well as the embedded XLSX.
Comparing two DOCX files, producing a DOCX with revision tracking markup, and enabling retrieving a list of revisions.
Retrieving metrics from DOCX files, including the hierarchy of styles used, the languages used, and the fonts used.
Writing XLSX files using far simpler code than directly writing the markup, including a streaming approach that enables writing XLSX files with millions of rows.
Extracting data (along with formatting) from spreadsheets.

So there isn't anything out of the box.  You might want to look at the OpenXML SDK and see what objects are exposed for working with spreadsheets.  If the spreadsheets you are looking to compare have  similar structures then you might be able to build some simple code on top of that.
Cheers,
Malcolm

Both the Open XML SDK and the PowerTools privide ways to read and write Open XML elements. The SDK provides strongly typed classes and the PowerTools provide XNames used with Linq to XML.
Implementing your comparison will not be simple, though.

Closing all issues as this repo is being archived and will no longer be maintained by Microsoft. The project is licensed for continued use and development by forking to your own repo.


crash with new version for neoforge 1.21.1

https://mclo.gs/ySn6qh0

Fixed in 2.2.6

alright, thanks


fourLettersRemovedSolutions

Looks cleaner without the solutions, also means runners get used to looking at their own notes. Cheese complained about not being able to see all four letters, which is valid.

Nevermind the javascript website is way better


Cannot read data matrix after running for several days

I integrated the pylibdmtx into my program, and this program will process dm code every day. Recently I find it cannot read datamatrix after running for several days. But if I test the same image or restart the program, it works well again. Anyone meet the similar problem?

Can you share your code (or at least the image capture and processing part + dm decode)?


Whimsy Messaging

One small thing that needs to be handled during merge: .gitignore file change.
No flake8 lint errors

I undid our .gitignore changes, sorry about that

I undid our .gitignore changes, sorry about that

No worries, that was not an issue at all. Thanks for the quick fix, though.


Alert menu,  notifications tab

I love this script.
my tradingview alert screen looks different.  the actions and webhook are located on the "Notifications" tab.   is there a way to change this to the next tab?
Thank you,

Nevermind,  Fixed my message tags in Config.  works beautifully now.  great script!


An assertion occurred when execute urlencode method to encode Chinese characters(the char number is negative)

Expression: c>=-1 && c<=255

Which character/string would you like to encode?
Could you please provide a minimal example?

Which character/string would you like to encode?
Could you please provide a minimal example?

Like "一二三"

Which character/string would you like to encode?
Could you please provide a minimal example?

By the way, there is another messagebox

Could it be, that there is something wrong with your encoding?
When I run the following example, I do not get any errors.
#include <stdio.h>
#include <string>
#include <ctype.h>

int main()
{
    std::string value = "一二三";
        for (auto i = value.cbegin(), n = value.cend(); i != n; ++i) {
        std::string::value_type c = (*i);
        // Keep alphanumeric and other accepted characters intact
        if (std::isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') {
            continue;
        }
    }
    return 0;
}

Could you please provide a minimal project?

Could it be, that there is something wrong with your encoding?
When I run the following example, I do not get any errors.
#include <stdio.h>
#include <string>
#include <ctype.h>
#include <iostream>

int main()
{
    std::string value = "一二三";
        for (auto i = value.cbegin(), n = value.cend(); i != n; ++i) {
        std::string::value_type c = (*i);
        // Keep alphanumeric and other accepted characters intact
        if (std::isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') {
            std::cout << c;
        }
        std::cout << c;
    }
    return 0;
}

Could you please provide a minimal project?

When I run your code

I guess it is because visual c++ , its ctype.h:

Yes, this could be the problem.
I was using onlineGDB for testing.
I will have a look at it, what I can do.

https://onlinegdb.com/H11R0cTqI

Maybe the parameter of function 'isalnum' should be converted to unsigned char ,but as I use cpr by vcpkg so I can't modify the files directly which means I can't give you a test result.

I created another function which is safe to use.
Additionally, without the type convertion it can not run correctly.
I guess it's the problem.

I found an even better solution:
static CURL* curl = curl_easy_init();
assert(curl);
char* output = curl_easy_escape(curl, "data to convert", 15);
assert(output);

std::string result = output;
curl_free(output);
return result;

Still missing a bit of cleanup code but I think we should switch to this.


Collect references of projects using xdem

Out of interest, for referencing in papers, and for some light boasting, it would be nice to have a list of papers using xdem in the documentation! A short non-comprehensive list is:

https://doi.org/10.1016/j.rse.2022.113379
https://doi.org/10.33799/jokull2023.73.035
https://doi.org/10.5194/tc-17-3251-2023
https://doi.org/10.5194/isprs-archives-XLVIII-4-W1-2022-5-2022
https://doi.org/10.1109/JSTARS.2022.3188922
https://doi.org/10.5194/tc-16-3249-2022
https://doi.org/10.1016/j.qsa.2021.100041
https://doi.org/10.1016/j.geomorph.2023.108805

MSc theses:

https://doi.org/10.3929/ethz-b-000637956
https://hdl.handle.net/11250/3057200
http://hdl.handle.net/10852/103730

Great idea! I will try to add this in #502 :slightly_smiling_face:


Install igv on Jupyter lab

jupyter labextension install igv
Errored, use --debug for full output:
ValueError: "igv" is not a valid extension:
No jupyterlab key

Thanks for the report, we don't yet support jupyter lab.   This has been a dormant project for sometime due to lack of staff, but we plan to pick it up again in the new year.    I'll leave this open and interpret it as a request to support jupyter lab.

Thanks
you are awesome by the way
Amir

Thank you very much @amirshams84.   I'm actually working on this project now and will have an update in January.  As I'm not a jupyter, or jupyter lab user I might ask for your help testing on Jupyter lab.

Hi @amirshams84 ,  after some investigation I have discovered that it is impossible, apparently, to write an extension of this type (involving javascript & python)  that works in both notebook and lab.   I'm currently focused on notebook.   I might start another project for Jupyter Lab at some point.

I would also really like to be able to run KGV in JupyterLab...JupyterLab is going to be the future of Jupyter Notebooks and it would be a pity if IGV would be left behind...Is there any idea if this is going to be available? It has been a year since there was some comments about this. Which you may have interpreted as lack of interest, but for my specific use case, JupyterLab is the only option...

Hi @thondeboer yes it will be available.   Until recently there was an explicit warning to extension developers on the Jupyter site that the API was unstable and guaranteed to change.  I see they have removed that.    I will re-open this, but don't have an ETA at this time.

@thondeboer @amirshams84 I'm just not going to have time to do this but would support someone else (support in the sense of making igv.js changes if needed).   Currently I'm the primary developer for IGV Desktop, igv.js,  juicebox.js, some other projects, and this.   Just being realistic.   Anyone interested?   Its not trivial but probably easier if you work regularly in python and Jupyter (unlike myself).    In any event I'm closing this issue as the notebook extension won't work in Lab.

We have a fork of igv-jupyter that now supports JupyterLab: https://github.com/epi2me-labs/igv-jupyterlab

@cjw85 Fantastic!


ns-train dnerf --vis viewer regression between 0.1.10 and 0.1.11

Describe the bug
ns-train dnerf --vis viewer regression between 0.1.10 and 0.1.11
To Reproduce
Steps to reproduce the behavior:

pip install nerfstudio==0.1.10
ns-train dnerf --vis viewer
Starts training without error, good.
pip install nerfstudio==0.1.11
ns-train dnerf --vis viewer
See error, e.g. CUDA OOM

Expected behavior
Step 6 behavior should be same as step 3; however, seeing CUDA OOM error.

Fixed via #1065


Fix tooltip

Standard tooltip is disappearing from screen when scrolling

:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add a finder for Alma Linux

A sensibly-distributed little RPM-based distro:
https://repo.almalinux.org/
This finder tries to take the best bits from the UBI, CentOS, and Photon OS finders to make something small, no-nonsense, and performant.
Drive-by: banish all now-unused nosec markers, and references to silly things Bandit used to do.
Fixes: Issue #40

This change is

soufi/finders/alma.py line 33 at r1 (raw file):
Previously, juledwar (Julian Edwards) wrote…
XML. Someone kill it now please.

Worse, it's XPath!  :laughing:

soufi/tests/finders/test_alma_finder.py line 87 at r1 (raw file):
Previously, juledwar (Julian Edwards) wrote…
Maybe worth checking these are generators? Maybe not, up to you.

I don't think it is.

soufi/tests/finders/test_alma_finder.py line 29 at r1 (raw file):
Previously, juledwar (Julian Edwards) wrote…
This exact same code is in a few places - it would be taken as a kindness to move it to the factory. Bonus points for including it in a custom patch method that does everything in a one-liner call (similar to what we do in our other projects).

I will do this as a follow-on commit.

soufi/functional/test_functional.py line 280 at r1 (raw file):
Previously, juledwar (Julian Edwards) wrote…
I'd honestly prefer multi-line continuation strings over bypassing the linter.

It is FAR less readable.  And in context, this is a big, dumb text slug anyhow...

soufi/testing/base.py line 1 at r3 (raw file):

# Copyright (c) 2021 Cisco Systems, Inc. and its affiliates

Yer missed one

soufi/tests/finders/test_centos_finder.py line 1 at r3 (raw file):

# Copyright (c) 2021 Cisco Systems, Inc. and its affiliates

Another!

soufi/tests/finders/test_gem_finder.py line 1 at r3 (raw file):

# Copyright (c) 2021 Cisco Systems, Inc. and its affiliates

Guess what

soufi/tests/finders/test_golang_finder.py line 1 at r3 (raw file):

# Copyright (c) 2021 Cisco Systems, Inc. and its affiliates

Heyo

soufi/tests/finders/test_java_finder.py line 1 at r3 (raw file):

# Copyright (c) 2021 Cisco Systems, Inc. and its affiliates

lol

soufi/tests/finders/test_npm_finder.py line 1 at r3 (raw file):

# Copyright (c) 2021 Cisco Systems, Inc. and its affiliates

I give up

soufi/testing/base.py line 1 at r3 (raw file):
Previously, juledwar (Julian Edwards) wrote…
Yer missed one

Oh, I only put this year's copyright on the new files, since they were added this year.
Do you really want to roll the copyright on every file?  Or just the files I've touched?
And should we therefore be rolling the copyright on every modification?  Seems extreme.

As I understand things from the legal team, we have to keep the copyright year current on any files we touch.


Implement an effective cleanup packaging step

MOTIVATION:

Keep redistributable artifact as small as reasonable.
The Python Runtime includes lots of things that are of no use in most (?) cases: stdlib tests, static libraries, etc.

IDEAS:

Remove unneeded files for running the application:

All the tests in the Standard Library.
All (most?) of the scripts/console_scripts (pip? easy_install?), including ones that may be put in place after pip-installing the application and its dependencies.

(Optionally?) compile the Standard Library.

Sharing hand-coded cleanup script that seems to work with macOS Python 3.7 packaged Mu:
#!/bin/bash

BASE_DIR=build/pup/mu-editor.app/Contents/Resources/Python/

# --------------------------------------------------------------------------------
# Delete development oriented directories

rm -rf ${BASE_DIR}/include
rm -rf ${BASE_DIR}/share
rm -rf ${BASE_DIR}/lib/python3.7/config-3.7m-darwin

# --------------------------------------------------------------------------------
# DELETE unnecessary binaries: all but those named "python*"

find ${BASE_DIR}/bin | grep -v -e "${BASE_DIR}/bin$" -e "${BASE_DIR}/bin/python" | while read FILE_TO_DELETE
do
    rm -rf "${FILE_TO_DELETE}"
done

# --------------------------------------------------------------------------------
# DELETE more unecessary binaries: python*-config

find ${BASE_DIR}/bin -name "python*-config" | while read FILE_TO_DELETE
do
    rm -rf "${FILE_TO_DELETE}"
done

# --------------------------------------------------------------------------------
# DELETE stdlib tests

find ${BASE_DIR}/lib/python3.7 -type d -name "test*" -o -name "idle_test" | grep -v "site-packages" | while read DIR_TO_DELETE
do
    rm -rf "${DIR_TO_DELETE}"
done

# --------------------------------------------------------------------------------
# DELETE all __pycache__ directories

find ${BASE_DIR}/lib/python3.7 -type d -name "__pycache__" | while read DIR_TO_DELETE
do
    rm -rf "${DIR_TO_DELETE}"
done

# --------------------------------------------------------------------------------
# COMPILE the stdlib

find ${BASE_DIR}/lib/python3.7 -type d | grep -v "site-packages" | while read DIR_TO_COMPILE
do
    ./build/pup/mu-editor.app/Contents/Resources/Python/bin/python3.7 -m compileall -l -f -q -b "${DIR_TO_COMPILE}"
done

# --------------------------------------------------------------------------------
# DELETE ALL stdlib Python source files

find ${BASE_DIR}/lib/python3.7 -type f -name "*.py" | grep -v "site-packages" | while read FILE_TO_DELETE
do
    rm "${FILE_TO_DELETE}"
done

# --------------------------------------------------------------------------------
# COMPILE site-packages

./build/pup/mu-editor.app/Contents/Resources/Python/bin/python3.7 -m compileall -f -q -b ${BASE_DIR}/lib/python3.7/site-packages

# --------------------------------------------------------------------------------
# DELETE ALL site-packages Python source files

find ${BASE_DIR}/lib/python3.7/site-packages -type f -name "*.py" | while read FILE_TO_DELETE
do
    rm "${FILE_TO_DELETE}"
done

PR #47 just merged. Closing.


varying(255) is wrong datatype for tier description. Need to be able to store more text.

I'd love to keep the description short but we could add a longDescription that would support markdown (and have a dedicated page per tier). Thanks for the feedback!

The user pain is "how do I express that this tier contains everything of the previous tiers in 255 chars" whilst having enough left over room to express that tiers benefits

Ok ok. Let’s double this :-)

🚢

This fixes it https://github.com/opencollective/opencollective-api/pull/936
Deploying now.


init-search: shows search params that were not used

Check branch (repo) names in example below. It shows repo filter "13.0" (from init-search), but  url  has only query params and results are for all repos

This happens on using opensearch. The best solution is to pass "init-search" params to /open_search.xml


Fix init_printing

The execution if init_printing failed because in the symengine initialization the symengine.lib import was deleted.

Thanks


[Docs]: RBAC | Create First Draft for Groups

@trishaanand @ankitakinger Can you please create the first drafts as per the outline? I have added tickets for the Sub-pages. Please follow these steps for submitting the first drafts.


Add doc in README on how to test with tr069tc (tr069 test client)

Currently i have managed to sucessfully validate the server with integration tests and connecting an easycwmp client from docker. Lately i have also used the tr069 test client project that is not a direct part of the stack.
The tr069 test client can put expensive load on the server to validate that the tr069 will work in tough conditions.

deprecated stuff. test client will be removed. Test code in tr069 has also been removed


Background script seems to "freeze" after getUserMedia

Hey there,
first of all thanks a lot for sharing this!
I could make it work running inside a Docker container running locally on Docker for Windows so yay! :)
I'm now running the same Docker image in a Azure Function App and for some reason the scripts hangs waiting for the download completed signal.
To be more specific:
The last signal I am getting from the background script is the first line of the navigator.webkitGetUserMedia callback (I'm using postMessage to report back to the content script where I can then capture the console.logs via puppeteer).
After that I'm not getting any messages not even from a setInterval(()=> port.postMessage(...), 1000) I'm runningin the background script
I'm digging more into this adding as much logging as possible and using all the debugging tools available so I hope to report back soon.
But maybe you have an idea what could be going on?

Here is my modified background script:
/* global chrome, MediaRecorder, FileReader */
console.log("executing background.js");

chrome.runtime.onConnect.addListener(port => {
  let recorder = null;
  let filename = null;

  console.log("connected to runtime");

  setInterval(
    () => port.postMessage({ status: "BG-HEARTBEAT: " + new Date() }),
    1000
  );

  port.onMessage.addListener(msg => {
    console.log(msg);
    port.postMessage({ status: "RCV: " + msg.type });
    try {
      switch (msg.type) {
        case "SET_EXPORT_PATH":
          port.postMessage({ status: "got filename" + msg.filename });
          filename = msg.filename;
          break;
        case "REC_STOP":
          port.postMessage({ status: "stopping now" });
          port.recorderPlaying = false;
          recorder.stop();
          port.postMessage({ status: "recorder stopped" });
          break;
        case "REC_CLIENT_PLAY":
          const tab = port.sender.tab;
          tab.url = msg.data.url;
          chrome.desktopCapture.chooseDesktopMedia(
            ["tab", "audio"],
            streamId => {
              port.postMessage({ status: "recorder started" });
              // Get the stream
              navigator.webkitGetUserMedia(
                {
                  audio: false,
                  video: {
                    mandatory: {
                      chromeMediaSource: "desktop",
                      chromeMediaSourceId: streamId,
                      minWidth: 1280,
                      maxWidth: 1280,
                      minHeight: 720,
                      maxHeight: 720,
                      minFrameRate: 60
                    }
                  }
                },
                stream => {
                  port.postMessage({
                    status: "got user media"
                  });

                  var chunks = [];
                  recorder = new MediaRecorder(stream, {
                    videoBitsPerSecond: 2500000,
                    ignoreMutedMedia: true,
                    mimeType: "video/webm"
                  });

                  recorder.onerror(evt =>
                    port.postMessage({
                      status: "recorder error: " + JSON.stringify(evt)
                    })
                  );

                  recorder.onwarning(evt =>
                    port.postMessage({
                      status: "recorder warning: " + JSON.stringify(evt)
                    })
                  );

                  recorder.ondataavailable = function(event) {
                    if (event.data.size > 0) {
                      chunks.push(event.data);
                    }
                  };

                  recorder.onstop = function() {
                    port.postMessage({ status: "recorder stopped" });
                    var superBuffer = new Blob(chunks, {
                      type: "video/webm"
                    });

                    var url = URL.createObjectURL(superBuffer);

                    chrome.downloads.download(
                      {
                        url: url,
                        filename: filename
                      },
                      () => {}
                    );
                    port.postMessage({ status: "download started" });
                    chrome.downloads.onChanged.addListener(function(delta) {
                      if (!delta.state || delta.state.current != "complete") {
                        port.postMessage({
                          status: "download-state: " + JSON.stringify(delta)
                        });
                        return;
                      }
                      port.postMessage({ downloadComplete: true });
                    });
                  };

                  port.postMessage({ status: "recording starting" });
                  recorder.start();
                  port.postMessage({ status: "recording started" });
                },
                error => console.log("Unable to get user media", error)
              );
            }
          );
          break;
        default:
          console.log("Unrecognized message", msg);
      }
    } catch (err) {
      port.postMessage({ status: "ERROR: " + JSON.stringify(err) });
      console.error("failed to process message", msg);
    }
  });
});

Can you share your Dockerfile?

Sure. I've removed some azure related stuff here to keep it readable.
 I had to add make g++ to the installed packages but other than that everything else worked as is. This was on a ubuntu server.
Not sure if Azure runs the container with different set of privileges which is causing the issue?

@mpseidel Did you get this working, and is there anything you can share?


docs: Update third-party services and tools links

Coverage remained the same at 100.0% when pulling af1ce80e582c5554ceb70ffc2583c65f4814d018 on feature/update-readme-add-links into df34fc417ba22e044878c9f7569b8ac4c908a144 on master.


Convert utf8

Based on #865
I had a bit of trouble grasping the solution, so needed to play with myself and add some more tests to make sure nothing does/did explode.
Still probably want to add one acceptance test to make sure the html formatter doesn't blow it up for some reason.

Well no release today due to me wanting to report https://github.com/jruby/jruby/issues/6093 - see you back here tomorrow ;)


Lack of navigation bar when reviewing applications

Describe the bug
There is no navigation bar when viewing applications. I was unable to navigate to a different program without clicking the 'back' browser button.
To Reproduce
Steps to reproduce the behavior:

Login as "Of All Active Programs'
This will take you to the 'Your Programs' screen
Click on a program that has Applications
Once you are in the 'All Applications" screen for that program, there is no way to navigate back to the 'Your Programs" screen to select a different program, other than to use the browser's 'back' button'
Tried clicking on the CiviForm logo but it didn't redirect me away from that page.
Similar experience when you login as a "Program and Civiform Admin"

Expected behavior
To be able to click on a navigation bar to get back me back to the 'Your Programs' screen (via Programs) or to navigate to a different part of the system. The browser back button should not be the navigation mechanism.
Screenshots

Desktop (please complete the following information):

OS: [ChromeOS]
Browser [chrome]
Version [beta]

Smartphone (please complete the following information):
-N/A
Additional context
https://github.com/seattle-uat/civiform/pull/1175 is closed but doesn't seem to be working
Navigation bar proposed in https://github.com/seattle-uat/civiform/issues/1906 should apply throughout.

Not sure when it changed but I can't reproduce this anymore


DateTime parsing should parse DateTimes without timezone

In this file https://github.com/ehn-dcc-development/dgc-business-rules/blob/88a6e3bae58b8ff7cede2677982ee4fa771ee405/certlogic/certlogic-kotlin/src/main/kotlin/eu/ehn/dcc/certlogic/JsonDateTime.java#L37 the datetime parsing was adjusted to be more relaxed. Nevertheless, some certificates contain timestamps without timezone information (e.g. this one). This means that the parsing of the datetime would fail, as the regular expression does not match a datetime string without timezone information and hence https://github.com/ehn-dcc-development/dgc-business-rules/blob/9a5b2aebc968a99041d9de658445d1e1263f35f4/certlogic/certlogic-kotlin/src/main/kotlin/eu/ehn/dcc/certlogic/JsonDateTime.java#L45 can never be null.

To adjust for that the capture group 8 would need to be optional.

Further, reading enumerated capturing groups seems rather erroneous, so I would propose the following regular expression:
^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})T(?<time_hour>\d{2}):(?<time_minute>\d{2}):(?<time_second>\d{2})(?<fractional>\.\d+?)?(?<timezone>Z|(?<offset_hour>[+-]\d{2}):?(?<offset_minute>\d{2})?)?$

If not already known, I recommend regex101 for testing purposes, as it allows for easy testing and debugging of regular expressions.

These are two separate issues:

Deal with date(-times) without timezone info.
Use named capturing groups.

Can you make a second issue for item 2?  (I'm familiar with regex101: it's a good one, indeed ;))
For item 1: what does a date(-time) without timezone info mean exactly? There's a good reason the DCC JSON specification prescribes a date-time format including timezone info: there's quite some variance in timezones even within the EU (let alone when taking overseas territories into account), and with validity windows a couple of days in length a couple of hours potential difference start to matter.
(Also: Postel's Law says to be lenient in acceptance, and strict in issuance, but I'm wondering what else we're going to have to accommodate for.)

These are two separate issues:

Fair enough, I will make another issue tomorrow :)

For item 1: what does a date(-time) without timezone info mean exactly? There's a good reason the DCC JSON specification prescribes a date-time format including timezone info: there's quite some variance in timezones even within the EU (let alone when taking overseas territories into account), and with validity windows a couple of days in length a couple of hours potential difference start to matter.

Well, I am totally the same opinion. The problem is, there are already certificates issued that have timestamps without a timezone. The ISO allows date-time strings without timezones and mentions to use the local timezone. Since this is unpractical, we are just assuming a UTC-Offset (+00:00).
I'm just raising this issue, since we were told to fix the issues with the above mentioned certificate. And 1 month ago or so, I think there were even more countries issuing a certificate without a timezone (did not check again).
Also, the current implementation already indicates that a missing timezone information shall be treated as UTC (note the null check for the 8th capturing group and addition of Z)

Ah, I see that DCC is also already in this overview: https://github.com/eu-digital-green-certificates/dcc-quality-assurance/blob/main/SpecialCaseHandling.md
Are you, or another representative, present in the eHN Technical IOP Subgroup meeting on implementation issues?

Sadly, none of us are part of those meetings.

I'm in it, so I'll try and make sure that it gets addressed. It's already in the overview, so that should help.

It was already decided to that date-times without time zone offset should also be accepted (but maybe not encouraged), so this needs to happen. I invited you to the repo so that you can review the PR, if you like.


some cleanups

Hi,
Just some things that might be considered cleaner or more idiomatic Clojure.  Especially the use of reduce over loop.
The tests were failing before my changes, and I think the same tests are failing now.... in other words: be careful this code isn't tested very well :)

Alex, these all look awesome, thanks! @reiddraper and I are pretty new to Clojure, sooo. :)
I'll let Reid read and approve this.

This function:
https://github.com/AlexBaranosky/Utilize/blob/master/src/utilize/map.clj#L83
would probably make implementing typed-options even easier

Oh, I didn't see the note about tests. Are you running a local Riak instance on the default ports? I'll check it out, I thought they were passing before.

bretthoerner, I was just fiddling around refactoring, and then noticed I had a bunch of cool changes.  so....... never even tried to startup Riak, durrrr.  Let me try it now

I installed riak and ran riak start then lein test .. but the tests still fail on the revision before my changes
com.basho.riak.pbc.RiakError: timeout
Is there some special procedure I need to follow, other than installing riak and riak start ?

Verify that Riak is listening on port 8087: telnet localhost 8087 or lsof -i:8087

I'm going to give up on the riak setup for now. If either of you see me on #clojure (alexbaranosky), I'd be all for getting riak setup properly on my machine and then I'll check to make sure my changes still pass all the tests.


[Catchup] Emit Attributable Action Events

Closes #2785
This PR:
Emits an event after we send any attributable message to the network.  This is for the application to be able to restart with view that is higher than the previous attributable action view.
This PR does not:
Doesn't handle the case where something goes wrong after a messages hits the wire, but before the event can be sent to or handled by the application
Key places to review:
Changes to NetworkEventTaskState

This looks good. But I'm wondering if we should just go ahead and integrate this into the Storage API that @jparr721 has created, so that we can actually prevent the node from taking an action if we're unable to store the view? I didn't expect that to be ready so soon but given that it is...
That would just look like adding a record_action(action, view) method to the storage trait and calling it n all the places where we currently set maybe_action

Yes I agree with this, I was thinking we'd also add the recording of high_qc to this storage as well.  I'll update this after the storage changes are merged

Action storage looks good. Are we also going to add high QC storage and fix the HotShotInitializer handling of the high QC? Or is that for later?

I have a different PR I'm working on for that


Variable name size can impact evaluation time? Or just drop the names

@kwxm claims that the size of the name of a variable has impact on performance:

Even with unit annotations, textual programs were taking 2-3% longer than flat ones.  It looks as if that was because the textual version (which I got by converting the flat file) was full of stuff like (lam i_2594 [ [ i_2591 [ i_2593 i_2593 ] ] i_2594 ]). The evaluator uses NamedDeBruijn terms and for the textual version those names were retained in the AST, but for the flat version the names were all "x", and it appears that the longer your names, the slower your program.  An application of termMapNames seems to have fixed that.

I don't believe that this is an issue with the evaluator, but maybe there's some kind of laziness deferring deserialization or whatever to runtime. It would be good to look into this issue.
Alternatively, we can just make the CEK machine parameterized by the type of names (using a LookupName name env class or whatever), so that we don't need to juggle those performance-hurting textual names -- as we should've done originally anyway.

Closing in favor of a subtask in #5955.


Add support for loggers

Hello,
Currently there is no way to change the logs output. For example, when an error occurs, the error is printed to system.err, without any option to prevent that.
It would be useful to have the option to specify a logger instead of forcing the standard output.

You can catch the CompilationException and log the error output where you want it.
The error output from sass (e.g. @error or @debug) is printed to stdout/stderr by libsass itself. As far as I know, there is now way to change this behavior at the moment.

Thanks for your answer.
As a matter of fact, I was still using version 4.1.0, and my problem was fixed in version 5, with commit https://github.com/bit3/jsass/commit/9ad7c32eb659738055623db4ad97aea78fa90b21
So my issue is indeed invalid, sorry for that.

+1