Having a callback after each error that happened when allErrors is true

What version of Ajv you are you using?
Version 4.11.7, can upgrade
What problem do you want to solve?
tl;dr; Having a callback after each error that happened when allErrors is true.
Imagine extremely big JSON to validate, I would like to have a callback on each error and decide what to do next: continue or cancel validation.
What do you think is the correct solution to problem?
Having an option like errorCallback, which is function with single argument: an Ajv error. If function returns true - should continue validation, if returns false - should break validation and return the list of errors so far.
Will you be able to implement it?
With some assistance I think I would be able to do it.

What’s the use case?

I believe that JSON Schema checks two different things in the same time:

the schema - if the JSON is structured the correct way that an application or API understands
the data - it conforms some less crucial validations, for example minimum and maximum

// schema1.json
{
  "type": "object",
  "properties": {
    "relatives": { "type": "array", "items": { "type": "string" } },
    "age": { "type": "integer", "minimum": 18 }
  }
}

If we pass:
// data1.json
{
  "relatives": true,
  "age": 20
}

This is structure error, I expect relatives to be an array. All other errors does not make sense, because the JSON is not structured the way it should be.
// data2.json
{
  "relatives": ["Vladimir", "Ivan"],
  "age": 13
}

In this second example, the structure is ok, but it does not validate the data. I would like to collect all errors that are connected with data validation, because the submitted data is wrong and the party which input the data should know it.
The main difference is who is responsible for not passing validation. If I have structure error, it should be the software which packaged and gave me this wrong data to validate. On the other hand if the structure is ok, but data validation does not pass, I have to blame the input - user, sensor etc.
Now imagine we have extremely big JSON, let's say tens or hundreds of megabytes. If I put allErrors: true option, it will validate the whole JSON. If I have a callback, I would cancel the schema validator as soon as I encounter structure error

Ok then, it doesn't need a new option I think, can be just a function hook passed to allErrors option.

Also, if somebody implements it, it should only call the hook on the errors that without allErrors option would terminate the validation (I.e. not inside compound keywords like “if”, “not” etc.).

Closing for the lack of interest. Please vote on the issue if you need it - can be re-opened.


How can I get token?

I have installed api-nopcommerce-plugin following your description and I found the swagger api.
But to authorize button, it need to get token.
How can I take?
Please hope for your help.

make a POST request to the /token endpoint.

Thanks a lot.
It works.
One more question, please!
Which api shoud I use to login, register with nopcommerce backend?

Answered.


wip: Refactor connection state machine to expose transition methods

Signed-off-by: Patrik Stas<EMAIL_ADDRESS>

Codecov Report

Merging #279 (2898c3e) into master (b708ce4) will decrease coverage by 4.24%.
The diff coverage is 65.89%.

:exclamation: Current head 2898c3e differs from pull request most recent head 5ed4aec. Consider uploading reports for the commit 5ed4aec to get more accurate results

@@            Coverage Diff             @@
##           master     #279      +/-   ##
==========================================
- Coverage   49.73%   45.48%   -4.25%
==========================================
  Files         149      148       -1
  Lines       19640    18803     -837
  Branches     6134     5828     -306
==========================================
- Hits         9768     8553    -1215
- Misses       5086     6084     +998
+ Partials     4786     4166     -620

Flag
Coverage Δ

integration
?

unittests
45.48% <65.89%> (+0.05%)
:arrow_up:

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

Impacted Files
Coverage Δ

...aries/handlers/connection/inviter/state_machine.rs
61.07% <64.80%> (-0.30%)
:arrow_down:

...ies/handlers/connection/inviter/states/complete.rs
86.20% <100.00%> (+4.20%)
:arrow_up:

libvcx/src/libindy/utils/pool.rs
15.21% <0.00%> (-52.50%)
:arrow_down:

libvcx/src/libindy/utils/anoncreds.rs
18.25% <0.00%> (-46.45%)
:arrow_down:

libvcx/src/utils/plugins.rs
0.00% <0.00%> (-38.10%)
:arrow_down:

libvcx/src/libindy/utils/ledger.rs
11.20% <0.00%> (-28.42%)
:arrow_down:

libvcx/src/utils/random.rs
75.00% <0.00%> (-25.00%)
:arrow_down:

libvcx/src/aries/mod.rs
1.04% <0.00%> (-23.08%)
:arrow_down:

libvcx/src/utils/devsetup.rs
26.41% <0.00%> (-20.29%)
:arrow_down:

libvcx/src/credential_def.rs
36.72% <0.00%> (-14.74%)
:arrow_down:

... and 30 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 b708ce4...5ed4aec. Read the comment docs.


Create Posts “humming”

Automatically generated by Netlify CMS

👷 Deploy Preview for hungry-swartz-309c8a processing.
🔨 Explore the source changes: 7f0f10139910ee59d818870d0523e51e03fe9f39
🔍 Inspect the deploy log: https://app.netlify.com/sites/hungry-swartz-309c8a/deploys/6191e46662c0fb0008a0b426


Change Indexed.search_fields to be a listish thing

Indexed.search_fields used to be a tuple. This is incorrect, and it should have been a list.  Changing it to be a list now would be a backwards incompatible change, as people do
search_fields = Page.search_fields + (
    SearchField('body')
)

Adding a tuple to the end of a list causes an error, so this would cause all old code that used tuples to throw an error. This is not great.
A new ThisShouldBeAList class, which subclasses list, has been added. It additionally allows tuples to be added to it, as in the above behaviour, but will raise a deprecation warning if someone does this. Old code that uses tuples will continue to work, but raise a deprecation warning.
See #2310

Thanks @timheap! I'm really glad to see this finally change :+1:

Rebased on top of #2343 to get the new deprecation warning, the wording has been updated, and flake8 warnings fixed.

Merged in 6bd168580ef4d91da077dd23e43764af570caf28 thanks!


Allowed HydratingResultSet to accept a PrototypeFactoryInterface

This change allows an instance of a PrototypeFactoryInterface to be used
instead of an object prototype.  The factory will be passed the result
data and must return an object to be hydrated.
This would resolve Issue https://github.com/zendframework/zend-db/issues/18

I'm not convinced we need this; this sounds like a very application-specific use case, which would warrant a custom hydrator implementation.
As an example, you could overload DelegatingHydrator::hydrate() to introspect the $data argument to determine the object type to pass to its getHydrator() method. This seems like a cleaner solution than altering zend-db, as it separates the logic of object creation from the zend-db component — which was the original point of having the HydratingResultSet.


Link to the preview environment is broken on main

I created a PR, but the message I got was pointing to https://github.com/#/previews/website-903-cindylopez, instead of to my okteto instance.
My action looks like this:
on:
  pull_request:
    branches:
      - main

jobs:
  preview:
    runs-on: ubuntu-latest
    steps:
    - name: Login
      uses: okteto/login@master
      with:
        url: https://staging.okteto.dev
        token: ${{ secrets.OKTETO_STAGING_TOKEN }}

    - name: "Deploy the preview environment"
      uses: okteto/deploy-preview@master
      env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      with:
        name: website-${{ github.event.number }}-cindylopez
        scope: global
        timeout: 25m
        file: okteto-stack.yaml

I believe that the issue is with how https://github.com/okteto/deploy-preview/blob/master/message.go#L67 parses the token, this has changed due to okteto context

It didn't matter if we use login or context, the result is the same.


Investigate SBV backend to talk to hosted Z3

For pact testnet. Running on GHCJS
/cc @joelburget

Investigated this and we can't have Z3 run in the browser due to C FFI. Instead, we're going to introduce a verification REST API.


Migrate off cross-project configuration in all sub-projects

This is a meta-issue, which is going to have links to issues in corresponding repositories in subprojects when we get down to working on it.
Here's the story. We were experimenting with migrating dependencies to Gradle's Version Catalog feature in the time subproject. It revealed some of the issues in Gradle. During discussions of one of them an engineer from Gradle pointed out that cross-project configuration is discouraged.
The Gradle engineer advised to use sharing convention plugins, which can be also used in buildSrc.
Although the comment did not relate directly to that issue of the Version Catalog implementation and our usage of the feature. It still revealed that we may improve the way we use Gradle in our projects. We do use subprojects {} a lot, and it's a discouraged way of doing things.
Addressing this issue would make our builds easier to understand because most of the things we do in subprojects are largely repeated from repository to repository.

@armiol, FYI. It can be a good starter task from a newcomer.


Conflict with Standard Library Module Causes Nuitka Packaging Errors

Nuitka version, full Python version, flavor, OS, etc. as output by this exact command.

python -m nuitka --version

2.4.11
Commercial: None
Python: 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)]
Flavor: Unknown
Executable: C:\Users\zaid\AppData\Local\pypoetry\Cache\virtualenvs\test-TSWMVn5n-py3.11\Scripts\python.exe
OS: Windows
Arch: x86_64
WindowsRelease: 10
Version C compiler: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\bin\Hostx64\x64\cl.exe (cl 14.3).

How did you install Nuitka and Python

Python installed through pyenv-win
Nuitka installed via poetry add nuitka

The specific PyPI names and versions

python -m pip list -v

nuitka      2.4.11 Python compiler with full language support and CPython compatibility
ordered-set 4.1.0  An OrderedSet is a custom MutableSet that remembers its order, so that every
zstandard   0.23.0 Zstandard bindings for Python

Description

After bundling my source code to an executable, I kept getting Exceptions from Python's standard library such as asyncio. Thinking it was due to some other installed library, I omitted one by one, yet the problem persisted.
It turned out the cause of the issue was due to a package called signal I had in my code. Renaming the directory from signal to filter_signal solved the problem.
Here is a tree view of the directory:
└───test
│   poetry.lock
│   pyproject.toml
│
└───mypackage
│   to_build.py
│
└───signal
init.py
The content of the script to be compiled by Nuitka:
from asyncio import run

async def main_test():
    print("h")

def main():
    run(main_test())

if __name__ == "__main__":
    main()

to_build.py was compiled using the following command:
 python -m nuitka --deployment --standalone --onefile --msvc=latest --follow-imports .\mypackage\test.py
And the traceback thrown after running the generated executable:
Traceback (most recent call last):
  File "C:\temp\ON411C~1\to_build.py", line 12, in <module>
  File "C:\temp\ON411C~1\to_build.py", line 8, in main
  File "C:\temp\ON411C~1\asyncio\runners.py", line 189, in run
  File "C:\temp\ON411C~1\asyncio\runners.py", line 59, in __enter__
  File "C:\temp\ON411C~1\asyncio\runners.py", line 137, in _lazy_init
  File "C:\temp\ON411C~1\asyncio\events.py", line 805, in new_event_loop
  File "C:\temp\ON411C~1\asyncio\events.py", line 695, in new_event_loop
  File "C:\temp\ON411C~1\asyncio\windows_events.py", line 315, in __init__
  File "C:\temp\ON411C~1\asyncio\proactor_events.py", line 638, in __init__
AttributeError: module 'signal' has no attribute 'set_wakeup_fd'
Exception ignored in: <function BaseEventLoop.__del__ at 0x000002016A6291C0>
Traceback (most recent call last):
  File "C:\temp\ON411C~1\asyncio\base_events.py", line 691, in __del__
  File "C:\temp\ON411C~1\asyncio\proactor_events.py", line 687, in close
AttributeError: module 'signal' has no attribute 'set_wakeup_fd'

I cannot reproduce this one on Linux with neither 3.12 nor 3.11, and 3.11 on Windows too, I also somehow feel I would know it. Your "unknown" flavor is potentially an unsupported form of Python. This works for all Python versions supporting asyncio I would assume. Please detail what Python flavor you are using.

I cannot reproduce this one on Linux with neither 3.12 nor 3.11, and 3.11 on Windows too, I also somehow feel I would know it. Your "unknown" flavor is potentially an unsupported form of Python. This works for all Python versions supporting asyncio I would assume. Please detail what Python flavor you are using.

that sounds strange to me, he mentions he used pyenv-win, which is essentially just a CLI wrapper over python.org installers, which it grabs from the https://www.python.org/ftp/python/ and searches for the windows MSI installer of the requested python version

I'm not using a flavored Python. As @KRRT7 explained, pyenv is just a wrapper over the Python Windows MSI installer.
I tried without using pyenv, but installing Python straight using the MSI installer, the problem persists.
I created a repo as an example to reproduce this:

https://github.com/zbouslikhin/nuitka-conflict-bug

I'm not using a flavored Python. As @KRRT7 explained, pyenv is just a wrapper over the Python Windows MSI installer. I tried without using pyenv, but installing Python straight using the MSI installer, the problem persists.
I created a repo as an example to reproduce this:

https://github.com/zbouslikhin/nuitka-conflict-bug

can you try without the --follow-imports flag?

I'm not using a flavored Python. As @KRRT7 explained, pyenv is just a wrapper over the Python Windows MSI installer. I tried without using pyenv, but installing Python straight using the MSI installer, the problem persists.
I created a repo as an example to reproduce this:

https://github.com/zbouslikhin/nuitka-conflict-bug

can you try without the --follow-imports flag?

Same result, unfortunately

I'm not using a flavored Python. As @KRRT7 explained, pyenv is just a wrapper over the Python Windows MSI installer. I tried without using pyenv, but installing Python straight using the MSI installer, the problem persists.
I created a repo as an example to reproduce this:

https://github.com/zbouslikhin/nuitka-conflict-bug

can you try without the --follow-imports flag?

Same result, unfortunately

I see you're using a venv managed by poetry, can you take poetry out of the loop and use a vanilla venv?

Cleaned up my Python paths, installed Python3.11 using the MSI installer.
The error is the same.

But poetry is still being used, right?

There being a signal path in the path, probably means it's happening with CPython too. I believe standard library has no precedence over current directory, so signal is imported from there, and doesn't have what standard library has.

kayha@Muska MINGW64 ~/test/nuitka-conflict-bug (main)
$ python3.11 mypackage/test.py
Traceback (most recent call last):
  File "C:\Users\kayha\test\nuitka-conflict-bug\mypackage\test.py", line 12, in <module>
    main()
  File "C:\Users\kayha\test\nuitka-conflict-bug\mypackage\test.py", line 8, in main
    run(main_test())
  File "C:\Python311_64\Lib\asyncio\runners.py", line 189, in run
    with Runner(debug=debug) as runner:
  File "C:\Python311_64\Lib\asyncio\runners.py", line 59, in __enter__
    self._lazy_init()
  File "C:\Python311_64\Lib\asyncio\runners.py", line 137, in _lazy_init
    self._loop = events.new_event_loop()
                 ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311_64\Lib\asyncio\events.py", line 806, in new_event_loop
    return get_event_loop_policy().new_event_loop()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311_64\Lib\asyncio\events.py", line 695, in new_event_loop
    return self._loop_factory()
           ^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311_64\Lib\asyncio\windows_events.py", line 315, in __init__
    super().__init__(proactor)
  File "C:\Python311_64\Lib\asyncio\proactor_events.py", line 642, in __init__
    signal.set_wakeup_fd(self._csock.fileno())
    ^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'signal' has no attribute 'set_wakeup_fd'
sys:1: RuntimeWarning: coroutine 'main_test' was never awaited
Exception ignored in: <function BaseEventLoop.__del__ at 0x00000207F7B74EA0>
Traceback (most recent call last):
  File "C:\Python311_64\Lib\asyncio\base_events.py", line 694, in __del__
  File "C:\Python311_64\Lib\asyncio\proactor_events.py", line 691, in close
AttributeError: module 'signal' has no attribute 'set_wakeup_fd'

What a shame to waste our time like that.

kayha@Muska MINGW64 ~/test/nuitka-conflict-bug (main)
$ python3.11 mypackage/test.py
Traceback (most recent call last):
  File "C:\Users\kayha\test\nuitka-conflict-bug\mypackage\test.py", line 12, in <module>
    main()
  File "C:\Users\kayha\test\nuitka-conflict-bug\mypackage\test.py", line 8, in main
    run(main_test())
  File "C:\Python311_64\Lib\asyncio\runners.py", line 189, in run
    with Runner(debug=debug) as runner:
  File "C:\Python311_64\Lib\asyncio\runners.py", line 59, in __enter__
    self._lazy_init()
  File "C:\Python311_64\Lib\asyncio\runners.py", line 137, in _lazy_init
    self._loop = events.new_event_loop()
                 ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311_64\Lib\asyncio\events.py", line 806, in new_event_loop
    return get_event_loop_policy().new_event_loop()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311_64\Lib\asyncio\events.py", line 695, in new_event_loop
    return self._loop_factory()
           ^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311_64\Lib\asyncio\windows_events.py", line 315, in __init__
    super().__init__(proactor)
  File "C:\Python311_64\Lib\asyncio\proactor_events.py", line 642, in __init__
    signal.set_wakeup_fd(self._csock.fileno())
    ^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'signal' has no attribute 'set_wakeup_fd'
sys:1: RuntimeWarning: coroutine 'main_test' was never awaited
Exception ignored in: <function BaseEventLoop.__del__ at 0x00000207F7B74EA0>
Traceback (most recent call last):
  File "C:\Python311_64\Lib\asyncio\base_events.py", line 694, in __del__
  File "C:\Python311_64\Lib\asyncio\proactor_events.py", line 691, in close
AttributeError: module 'signal' has no attribute 'set_wakeup_fd'

What a shame to waste our time like that.

Wasting your time was not the aim.
Thank you for resolving this anyways...

 You can help me understand how it came to that. Do you, e.g., have a working code base that you always compile in, say, CI, and when it doesn't work, although you suspect it should, you report it as a bug?
I wonder how to avoid this kind of report. Probably I should ask for evidence that the program works uncompiled more clearly. I don't think the current issue template does even ask for it.

Indeed. The bug report template does not ask for an evidence that the program works uncompiled.
In the same fashion you did, adding a section in the template to confirm that running the code using vanilla Python python <entry_point>.py
is perhaps enough to avoid such reports like this one where a package manager is used.
Another option would be adding a disclaimer mentioning that any bug report where a package manager is used, is considered invalid?

Not really, I was contemplating if the standard library handling differered, assuming in poetry it works. Nuitka needs to recognize the virtualenv and what's standard library and what not, and if it compiles some parts of the stdlib, that could cause the symptom, and so I was seeing it as a poetry specific bug. That kind of is a valid sort of bug to know and something I care about.

So I updated the issue template and put something at the top explaining it, going to delete this one though later.


Need examples to understand the difference between trigger types

We want to understand the difference bet trigger types using examples. I created 2 triggers - one Scheduled another tumbling at interval of 5 mins. Both ran at specified interval. Also did not find any issue when instance of earlier execution was still Running. New instance for both pipes (concurrency) got created.
I also tried with retry settings at Copy activity. For both triggers it worked.
I retried failed pipes from Monitor window. It worked.
Regarding you comments (in this issue), even for scheduled trigger, old execution will still remain same.
Need example to clarify all points. As of now I don't see any difference.

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

ID: 3d564675-f719-57fc-a406-6aec51d26b29
Version Independent ID: 84124e8f-efad-274f-c2eb-40a04748296c
Content: Pipeline execution and triggers in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/concepts-pipeline-execution-triggers.md
Service: data-factory
GitHub Login: @djpmsft
Microsoft Alias: daperlov

@HemantChandurkar - Thanks for posting the question. In case of Scheduled triggers, the use of a schedule can limit the number of trigger executions. For example, if a trigger with a monthly frequency is scheduled to run only on day 31, the trigger runs only in those months that have a 31st day. In the scenario you shared, since there are no exceptions as stated above, both triggers are working similarly. Please suggest if this answers your question.

@HemantChandurkar - Hope this answers your query. I will now proceed to close this issue. Feel free to still comment and tag me if you need any more clarification.


test ##Extract optical flow of a single video##

x@x:/data1/zsh/mmaction-master/third_party/denseflow/build$ make install
[ 66%] Built target zzdenseflow
[100%] Built target denseflow
Install the project...
-- Install configuration: ""
-- Installing: /home/x/app/bin/denseflow
-- Set runtime path of "/home/x/app/bin/denseflow" to ""
-- Installing: /home/x/app/lib/libzzdenseflow.a
(base) x@x:/data1/zsh/mmaction-master/third_party/denseflow/build$ denseflow test.avi -b=20 -a=tvl1 -s=1 -v
denseflow: command not found

Hi, I also encountered this problem. How did you solve it？

Add it to PATH


Can colourisation be disabled?

In short: can the REPL colourisation ‘theme’ be disabled or changed?
While I like pretty colours, a lot of the text in the kuroko REPL is black on black — even when compiled with KRK_DISABLE_RLINE=1 or invoked as kuroko -r — and thus illegible:
$ kuroko -r
Kuroko 1.1.2 (Nov 14 2021 at 12:59:00) with GCC 11.1.0
Type `help` for guidance, `paste()` to toggle automatic indentation, `license` for copyright information.
>>> help

>>> 2

>>> dir('')

>>>

In order to see the output I have to paste it into an editor, which is counter-productive.

Can you try building the latest master rather than 1.1.2? The problem is likely that your terminal does not interpret bold text as bright, which should be resolved by [https://github.com/kuroko-lang/kuroko/commit/fba00902d45bdb3df4b67f8cd31dcc3113afe026](this commit).

Thanks, building from the latest master solved my problem.


Problem with ANSI data

Hello
i have a source with ANSI code page data and the result is not display correctly
Source data :
https://files.data.gouv.fr/lcsqa/concentrations-de-polluants-atmospheriques-reglementes/temps-reel/2021/FR_E2_2021-09-14.csv
Would it be possible to add the code page of the source data in the advanced section ?

Hi @rferraton, I've now added an option to include an encoding. In your example, you would use iso-8859-1. Hope this works for you!
-Keshia

Yes it work pretty well ! :+1:
Thanks a lot !!
PS : thank to you csv web connector these workbook is refreshed easily each week :
https://public.tableau.com/app/profile/apfr5254/viz/IncidenceCOVIDFranceDpartementettranchesdage/FranceCOVID-IncidencevsDcsRanimationsetHospitalisations
Romain


VS Code Crashed

Crash Report-Krishna.zip

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

Can you share the VS Code version and tell us what you were doing that caused the crash?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Adding Badge to Floating Action Button

We might need to add a badge to the floating action button

Not exactly sure what you mean.
Btw. the action button and all its action items are UIViews, so you can ad subviews as to any other view.

Can you see the two that is the total count for orders on the floating action button, that is what I meant by a badge

i had to build this from scratch, it would have been a nice to have


Workaround rustup env issue when setting toolchain

see rust-lang/rustup#3029
I'll be removing the 3 env vars.

released


Support pmodule-allow-overrides feature

Please be sure to check out our contributing guidelines
before submitting your pull request.
Fixes #1779
Proposed Changes

Adds a new optional zstyle setting (defaulted to 'no' or not-existing): zstyle ':prezto:load' pmodule-allow-overrides
Adds support in init.zsh for overriding modules with the same name based on whether zstyle ':prezto:load' pmodule-allow-overrides 'yes' is set in .zpreztorc

What would you think if it just loaded the first one no matter what and just warned if there were more than one. It would still be useful to have the setting to disable the warning text.

@belak - I don't think that will work, or maybe I'm not understanding what you're saying. The way prezto works today is that the first one is always loaded already, and the first one is the ones that come with prezto. Say you added your own custom git module to $ZPREZTODIR/contrib/git, it will always warn you that there's a conflict because $ZPREZTODIR/modules/git exists. Basically, once prezto uses a module name, it's locked out for anyone else to use for theirs. This feature fixes that by letting you use the LAST one specified with no warning message. Using the first one is no good, and doesn't capture the override concept that OMZ uses to great effect.

The current code skips loading if there are conflicting module names.
Your approach in this PR seems good, though I think it can be simplified a little bit - down below, where we set pmodule_locations, that could be set to the last location rather than the first, which means we only need the error case above, rather than the two separate cases.
Thanks for submitting this! It was something I debated about when I wrote this code a long time ago - I can see why it makes more sense this way.

@belak - Great suggestion. I've made that change. See if this is more to your liking.
Also, just so it exists in the discussion for posterity, there's one other consideration we should sync on. The intent of this functionality is that if you can override a built-in prezto module, but if you want to build off one instead of replacing it, you can easily still source prezto's from your own. For example, to extend the git module, the first line in $ZPREZTODIR/contrib/git/init.zsh could be source $ZPREZTODIR/modules/git/init.zsh. However, that doesn't account for functions in the original module, and you'll also need to do something like this as well:
fpath=("$ZPREZTODIR"/contrib/git/functions $fpath)
for _zfunc in "$ZPREZTODIR"/contrib/git/functions/*(.N); do
  autoload -Uz "$_zfunc"
done
unset _zfunc

Not sure if you would like this documented anywhere. Happy to do that if that too if you tell me where.

Thanks for submitting this! Looks good to me!


How to use AsYouTypeFormatter?

I would like to use the AsYouTypeFormatter functionality of libphonenumber.
However, calling libphonenumber.phoneUtil.getAsYouTypeFormatter('US') fails with undefined is not a function error. Is it not exported?

I've just added support for this! Let me know how it works for you and then I'll publish a new release with it :)

Great, thanks!

@ruimarinho any plans to publish a new release with support for this? Looks like you added this feature after the 0.2.2 release.

@hongrich if it's working fine for you, I'll publish the 0.2.2 release. I was hoping to get some feedback on it.

@ruimarinho It worked for me, but I ended up switching to using https://github.com/wajatimur/node-phonenumber for a different reason, so I wasn't able to test it much.

@hongrich I suggest you take a look at the upcoming version :) https://github.com/seegno/google-libphonenumber/tree/enhancement/browserify-support. I'd be glad if you could share what's missing from it.

@ruimarinho the upcoming version looks great! I haven't had a chance to actually use it, but a brief glance of the commit seems good.


[SymbolGraphGen] Correctly handle exported imports in swift-symbolgraph-extract

This sets up the necessary stuff to include symbols from exported imported modules in symbol graphs generated using the swift-symbolgraph-extract tool
Changes include:

Add option to provide an allow list of reexported modules for swift-symbolgraph-extract
Recursively collect exported imports to allow fetching all visible Decls for symbol graph generation
Enable collection of exported imports that originate from non SourceFile file units for the purpose of ModuleDecl::getDisplayDecl

Resolves #59920
rdar://89687175

@swift-ci please test

@swift-ci please smoke test

@swift-ci please test

@swift-ci please test

@swift-ci please test

Other than the comment we spotted while walking through the code, could you add a test that verifies that the recursive export-import functionality still works? There's a similar test in SymbolGraph/Module/ThirdOrder.swift that you can copy to make something similar. We just need to make sure that the innermost module's symbols appear in the outer symbol graph.

Test is in test/SymbolGraph/Module/NestedExportedImport.swift


Customize admin template

Hello guys,
You do really great job thank.
I want to customize admin template. I already add in config table new record about name of admin template and now i wondering what will happen if i will edit views from vendor dir and you will update package?

Run php artisan vendor:publish and select TicketitServiceProvider from the menu. This should create a directory resources/views/vendor/ticketit. Under this folder, you can edit files that will persist on updates.

thanks


Color mode not working on custom armor

Textures work very good when making custom armor but only color makes the parts with that mode disappear or just cut out and are flat.

any way to fix?


clean up env_get and env_get_name

having two functions is silly

not sure when this was fixed, but it's definitely not a problem now.


Support multiple-valued response type

Support code token, code id_token, id_token token, code id_token token and none
https://github.com/casdoor/casdoor/blob/d0952ae908b63faea3c6938952668552ea8662f4/object/token.go#L226-L228
ref:
https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html

@sagilio which OAuth/OIDC client uses this feature?

Already supported now


Fixing minor typos.

Coverage remained the same at 98.311% when pulling 89f4c7d0f71d0f9097d404b2478754da2ff005af on seanhussey:patch-1 into a559d24364139958ab99c9e153431bb408a031c6 on EyalAr:master.


add new generic event platform aggregator API

What does this PR do?
Add a new aggregator API through which checks can submit "event platform events" of various types.
All supported eventTypes are hardcoded in EventPlatformForwarder.
The dbm-samples and dbm-metrics events are expected to arrive fully serialized so their pipelines are simply "HTTP passthrough" pipelines which skip all of the other features of logs pipelines like processing rules and encoding.
Future event types will be able to add more detailed processing if they need it.
Overall flow

aggregator.submit_event_platform_event(check_id, rawEvent, "{eventType}") - python API. Here's the corresponding integrations change to use the API: https://github.com/DataDog/integrations-core/pull/9165
BufferedAggregator forwards events to the EventPlatformForwarder. Events are dropped here if EventPlatformForwarder is backed up for any reason.
EventPlatformForwarder forwards events to the pipeline for the given eventType, dropping events for unknown eventTypes

Internal Agent Stats
Prometheus: aggregator.flush - data_type:{eventType}, state:{ok|error}
ExpVar: EventPlatformEvents & EventPlatformEventsErrors: counts by eventType
User-Facing Agent Stats
Statistics for each eventType will be tracked alongside other types of telemetry (Service Checks, Series, ...). Where appropriate, the raw eventType is translated to a human readable name (i.e. dbm-samples --> Database Monitoring Query Samples).
agent status output:
=========
Collector
=========

  Running Checks
  ==============

    postgres (5.4.0)
    ----------------
      Instance ID: postgres:1df52d84fb6f603c [OK]
      Metric Samples: Last Run: 366, Total: 7,527
      Database Monitoring Query Samples: Last Run: 11, Total: 176
      ...

=========
Aggregator
=========
  Checks Metric Sample: 29,818
  Database Monitoring Query Samples: 473
  ...

agent check {check_name} output:
=== Metrics ===
...
=== Database Monitoring Query Samples ===
...

agent check {check_name} --json output will use the raw event types instead of the human readable names:
"aggregator": {
  "metrics": [...],
  "dbm-samples": [...],
  ...
}

Motivation
The posting of statement samples payloads to the intake for postgres & mysql checks is done directly from python as of (https://github.com/DataDog/integrations-core/pull/8627, https://github.com/DataDog/integrations-core/pull/8629). With this change we'll be able to move responsibility for posting payloads to the more robust agent go code with proper batching, buffering, retries, error handling, and tracking of statistics.
Describe your test plan

Run an agent build with https://github.com/DataDog/integrations-core/pull/9045 included

Configure the postgres or mysql check to collect statement samples as described in https://github.com/DataDog/integrations-core/pull/8627
Enable agent telemetry telemetry.enabled: true

Confirm that statement samples are being ingested and appear on the database samples explorer
Manually run a mysql or postgres check (i.e. agent check postgres) and confirm that Database Monitoring Query Samples appear in the output, properly json formatted.
Run agent status and confirm that Database Monitoring Query Samples appear in the postgres check output as well as the Aggregator summary output.
Run agent launch-gui and confirm that Database Monitoring Query Samples appear in both the Aggregator summary and the postgres or mysql check summary.
Validate telemetry: curl http://localhost:5000/telemetry | grep dbm-samples to confirm that dbm-samples are appearing in the aggregator for aggregator__flush and aggregator__processed metrics
Validate expvar: Query curl http://localhost:5000/debug/vars | grep dbm-samples and confirm that dbm-samples are tracked correctly.

Can I ask you to improve the "Describe your plan" for the QA of the PR description?

Yes, updated it now. Could you take another look?

It's not relevant to ask every team assigned reviewers on this PR to review that one.
Note that I've branched out + merged recent master in another branch remeh/test-build-event-platform-check-api and the CI was successful.
Merging this for 7.28.0.


page 624, missing reference, typo

Page 624 (printed on book, not viewer page):
Line 6: missing reference.
Line 23:  Let $f(x,theta)$ be ...., and $\theta..$ be (not is) ...
Version 28 Feb 2022.

fixed thanks


UEFI boot

Hey! Im trying to use this image for booting my Optiplex micro, which to my information only supports UEFI Grub. Is it possible to configure this image to work with UEFI?
Thanks :)

Hi! I think you may want to have a look at dnsmasq docs, and find a proper image to boot. There should be nothing that prevents this container image that prevents supporting UEFI boots. :)

Normally, you have to use shim and a linked grubnetx64.efi to grubx64.efi if u're using a http source for starting images from your webserver.
You can take a look on my related Project: https://github.com/peedy2495/DockerPXE-OS-Automation
Thanks to ferrarimarco for providing this docker-image ;-)


Last threshold's "more than x" label should be "x or more"

Threshold scale domain values indicate the lower bound of every slice except the first. They are inclusive:
var color = d3.scaleThreshold()
    .domain([      0,       1])
    .range(["red", "white", "green"]);

color(-1);   // "red"
color(-0.5); // "red"
color(0);    // "white"
color(0.5);  // "white"
color(1);    // "green"

Given the above scale and .labels(d3.legendHelpers.thresholdLabels), d3-scale will produce the following legend:
RED   Less than 0.0
WHITE 0.0 to 1.0
GREEN More than 1.0

... where the last label being "more than" incorrectly suggests that 1.0 would not be green. In other words, the slice is inclusive but its label is exclusive.
It should say "1.0 or more".
"Less than" at the other end of the scale is correct, because 0 is the upper bound of that slice and is therefore exclusive.

Ah that makes sense. I fixed the text in the latest version 2.25.5 it now looks something like this

Great to see this fixed in c1bcef83d4a4a3afc5d2fc3c602cd03c50398db9, thanks.
The documentation still needs to be updated though.


output: always return data in String even with error

Previously, if the command error'd no output would be returned.

Codecov Report

Merging #38 (7a44ebb) into main (2ddd06d) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main      #38   +/-   ##
=======================================
  Coverage   73.78%   73.78%
=======================================
  Files          10       10
  Lines         309      309
=======================================
  Hits          228      228
  Misses         64       64
  Partials       17       17

Impacted Files
Coverage Δ

output.go
90.26% <0.00%> (ø)

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 2ddd06d...7a44ebb. Read the comment docs.


[Bug] Invoice download PDF Error

What happened?
Hi,
I see bug in billing system, After click Download PDF

Error code

Do you have any solution ?
Thanks.
BoxBilling Version
v4.22-beta.1
What version of PHP are you running?
PHP 7.4
Additional Notes
Additional notes

Thanks for the bug report. We have already fixed this issue in the master branch version of BoxBilling. Please see these changes if you want to manually update:
https://github.com/boxbilling/boxbilling/pull/927 and https://github.com/boxbilling/boxbilling/commit/b61ab381b82976cd56a8c8820c58bb606562c6d9#diff-78ac039cfe6da7ed25f18b3935e30b416c50f51cc844e261c65faa5e7c4fa98b


chore: use correct status name in bors config

Picks #1433 so we don't endlessly wait for bors to merge — like a bunch of idiots…
Ref: https://github.com/bors-ng/bors-ng/issues/730

Bors merge bot cheat sheet
We are using bors-ng to automate merging of our pull requests. The following table provides a summary of commands that are available to reviewers (members of this repository with push access) and delegates (in case of bors delegate+ or bors delegate=[list]).

Syntax
Description

bors merge
Run the test suite and push to master if it passes. Short for "reviewed: looks good."

bors merge-
Cancel an r+, r=, merge, or merge=

bors try
Run the test suite without pushing to master.

bors try-
Cancel a try

bors delegate+
Allow the pull request author to merge their changes.

bors delegate=[list]
Allow the listed users to r+ this pull request's changes.

bors retry
Run the previous command a second time.

This is a short collection of opinionated commands. For a full list of the commands read the bors reference.

bors merge

bors merge


Floating number support - Part 1

I've added basic support for floating numbers into the VM.
This means that now the parser accepts floating point numbers (that ends with f) and recognize them as floats. I've also added the first float operation, namely add_f.
I'm creating this pull request mainly because I want to know if I'm on the right direction and I don't want to write a lot of code with no feedback from you.
While implementing this small part of the feature I had to change some parts of your code, mainly due to the fact that the c++ compiler was not sure if to cast usize_t to int ot float (or similar situations).
I've also created a very simple .zim file that demonstrates the functionality and I added a test in interp.cpp
As I said this is a very first draft, so I'm not sure if I followed your naming conventions properly and your code style.
(At the very beginning while trying to build everything I was having problems with the schema compiler, I had to delete from my dev branch, I'm not sure what was going wrong)

Hi there! You're fast 👍
I would like to have _f32 be the postfix, so add_f32, sub_f32. This is because we might have _f64 eventually.
pushFloat => pushFloat32
popFloat => popFloat32
isFloat => isFloat32
parseFloatingPart: the way you're parsing FP numbers unfortunately won't always give the right result. Parsing and printing floating-point numbers correctly is surprisingly hard. You probably want to accumulate the digits into a char buffer (stack-allocate a char[64]), and then pass this to atof.

I've changed the parsing bit! (I'm still not sure if now it's fine)
I've also added the f32 postfix!

Looking good. Some comments and nitpicks:
I'd like to support only lowercase f and e:
 if (next == '.' || next == 'e' || next == 'E' || next == 'f' || next == 'F') {

Line 269 needs to be changed as well:
https://github.com/Maaarcocr/zetavm/blob/65da7dde641aba68f3c5ede9441afccfe5b9f1ce/vm/parser.cpp#L269
On line 266 you want to check that your index is within bounds, and throw a ParseError if not:
https://github.com/Maaarcocr/zetavm/blob/65da7dde641aba68f3c5ede9441afccfe5b9f1ce/vm/parser.cpp#L266
And two nitpicks. There should be a newline after line 223:
https://github.com/Maaarcocr/zetavm/blob/65da7dde641aba68f3c5ede9441afccfe5b9f1ce/vm/parser.cpp#L223
And on line 248, I like the curly braces on their own line, it's the civilized way:
https://github.com/Maaarcocr/zetavm/blob/65da7dde641aba68f3c5ede9441afccfe5b9f1ce/vm/parser.cpp#L248

I tried curly braces on new line as far as I could, but I come from a different civilization.
Jokes apart, I'm now throwing a parse error when the index is out of bounds.


How to scale over 100 000 concurrent connections

Hi,
I wan't to know if it's possible and how to enable over 100K concurrent connections on a laravel app. I've read this https://docs.beyondco.de/laravel-websockets/1.0/faq/deploying.html and this https://docs.beyondco.de/laravel-websockets/1.0/faq/scaling.html but i don't find out how they can go over 10K concurrent connection ?
For the hosting i planned to use google cloud run
thx :)

Keep an eye on https://github.com/beyondcode/laravel-websockets/pull/140 or pull the code and try it out for yourself.
When running a single instance of laravel-websockets, you'll quickly hit connection limits due to all kinds of factors, like hardware/network limits, file handle limits, etc. Scaling by running more instances will allow you to hit much higher concurrent connection counts.


Docs say "You can also add more storage to the thin pool." without specifying how

File: engine/reference/commandline/dockerd.md, CC @mstanleyjones
In the dm.min_free_space section the page says:

Whenever a new a thin pool device is created (during docker pull or during container creation), the Engine checks if the minimum free space is available. If sufficient space is unavailable, then device creation fails and any relevant docker operation fails.

To recover from this error, you must create more free space in the thin pool to recover from the error. You can create free space by deleting some images and containers from the thin pool. You can also add more storage to the thin pool.

To add more space to a LVM (logical volume management) thin pool, just add more storage to the volume group container thin pool; this should automatically resolve any errors.

I would like to add more storage to the thin pool as the docs make it seem like this will fix the issue I'm experiencing. However I cannot figure out how to do so. Higher up on the page it also says:

Refer to Storage driver options below for a way how to customize this setup. ~jpetazzo/Resizing Docker containers with the Device Mapper plugin article explains how to tune your existing setup without the use of options.

The "Storage driver options below" do not contain more information about how to add storage than I have already quoted and the linked blog post has a giant disclaimer on it:

Warning
At some point, Docker storage driver internals have changed significantly, and the technique described here doesn’t work anymore.

I tried that technique anyway and as advertised it in fact did not work. I am suggesting that the docs be changed to no longer link to an out-of-date blog post and that they also be amended to include specific instructions for adding storage to the thin pool, adding storage to a LVM, adding more storage to the volume group container thin pool, or all of them. (I do understand the distinction between the three.)

@cpuguy83 @jpetazzo any insight on this?

(Spelunking my way up through my inbox, sorry for the delay!)
About my blog post: it's definitely obsolete. It is interesting as a curiosity (i.e., if somebody wants to resize their containers by hand, uphill, both ways!) but not something that should be done on a production environment. It's totally fine to unlink it (or, if it stays linked, with a message like: If you want to understand how volumes are resized in an environment which uses devicemapper, you can check the following blog post. The technique that it describes should not be used in a production environment, but it will give you some insights about what happens behind the scenes, were you so inclined.)
About the original question: I think it all depends how the thin pool was created in the first place. The corresponding method should be used accordingly. For instance, if the thin pool was created with the LVM tools (pvcreate on at least 1 PV, then vgcreate, then lvcreate), it should be extended with the LVM tools (if the VG is full, extend it with pvcreate on additional PVs then vgextend to add these PVs to the VG; and then lvextend on the thin pool).
HTH,

@gbarr01 I think we have enough info to address this now. Can you make a sister issue in docker/cli for the reference topic mentioned here, and also see if there is anything that needs to be added or modified in https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/ in a PR to this repo? This is a bit of an edge case, so it has lower priority than the other 17.09 work.

Issue moved to docker/cli #587 via ZenHub


feat: Support more java time types

Codegen is only able to generate converters that handles Java Instants. This PR enables the generation of converters that additionally supports LocalTime, LocalDate, LocalDateTime, OffsetDateTime and ZonedDateTime properties.

@thced I have the same problem that Codegen do not support LocalDateTime，this is a very useful pull requests,！
@vietj hi！I wondering when it can be merged into the trunk.

I am also working on the (core) support. But I have limited time and also a few issues to solve there before I can open a PR.

@pmlopes @vietj I am a bit unsure whether I should keep the ZonedDateTime in this PR?
The actual "zone" is not part of ISO, and I therefore skipped implementing that in https://github.com/eclipse-vertx/vert.x/pull/4315


Not sure about the "returns", isn't this method meant to re-enable tracking?

Returns
IQueryable<TEntity>
A new query where the result set will not be tracked by the context.

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

ID: a70c79f4-2309-e89f-1e6c-36cc32b414bd
Version Independent ID: 5aa3fc5e-a518-6940-13e8-76f14a483d93
Content: EntityFrameworkQueryableExtensions.AsTracking(IQueryable<TEntity>) Method (Microsoft.EntityFrameworkCore)
Content Source: dotnet/xml/Microsoft.EntityFrameworkCore/EntityFrameworkQueryableExtensions.xml
Product: ef-core-api
GitHub Login: @dotnet-bot
Microsoft Alias: divega

Fixed this in 5ff0281. Unfortunately there isn't a good way to make the change retroactive to previous versions, AFAIK.


Inaccurate active sessions count in analytics dashboard

Describe the issue:
Active sessions count in analytics dashboard does not change on session termination via myaccount -> security -> Active IDP sessions.
How to reproduce:

Login to sample application (pickup-dispatch) or myaccount.
Terminate the session using myaccount -> security -> Active IDP sessions

Expected behavior:
When login -> Active session count += 1
When terminated -> Active session count -= 1
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS 5.11.0-beta2
OS: Ubuntu 18.04 LTS
Database: H2
Userstore: LDAP

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


S3 throws a duplicate error when fetching tags for an s3 object with multiple tags

Describe the bug
S3 throws a duplicate error when fetching tags for an s3 object with multiple tags
To Reproduce

create s3 object

use s3::{creds::Credentials, Bucket, Region};

fn main() {
    let domain = "www.example.com";
    let credentials = Credentials::default().unwrap();
    let bucket = Bucket::new(domain, Region::UsEast1, credentials).unwrap();

    println!("{:#?}", bucket.get_object_tagging_blocking("ab.tgz"));
}

a single tag

Add the tag tag1=value1 to the s3 object
This is fine, expected behavior

[...]
Ok(
    (
        Some(
            Tagging {
                tag_set: [
                    Tag {
                        kvpair: KVPair {
                            key: "tag1",
                            value: "value1",
                        },
                    },
                ],
            },
        ),
        200,
    ),
)

two tags

Add the tag tag1=value1 to the s3 object
Add the tag tag2=value2 to the s3 object
This is not fine, I expect to be able to receive something I can iterate over

[...]
Err(
    S3Error {
        description: Some(
            "custom: duplicate field `Tag`",
        ),
        data: None,
        source: Some(
            Xml(
                Custom {
                    field: "duplicate field `Tag`",
                },
            ),
        ),
    },
)

Expected behavior
I would expect to be able to iterate over the tags. Instead I get a duplicate error.
Environment

Rust version: 1.50
lib version [e.g. 0.26.4]

@durch thanks for fixing this and working on this crate.


Error: Cannot find module 'projen-cmake/.jsii'

Projen is unable to create a CMake project. It is currently failing with Error: Cannot find module 'projen-cmake/.jsii.
Research is indicating this is because the project wasn't built with JSII as Projen expects.
Reproduce by running npx projen new --from projen-cmake.
Projen version 0.71.7, projen-cmake version 0.1.0.

Version 0.1.1 resolves the issue.


Try out python 3.10 instead of 3.7

Attempting to see if switching to 3.10 fixes the error from https://gitlab.com/pangeacyber/pangea-python/-/jobs/4018122421
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.7/unittest/__main__.py", line 18, in <module>
    main(module=None)
  File "/usr/local/lib/python3.7/unittest/main.py", line 100, in __init__
    self.parseArgs(argv)
  File "/usr/local/lib/python3.7/unittest/main.py", line 147, in parseArgs
    self.createTests()
  File "/usr/local/lib/python3.7/unittest/main.py", line 159, in createTests
    self.module)
  File "/usr/local/lib/python3.7/unittest/loader.py", line 220, in loadTestsFromNames
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/usr/local/lib/python3.7/unittest/loader.py", line 220, in <listcomp>
    suites = [self.loadTestsFromName(name, module) for name in names]
  File "/usr/local/lib/python3.7/unittest/loader.py", line 154, in loadTestsFromName
    module = __import__(module_name)
  File "/builds/pangeacyber/pangea-python/packages/pangea-sdk/tests/unit/__init__.py", line 1, in <module>
    from .test_signer import *
  File "/builds/pangeacyber/pangea-python/packages/pangea-sdk/tests/unit/test_signer.py", line 4, in <module>
    from pangea.services.audit.signing import Signer
  File "/builds/pangeacyber/pangea-python/packages/pangea-sdk/pangea/services/__init__.py", line 2, in <module>
    from .authn.authn import AuthN
  File "/builds/pangeacyber/pangea-python/packages/pangea-sdk/pangea/services/authn/authn.py", line 14, in <module>
    class AuthN(ServiceBase):
  File "/builds/pangeacyber/pangea-python/packages/pangea-sdk/pangea/services/authn/authn.py", line 52, in AuthN
    class Session(ServiceBase):
  File "/builds/pangeacyber/pangea-python/packages/pangea-sdk/pangea/services/authn/authn.py", line 80, in Session
    size: Optional[int] = None,
TypeError: 'type' object is not subscriptable

@r3dcrosse we're going to have to stick with python 3.7 as our min version (all our code needs to be compatible with 3.7).
To fix this bug, change
        def list(
            self,
            filter: Optional[dict[str, str]] = None,
            last: Optional[str] = None,
            order: Optional[m.ItemOrder] = None,
            order_by: Optional[m.SessionListOrderBy] = None,
            size: Optional[int] = None,
        ) -> PangeaResponse[m.SessionListResults]:

to
from typing import Dict
...
        def list(
            self,
            filter: Optional[Dict[str, str]] = None,
            last: Optional[str] = None,
            order: Optional[m.ItemOrder] = None,
            order_by: Optional[m.SessionListOrderBy] = None,
            size: Optional[int] = None,
        ) -> PangeaResponse[m.SessionListResults]:

we just want to replace Optional[dict[str, str]] -> Optional[Dict[str, str]]

Thank you @doubletooth! @pangea-andrest and I were having trouble figuring out how to fix that bug. Thanks for taking the time to check out what was wrong and what needed to be fixed!

@doubletooth thanks for helping us. I've changed that, but now I have problem with Optional
  File "/builds/pangeacyber/pangea-python/packages/pangea-sdk/pangea/services/authn/authn.py", line 80, in AuthNSession
    order_by: Optional[m.SessionListOrderBy] = None,
TypeError: 'type' object is not subscriptable

It also happened with Optional[int]
Do you know how we should solve it?

it might be complaining about Optional[m.ItemOrder] I think instead of the int.
I think if you do Optional["m.ItemOrder"] there it should work

Problem was, as you mention before, Optional[dict[str, str]] but the exception show up on the lines below. Thanks both for your help, really appreciate it. @doubletooth @r3dcrosse


Occupy a sofa, look forward to it, come on

I am looking forward to your goal. On the left is the chat user, and in the middle is the chat box.

Hope you like it. Any suggestions?


Cannot find arm-none-eabi-gcc

When compiling with Visual Studio code on Windows, the ARM gcc compiler cannot be found:
Unable to resolve configuration with compilerPath "/arm-none-eabi-gcc"
The compiler directory is in $PATH$ and can be run from the terminal and powershell.
The problem only occurs when the gnuInstallRoot setting is left empty.
It seems that the issue is that VS code tries to run
/arm-none-eabi-gcc
instead of just
arm-none-eabi-gcc

I can't reproduce this on Windows 10. Everything works fine with the following settings.json:
{
    "rioteeSdkRoot": "C:/Uers/Myuser/Riotee_SDK",
    "operSys": "Win32",
    "gnuInstallRoot": "",
    "files.associations": {
        "type_traits": "c",
    },
    "editor.formatOnSave": true,
}

and this in the Path variable: C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\12.2 mpacbti-rel1\bin
Can you please post your settings.jsonand your PATH variable? Also, please insert $(info    PREFIX is $(PREFIX)) in the SDK's Makefile right before the line that starts with .PHONYand post the output from terminal when trying to build the application.

Here is the content of my settings.json (I set the Riotee SDK path relative and that works fine):
{
    "rioteeSdkRoot": "./../../../../Riotee_SDK",
    "sdkRoot": "./../../../../Riotee_SDK",
    "operSys": "Win32",
    "gnuInstallRoot": "",
    "files.associations": {
        "type_traits": "c",
        "riotee_timing.h": "c",
        "riotee_stella.h": "c"
    },
    "editor.formatOnSave": true,
}

And these are the warnings in the output after opening the folder in VS code:
[1/25/2024, 11:11:07 AM] Unable to resolve configuration with compilerPath "/arm-none-eabi-gcc".  Using "cl.exe" instead.
[1/25/2024, 11:11:07 AM] Unable to resolve configuration with compilerPath "/arm-none-eabi-gcc".  Using "cl.exe" instead.

This is the extra output when adding the line to the SDK's makefile:
PREFIX is ""arm-none-eabi-

Ah I see, it's just the linting etc in VSC. Compliation works fine, right? I found the problem, will think of a solution.

I changed a definition which may fix your problem. Unfortunately, I ran into another issue that prevents IntelliSense from finding the compiler. I've reported the issue here: https://github.com/microsoft/vscode-cpptools/issues/11903
Please check if 7cf076f05d8d71011c9717fe3b7726bb06383904 fixed your problem. If not, please add the path to your compiler under gnuInstallRootin settings.json with a trailing slash. That should make IntelliSense work for you.

The proposed bugfix does not solve the problem, because VS code then looks for the compiler in the current project directory (at least on Windows).
However, setting gnuInstallRoot does fix the problem. It's not a great solution because the configuration file now contains a hard-coded local path (hard to share code between machines) but it works for now and compilation is fine anyways as you mentioned.
Thanks! I'll close the issue for now.

FYI: This bug has been fixed in vscode 1.19 and you should no longer get the error message.


Adding web jobs as a deployment possibility

Because it can and does work for that too.

@vincent1173 - no love for a one word update that opens up a possibility?


Flatout Head On freezes/crashes due to repacked .BFS file

I can unpack the FLATOUT.BFS file just fine using the command bfstool extract FLATOUT.BFS Output, which gives me an Output folder, which contains a data folder, which has 12 sub folders in it. However, if I were to repack it using the command bfstool archive --format v2 --file-version 05050420 --filter foho --copy-filter foho FLATOUT.BFS data, I get a .BFS file that is around 500KB bigger in size even though nothing was changed. Using this .BFS file causes the PPSSPP emulator to crash. What is more odd though, is that both .BFS files give identical data folders when unpacked. All I'm trying to do is make the three playlist .bed files identical so all music plays everywhere, and to add some new songs. When I initially tried to modify those files, the repacked .BFS file would just freeze, either at the copyright info screen or on the start screen which was missing the background.
As for which one I'm using, I'm using Sewer56's fork. Tried this one, but it says the only valid value for format is bzf2001

I can ask the repo author personally to check. However use the mainline version, v2 of bfstool has most if not all of the improvements from my original fork already present.

Likely the same issue as #1, I am planning to write extraction support fully for all formats on the dev-2.0 branch before adding archive creation support. A fix for the old version isn't planned.

Decided to briefly come back to this, the issue was a small typo in all 3 playlist .bed files, due to them being copies of each other. So, I fixed them, and it kind of works. The new BFS file is around 8MB larger in size, and using that one, I have noticed 3 problems:

Some backgrounds, like the start menu and main menu, are missing, and are just black.
Songs will stop playing. It may play 3 or 10 songs, for example, in the main menu then just stops, if I load an event, it will play songs for a while then stop again, restarting, quitting to the menu and quitting to the menu then starting another event do not work.
I can't unpack the file to see what's potentially missing or wrong because bfstool does not recognise the file. Somehow, despite using the right archive information, it archives it in a way it doesn't recognise. And it has nothing to do with it being modded, as it occurs even with an unmodded version of the data folder, and it can correctly identify and unpack the BFS file of a modded copy I found online.


pictures uploaded by api disapeared after updated to 0.8.0 from  0.7.2

Describe the bug
1. pictures uploaded by api disapeared after updated to 0.8.0 from  0.7.2 :

2. logs:

3. when i paste my domain with the base64 link in browser,the picture shows up;

4.  seems taht nothing wrong in database;
resousce:

memo:

Steps to reproduce
1. backup database && update memos :
cp /data/memos/memos_prod.db  ~/desktop/memosbak/memos_prod.db_`date +%y%m%d`
docker-compose down && docker image rm neosmemo/memos:latest && docker-compose up -d

2. check it out in browser,ops~

Screenshots or additional context
No response

Already fixed in #623, please update your container again.


feat: very good analysis

Regarding very_good_analysis, I disabled two rules that were used extensively in the library

library_private_types_in_public_api. A private method is returned in two functions
https://github.com/felangel/mocktail/blob/447575a846ccb558abea11e148abe2bd4e96de99/packages/mocktail/lib/src/mocktail.dart#L334
parameter_assignments. I not sure how to rename the inner variables vs the method parameters
https://github.com/felangel/mocktail/blob/447575a846ccb558abea11e148abe2bd4e96de99/packages/mocktail/lib/src/mocktail.dart#L26-L32

Status
IN DEVELOPMENT
Breaking Changes
NO
Description

Type of Change

[X] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🧹 Code refactor
[ ] ✅ Build configuration change
[ ] 📝 Documentation
[ ] 🗑 Chore

@jamesblasco just merged #150 if you have some time are you able to resolve the merge conflicts? Thanks!

Closing since this was addressed by #203


ux-redesign: Made snapshot improvements in new detail dashboard.

List of improvements:

When snapshot is deleting, buttons are disabled
When restoring, buttons are disabled for all snapshots
While creating new snapshot, button Create snapshot is disabled
Changed description to name
Removed cloud-init and replace it by NICs
Fixed bug with missing disks
Fixed bug with locked icon when creating snapshot
Added close button to popover
When click enter in new snapshot modal it create new snapshot

Restoring:

Deleting:

Popover:

thanks! followed up and thus replaced by #783


[Frontend] Implement UI components to upload images

Implement the UI options to allow the user to upload images.
The images being displayed are in a sort "gallery" undearneath the post, instead of directly embedded in the content.

Vuetify component for frontend gallery to be chosen

V-Carousel chosen to display images. Implementation done in dev branch, but won't be merged for production.


Create 0000-01-02-rachelnf.md

created a branch, created a file and made a commit, and opened a pull request


--config not working

I tried to create and use the config file but received the following error:
$ gw2pvo --config /etc/gw2pvo.cfg --log debug
usage: gw2pvo [-h] --gw-station-id ID --gw-account ACCOUNT --gw-password
PASSWORD [--pvo-system-id ID] [--pvo-api-key KEY]
[--pvo-interval {5,10,15}] [--darksky-api-key DARKSKY_API_KEY]
[--log {debug,info,warning,critical}] [--date YYYY-MM-DD]
[--pv-voltage] [--skip-offline] [--city CITY] [--csv CSV]
[--version]
gw2pvo: error: the following arguments are required: --gw-station-id, --gw-account, --gw-password

Most likely you installed the latest release. I haven't released this change yet, so if you want to use it, you must clone the git repo yourself and use that gw2pvo source.

Another cause could be that the config file is missing these settings. Are you using underscores instead of dashes as in the example in README.md? Can you share us your config file?

Most likely you installed the latest release. I haven't released this change yet, so if you want to use it, you must clone the git repo yourself and use that gw2pvo source.

Yes, indeed I installed the latest release. That is the cause of the problem then. I will close the issue.

+1 for enthusiasm


How to get appearance  feature for video representation with a shape as (16, 2048)

Hi, I just find the data shape of appearance and motion feature for video representation whitch your provide in the vid_feat.zip is (16, 2048), but With code provided by [HCRN], the appearance  feature for video representation with a shape as (8, 16, 2048), So How can I get a  appearance  feature with shape as (16, 2048). Looking farword to your reply, thanks!

Please use the middle frame of the clip for appearance representation.

Please use the middle frame of the clip for appearance representation.

Get it, thanks!

Hi, thank you for sharing such a great codebase! Does "the middle frame of the clip" indicate that you use the 8th and 9th frame in each clip(16 frames total) for appearance representation?

Hi, there is no need to be so precise, we actually chose the 9th (16//2, from 0) one .
Yes, the order should be kept same..

Thanks for your reply! It may make sense for me. You chose one frame for each clip, so you set the clip number as 16 rather than 8 as the HCRN?

@FFFFF123456 @wangbq18 hello, could I ask if you could abstract the same appearance feature that the author provided? For example, for the validation set, I set the clip as 16 and I abstract the 8th or 9th(actually I compare all the frames in one clip) frame appearance vector of the first clip and compare the first frame vector of the provide appearance vector, both dimension are (2048,), but I find the appearance vector is different. how about yours?

这是来自QQ邮箱的假期自动回复邮件。

您好!我已收到您的邮件！


Some features added to your original skeleton

Hello,
FYI, I have created a dockerized version of jmx-exporter starting from your original skeleton.
https://github.com/eedugon/jmx-exporter-dockerized
I have added some features like dynamic configuration from environment variables provided when creating the docker.
Regards!
Eduardo

Glad you found it useful. The recommended way of running JMX exporter is as an agent so I've not provided a whole bunch of config options as this is generally more useful as a development / test utility. Reloading the whole config file is more useful in this scenario as that will become the agent config in a production environment. Thanks!


Failing to add reference to System.Runtime.InteropServices.RuntimeInformation dll

Description
Hi I tried to install  MongoDB.Driver and looks like it not adding all of it dependencies to the solution
paket correctly resolves all of the dependencies in the lock file:
MongoDB.Bson (2.4)
MongoDB.Driver (2.4)
MongoDB.Bson (>= 2.4)
MongoDB.Driver.Core (>= 2.4)
MongoDB.Driver.Core (2.4)
MongoDB.Bson (>= 2.4)
System.Runtime.InteropServices.RuntimeInformation (>= 4.0)
System.Runtime.InteropServices.RuntimeInformation (4.3)
But in project file it not adding  reference for System.Runtime.InteropServices.RuntimeInformation
Repro steps
Download attached file, rename it to zip,  you will find inside two solution one using nugget other using paket
Repro.txt
Expected behavior
All references should be added to csproj

@forki I had same issue with another package Troschuetz.Random it dependent on Thrower and Thrower is not added to project

Do you have a repro for the second one? I assume they have different root causes

Yes you correct it a different issue here it looks like Thrower is not added to paket.lock here repro
PaketWithProblem.zip.txt

regarding case1: if I run install I see:

so I assume it is a caching issue. Can you please run paket clear-cache and try again?

regarding case 2: are you sure nuget is installing that dep for net451? It does not have net451 case in meta data

@matthid: https://www.nuget.org/packages/Troschuetz.Random/ yet another way...

@matthid @tsibelman I think it should be done like this: https://github.com/pomma89/Troschuetz.Random/pull/3

For case 1 clear cache worked thank you , I will be sure to make it as first step to solve problems in the future. For case 2 I don't sure what you suggesting

I tried adding Troschuetz.Random via nugget and it worked correctly maybe it relies on Portable Class Library (.NETFramework 4.5, Windows 8.0, WindowsPhone 8.0, WindowsPhoneApp 8.1) ?

I need to dig a bit deeper. but I hope pomma89/Troschuetz.Random#3 gets merged
meanwhile you can manually add the Thrower dep to your deps and references file

@forki  Looks like real issue exists with MongoDB.Driver if I add  NETStandard.Library to paket.dependencies that has reference to System.Runtime.InteropServices.RuntimeInformation 4.3 paket takes ver 4.3 as it should but in app.config it redirects to older version like this oldVersion="<IP_ADDRESS>-65535.65535.65535.65535" newVersion="<IP_ADDRESS>" it looks like the same issue as #2090,
You can check attached repro
PaketWithProblem.zip.txt

It looks like mono.cecil says the /ref/netstamdar1.1/System.Runtime.InteropServices.RuntimeInformation.dll has version <IP_ADDRESS>

seems dotpeek aggrees

It not works in runtime it tries to load <IP_ADDRESS> and fails

I don't really know what going wrong now. The version of the lib is clearly <IP_ADDRESS> and that's what we put into the app.config. Seems we need to find expert in this area

I see now that it marked in csproj as CopyLocal=False, maybe this the issue ?

With CopyLocal=False I get this exception
Could not load file or assembly 'System.Runtime.InteropServices.RuntimeInformation, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
With CopyLocal=True I geting this exception
Could not load file or assembly 'System.Runtime.InteropServices.RuntimeInformation, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Reference assemblies should not be loaded for execution.  They can only be loaded in the Reflection-only loader context. (Exception from HRESULT: 0x80131058)
WTF ?

Downgrade the mongo driver to 2.2.4 works for me. They forgot to set dependency in the nuget. Although the ticket is closed as fixed in 2.4
https://jira.mongodb.org/browse/CSHARP-1807

Ok @forki  I found the root issue, looks like this reference is handled differently in nugget so I changed the csproj to make it work.
Original created via paket
    <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5.1'">
      <ItemGroup>
        <Reference Include="System.Runtime.InteropServices.RuntimeInformation">
          <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation\ref\netstandard1.1\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
          <Private>False</Private>
          <Paket>True</Paket>
        </Reference>
      </ItemGroup>
    </When>

Here is the version that I changed by hand in order to make it work, I bolded changes
  <Choose>
    <When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5.1'">
      <ItemGroup>
        <Reference Include="System.Runtime.InteropServices.RuntimeInformation">
          <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation\**lib\net45**\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
          <Private>**True**</Private>
          <Paket>True</Paket>
        </Reference>
      </ItemGroup>
    </When>
  </Choose>

wtf .net 451 should be compatible with .NET standard 1.1

Looks like dlls in different folders are different in size so I don't know what going on here, also I don't understand the difference between ref and lib folders, why paket is pointing to ref ?

it shouldn't - just checking that

/cc @matthid

please retry

It works . You the best.

I think you should use ref for compiling and lib for copying in this new world... This probably breaks some stuff in fake.vnext but I'm not sure if there is a simple fix for that...

Ah that makes sense.
Am 20.12.2016 6:14 nachm. schrieb "Matthias Dittrich" <
<EMAIL_ADDRESS>
I think you should use ref for compiling and lib for copying in this new
world... This probably breaks some stuff in fake.vnext but I'm not sure if
there is a simple fix for that...
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/2072#issuecomment-268301145,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADgNAN3NL_9f1me-Z_kuzeoeV6gP6zGks5rKA0DgaJpZM4LGTXm
.

I had this on my radar and probably need to handle that sooner or later. But I have no idea how it would look in a perfect world. Its unrealistic that I have time for this anytime soon (maybe vacation...)

Now it doesn't work in mono/linux.
Paket downloads the System.Runtime.InteropServices.RuntimeInformation.dll (4.3) from nuget, but it seems to be a windows version - it calls into ntdll.dll on runtime and fails.
In my GAC I have a binary different from it. My program works fine if I manually delete the dll from build directory. MongoDB.Driver.Core 2.3 didn't referenced this dll, so as a workaround one can stick to 2.3 or delete it in the build script.

[Not using Paket] but I finally managed to get MongoDB 2.4.4 to work by adding the following to web.config:
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>

There is some extreme version wierdness going on with that DLL and the Nuget package containing it.

Again, the same issue for dependency hell, add SOF refers for future visitors


Logging configurable level and format

Preview of logfmt (key-value pair) format.

Note: Have also removed logging to file and  have only console logging.

Preview of logfmt (key-value pair) format.

Note: Have also removed logging to file and have only console logging.

Can remove CAT_URL?

Not much of use I feel, source of logs i.e. 'cat' is known from "source" key.
Bloats the the log, difficulty in reading
Will look like this  without it:

with highlight and no sl4j error logs in initial startup

The series of commits makes changes on following files only:

src/main/resources/log4j2.xml

pom.xml (adding SL4J dependency)

docker-compose.yml

Squash and merge as one commit as there are many commits with very less changes.


Risk command for Pkers.

It would be cool with a command Plug-in, that tells in the chat how much you risk atm.

Or it can be used in risk fights so you dont get scammed.

This would be a terrible idea. Anyone could run their own build which would report false values.

Could you elaborate what you mean with that, or maybe im explaining it bad.
what i want is a "!risk" command that tells in chat the same info you get when you check "View items kept on death -> Guide risk value"
kinda like !kc or !price

There is no financial incentive to fake !kc or !price data. Since there is financial incentive to fake !risk data, it would be heavily abused and rendered useless.


Chapter 5 Client Side Paging

Hello,
The client side pagination implemented in chapter 5 for the section "Client-side paging" does not seem functional. The programming done in that section imports the pagination tools, but never uses it so the pagination has no information linked to it.
The problem seems get resolved once the server-side pagination is implemented later on in the chapter

I see the same. The paginator is there, it just doesn't do anything.

Hello there,
thank you for pointing out that issue, which was really difficult to fix in advance since it's related to a bunch of source code that gets updated throughout the same chapter later on and therefore never happened to hit the GitHub repository 👍
Here's the cities.component.ts file fixed source code that makes the client-side pagination work:
import { Component, Inject, ViewChild } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { MatTableDataSource } from '@angular/material/table';
import { MatPaginator } from '@angular/material/paginator';

import { City } from './city';

@Component({
  selector: 'app-cities',
  templateUrl: './cities.component.html',
  styleUrls: ['./cities.component.css']
})
export class CitiesComponent {
  public displayedColumns: string[] = ['id', 'name', 'lat', 'lon'];
  public cities: MatTableDataSource<City>;

  @ViewChild(MatPaginator) paginator: MatPaginator;

  constructor(
    private http: HttpClient,
    @Inject('BASE_URL') private baseUrl: string) {
  }

  ngOnInit() {
    this.http.get<City[]>(this.baseUrl + 'api/Cities')
      .subscribe(result => {
        this.cities = new MatTableDataSource<City>(result);
        this.cities.paginator = this.paginator;
      }, error => console.error(error));
  }
}

It goes without saying that you also need to "revert" the changes made to the cities.component.html and CitiesController.cs files in case you updated them to implement the server-side pagination: their source code is the same described in the book up to pages 224-226 hence they don't need a fix, but they get breaking changes later on in Chapter 5.
I've added a /ClientApp/src/app/cities/_clientSidePagination/ folder that contains the relevant angular files and a _README.txt file explaining how to properly implement the client-side pagination within the Chapter 5 source code for demonstration purposes: you should be 100% able to try it now and see how it works. I've also updated the book content (pages 224-226) so that the next edition will have this fixed as well: thank you again for finding the bug!


Check your bitcoin wallet bro

There's a present for you, because you didn't see it.

Uh wow! Thank you very much!
This is very kind of you.
Is there anything you want to see in rssh that would improve how you use it?

Im currently working on a server command that makes the client/s open a port that is a direct tcp forward back to the server port.
So when pivoting through networks you can just point clients at each other rather than having to do the SSH -R reverse forward repeatedly, or finding a way to talk to the server directly.
Should make catching rssh client reverse connections when deep in networks easier

Yes in principle everything we wanted, you added in the latest updates :D nothing comes to mind yet.

Howdy, Im just writing sponsors into the readme. If you wanted me to put up a logo/group name or anything other than chikamobina in there just shoot me a message!


DualInfeasible status is invalid

The :DualInfeasible status returned by ConicIP is not a standard return status. The convention is for this to be :Unbounded, even though it's slightly misleading. There's definitely scope for clarifying duality failure states, but if the solver isn't doing any checking of whether dual infeasible means primal unbounded or primal infeasible, I think it's ok to go ahead and return :Unbounded through the MathProgBase interface. I can throw together a PR for this if you'd like.

i can take care of this, i'm deep in the code anyway

done


Add set based operations for arrays: array_intersect, array_union, array_except, and arrays_overlap for running on GPU

Fixes #4932, #5228 , #5188, and #5222. Requires https://github.com/rapidsai/cudf/pull/11043 and https://github.com/rapidsai/cudf/pull/11143 to be merged.
This implements the SQL functions for set-based operations on arrays array_intersect, array_union, array_except, and arrays_overlap for running on the GPU. A few caveats:

There is a minor bug (https://github.com/NVIDIA/spark-rapids/issues/5957) that came up when testing array_union, and it looks like a bug in the partitioning code when using collect()

The 3 operations array_intersect, array_union and array_except cannot guarantee the same order when used on the GPU vs the CPU (because they are set-based operations), so we wrap these operations in sort_array(...) call for testing purposes.

arrays_overlap returns a boolean result value, so there is no need to sort, but the implementation is complicated because of these requirements for the function implementation (see https://spark.apache.org/docs/3.2.1/api/sql/index.html#arrays_overlap)

arrays_overlap(a1, a2) - Returns true if a1 contains at least a non-null element present also in a2. If the arrays have no common element and they are both non-empty and either of them contains a null element null is returned, false otherwise.

It looks like -0.0 and 0.0 are distinct as far Spark is concerned in sets. All other special cases (including NaN and pos/neg infinity) do pass though. Last commit ensures at least those are all handled by the integration test.

It looks like -0.0 and 0.0 are distinct as far Spark is concerned in sets. All other special cases (including NaN and pos/neg infinity) do pass though. Last commit ensures at least those are all handled by the integration test.

Please file an issue against Spark for this. I have done something similar in the past.
https://issues.apache.org/jira/browse/SPARK-32110
In general I think that Spark wants to have -0.0 = 0.0, but in this case they are calling doubleToLongBits or floatToIntBits for the hash that they use, which results in the problems that we see.

It looks like -0.0 and 0.0 are distinct as far Spark is concerned in sets. All other special cases (including NaN and pos/neg infinity) do pass though. Last commit ensures at least those are all handled by the integration test.

Please file an issue against Spark for this. I have done something similar in the past.
https://issues.apache.org/jira/browse/SPARK-32110
In general I think that Spark wants to have -0.0 = 0.0, but in this case they are calling doubleToLongBits or floatToIntBits for the hash that they use, which results in the problems that we see.

Yes, see here: https://github.com/apache/spark/blob/2e2b1ae1021bc4bc99f9749e05e4770be3aec43f/core/src/main/scala/org/apache/spark/util/collection/OpenHashSet.scala#L312-L321

Filed https://issues.apache.org/jira/browse/SPARK-39845 for this specific issue

It looks like -0.0 and 0.0 are distinct as far Spark is concerned in sets. All other special cases (including NaN and pos/neg infinity) do pass though. Last commit ensures at least those are all handled by the integration test.

Please file an issue against Spark for this. I have done something similar in the past.
https://issues.apache.org/jira/browse/SPARK-32110
In general I think that Spark wants to have -0.0 = 0.0, but in this case they are calling doubleToLongBits or floatToIntBits for the hash that they use, which results in the problems that we see.

Yes, see here: https://github.com/apache/spark/blob/2e2b1ae1021bc4bc99f9749e05e4770be3aec43f/core/src/main/scala/org/apache/spark/util/collection/OpenHashSet.scala#L312-L321

Wait, if floating-point data is bit-casted to int for hashing then -NaN is expected to compared not the same as NaN. @NVnavkumar Can you check this, and update your filed issue too?

Wait, if floating-point data is bit-casted to int before hashing then -NaN is expected to be compared not the same as NaN. @revans2 Is -NaN != NaN the correct behavior in this case (for sets)? I tested @NVnavkumar example and see this:
scala> spark.sql("SELECT array_union(array('NaN'), array('-NaN'))").show
+------------------------------------+
|array_union(array(NaN), array(-NaN))|
+------------------------------------+
|                         [NaN, -NaN]|
+------------------------------------+

@NVnavkumar Can you check this too, and update your filed issue if necessary, please?

I think your example is using the string version of NaN and -NaN. In our special cases, we actually have the following:
_non_neg_zero_float_special_cases = [
    FLOAT_MIN,
    FLOAT_MAX,
    -1.0,
    1.0,
    0.0,
    float('inf'),
    float('-inf'),
    float('nan'),
    NEG_FLOAT_NAN_MAX_VALUE <--- I think this should be -NaN
]

So I think this will be handled properly. This case is actually a little more difficult to create than the +/- 0.0 case because I think the programming languages will usually normalize -NaN before they even hit Spark. I also added float('-nan') to these cases and still had all tests passing.
In CPU spark, it does seem to work more as expected:
scala> val df = spark.sql("SELECT array_union(array(cast('NaN' as double)), array(cast('-NaN' as double)))")
df: org.apache.spark.sql.DataFrame = [array_union(array(CAST(NaN AS DOUBLE)), array(CAST(-NaN AS DOUBLE))): array<double>]

scala> df.collect
res0: Array[org.apache.spark.sql.Row] = Array([WrappedArray(NaN)])

Another example:
scala> val df = List((Array(Double.NaN), Array(-Double.NaN))).toDF("a","b")
df: org.apache.spark.sql.DataFrame = [a: array<double>, b: array<double>]

scala> df.selectExpr("array_union(a, b)").collect
res1: Array[org.apache.spark.sql.Row] = Array([WrappedArray(NaN)])

What's wrong with my spark-shell (spark 3.1.2)?
scala> spark.sql("SELECT array_union(array(cast('nan' as double)), array(-cast('-nan' as double)))").show
+------------------------------------------------------------------------+
|array_union(array(CAST(nan AS DOUBLE)), array((- CAST(-nan AS DOUBLE))))|
+------------------------------------------------------------------------+
|                                                             [NaN, null]|
+------------------------------------------------------------------------+

scala> spark.sql("SELECT array_union(array(cast('nan' as double)), array(-cast('nan' as double)))").show
+-----------------------------------------------------------------------+
|array_union(array(CAST(nan AS DOUBLE)), array((- CAST(nan AS DOUBLE))))|
+-----------------------------------------------------------------------+
|                                                             [NaN, NaN]|
+-----------------------------------------------------------------------+

scala> val df = List((Array(Double.NaN), Array(-Double.NaN))).toDF("a","b")
df: org.apache.spark.sql.DataFrame = [a: array<double>, b: array<double>]

scala> df.selectExpr("array_union(a, b)").collect
res17: Array[org.apache.spark.sql.Row] = Array([WrappedArray(NaN, NaN)])

@NVnavkumar Did you generate your last example by running on the GPU? I did mine on the CPU. If the correct behavior for comparing NaNs is that they are always considered unequal then I need to fix the JNI layer to pass in the correct NaN comparison parameter.

@NVnavkumar Did you generate your last example by running on the GPU? I did mine on the CPU. If the correct behavior for comparing NaNs is that they are always considered unequal then I need to fix the JNI layer to pass in the correct NaN comparison parameter.

Both examples were on the CPU, Spark 3.2.1

Tried with Spark 3.1.3
scala> val df = List((Array(Double.NaN), Array(-Double.NaN))).toDF("a","b")
df: org.apache.spark.sql.DataFrame = [a: array<double>, b: array<double>]

scala> df.selectExpr("array_union(a, b)").collect
res0: Array[org.apache.spark.sql.Row] = Array([WrappedArray(NaN)])

But in Spark 3.1.1, there is this behavior:
scala> val df = List((Array(Double.NaN), Array(-Double.NaN))).toDF("a","b")
df: org.apache.spark.sql.DataFrame = [a: array<double>, b: array<double>]

scala> df.selectExpr("array_union(a, b)").collect
res0: Array[org.apache.spark.sql.Row] = Array([WrappedArray(NaN, NaN)])

Do we have any config for this? If we can retrieve the config in Spark then we can select the right parameter to call cudf API.

This is interesting, because in the JDK itself, Double.doubleToLongBits actually shortcuts the NaN condition:
https://github.com/openjdk/jdk/blob/a0a0539b0d3f9b6809c9759e697bfafd7b138ec1/src/java.base/share/classes/java/lang/Double.java#L860-L865
So I guess Spark wasn't using it before 3.1.3

Do we have any config for this? If we can retrieve the config in Spark then we can select the right parameter to call cudf API.
Similar to this:
https://github.com/NVIDIA/spark-rapids/blob/f2d6157251dae10874e868337213c150d080048c/sql-plugin/src/main/scala/com/nvidia/spark/rapids/GpuOverrides.scala#L3368

It looks like they switched to SQLOpenHashSet in 3.1.3 and added the NaN check:
https://github.com/apache/spark/blob/d1f8a503a26bcfb4e466d9accc5fa241a7933667/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/collectionOperations.scala#L3215
Here's the PR: https://github.com/apache/spark/pull/33955 and the original Spark issue with NaN: https://issues.apache.org/jira/browse/SPARK-36741

I think I will try to xfail the test for 3.1.1 and 3.1.2 and file a follow up issue for the NaN case.

build

build

build


Subscribe does not respect timeouts

We have a server that does sometimes not answer to Subscribe. In that case our application stalls. Timeouts do not seem to handle this.
I'm creating a subscription client with:
WithRetryTimeout(10 * time.Second).
WithTimeout(time.Second).

For such a client I would expect that Subscribe returns an error if subscription is not successful after RetryTimeout. However, the actual subscription never returns:
_, err := t.client.Subscribe(&query, map[string]any{
	"homeId": graphql.ID(t.homeID),
}, func(data []byte, err error) error {
	...
	return nil
})
if err != nil {
	...
}

I would have expected that Subscribe returns with a timeout after a second since the underlying web socket connection seems intact. Instead, the log shows repeated retries until finally we hit the rate limit:
[pulse ] TRACE 2024/12/06 09:06:03 {"type":"connection_init","payload":{"token":"***"}} client
[pulse ] TRACE 2024/12/06 09:06:03 {"type":"connection_ack"} server
[pulse ] TRACE 2024/12/06 09:06:03 {"id":"c8565f2c-3d49-4b09-bc9b-fa7c0e213beb","type":"subscribe","payload":{"query":"subscription ($homeId:ID!){liveMeasurement(homeId: $homeId){power,powerProduction,lastMeterConsumption,lastMeterProduction,currentL1,currentL2,currentL3}}","variables":{"homeId":"***"}}} client
[pulse ] TRACE 2024/12/06 09:06:04 {"id":"c8565f2c-3d49-4b09-bc9b-fa7c0e213beb","type":"complete"} client
...
[pulse ] TRACE 2024/12/06 09:06:04 failed to WebSocket dial: expected handshake response status code 101 but got 429. retry in 1 second... client

Subscribe however never  returns an error.
Even with WithRetryTimeout > 0 the Subscribe never returns. Without the WithTimeout, the Subscribe blocks:
[pulse ] TRACE 2024/12/06 09:12:46 POST https://api.tibber.com/v1-beta/gql
[pulse ] TRACE 2024/12/06 09:12:46 {"query":"{viewer{websocketSubscriptionUrl}}"}
--
{"data":{"viewer":{"websocketSubscriptionUrl":"wss://websocket-api.tibber.com/v1-beta/gql/subscriptions"}}}
[pulse ] TRACE 2024/12/06 09:12:46 {"type":"connection_init","payload":{"token":"***"}} client
[pulse ] TRACE 2024/12/06 09:12:46 {"type":"connection_ack"} server
[pulse ] TRACE 2024/12/06 09:12:46 {"id":"4c31a7fb-b003-411a-be8c-7eaa4520949a","type":"subscribe","payload":{"query":"subscription ($homeId:ID!){liveMeasurement(homeId: $homeId){power,powerProduction,lastMeterConsumption,lastMeterProduction,currentL1,currentL2,currentL3}}","variables":{"homeId":"***"}}} client

-> stalled

IIRC the timeout setting is for the Websocket connection only.  In your use case, the client could handshake the WebSocket connection successfully. The client then emits the subscription request and waits until the server responds. This process is asynchronous and doesn't have a timeout.

Do you have a suggestion how to handle this server? I.e., if I start the subscription and a timeout in parallel- can I just re-subscribe when I come back later for another request? These would be two open subscription requests then?

if I start the subscription and a timeout in parallel- can I just re-subscribe when I come back later for another request? These would be two open subscription requests then?

Yes. These would be two open subscription requests.
You can store the subscription ID and use the client.Unsubscribe method to stop the subscription.

You can store the subscription ID and use the client.Unsubscribe method to stop the current subscription before subscribing new one.

Tried this and found the resulting code really hard to read and cumbersome.
Looking at the flow once more and after doing some more testing I'm still not sure exactly what goes on:

WithRetryTimeout cares about the physical connection- that is established
WithTimeout is read/write timeout

What I see is that Subscribe never returns and repeats to subscribe after WithTimeout, even if WithRetryTimeout is non-zero. More specifically, it never returns after WithRetryTimeout (probably since the connection is alive).
All this is happening before the subscribe handler is ever invoked (which would happen asynchronously). That makes it- if I'm not totally mistaken- very hard to reason about Subscribe or handle subscription errors for this specific case.
I wish there was another timeout for this case- either specific to subscribe or potentially as a WithMaxAttempts that might limit the number of times a timeout is being retried.
Does this make any sense?

Just to clarify those timeout settings are used for the WebSocket connection only.
The subscription follows Protocol specs (subscriptions-transport-ws and graphql-ws) and the timeout is usually handled by the server side. I don't know how other clients handle this use case. The behavior is different in each protocol.

Thank you, much appreciated.


SuperModel generator doesn't remove -'s from names

If you create a supermodel like so:
donejs add supermodel my-new-model
It will generate model files with out removing the "-" from variable names
like this:
export const My-New-Model = can.Map.extend({
  define: {}
});

This makes javascript sad :[

Hm, I thought _.kebabCase does that. I'll double check.

Oh... it has to be _.camelCase indeed.


Improve README file

Added a requirements.txt file to the repo
Added a section on installation in README.md

Thanks for your input!


QuantifiedCode will be closing soon?

It looks like QuantifiedCode will be shutting down soon.
A good alternative is: landscape.io and codeclimate
Both of them provide python code quality checks.
For code coverage, I had really good results with coveralls.io, and nosetests can be easily integrated with their API.
You can  also attach  coveralls.io, landscape.io, and github activities (pull requests) to a slack channel.

I just heard this as well and I'm pretty sad. I'll check out landscape and codeclimate! I've been meaning to set up code coverage - that should be a separate issue - could you help me with that?
I do have our build systems set up to notify our internal slack - so helpful!

@Aylr I can help setup code coverage. It's very simple, and a one time process. Coveralls integrate with nosetests nicely. I can guide you through the process in this issue or slack.

Let's follow up in slack!

Closing please see #344


Add source language for Common Lisp [phab:D905]

Created by fromberger at 2016-05-24 22:06:12:

fromberger wrote at 2016-05-24 22:07:10:
Please add yourself to the CONTRIBUTORS file too, while you're here.

jinwoo wrote at 2016-05-24 22:23:43:
Added myself to CONTRIBUTORS. But this is an embarrassingly small change :)

jinwoo wrote at 2016-05-24 22:26:13:
Do I have to set the repository to "rK Kythe"?

fromberger wrote at 2016-05-25 16:43:07:

! In (earlier comment), jinwoo wrote:
Added myself to CONTRIBUTORS. But this is an embarrassingly small change :)

That's okay—I'm hoping you'll be making bigger ones later. :) I think your existing indexing code is based on SBCL, right?

fromberger accepted this revision at 2016-05-25 16:43:13

jinwoo wrote at 2016-05-25 16:54:26:

! In (earlier comment), fromberger wrote:

! In (earlier comment), jinwoo wrote:
Added myself to CONTRIBUTORS. But this is an embarrassingly small change :)

That's okay—I'm hoping you'll be making bigger ones later. :) I think your existing indexing code is based on SBCL, right?

Yes, it's based on SBCL.

fromberger wrote at 2016-05-25 17:17:34:
Commandeered for submission.

fromberger closed via commit d586d8a2787f4f3f4ae55bd0933ba8157c13337b at 2016-05-25 17:17:54


Build error: directory does not exist

Please see below. Could you reproduce it ? Thanks.
./FullBuild.sh
...

[ 91%] Completed 'ParMETIS'
[ 91%] Built target ParMETIS
make: *** [Makefile:84: all] Error 2
CMake Error: The source directory "/path/to/HemePure-GPU/src/build/src" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
make: *** No targets specified and no makefile found.  Stop.

Hi,
You need to change /Path_To_GPU_code to the absolute path of the downloaded code in line 11 of FullBuild.sh: export SOURCE_DIR=/Path_To_GPU_code.