Can't build on macOS Sierra

I'm trying to build on 10.12.3, but am getting an error. I assume chunkwm is actually buildable right now? I'm not sure if anyone else has actually ran it, does it have any special requirements? Just looking to poke around right now, unless its not in a really poke-able state.
Looking at the error this could be because I'm using clang++? Is gcc a requirement? If so, then maybe we could add a building section to the readme with requirements? I guess you aren't really expecting anybody to be trying to use chunkwm right now...
g++ src/core/chunkwm.mm -O0 -g -DCHUNKWM_DEBUG -std=c++11 -Wall -Wno-deprecated -o bin/chunkwm -rdynamic -ldl -lpthread -framework Carbon -framework Cocoa
In file included from src/core/chunkwm.mm:20:
In file included from src/core/../common/misc/workspace.mm:1:
In file included from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:13:
In file included from /System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:50:
In file included from /System/Library/Frameworks/AppKit.framework/Headers/NSCIImageRep.h:10:
In file included from /System/Library/Frameworks/QuartzCore.framework/Headers/CIImage.h:1:
In file included from /System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h:10:
In file included from /System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h:29:
In file included from /System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h:449:
In file included from /System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBufferIOSurface.h:22:
In file included from /System/Library/Frameworks/IOSurface.framework/Headers/IOSurface.h:12:
In file included from /System/Library/Frameworks/IOSurface.framework/Headers/IOSurfaceBase.h:35:
In file included from /usr/include/xpc/xpc.h:332:
In file included from /usr/include/launch.h:25:
In file included from /usr/include/mach/mach.h:70:
/usr/include/mach/mach_host.h:120:12: error: invalid storage class specifier in function declarator
        boolean_t internal,
                  ^
src/core/../common/accessibility/window.cpp:7:18: note: expanded from macro 'internal'
#define internal static
                 ^
In file included from src/core/chunkwm.mm:20:
In file included from src/core/../common/misc/workspace.mm:1:
In file included from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:13:
In file included from /System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:50:
In file included from /System/Library/Frameworks/AppKit.framework/Headers/NSCIImageRep.h:10:
In file included from /System/Library/Frameworks/QuartzCore.framework/Headers/CIImage.h:1:
In file included from /System/Library/Frameworks/CoreImage.framework/Headers/CIImage.h:10:
In file included from /System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h:29:
In file included from /System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBuffer.h:449:
In file included from /System/Library/Frameworks/CoreVideo.framework/Headers/CVPixelBufferIOSurface.h:22:
In file included from /System/Library/Frameworks/IOSurface.framework/Headers/IOSurface.h:12:
In file included from /System/Library/Frameworks/IOSurface.framework/Headers/IOSurfaceBase.h:35:
In file included from /usr/include/xpc/xpc.h:332:
In file included from /usr/include/launch.h:25:
In file included from /usr/include/mach/mach.h:70:
/usr/include/mach/mach_host.h:242:12: error: invalid storage class specifier in function declarator
        boolean_t internal,
                  ^
src/core/../common/accessibility/window.cpp:7:18: note: expanded from macro 'internal'
#define internal static
                 ^
2 errors generated.
make: *** [bin/chunkwm] Error 1

Great, it appears that the name i'm using for my static define is actually used as a variable name in one of the sysem header files in MacOS 10.12.
It builds just fine for me, and works quite well for single-monitor setups right now.
You can try to edit: src/common/misc/workspace.mm and
undefine the macro before the include happens.
So instead of having
#include <Cocoa/Cocoa.h>

turn that into
#undef internal
#include <Cocoa/Cocoa.h>
#define internal

This might be needed in more places, this does not seem to be a problem on El Capitan so I can't test this.

#undef internal
#include <Cocoa/Cocoa.h>
#define internal

That's fixed it. Builds and runs.
I'll perform aforementioned poking around and see if I have any Sierra specific issues. Thanks so much, I really appreciate the work on kwm and chunkwm!

Thanks for letting me know, the latest master should now build just fine on Sierra as well.


Minor package.json tweaks.

Use the license property instead of licenses
Change the order of properties

Coverage remained the same at 96.34% when pulling e8c28803f8d85fb09335f4b1ca8d8d25224da88e on XhmikosR:package.json-cleanup into dd768c243af2bd3a8beb5e47768eef3ec7ab2e5e on jshint:master.

Coverage remained the same at 96.34% when pulling e8c28803f8d85fb09335f4b1ca8d8d25224da88e on XhmikosR:package.json-cleanup into dd768c243af2bd3a8beb5e47768eef3ec7ab2e5e on jshint:master.


Attribute shorthand not working with Indexed Access Types

Vue version
^3.2.47 and ^3.3.4
Link to minimal reproduction
https://stackblitz.com/edit/vitejs-vite-tkdgyx?file=src%2FApp.vue
Steps to reproduce
type ButtonProps = {
  size: 'small' | 'medium';
  disabled: boolean;
  // disabled: boolean | undefined; // Index access types are not working
};

const props = withDefaults(
  defineProps<{
    size: ButtonProps['size'];
    disabled?: ButtonProps['disabled']; // Index access types are not working
    loading?: boolean | undefined; // Same as above but works (don't worry about undefined)
  }>(),
  {
    size: 'medium',
    disabled: undefined,
  }
);

What is expected?
V-bind attribute with true value usually can be written in shorthand form.
 <Button disabled size="medium" /> => Button component have to receive disabled = true
I don't know if that's an issue or not fully supported yet.
Thanks for watching and replying
What is actually happening?
I tried to inspect with vite-plugin-inspect and see
mport { defineComponent as _defineComponent } from "vue";
const _sfc_main = /* @__PURE__ */ _defineComponent({
  __name: "Button",
  props: {
    size: { type: null, required: true, default: "medium" },
    disabled: { type: null, required: false, default: void 0 },
    loading: { type: [Boolean, null], required: false }
  },
  setup(__props, { expose }) {
    expose();
    const props = __props;
    console.log("### :: file: Button.vue:37 :: props:", props);
    const __returned__ = { props };
    Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
    return __returned__;
  }
**});**

It looks like it's been normalized to null by compiler-sfc (I'm not sure )
System Info
No response
Any additional comments?
No response

It is functioning properly. see

@edison1105
Maybe I made a mistake somewhere example above (self-interface, or self-type).
But help me let check other reproduction:
https://stackblitz.com/edit/vitejs-vite-f41ufy?file=src%2FApp.vue,src%2Fcomponents%2FButton.vue&terminal=dev

A lot of libs like Vanilla-extra, Class Variance Authority, and Panda css was the same issue as that

It seems VariantProps is too complex to analyze.

However, because the type to runtime conversion is still AST-based, some complex types that require actual type analysis, e.g. conditional types, are not supported. You can use conditional types for the type of a single prop, but not the entire props object.

see https://vuejs.org/api/sfc-script-setup.html#type-only-props-emit-declarations


mouse click cause exit on nvim-0.10

Describe the bug
when I upgrade nvim-0.10 and try to use this plugin
To Reproduce
mouse left click on anywhere,
it cause exit nvim
Expected behavior
other plugins like hover.nvim

Works for me. You need to provide more information and reproduction steps.

Had the same issue as described.
After updating neovim from version 0.9.5 to 0.10.0 and installing this plugin (with Lazy) neovim would exit when clicking the mouse.
No error messages, no notifications. Nothing.
Updating all other plugins I had installed (via Lazy) the problem is now gone and satellite works as expected.
Doesn't seem to have been an issue with satellite itself but rather a mixture or a new neovim version and old(er) plugins.
TLDR;
Maybe try updating. Resolved it for me.

Had the same issue as described. After updating neovim from version 0.9.5 to 0.10.0 and installing this plugin (with Lazy) neovim would exit when clicking the mouse. No error messages, no notifications. Nothing.
Updating all other plugins I had installed (via Lazy) the problem is now gone and satellite works as expected. Doesn't seem to have been an issue with satellite itself but rather a mixture or a new neovim version and old(er) plugins.
TLDR; Maybe try updating. Resolved it for me.

OK I'll try

Had the same issue as described. After updating neovim from version 0.9.5 to 0.10.0 and installing this plugin (with Lazy) neovim would exit when clicking the mouse. No error messages, no notifications. Nothing.
Updating all other plugins I had installed (via Lazy) the problem is now gone and satellite works as expected. Doesn't seem to have been an issue with satellite itself but rather a mixture or a new neovim version and old(er) plugins.
TLDR; Maybe try updating. Resolved it for me.

solved, but I'm not sure which mixture plugins


Change font color for dark mode

Describe your changes
before

after

Issue ticket number and link
issue #68
Checklist before requesting a review

[x] My code follows the contribution guidelines of this project.
[x] I have performed a self-review of my code.
[x] if it is a core feature, I have added thorough tests.-

Codecov Report

Merging #69 (bb21d83) into main (cb22db6) will decrease coverage by 0.06%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #69      +/-   ##
==========================================
- Coverage   24.12%   24.05%   -0.07%
==========================================
  Files          27       27
  Lines         742      744       +2
  Branches      128      130       +2
==========================================
  Hits          179      179
- Misses        562      564       +2
  Partials        1        1

Impacted Files
Coverage Δ

src/components/Editor.tsx
7.14% <0.00%> (-0.08%)
:arrow_down:

src/components/lib/CustomReactMarkdown.tsx
22.22% <0.00%> (-2.78%)
:arrow_down:

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 cb22db6...bb21d83. Read the comment docs.


Question: Minimum API

The minimum API in the manifest is 28 making quite a lot of the code around version checks redundant
Here is a list of api numbers vs versions
https://source.android.com/setup/start/build-numbers
Are you happy with this? And if that is the case, are you happy with me to do a code cleanup and do another pr?

Here's the android distribution in case you need it (rather than trawling through android studio)

We can do away with glide and the gif lib if we use api >= 28
https://medium.com/appnroll-publication/what-is-new-in-android-p-imagedecoder-animatedimagedrawable-a65744bec7c1
Just tested this and it seems to solve the animation woes with glide too

Hm, are these addressed in the last 2 PRs you made? Not super familiar with the API version numbers (I just followed what my device had for now for the initial PoC app...).

Yeah the optimisations in the code cleanup rely an Android Pie and up so will work on the vast majority of devices (~80%). Supporting older versions increased the resource usage pretty significantly


Postgres numeric type should not use binary floating point

Postgres decimal / numeric types are decimal floating point values, not binary, and are specifically used instead of the real type for storing things like monetary values where it is critical that the values are exact.
(for example, there are actually legal requirements in the EU about how currency values are handled).
To handle this correctly in Julia, you could use @stevengj's DecFP.jl package, the DecFP.jl Dec128 type will support up to 38 digits.
You might also be able to represent the numeric type with Rational{BigInt}, using a power of 10 for the denominator, that would allow accurately representing any possible Postgres decimal / numeric value without loss of information (Postgres can handle up to 131072 digits before the decimal point; up to 16383 digits after the decimal point).

Reading DecFP.jl it seems that its an "extra big float." where BigFloat is a lot closer to the Postgres standard of arbitrary precision.
This is from the manual: talking about BigFloat:
"Additionally, Julia provides software support for Arbitrary Precision Arithmetic, which can handle operations on numeric values that cannot be represented effectively in native hardware representations, but at the cost of relatively slower performance."
I chose this type because it is supported in base Julia. If its a issue I would recommend casting the PG type as text and then handling as it you see fit. The best way to preserve precision is to keep as text. Also I tried to make custom types easy to support where you could write your own wrapper to cast it to the type you like.
Postgres has a rich type system and my idea is not to support every type in the world. What I would like to support:  to make it easy for people to cast the type as they see fit. At this point, even Julia's DateTime loses precision compared to Postgres' timestamp so I cannot cast it to a native type.
There are a lot of cool packages out there that could possible support a lot of different types. But, I do not want to bring the dependencies in unless I think it will become core Julia. I think building an extension system where custom types are easy to add would probably be the best thing at this point considering Julia is still settling down.

DecFP.jl is not at all an "extra big float", that is what BigFloat is really about.
The difference between binary and decimal floating point is pretty fundamental, and ignoring it means ignoring the reason decimal or numeric type was chosen in the first place instead of real to store the data.  If you only want to use something that is supported in base Julia, then Rational{BigInt}, while not as fast as the types in DecFP.jl, is easy to use, and can be converted to either decimal or binary floating point as desired later, and can support the entire range of Postgres numeric type.
I also wouldn't get hung up about what is in base or not, because a lot of what is currently in Base, likely will get moved out.
Try the following very simple experiment, to see why you don't want to be using binary floating point, for your money (think of calculating the 5% tax on a $0.70 purchase at a store): round(.70 * .05, 2)
If you don't want the IRS coming after you at the end of the year, your answer had better be $0.04.


switch from api key to auth header

Looks like api keys are deprecated for the purposes of releases:

Once added, Sentry will automatically collect commits for the repository, and you can begin referencing it in releases. To do so, you’ll need to send refs along when you create a release. Note: You need to make sure you’re using Auth Tokens not API Keys, which are deprecated. - source

I don't know the API very well, so I'm not sure if they're only deprecated for the purposes of logging commits, but I just stumbled onto this in the docs so wanted to leave a note here.

I think this is really just a documentation update. I am already passing an auth token to the apiKey parameter for this plugin and everything works fine.


Rework and html for label & hint

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Feature: Allow for HTML in the label and hint field

What is the current behavior? (You can also link to an open issue here)
Text only for label and hint

What is the new behavior (if this is a feature change)?
Full html for label and hint

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No

Other information:

Build on top of the v3 branch
This work is following the changes introduced in my latest PR and should be merged only after that.
If my PR #465 is rejected, I will cherry-pick the necessary commit, deal with the conflicts and remake this PR. This will take me time for nothing, so I hope #465 will be accepted and merged.
I did that to simplify the work for the v3 features and rework.
By introducing some of these changes right now, I hope to prepare the code for the future.
New component
Part of formGenerator.vue was put inside another component. The necessary changes were made and the test changed to fit the new structure.
It should be almost transparent to the user, except if they used complicated way to access the fields from <vue-form-components> (eg. with ref like this.$refs.vfg.children[0]). And even then, I tried to make it as transparent as possible.
Doing without Pug
As you may notice, this PR is not using Pug for the new component.
I propose we stop using Pug in the future and that we slowly remove it.
Here are the reason why :

ESlint doesn't work in Pug template, so we get no lintting from eslint-plugin-vue
Pug can be a barrier to entry to collaborator as they need to learn (or know) this specific syntax to help
Pug is not bringing new functionnlity/solution (vue template are dynamic enough and Emmet is a thing)
To use Pug, we need additionnal plugin/parser/linter to be installed (can introduce problem/incompatibility)

@dflock @zoul0813 Thank you for your feedback. Is it better now ?

This is backwards compatible with v2 correct? Should the version be 2.2.3 or 2.3.0 ... instead of 3.0.0-dev?  Sorry, missed that during the initial review.

@dflock That should be good


{dll_imp} Protect from SIGINT

The revamping of the implementation of TYRBO, now using Doubly Linked Lists and Stacks, makes it dangerous if user ever terminates the program with ctrl + c and could lead to memory loss/leak.
Look into how to avoid this.

Having read a few resources, it seems as though a SIGINT causes all allocated blocks to still show up as "still reachable".
Valgrind screenshot confirming this:

These "still reachable" blocks are reclaimed by the os at the termination of the program and hence memory leak is not a risk in this case. Nothing needs to be done for this issue, closing it.


Expose Plugin Folder as a Volume

I have been using this container for some home recording/testing and though I'd have a play with the Open Vino plugin but unfortunately the system/plugin folders aren't exposed. Would it be possible to add them as a volume please?

You can use normal docker functionality and map any file or folder in your deployment, it does not have to be a known pre-defined volume in the base container.
E.g. - /mnt/nxwitness/plugins:/opt/networkoptix/mediaserver/bin/plugins

🤦♀ Thankyou


Add Prereq to install OpenSlide to README

Is CI job fail okay to proceed with merge?

Is CI job fail okay to proceed with merge?

It was not your fault. Something is wrong or changed in the configuration of the environment that the action creates only on Windows runner.  I pinned a downgraded version and works now I opened also an issue here to track it. https://github.com/mamba-org/setup-micromamba/issues/227


Craft Circle Stone Brick and Stone tile

Craft Circle Stone Brick was similar furnace.
Stone Tile is more similar with stone block.

Rebase 1.1.0

Needs a rebase, sorry.

Rebase 30/12/2017

Rebase  and Delete >>>>Head
1/01/2018

@fozolo please review!

Good job updating the change log. That  is something I ought to start doing as well. I do not see any problems with these changes but I do have some suggestions as follows.
Regarding the new circle_stone_bricks recipe, I would prefer if the recipe uses a circle of stone instead of the U-shape used here.  I do appreciate the effort to keep the number of input and output blocks equal. If one more stone is added the output would then become 17 blocks which is quite a lot.  Perhaps the coal block could be changed to a coal lump and the recipe output 9 blocks.
Regarding the stone_tile recipe, I agree that using stone as input seems like a better fit than cobble because the texture of stone is a better match for the resulting stone tile texture.  However, stone tile is one of the cheapest 'nice' looking blocks in game and is a very popular choice for large builds by users without creative. Even by doubling the recipe output to 8 blocks, the new recipe is likely increasing the cost of crafting stone tile.


What changes are needed to support streaming/real-time operation?

Hello!  I am looking for a library to perform analysis on a live stream from a microphone.  Based on the example scripts, Acoular seems to do generally what I need, but it seems like it is only designed for prerecorded data.  And in fact, in #12 you mentioned that it isn't designed for real-time use.
What changes would need to be made to do live processing?  I am a programmer and can make modifications, but I would like to get a general idea about the scale of the work involved.

I tried to use SoundDeviceSamplesGenerator, but when synthetic function called process freezes.
`
ts = acoular.SoundDeviceSamplesGenerator(device=5)
ps = acoular.PowerSpectra( time_data=ts, block_size=128, window='Hanning' )
st = acoular.SteeringVector(grid=rg, mics=mg)
bb = acoular.BeamformerBase(freq_data=ps, steer=st)
pm = bb.synthetic(8000, 3)
Lm = acoular.L_p(pm)
print(Lm)
`
Nothing is printed.
What I should to do?

Ok, I've debugged some code and discovered:
file spectra.py
for data in t.result(bs):
    ns = data.shape[0]
    temp[bs:bs+ns] = data
        while pos+bs <= bs+ns:
            ft = fft.rfft(temp[int(pos):int(pos+bs)]*wind, None, 0).astype(self.precision)
            calcCSM(csmUpper, ft)  # only upper triangular part of matrix is calculated (for speed reasons)
            pos += posinc
        temp[0:bs] = temp[bs:]
        pos -= bs

We have infinity loop 'cause t.result(bs) returns generator (and also have data from mics every audio stream callback)
Should it be async?

The frequency domain methods are currently designed to deliver only one result, i.e. the average over all time. If you have an endless audio stream, this would indeed mean that the PowerSpectra object is collecting data forever. For doing frequency domain beamforming using only part of a stream you could try putting a MaskedTimeInOut object between the SoundDeviceSamplesGenerator and the PowerSpectra objects (where you appropriately set "start" and "stop" sample values).
Alternatively, you could look into our "spectacoular" repository, where we implemented something like your intended application in the MeasurementApp. (for the relevant code, look at the "CSMInOut" class in here). Hope this helps.

If you want to do realtime beamforming, you should only use classes that are derived from TimeInOut. The PowerSpectra class is not meant for this. You check out the examples for the time domain beamformers for a start.
Moreover the spectacoular package has some app examples that you can use to understand how realtime operation works. Within this package there is also the acoular_future sub-package with a preliminary BeamformerFreqTime class that allows to use frequency domain beamformers in this context.

from acuma16 import UMA16SamplesGenerator ModuleNotFoundError: No module named 'acuma16'
https://github.com/acoular/spectacoular/issues/5


RFC: Detailed Quota Limits

Problem
Quota limits are currently communicated through the .limits field in the MetricsResponse.
This only includes information about what kind of quota was violated, while a user would mostly
be interested in what the effective limits violated are so that they can be worked around.
Suggestion
This suggestion is to change ResultLimit into an interface, which has different subtypes depending on the type of limit that was violated.
The .limits field would then change from:
{"limits": ["SERIES"]}

Into:
{
  "limits": [{
    "type": "series",
    "seriesLimit": 20000
  }]
}

This enhancement would allow the result set to communicate what the limit was, at the time of the query. This information can then be presented to the user, like:
Query required too many time series to be processed. The current limit is: 20000.

PR proposing this: https://github.com/spotify/heroic/pull/196


wgpu 0.19 has been yanked from crates.io

Is your issue REALLY a bug?

[X] My issue is indeed a bug!
[X] I am not crazy! I will not fill out this form just to ask a question or request a feature. Pinky promise.

Is there an existing issue for this?

[X] I have searched the existing issues.

Is this issue related to iced?

[X] My hardware is compatible and my graphics drivers are up-to-date.

What happened?
error: failed to select a version for the requirement `wgpu-core = "^0.19.0"`
candidate versions found which didn't match: 22.1.0, 22.0.0, 0.21.1, ...
location searched: crates.io index
required by package `wgpu v0.19.0`
    ... which satisfies dependency `wgpu = "^0.19"` of package `iced_wgpu v0.12.0`
    ... which satisfies dependency `iced_wgpu = "^0.12"` of package `iced_renderer v0.12.1`
    ... which satisfies dependency `iced_renderer = "^0.12.1"` of package `iced v0.12.1`
    ... which satisfies dependency `iced = "^0.12.1"` of package `[...]`

see https://github.com/gfx-rs/wgpu/issues/5837
What is the expected behavior?
No error selection version of wgpu
Version
crates.io release
Operating System
Linux
Do you have any log output?
No response

As a workaround you can add the following to your Cargo.toml for now:
[patch.crates-io]
wgpu-core = { git = "https://github.com/gfx-rs/wgpu", tag = "wgpu-hal-v0.19.5" }
wgpu-types = { git = "https://github.com/gfx-rs/wgpu", tag = "wgpu-hal-v0.19.5" }
wgpu-hal = { git = "https://github.com/gfx-rs/wgpu", tag = "wgpu-hal-v0.19.5" }

It's actually v0.20.0 and v0.18.0 that have been yanked

Sorry, meant to say wgpu-core

~Sorry, meant to say wgpu-core~ seems to be back now, it was gone this morning.


Fix discord invite link

Tak.

Looks like the invite link is now invalid. Has it expired?

I haven't updated it, and I don't use Discord at the moment. @aphelionz May know?


Physical planner makes assumption that join keys are specified in left = right order

Describe the bug
The following code fails for TPC-DS query 10 because the join keys are not in the expected order.
                    let join_on = keys
                        .iter()
                        .map(|(l, r)| {
                            let l = l.try_into_col()?;
                            let r = r.try_into_col()?;
                            Ok((
                                Column::new(&l.name, left_df_schema.index_of_column(&l)?),
                                Column::new(&r.name, right_df_schema.index_of_column(&r)?),
                            ))
                        })
                        .collect::<Result<join_utils::JoinOn>>()?;

To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.

It looks like the logical plan builder should always put the columns in the correct order but this is not happening in some cases .. the fix should probably be in the logical plan builder and not the physical planner

related issue #4688

I think this has been resolved @andygrove please reopen if this is not the case


CTRL + Y broken on windows

On Windows CTRL + Y is the shortcut for REDO, however your plug-in maps this to Delete line at caret. This makes undo then redo impossible and causes attempts to redo a change to delete entire lines costing you valuable development time as you manually recreate whatever code was deleted.
Looking at the VSCode keybindings for both Ctrl + Shift +Z and Ctrl + Y are bound to redo. Ctrl + Y is the most widely used binding for redo on windows machines and shouldn't be overwritten.

I guess IntelliJ used CTRL+SHIFT+Z for redo, horrible.

I can't accept your request because of below pdf. But I can create a special build for you that removed Ctrl + Y.

IntelliJ IDEA Default Keymap > Editing > Delete line at caret > Ctrl + Y
https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf

removed Ctrl + Y build
intellij-idea-keybindings-0.2.771.vsix.zip


Added application description to README.md

Non breaking documentation change to README.md

Review completed, approved


Refactor config to use ENV variables exclusively

The config is currently partitioned across a config file and ENV variables. We should consolidate them into only config variables.

You comment and the issue title say opposite things... Should configuration be pulled from the environment or from a configuration file?

Sorry - updated. I meant only env variables


fix: cli template

:tada: This PR is included in version 2.10.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Feature Request - support basic HTTP auth

New Feature - support basic HTTP auth

Sorry, allow crawling of pages that are secured behind basic HTTP authentication.
Would require a way to set a username and password or support the protocol in the url scheme
blc<EMAIL_ADDRESS>-ro

Interesting. Will have to test this. If not in the summer, in the fall.

blc seems not to follow the authentication when using blc "http://example.com/?user=username&password=password" -ro and<EMAIL_ADDRESS>does not work for me.

v0.8.0 branch sort of supports this.

When is v0.8.0 expected?


[Event Grid] Event grid C# code generation section.

This is the readme.md code generation requirements for azure-sdk-for-net.
Corresponding change can be found at: https://github.com/Azure/azure-sdk-for-net/pull/3600

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[X] The title of the PR is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[X] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[X] If applicable, the PR references the bug/issue that it fixes.
[X] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[X] I have read the contribution guidelines.
[X] My spec meets the review criteria:

[X] The spec conforms to the Swagger 2.0 specification.
[X] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

@ScottHolden,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

No modification for AutorestCI/azure-sdk-for-ruby

No modification for AutorestCI/azure-sdk-for-node

No modification for AutorestCI/azure-sdk-for-python


Exclude blocks on bo4 export

A -e parameter to exclude blocks on export would make it possible to make a grid to make exporting easier.

This should be fairly simple to add, I'll look into it

Should be available in 0.1.7
Cheers!


Sync eng/common directory with azure-sdk-tools for PR 1572

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/1572  See eng/common workflow

/azp run prepare-pipelines


Automatic import csv data in Virtuoso

We start the jupyter notebook assuming that the data is already loaded in Virtuoso. For automatic import we assume there is a csv file in the same directory as docker-compose.

We replaced Virtuoso with postgres


[BUG] GetConfigurationSettings(SettingSelector) does not set the ContentType property

Library name and version
Azure.Data.AppConfiguration 1.2.0
Describe the bug
The GetConfigurationSettings(SettingSelector) does not set the ContentType property i.e. it returns null when the Fields on the SettingSelector is set.
Example
var selector = new SettingSelector
{
      KeyFilter = "Operations:FuncApps:Usage:Settings:TestKeyVaultReference",
      LabelFilter = string.Empty,

      // SettingFields.ContentType will return null
      //Fields = SettingFields.Key | SettingFields.Value | SettingFields.Label | SettingFields.ContentType

      // Works fine
      Fields = SettingFields.All
};

Expected behavior
The ContentType property is populated when the Fields = ... | SettingFields.ContentType
Actual behavior
The ContentType property is null
Reproduction Steps

Create a App Configuration with URI abc.azconfig.io
Create a KeyVault reference with key "Settings:TestKeyVaultReference" via Azure Portal to a KeyVault secret
Grant access to the accessing use on both App configuration and KeyVault secret.
Execute the following console app

using Azure.Data.AppConfiguration;
using Azure.Identity;

namespace TestSecretRetrieval;

public sealed  class Program
{
    public static void Main()
    {
        var client = new ConfigurationClient(new Uri("https://abc.azconfig.io"), new DefaultAzureCredential());

        var selector = new SettingSelector
        {
            KeyFilter = "Settings:TestKeyVaultReference",
            LabelFilter = string.Empty,

            // SettingFields.ContentType will return null
            //Fields = SettingFields.Key | SettingFields.Value | SettingFields.Label | SettingFields.ContentType

            // Works fine
            Fields = SettingFields.All
        };
        var settings = client.GetConfigurationSettings(selector);

        // The 'Settings:TestKeyVaultReference' is a valid KeyVault reference and the account which is executed
        //  has access to retrieve the secret.

        foreach (var setting in settings)
        {
            // SettingFields.Key, SettingFields.Value and SettingFields.Label appear to work as expected.
            // The SettingFields.ContentType returns null unless SettingFields.All is specified.

            Console.WriteLine($"{SettingFields.ContentType} = '{setting.ContentType ?? "(null)"}'");
        }
    }
}

Environment
Project is running on .NET 6.0
.NET SDK (reflecting any global.json):
Version:   6.0.410
Commit:    28c7c894a3
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.19044
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\6.0.410\
Host:
Version:      7.0.7
Architecture: x64
Commit:       5b20af47d9
.NET SDKs installed:
3.1.426 [C:\Program Files\dotnet\sdk]
6.0.402 [C:\Program Files\dotnet\sdk]
6.0.410 [C:\Program Files\dotnet\sdk]
7.0.100 [C:\Program Files\dotnet\sdk]
7.0.203 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.10 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.18 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.18 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.31 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.10 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.18 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Thank you for your feedback. Tagging and routing to the team member best able to assist.
/cc: @ShivangiReja , @jsquire

@ie-zero Thank you for reporting this bug. We were able to identify the cause and it has been fixed
(https://github.com/Azure/azure-sdk-for-net/pull/38917). The fix will be available in our next beta release (1.3.0-beta.3) which is expected to be out in October.
Closing this since the issue has been addressed.

Thank you for addressing this issue.


⚠ Bofrost.be has degraded performance

In 5a6e91d, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1175 ms

Resolved: Bofrost.be performance has improved in 0fe4b06.


Update support library to 25.4.0

Android Support Library 25.4.0 has been released: https://developer.android.com/topic/libraries/support-library/revisions.html#25-4-0
Along with it comes support for animating pathData in animated vector drawables.
This could be used for the circle -> warning icon animation we have in tabs when a step validation fails. Currently we animate pathData only on Lollipop+ and use a fallback on older devices.

Merged to develop, this will be a part of 4.0.0 since it introduces breaking changes (will crash if someone is using Android Support library older than 25.4.0)


Incorrect error, "Diagnostic has no source"

Describe the bug
The extension seems to raise an error for a uses file which does exist, and then raises an internal error when selecting "Exclude" or "Rule Definition"
To Reproduce
Steps to reproduce the behavior:
This line: https://github.com/prql/prql/blob/d09c3acad05b35b3f2565c51e045b689acea10b4/.github/workflows/release.yaml#L196
Expected behavior
The file does seem to exist: https://github.com/prql/prql/blob/3c10f7cb6959dfcd26ca4c7c2fa21ebb3385e472/.github/workflows/build-devcontainer.yaml#L33, so I'd expect no error.
FWIW — then when clicking on either of these buttons:

I get a "Diagnostic has no source" error:

Extension Version
v0.25.5

Hey, can you replicate this on 0.25.7? I want to make sure its not fixed before adding to triage!

Closing as fixed!


Fix violations about BD.EXCEPT.NP, PB.NUM.BBDCC, UC.AURV and OWASP2021.A5.NCE

Violations reported in DTP: https://dtp.parasoftcn.com/grs/dtp/explorers/violations?buildId=Parasoft_Findings_Jekins_Plugin-2024-11-22&filterId=44&statuses=failed


Generic bound inference

Suppose we have:
reflect::library! {
    extern crate demo {
        trait Demo {
            fn f(&self);
        }
        trait SomeTrait {}
        fn dynamic_dispatch(&dyn SomeTrait);
        fn static_dispatch<T: SomeTrait>(&T);
    }
}

and our user's derive(Demo) macro is being invoked on:
#[derive(Demo)]
struct S<T> {
    field: T,
}

Then if they do:
let field = receiver.get_field("field");
RUNTIME::demo::dynamic_dispatch.INVOKE(field);

// OR

RUNTIME::demo::static_dispatch.INVOKE(field);

then reflect needs to identify that these INVOKEs require a trait bound and emit the right bound on the impl we generate.
impl<T> Demo for S<T>
where
    T: SomeTrait, // inferred
{
    fn f(&self) {
        demo::dynamic_dispatch(&self.field);
    }
}

More generally -- we need to keep track of how every reflect::Value is used and what trait bounds those uses require, and then tie that back to where the reflect::Value came from and generate bounds there appropriately.


Requirements file

I think we probably should include a requirements file describing specific Python packages needed, for instance nglview or SciPy. My question is - which format do we go with?!

requirements.txt
environment.yml
another mechanism I don't know

Do you mean this for Colab or in general? Other JOSE publications seem to have a requirements.txt file which I am fine with. environment.yml easily go out of date and don't work anymore I've found in the past.

I meant in general; in order to run the notebooks, people will probably want to know what packages are required!
Requirements.txt is the more supported option, but (I think) they require specific version numbers to work correctly, don't they? I tend to favour environment.yml (without version numbers) for this reason, but they are quite conda-specific...

I think just a requirements.txt with current version numbers we use is fine. I am sure we all use slightly different versions anyway. I assume most people would use conda, but we can also see what a reviewer might want us to change. I don't have any strong opinions here.

I have added a requirements.txt file with package versions as per my environment. Included numpy, scipy, pandas, matplotlib, nglview. If other units have additional requirements, please add.

I've added some other imports used through the course, and updated versions to match those on Noteable (no major differences).
There are a few packages that are install "on-the-fly" in the notebooks:

pint (Unit 05 - extra notebook)
pytraj (Unit 06)
vpython (Unit 08)

It would probably be better to add these as requirements and do away with pip usage to avoid dependency issues @punkpony @degiacom?

trying to get nglview to work on binder.
the ngliew guys have it working as a tutorial, this is their environment.yml:
channels:
- conda-forge
dependencies:
- python=3.7
- nodejs
- ipython
- ipywidgets=7.5.1
- notebook
- ipykernel
- nglview=2.7
- rdkit::rdkit
- pip:
    - pytraj
    - ipython_blocking
    - moviepy

may be the solution to #28 is in here?...

The slow part of trying these things is waiting for binder to load for like 10 minutes for each iteration. There seems to be no way of speeding that up.

Got colab to work. this issue is no longer an issue. There are clear installation instructions with the necessary packages.


Total training time

Hello,
Thank you for your work!
However, it was not clear from the paper how much time it took for the model(s) to be trained. Is it in countable (on average) in days or just hours (took less than a day)?

This information is in the supplementary material.
You can see the throughput (imgs/gpu/sec) here:

Thanks a lot! So if my understanding and calculation are close to correct, then training could take a little under a week for FFHQ-128 with 4 V100, and with a larger dataset, it could span several weeks. Am I correct?

That seems right. However, larger datasets don't necessarily take more time to train, at least not likely in proportion to the size of the dataset. You need a certain number of images, aka. iterations (not unique images) to get a certain quality of diffusion model. It's unlikely that double the dataset size would take 2x more time to train. Besides, you may decide to end the training whenever the quality is acceptable. You may set a fixed number of images like 100M regardless of the number of image in the dataset.

Thanks, I see now! This is not an easy task to train such models in terms of time and computing, so hoping that in future some possible research in the area of efficiency will pop up :)


Feature/better roles

For the moment, it is mainly opened to see if nothing breaks.
Basically, permissions are check in a more fine-grained way so that the role can have different permission on different papers.
There are two (configurable) permission profiles:

private, which is the behavior we had before
public, which gives all the permission to everybody, even people that are not registered into \BlueLaTeX

@tdurieux For the client side, I will probably need your help.
The entire permission module must be updated not to check the role but the permission.
Even non authenticated people may now have access to the paper edition page if the paper is public.
There are also more roles.
A quite comprehensive list of roles and permissions is given here: https://github.com/satabin/bluelatex/blob/feature/better-roles/blue-common/src/main/resources/application.conf#L68


Allow sending NEW_TOKEN frames before TLS NewSessionTickets

This issue was originally opened in the quic-go repository.
Currently, it is not possible to make use of QUIC's address validation tokens if the server sends the NEW_TOKEN frame before sending the crypto frame containing the TLS NewSessionTicket. The address validation token gets stored, then thrown away.
It currently works as follows:

Upon arrival of a NEW_TOKEN frame, the token gets stored alongside its associated server ID (i.e. a combination of host and port) inside a cache that holds TLS sessions.
When a new session ticket arrives, the session gets added to the cache entry for the associated server
This new session does not specify the same QUIC transport parameters and is therefore assumed to be related to another, more recent session. The old cache entry (containing the token) gets removed and a new entry without the token is inserted.

Is the described behavior on purpose or is it a bug?
AFAIK, a client should be able to use tokens independent of the TLS session ticket.
If this is a bug, maybe it would make sense to copy an existing address validation token from the existing cache entry into the new cache entry for the same server ID before deleting the existing cache entry. Let me know if I should contribute this solution to the QUICHE project if the solution is fine.

Thank you very much for the details. Yes, this is a bug. A client should correctly the handle the case where tokens arrive before session tickets. Because tokens are one-time use, as you said, copying existing tokens from old entry to new entry is the definitely the right thing to do. In addition, the fix should also handle cases where token arrives and there is no entry (either because this is new session or old session only contains one ticket and has been used for resumption). If you can write the patch, we are more than happy to review it (and patch it in).
Again, thank you very much for the great catch!


Crash while adding markers on android platform

Hello guys i have a pretty simple code. where i need to go thru list and add marker from that list to map instance.in some cases not always i get crash only and it happens only on android.
sample code goes something like this:
for (var e = 0; e < this.markerList.length; e++) {    this.mapView.addMarker(this.markerList[e]); }
and error is:
art/runtime/java_vm_ext.cc:470]     from java.lang.Object com.tns.Runtime.callJSMethodNative(int, int, java.lang.String, int, boolean, java.lang.Object[])
any help please?
Thx

I'm also having the same problems. Run perfectly fine on iOS but not on Android.

Could you attach a full log? It seems there are some missing details that could diagnose the issue.

How do you create the markerList?


LastInsertId() fails when compiled with Go 1.10

Returned error is There is no generated identity value.
The exact same code works flawlessly when compiled with with Go 1.9.4.
The sequence was: Prepare, Exec(args...), LastInsertId. The row was inserted.

OK, found this is dupe of #353


Failed Installation

Can you please add documentation on how to use this sample app?
I have done the following

Cloned the repo
npm install
bower install

The bower install fails with the following error: Failed to execute "git ls-remote --tags --heads git://github.com/ExpandJS/app-elements.git", exit code of #128 fatal: remote error:    Repository not found.
Then when running the build with npm run build, it fails - I assume this is related to the bower dependencies not being installed correctly?
The package.json is also missing the ejs dependency.

Hello! We've fixed it. Just download the latest version and you should be all good.


No source code for gophone

Besides or compiled binary, do you plan to publish source code of gophone?

Hi @CompuRoot. I have no plans currently as my focus is more on libraries under hood, and no plans dedicating too much time on this tool, unless I really need.
gophone is just utilizing sipgox  mainly. You can find it provide more info on libs. Of course current state is lot of experimenting, but I found gophone stable for use cases I had so far

Got it, Thank you for explanation !


LLAMA-3-2 11b Vision Instruct

Hi Team,
I have attempted Knowledge Distillation using Torchtune for the 8B and 1B Instruct models. However, I still need to apply KD to the Vision Instruct model. I followed the same steps and created a duplicate configuration for KD. My goal is to use the 11B Vision Instruct model as the teacher and the 1B Instruct model as the student.
Unfortunately, it hasn’t been successful as expected. Could you please share the steps or guidelines to help me with this?

@Praveen-mvp , can you give some details on what "it hasn’t been successful as expected" mean? Maybe you could share the config you used and the error you are getting.

@felipemello1  I'm encountering a tensor shape issue after editing the KD config file. I changed the model from llama-3.2.8b to llama-3.2-11b.

It sounds like you're distilling Llama3.2 11B-vision into Llama3.2-1B?
Should it be possible to distil a vision model into a decoder-only text model? @pbontrager @lindawangg

@Praveen-mvp , without the actual configs and the error message showing where the error is, it is a bit too hard to help you debug :/

Hi @felipemello1, I have another question. After performing Knowledge Distillation, my output directory appears like this.

  | adaptor_0.pt
  | adaptor_config.json
  | adapter_model.bin
  | config.json
  | hf_model_001.pt
How can I evaluate the distilled model after Knowledge Distillation? Is there any recommended approach?

@Praveen-mvp , thanks for sharing it! You have to update in your config the model_type. If you go to checkpointer, you will see that we check the model_type. One of them is LLAMA3_VISION. You are probably using LLAMA3 in your config, which has a different logic.

How can I evaluate the distilled model after Knowledge Distillation? Is there any recommended approach?

@joecummings , do you mind answering this one?

How can I evaluate the distilled model after Knowledge Distillation? Is there any recommended approach?

It's hard to recommend a specific approach without knowing more about the information you're trying to distill into the smaller model. If this is general instruct data, then running on the whole suite of OSS benchmarks on the OSS Leaderboard is a good place to start. Our evaluation recipe integrates with the EleutherAI Eval Harness so this should be as easy as the following:
tune run eleuther_eval --config eleuther_evaluation \
	model._component_=torchtune.models.llama3_2_1b \
	tokenizer._component_: torchtune.models.llama3.llama3_tokenizer \
	tokenizer. path="/tmp/Llama-3.2-1B-Instruct/original/tokenizer.model" \
  	tokenizer.max_seq_len=null \
	checkpointer.checkpoint_dir=YOUR_OUTPUT_DIR \
	checkpointer.checkpoint_files=["hf_model_001.pt"] \
  	checkpointer.model_type="LLAMA3_2" \
	tasks=["bbh","ifeval","gpqa","mmlu-pro"] \
	limit=10

Disclaimer: You may need to change a few things to make sure this works, but the idea is the same. You need to change the config to point to a 1B Llama3.2 model with it's config. Then change the checkpointer to point to your file. And lastly, run on some tasks with a limit set to 10 in order to get quicker feedback.

@Praveen-mvp , thanks for sharing it! You have to update in your config the model_type. If you go to checkpointer, you will see that we check the model_type. One of them is LLAMA3_VISION. You are probably using LLAMA3 in your config, which has a different logic.

How can I evaluate the distilled model after Knowledge Distillation? Is there any recommended approach?

@joecummings , do you mind answering this one?

Thanks, @felipemello1! I’ll try this out and keep you posted.

Hi @felipemello1 , I’ve distilled the teacher model (LLama-3.1-8B) into a student model (LLama-3.2-1B) models. Now, I need to evaluate their performance in terms of inference , speed and accuracy.
My aim is to verify whether this student model is able to perform well or not.
ref link: https://pytorch.org/torchtune/stable/tutorials/llama_kd_tutorial.html
I followed the steps mentioned in the link above to perform Knowledge Distillation (KD).


Merge master branch to prTesting1_202004191918 branch

Docs Build status updates of commit abe91cc:
:clock10: Pending: waiting for processors (7 builds ahead of you)
:warning: Docs Build is busy, currently there are 7 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit abe91cc:
:warning: Validation status: warnings

File
Status
Preview URL
Details

split/updateTestCon1.md
:warning:Warning

Details

split/updateTestCon1.md

[Warning] Missing attribute: author. Add the current author's GitHub ID.
[Warning] Missing attribute: title. Add a title string to show in search engine results.
Line 1: [Suggestion] H1 is required. Use a single hash (#) followed by a space to create your top-level heading. NOTE: This Suggestion will become a Warning on 04/01/2020.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


AMD radeon (TM) pro WX 3200 graphics

Is this gpu supported?

It supports DX12, so it should support DirectML.


PyTree tree_map of multi-arg function rejects compatible tree types

Please:

[x] Check for duplicate issues.
[x] Provide a complete example of how to reproduce the bug, wrapped in triple backticks like this:

import jax
import jax.numpy as jnp

@jax.tree_util.register_pytree_node_class
class ParamsDict:
    def __init__(self, **kwargs):
        self.params = {**kwargs}

    def tree_flatten(self):
        return jax.tree_flatten(self.params)

    @classmethod
    def tree_unflatten(cls, aux, values):
        return ParamsDict(**jax.tree_unflatten(aux, values))

print('create e')
e = ParamsDict()
e.params['a'] = jnp.zeros((1,4))

print('e1 = map over e')
e1 = jax.tree_util.tree_map(lambda x: (x,1.1), e) # Now it's a tree of pairs

print('l = map over e, e1')
l = jax.tree_util.tree_map(lambda a,b: 2.2, e, e1)
# ValueError: Mismatch custom node data: PyTreeDef({'a': *}) != PyTreeDef({'a': (*, *)}); value: <__main__.ParamsDict object at 0x7f2d89a14ee0>.

It feels as if the above check, in PyTreeDef::FlattenUpTo, is overly strict -- there should be no reason to reject the above code?  Replacing ParamsDict with dict works as hoped:
e = dict()
e['a'] = jnp.zeros((1,4))
e1 = jax.tree_util.tree_map(lambda x: (x,1.1), e)
l = jax.tree_util.tree_map(lambda a,b: 2.2, e, e1)

[x] If applicable, include full error messages/tracebacks.

create e
WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
e1 = map over e
l = map over e, e1
Traceback (most recent call last):
  File "pytree-custom.py", line 25, in <module>
    l = jax.tree_util.tree_map(lambda a,b: 2.2, e, e1)
  File "/home/awf-wsl/envs/jax/lib/python3.8/site-packages/jax/_src/tree_util.py", line 177, in tree_map
    all_leaves = [leaves] + [treedef.flatten_up_to(r) for r in rest]
  File "/home/awf-wsl/envs/jax/lib/python3.8/site-packages/jax/_src/tree_util.py", line 177, in <listcomp>
    all_leaves = [leaves] + [treedef.flatten_up_to(r) for r in rest]
ValueError: Mismatch custom node data: PyTreeDef({'a': *}) != PyTreeDef({'a': (*, *)}); value: <__main__.ParamsDict object at 0x7f578a5dd7f0>.

The problem is caused by the overly strict tree_unflatten.
jax.tree_flatten(self.params) will produce aux_data = PyTreeDef({'a': *}) for e, and aux_data = PyTreeDef({'a': (*, *)}) for e1.
Thus, e and e1 have different structures, just like (0, 1) and (0, 1, 2).


Add Vuetify Cheat Sheet

Nice repo but it is kind of outdated as Vuetify 3 is now the default version used for new projects


Provide Default Values for .add_metric(unit=) and .add_metric(value=)

Is your feature request related to a problem? Please describe.
Approximately 2/3rd of my metrics are just posting singletons to a given metric, where unit=MetricUnit.Count and value=1. This results in repeating myself frequently.
Describe the solution you'd like
Provide default values for unit and value, such that I can .add_metric() by providing just a name= value.
Describe alternatives you've considered
A wrapper function that provides the same functionality might also be useful, but this seems like overkill compared to providing default values.
Additional context
This is the first time I've opened a Feature Request on a public repo... did I provide enough detail? :-)

Hey @nsandar That's a great idea for unit, not for value as this can trip people both when reading the code later and on testing. As for the details, they are super crispy, so thank you for a high quality request ;)
This could be similar to how we've done default dimensions.
I'm currently out of bandwidth to implement it until other higher priorities enhancements are done - I can however provide guidance to contribute it if you could help.
We'd need a couple of things to implement this:

A new public method set_default_metric_unit(self, value: str): ...
A new public method clear_default_metric_unit
Update clear_metrics method to include set_default_metric_unit with previously used value. This is used by customers in unit testing so their defaults are always re-added and metrics cleared for each test


Peer-to-peer code review

It would be better if you delete the style.css file that you're not using to avoid confusion.
And the mobile_first.css should be more organized.
You may remove <strong> tags in index.html.

Thanks for the review! I'm making the changes asap 😁.


Why add handler mapper for all platforms?

Is your feature request related to a problem? Please describe.
Reviewing code in sample against code in MAUI documentation; just wondering why the sample code was written in a particular manner.
in TodoApp.Maui/App.Xaml.cs a AppendToMapping handler is added.
the lambda is populated for Windows and is otherwise empty.
Describe the solution you'd like
1 - Why add an empty handler for non-windows MAUI apps at all? the code seems to handle an issue specific to windows code.
2 - why add the handler in the base App.xaml.cs code instead of adding it to the windows specific App.xaml.cs code?
Just curious about the design choice that was made.

The problem with doing 12 different samples for various frameworks is that I'm not equally versed in all frameworks.  This is true for Avalonia as well as MAUI (which is only that way because I started working on it during betas).  As a result, some of the tutorials are less "the right way" and more "the way I could make them work".
As always, I am quite willing to take a PR for updated tutorial code as long as it does not require a change to the tutorial.  The way I take PRs is that I'll download the code in the PR and then run through every single sample to make sure they still work without changes.  (this means, of course, that validating a change to the samples takes longer).

I understand and appreciate the issue with multiple platforms (which is why I am reviewing MAUI).
when reviewing code, I like to understand why the author wrote it in a particular manner; especially if it "seems" like there are different ways to write it. every line of code matters!

In this particular case, the code was copied from a sample elsewhere that I was pointed to by one of the MAUI engineers as the method for setting the initial size of the window on the Windows platform.  Since it did what I wanted it to, I literally just copy/paste the code.

Cut and Paste, thou art my friend.
thx


Fix ptvsd typo in descriptions

There was an annoying typo in the description of the attach configuration: ptsvd -> ptvsd.
~For #~

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[x] Title summarizes what is changing
[x] ~Has a news entry file (remember to thank yourself!)~
[x] ~Appropriate comments and documentation strings in the code~
[x] ~Has sufficient logging.~
[x] ~Has telemetry for enhancements.~
[x] ~Unit tests & system/integration tests are added/updated~
[x] ~Test plan is updated as appropriate~
[x] ~package-lock.json has been regenerated by running npm install (if dependencies have changed)~
[x] ~The wiki is updated with any design decisions/details.~

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

Codecov Report

Merging #7097 into master will decrease coverage by 57.67%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #7097       +/-   ##
==========================================
- Coverage   57.67%      0%   -57.68%
==========================================
  Files         483      56      -427
  Lines       21025     529    -20496
  Branches     3446      64     -3382
==========================================
- Hits        12127       0    -12127
+ Misses       8124     529     -7595
+ Partials      774       0      -774

Impacted Files
Coverage Δ

src/client/common/installer/serviceRegistry.ts
0% <0%> (-100%)
:arrow_down:

...lient/datascience/jupyter/jupyterSelfCertsError.ts
0% <0%> (-100%)
:arrow_down:

src/client/debugger/extension/serviceRegistry.ts
0% <0%> (-100%)
:arrow_down:

src/client/common/serviceRegistry.ts
0% <0%> (-100%)
:arrow_down:

src/client/interpreter/locators/services/conda.ts
0% <0%> (-100%)
:arrow_down:

src/client/common/utils/regexp.ts
0% <0%> (-100%)
:arrow_down:

src/client/common/utils/icons.ts
0% <0%> (-100%)
:arrow_down:

src/client/debugger/constants.ts
0% <0%> (-100%)
:arrow_down:

src/client/interpreter/serviceRegistry.ts
0% <0%> (-100%)
:arrow_down:

src/client/linters/serviceRegistry.ts
0% <0%> (-100%)
:arrow_down:

... and 451 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 7b4e7c0...90fec6b. Read the comment docs.


Fast_jl undefined symbol

Hello,
I have been trying to use TRAK for CelebA dataset for an age classification task using ResNet-50. However, I am unable to use the fast version as I get the following error:
ERROR:TRAK:Could not use CudaProjector.
Reason: /cis/home/bpal5/anaconda3v3/envs/TrakEnv_v2/lib/python3.10/site-packages/fast_jl.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops15sum_dim_IntList4callERKNS_6TensorEN3c1016OptionalArrayR
efIlEEbNS5_8optionalINS5_10ScalarTypeEEE
ERROR:TRAK:Defaulting to BasicProjector.
However, I think fast_jl is installed correctly:

trak.test_install(use_fast_jl=True)
TRAK and fast_jl are installed correctly!
import fast_jl
Traceback (most recent call last):
File "", line 1, in
ImportError: /cis/home/bpal5/anaconda3v3/envs/TrakEnv_v2/lib/python3.10/site-packages/fast_jl.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops15sum_dim_IntList4callERKNS_6TensorEN3c1016OptionalArrayRefIlEEbNS5_8optionalINS5_10ScalarTypeEEE

Can you please help me fix the error? My environment has a torch version of '2.3.0+cu121'

I think there is some issue regarding this version of the torch.
You can downgrade to 2.2.1 and try again.

It seems like fast_jl is not installed correctly. I am not sure why trak.test_install(use_fast_jl=True) passes. My guess is that it's a gcc version problem.

meet the same problem, neither pytorch 2.2.1 or 2.1.2 work

updating gcc and g++ to 11.4 solve my problem


fix(stream): Fix XPENDING serialization issue

Currently XPENDING doesn't properly create and serialize an array of the right length: the response to an XPENDING command is always an array of length 4, regardless of the number of consumer infos it has to send back.
The existing tests pass because they all happened to have exactly one consumer.

Stream test time out after 30 minutes. Maybe there is a block or infinite wait (for example, waiting for a message that is never added).

@nathanlo-hrt Thank you for this catch.

Stream test time out after 30 minutes. Maybe there is a block or infinite wait (for example, waiting for a message that is never added).

Is this another bug of XPENDING? Or we can just change the test case to fix it?

I believe this is a bug in my changes to the test code; I'll put up a fix later today. Thanks for the swift reviews!

Found another issue while testing: Kvrocks currently deviates from Redis' behavior when there are no pending messages. I've added a special case for this and a test to cover the new code.

@nathanlo-hrt Good job! You can run ./x.py format to format the code and make the linter happy.

Error: unit/type/stream/stream_test.go:2170:6: ineffectual assignment to err (ineffassign)
		r, err := rdb.XAck(ctx, streamName, groupName, "0-0").Result()


Frontend Project "razorpayClone" 'Explore Razorpay Business Banking' Section Uneven Color Correction

Describe the Feature you want to end
Changing those style properties that caused uneven color in text of this section.
Expected behavior
Consistent and even color of this section's content.
Screenshots (optional)
Current Design

Expected Updated Design

Additional context (optional )
N/A

@MohitGupta121 Kindly assign me this issue.


Correctly set Last-Modified

Rather than using an arbitrary value we use a real value based on query tables.
Doing so would open up the doors for implementing cheap responses to HEAD requests thus speeding up revalidation (currently performed after one hour of persistence in cache, due to max-age).

+1


Readme doesn't mention support for loading dependencies from setup.cfg

The readme mentions setup.cfg, but only in the context of configuring flake8. I was lucky in that I dug through old github issues to find #39 but I could have easily missed it and then not started using this plugin.

The help text for the flag --requirements-file also doesn't mention this support.


[TE] move dashboard resources for refactoring

This PR is a followup on the refactoring effort that split thirdeye-dashboard module from the original thirdye-pinot module (#6026). Here are the changes that this PR is going to make.

Move thirdeye-pinot/src/main/resources/schema/ to thirdeye-dashboard because all the test cases are moved to there.

Move thirdeye-pinot/src/main/resources/assets and thirdeye-pinot/src/main/resources/scripts to thirdeye-dashboard because these two are only used by the dashboard.

Remove thirdeye-pinot/src/main/resources/META-INF/persistence.xml

Change frontend compilation output path to thirdeye-dashboard/src/main/resources/app

Also, I envision the new coordinator module to be able to access the sql scripts without depending on thirdeye-dashboard.
I agree on this point. However, having all the tests in thideye-dashboard and create-schema.sql in thirdeye-pinot cause mvn install to fail. There are two ways going forward I can think of right now. One is to move create-schema.sql to thirdeye-dashboard, and the other is to move the test cases that require those schema back to thirdeye-pinot. Also, the last PR already moved persistence-local.yml to thirdeye-dashboard, so we also need to move it back if we want to go for second approach. Please let me know if there is any other way to do it.
[ERROR] beforeMethod(org.apache.pinot.thirdeye.detection.alert.filter.ToAllRecipientsDetectionAlertFilterTest)  Time elapsed: 0.003 s  <<< FAILURE! java.lang.RuntimeException: java.io.FileNotFoundException: file:/Users/jianchen/dev-projects/incubator-pinot/thirdeye/thirdeye-pinot/target/thirdeye-pinot-1.0.0-SNAPSHOT.jar!/schema/create-schema.sql (No such file or directory)         at org.apache.pinot.thirdeye.detection.alert.filter.ToAllRecipientsDetectionAlertFilterTest.beforeMethod(ToAllRecipientsDetectionAlertFilterTest.java:77)

@vincentchenjl
persistence-local.yml is a test resource I believe. I think we need to have a way of reading the sql file from a different module. This seems like a mvn + macOS issue since the tests run fine on the IDE and on GitHub/Travis.
Moving back the SQL tests is definitely something that we could do but the problem is that there are tests which aren't that modular. There may be some work here.
Feel free to move the UI app and assets to the dashboard module since they seem unrelated to the SQL bug. We can tackle this issue separately.

@vincentchenjl
Shared a fix on slack on Friday. Please take a look.
I'm curious how Travis is running fine?


RISC-V relocations

This PR adds implementations for handling some RISC-V relocations that are often found in libraries for bare-metal projects.

Are you planning to add implementations for R_RISVC_{RELAX,ADD32,SUB32, 32_PCREL,SET6,SET8,SUB6,SUB8}?  I'm seeing these generated by the riscv/riscv-gnu-toolchain .

ADD,SUB seem to be implemented already in the code, although the warning is still in there. RELAX does not really make sense to do anything with when reverse engineering an object file, it is used to reduce code size in the final linked binary.
I found a mistake in the HI20 computation when the companion LO20 relocation is negative. This is fixed in this PR now.

Ghidra decompiler output looks good with the revised commit.  I compared 10.1.1 with 10.2 DEV after merging your fork and rebasing and rebuilding.  Test cases included riscv64 debug and optimized object files compiled with g++ 11.1.0.

I think I originally only implemented the ones that I had in my sample executable and didn't really make an attempt to go find more or look at shared objects which might have others.   Made some guesses on a few that made sense, but think I accidentally left the todo comment as you noticed.
Did come across more in a project, I'm surprised an MR was never opened, but it was developed right as ghidra was releasing RISC-V support and most people AFAIK were just using my out of tree module instead of building master.  Might be helpful https://github.com/micahswitzer/ghidra_riscv

@thixotropist
Are you planning to add implementations for R_RISVC_{RELAX,ADD32,SUB32, 32_PCREL,SET6,SET8,SUB6,SUB8}? I'm seeing these generated by the riscv/riscv-gnu-toolchain .

As @jnohlgard already said, RELAX is unnecessary for proper decompilation (its purpose is to tell the linker that it can save space if it wants to) and ADD32, SUB32, and SUB8 work fine from my testing (I removed the warnings in my fork of mumbel's module).
SET6, SET8, and SUB6 were all implemented by me (although apparently I never was able to test them).

@mumbel
I'm surprised an MR was never opened

Yeah I got lazy and never put in the effort. Maybe I'll open one for the ones this MR doesn't address.
@jnohlgard I'm not sure what you're testing with, but the files I was looking at are here if you want more "real world" samples:
https://github.com/pine64/bl602-re/blob/master/blobs/libatcmd.a
https://github.com/pine64/bl602-re/blob/master/blobs/libbl602_wifi.a
https://github.com/pine64/bl602-re/blob/master/blobs/libblecontroller.a

Here's one archive that I have used as a test subject for the changes in this PR: https://github.com/bouffalolab/bl_mcu_sdk/blob/master/components/mac154/lmac154/lib/liblmac154.a

If you need a sample riscv-64 binary that uses the unsupported relocations, try extracting igc.ko from Fedora 37 for Riscv
The import log shows a problem importing symbols and several types of relocation symbols used in linking kernel modules to base kernel symbols:
Error creating symbol: .L112 - Symbol name contains invalid characters: .L112
Error creating symbol: .L01 - Symbol name contains invalid characters: .L01
Error creating symbol: .L135 - Symbol name contains invalid characters: .L135
Error creating symbol: .L02 - Symbol name contains invalid characters: .L02
...
Elf Relocation Warning: Type = R_RISCV_RVC_BRANCH at 00100e62, Symbol = .L1: TODO, needs support
...
Elf Relocation Warning: Type = R_RISCV_BRANCH at 00100eee, Symbol = .L19: TODO, needs support
...
Elf Relocation Warning: Type = R_RISCV_CALL at 00100f6a, Symbol = memcpy: TODO, needs support
...
Elf Relocation Warning: Type = R_RISCV_PCREL_HI20 at 0010120c, Symbol = .LC0: TODO, needs support
Elf Relocation Warning: Type = R_RISCV_PCREL_LO12_I at 00101210, Symbol = .L0: TODO, needs support

Running ghidra in foreground shows two errors with this import:
ERROR Failed to process GOT at 00100028: Insufficent memory at address 00100028
(length: 8 bytes) (ElfDefaultGotPltMarkup) ghidra.program.model.util.CodeUnitInsertionException: Insufficent memory at address 00100028 (length: 8 bytes)
	at ghidra.program.database.code.CodeManager.checkValidAddressRange(CodeManager.java:1868)
ERROR Failed to process GOT at 001003c1: Insufficent memory at address 001003c1 (length: 8 bytes) (ElfDefaultGotPltMarkup) ghidra.program.model.util.CodeUnitInsertionException: Insufficent memory at address 001003c1 (length: 8 bytes)

The error addresses match the beginning of the .got and .plt segments
readelf igc.ko doesn't show any problems with symbols like .L1
The equivalent x86_64 kernel load module loads cleanly, with the kernel symbols nicely linked.
Tested with ghidra_10.3.2 and ghidra_10.4_DEV

@thixotropist I will look into this while reviewing and handling this merge request

Sounds good.  Keep an eye out for riscv's use of signed addition - the high
20 bit value may need to be incremented when adding the low order 12 bits
with signed arithmetic.
On Fri, Aug 4, 2023 at 4:27 PM Ghidra1 @.***> wrote:

@thixotropist https://github.com/thixotropist I will look into this
while reviewing and handling this merge request
—
Reply to this email directly, view it on GitHub
https://github.com/NationalSecurityAgency/ghidra/pull/3816#issuecomment-1666139252,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXFNMDK6DD5QOKVGPENH643XTVLKRANCNFSM5K6GF7XA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Have all interested parties reviewed the relocations implemented by this PR?  I noticed that a few differ from how @micahswitzer had implemented in his fork () (i.e. R_RISCV_CALL, R_RISCV_LO12_I, R_RISCV_LO12_S).
@micahswitzer would you mind if I lifted your implementations for R_RISCV_SUB6, R_RISCV_SET6, and R_RISCV_SET8?

I haven't submitted a formal review. The PR's implementation of RISCV_CALL
probably needs correction for signed addition.  Please feel free to lift
anything you like from https://github.com/thixotropist/ghidra's
riscv_relocation branch, and test with examples big enough to require
offsets of 0x800 or more.
If possible, can you comment on what test inputs your team wants to use for
RISCV binaries?  64 bit user space processes look pretty good, PIC object
files and kernel load modules get some attention in my fork.  My code for
R_RISCV_PCREL_LO12_I is ugly - with relocations referring to other
relocations at addresses that hold yet other relocation codes.
Who knows what kind of relocations are common in object files with link
time optimization.
On Fri, Aug 4, 2023 at 5:59 PM Ghidra1 @.***> wrote:

Have all interested parties reviewed the relocations implemented by this
PR? I noticed that a few differ from how @micahswitzer
https://github.com/micahswitzer had implemented in his fork (
https://github.com/micahswitzer/ghidra_riscv) (i.e. R_RISCV_CALL,
R_RISCV_LO12_I, R_RISCV_LO12_S).
@micahswitzer https://github.com/micahswitzer would you mind if I
lifted your implementations for R_RISCV_SUB6, R_RISCV_SET6, and
R_RISCV_SET8?
—
Reply to this email directly, view it on GitHub
https://github.com/NationalSecurityAgency/ghidra/pull/3816#issuecomment-1666219515,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXFNMDK4GY5DHQ5VKDWKYUTXTVWEXANCNFSM5K6GF7XA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@thixotropist Could you review/examine the R_RISCV_CALL, R_RISCV_LO12_I, R_RISCV_LO12_S in this PR.  The implementations differ from your changes.

I believe that the PR implementation of R_RISCV_CALL needs to be corrected to allow for signed immediate addition in the jalr statement.  See https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf:
The indirect jump instruction JALR (jump and link register) uses the I-type encoding. The target address is obtained by adding the 12-bit signed I-immediate to the register rs1, then setting the least-significant bit of the result to zero.

The fix is to copy PR code from R_RISCV_HI20, adding 0x800 before masking.
The handler should treat R_RISCV_CALL_PLT and  R_RISCV_CALL the same, so I stack these cases in my code.
The PR's implementation of R_RISCV_LO12_I looks correct.  I don't have a test case for R_RISCV_LO12_S, so I can't say one way or the other.
My code refactors some of the high-20 and lo-12 calculations into static functions, so that goes beyond the scope of this PR.
I could work up some riscv elf import/relocation test cases and maybe a framework for regression testing if that helps.

Have all interested parties reviewed the relocations implemented by this PR? I noticed that a few differ from how @micahswitzer had implemented in his fork () (i.e. R_RISCV_CALL, R_RISCV_LO12_I, R_RISCV_LO12_S).

After reviewing my implementations of R_RISCV_LO12_I and R_RISCV_LO12_S, I believe that I accidentally got those mixed up with the PIC versions.

@micahswitzer would you mind if I lifted your implementations for R_RISCV_SUB6, R_RISCV_SET6, and R_RISCV_SET8?

Yeah that's totally fine. I'd appreciate contributor credit, but that's not necessary.

@micahswitzer I can do as a separate commit with you as author.  I will be re-creating commits in any case due to rebase and adding additional changes myself in another commit.

@thixotropist In the process of integrating your changes with this PR I was examing your getSymbolValueIndirect method implementation.  Is there any guarentee that the related HI20 relocation was processed before the R_RISCV_PCREL_LO12_I relocation?  If not the DB-stored relocation table will not yet contain the required relocation.  It may be preferable to search the raw relocation tables accessed via the ElfHeader.  Do you have any examples which demonstrate this applied relocation?

I will be pushing relocation changes for 10.4, however I did not have time to look into the symbol naming issue.  I changed the way the HI20 relocation lookup occurs, although I too was unable to verify at this point.  If anyone can point me to, or supply, a binary sample with R_RISCV_PCREL_LO12_I or R_RISCV_PCREL_LO12_S relocations I would appreciate it.
@thixotropist Re: "more link- and load-time optimizations through relocation codes" - I don't know the answer to this.


could not start ipfix server

Hello,
On all our systems I receive a "could not start ipfix server". Doesn't matter where I bind it to, what port I use, etc.

Please consider using https://github.com/pavel-odintsov/fastnetmon I have no time for exaddos development and fastnetmon is much better.


Could I get to know what each dimension in item_context.csv or "action_context" array from bandit feedback  are representing?

Could I get to know what each dimension in item_context.csv or "action_context" array from bandit feedback  are representing?
I looked for description in the documentation but I was unable to find the description

No, we can't disclose what each dimension means. Sorry for that.

OK, thanks for the reply


chore(deps): Remove unused @ampproject/remapping dependency

:tada: This PR is included in version 3.26.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Dropdown docs error in example

The ID specified by an href or data-target attribute should match the li.dropdown, not the ul.dropdown-menu.
This should solve the confusion from issues like #1093

ah good catch - thanks!


Clean up: device

MINOR changes:

improved instructions
establish alphabetical order
fixed indentation

MAJOR changes:
none
SPECIAL ATTENTION:
none

@apdavison @Peyman-N I'm okay with the changes. Feel free to merge when you are also happy


Add validation error context for downstream propagation

At the moment, the context returned by validation errors is very small. For example, a "required" error does not include the pointer to the required field itself, but to it's parent. However, sometimes it's required to know the exact path to present a suitable human readable error.
Another issue is that it should be possible to internationalize the error messages in cases where we want to support multiple languages. It would also be nice if it was possible to provide a custom error format.
This can be solved by either including all of the context necessary to render a proper error message, or by allowing the registration of error string format. I'd definitely think the former being the easier (and less polluting) approach.

It would also be beneficial to return context on the error type - for example missing, type_mismatch, and so on.

While we leave the exact content up to implementations, the latest draft adds a great deal of recommendations for context.  This could easily be applied to earlier drafts.
We may further recommend error content depending on feedback.

It's great to see recommendations on error responses. Every library solves this differently atm and it's hard to replace one with the other without impacting components downstream.

At the moment, the context returned by validation errors is very small. For example, a "required" error does not include the pointer to the required field itself, but to it's parent. However, sometimes it's required to know the exact path to present a suitable human readable error.

can you give me an example. When required field is missing, SchemaPtr points to the required field in the schema as json-pointer.

Yes, so assuming you have a schema along the lines of
{
  "$id": "https://example.com/config.schema.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "required": ["foo"],
  "properties": {
    "foo": {
      "type": "string"
    }
  }
}

and an input of {} I would like to have to show use the error information to show the user, for example, what field exactly is causing this:

foo: This field can not be empty.

or in other languages (e.g. German):

foo: Das Feld darf nicht leer sein.

This is currently not possible, because:

We do not know what type of error occurred (only implicitly by looking at SchemaPtr which would be #/required here or, if nested, something like #/foo/bar)
We know what the parent of the property is that has thrown the error, but not the property itself. Here InstancePtr is #, making it impossible to e.g. point the user directly to the field. This is problematic when rendering HTML Forms where we would like to associate the error message with the Form Field itself.
We lack additional context. In cases where, for example, the error is something like expected $1 items but got $2 or expected string got object we would, at the moment, need to parse the error message in order to be able to translate/transform (think JSON, and translation into other languages like German) it, for example.

As pointed out above, a verbose error would be along the lines of:
// schema
{
  "$id": "https://example.com/polygon",
  "$schema": "https://json-schema.org/draft/2019-09/schema",
  "type": "object",
  "properties": {
    "validProp": true,
  },
  "additionalProperties": false
}

// instance
{
  "validProp": 5,
  "disallowedProp": "value"
}

// result
{
  "valid": false,
  "keywordLocation": "#",
  "instanceLocation": "#",
  "errors": [
    {
      "valid": true,
      "keywordLocation": "#/type",
      "instanceLocation": "#"
    },
    {
      "valid": true,
      "keywordLocation": "#/properties",
      "instanceLocation": "#"
    },
    {
      "valid": false,
      "keywordLocation": "#/additionalProperties",
      "instanceLocation": "#",
      "errors": [
        {
          "valid": false,
          "keywordLocation": "#/additionalProperties",
          "instanceLocation": "#/disallowedProp",
          "error": "Additional property 'disallowedProp' found but was invalid."
        }
      ]
    }
  ]
}

This actually isn't very far away from the current error model. Maybe adding just a few more "ValidationError.Causes" would already help?

I was thinking about this a bit more (sorry for the multi-responses). In fact, you're right, most of the context is there. We just have to add one or two more errors to the "causes" list. For example, the required error gives the following result:
I[#] S[#/required] missing properties: "foo"

instead, it would be helpful if it gave this one instead:
I[#] S[#/required] missing properties: "foo"
  I[#/foo] S[#/required] is required

This would already provide sufficient context. On top of that, instead of having InstancePtr and SchemaPtr a simple string, it could be it's own type:
type Pointer struct {
  JSONPointer string // #/path/to/wherever
  Value interface{} // This would be the value of the "resolved" JSONPointer
}

That way, I could, for example, get minItems by doing fmt.Sprintf("%s", ValidationError.SchemaPtr.Value) or the number of items with len(ValidationError.InstancePtr.Value.([]interface{}))

We do not know what type of error occurred (only implicitly by looking at SchemaPtr which would be #/required here or, if nested, something like #/foo/bar/required)

based on last path component in SchemaPtr you can know type of error. if SchemaPtr is #/required you know that required constraint validation failed.

We know what the parent of the property is that has thrown the error, but not the property itself. Here InstancePtr is #, making it impossible to e.g. point the user directly to the field. This is problematic when rendering HTML Forms where we would like to associate the error message with the Form Field itself.

in case of required the InstancePtr cannot point to field foo as in #/foo because foo property does not exist. if you want actually property name that is missing we can set SchemaPtrto#/required/0' then from schema you can get the property. currently property name is embedded in the error message.

We lack additional context. In cases where, for example, the error is something like expected $1 items but got $2 or expected string got object we would, at the moment, need to parse the error message in order to be able to translate/transform (think JSON, and translation into other languages like German) it, for example.

18n was never on the list. the error messages are for humans. the errors allow only programmatic access to schema and instance location where error occurred. think of golang compilation errors.
they give package/file/line and error message. you don't expect all information why it failed is not programatically accessible.
mainly error message are for human to understand why it failed. the schemaPtr and instancePtr can help editors like sublime to locate error in editor and show error mark.

based on last path component in SchemaPtr you can know type of error. if SchemaPtr is #/required you know that required constraint validation failed.

Point being that I don't have to retrieve the pointer manually. This is more about developer experience.

in case of required the InstancePtr cannot point to field foo as in #/foo because foo property does not exist. if you want actually property name that is missing we can set SchemaPtrto#/required/0' then from schema you can get the property. currently property name is embedded in the error message.

That makes sense. See my comment after the next quote.

18n was never on the list. the error messages are for humans. the errors allow only programmatic access to schema and instance location where error occurred. think of golang compilation errors.
they give package/file/line and error message. you don't expect all information why it failed is not programatically accessible.

I understand that. My point is that while this is out of this libraries domain, it should still be possible for consumer. Right now, it's not. To, for example, implement form validation for required fields I would have to:

split SchemaPtr and use the last element of the path to understand if it's caused by required
write a regex to parse the error message to match "missing properties: %s" (e.g. missing properties: (.+)), split the result with ,  to get the field that's missing.
trust that this library doesn't modify the error message in any way (typically merged as patches because while it is a breaking API change - since I have no other way of knowing error details - it probably won't be viewed as such as it's an implicit contract).

I hope you see my point. This would - by the way - be fairly easy to solve by adding additional types such as ValidationErrorRequired that carry additional context such as:
type ValidationErrorRequired struct {
  MissingPtr string
  *ValidationError
}

I hope you understand my point.

Just checking in if you've thought about this. If you don't see this as an issue or thing it's out of the scope of this library that's fine as we'll just work with a fork then.

I've started working on our fork, you can check it out to see what we're planning to address these issues: https://github.com/ory/jsonschema/pull/1/files

this will be incompatible change.
the latest draft has specification for output format. also need to thought about implementing this. so I kept it aside.
I checked your code. the code gets bloated for each type of error. I prefer to use simple map[string]interface{} as Context in Validation in your pull commit.
will have a look at this, in latest draft implementation to avoid breaking changes multiple times.

the latest draft has specification for output format. also need to thought about implementing this. so I kept it aside.

Fair point! We'll go with our fork in the meanwhile and I'm happy to help once you decide to start work on draft8!

I checked your code. the code gets bloated for each type of error. I prefer to use simple map[string]interface{} as Context in Validation in your pull commit.

I think that's a fair point, the design style is up to you! Personally, I prefer static types as a developer consuming Go libraries. While map[string]interface keeps your codebase clean, it pollutes my codebase, because I have to assert types and handle type checks.
When designing my Go code (hydra, fosite, ladon, ...) I always try to design things in such a way that consuming them is less work - even if writing them is a bit more. But hey - please take this just as input - I'm not here to tell you how to design your code, just share my experiences with maintaining tons of Go code and listening to people complain about it on GitHub ;)

For anyone looking, I went ahead and implemented those changes in a fork: https://github.com/ory/jsonschema/pull/1

now the library implements the output format as specified in draft.

Awesome!!


fix(pfCanvasEditor): Fix for drag-n-drop items from toolbar

Description
Fixes #651
Restored the drag-n-drop capabilities when dragging or clicking on an item in the items toolbox.

Hi @dtaylor113 do you have a rawgit link that I could look at?

Hi, pfCanvasEditor ngDoc

Thanks @dtaylor113 LGTM!


wip

What this PR does / why we need it:
Which issue(s) this PR fixes

Fixes #

Special notes for your reviewer:
Release note:
release-note

Have basic list/show/install commands with an env override for the installation location.
TODO:

[ ] lots of tests
[ ] clarify help messages for usage
[ ] rework slightly so the methods dont output the CLI output. Ensure the functional code is in its own methods and the CLI stuff is separate.
[ ] more? Recheck the DD

Also added an uninstall command and am making the commands hidden for now. This way all this can merge before actually tying it into the actual plugin loading. So this is just a stealth feature a.t.m. where sonobuoy will save/list/show plugins but it doesn't impact runs at all.
The next PR can actually tie it into the loading of plugins (thats the part that we'll feature gate with an env var).

@vladimirvivien Since these are hidden commands at first we don't have to be perfect but I wanted eyes on this first main chunk of the functionality. Anything that doesn't make sense or that I failed to implement from the DD?
The followup PR will make these non-hidden and actually modify the loading of plugins. The point of merging this first is to get the bulk of the code out of the way so we can more easily code/review the implementation and tweaks on this foundational PR.

Fixed up from comments and added a new test to confirm that when listing plugins we continue despite failures (which we didnt actually do before).
Merging and working on the followup that actually ties this into sonobuoy logic


Replace reference to headers to headings H-elements

This PR fixes #724 ,  which aims to replace references to H1 - H2 as headers to headings.

would this require a major version update, since we'd be renaming all of the heading block type? this would be really problematic for others trying to load old ContentStates that expect the block type to say "header" instead of "heading", right?

@davidchang Yes, it would require a major update if it would be causing that sort of issue.
@tylercraft what do you think?

@jihdeh - Thank you for taking this on, but after looking at what it would take to migrate, this will be a bigger issue than I initially thought. While I agree that this is an issue, it will be too big one for migrations for just a semantic change. This is completely my fault and something I should have double checked prior to replying to your comment. I'm sorry if this took up much of your time and hope that you will still contribute to draft in the future.


fix deliver_later typo in doc

This looks like it's supposed to refer to the non ! version of this function.

STEEEEEEVE


Omit the parameter in the callback function of then/otherwise

This is not an issue, I just wanted to get your opinion on a topic.
To resolve a promise we do
$promise->then(function[...]
The callback parameter gets the ResponseInterface $response  as function parameter. What if I don't want to use that value? If I just want to log something, or dunno, do something else which has nothing to do with the response. Do you think it's good practice to do $promise->then(function () or would you always write $promise->then(function (ResponseInterface $response)) even though you won't need that parameter?
Was just wondering, because omitting the parameter would mean, that we are getting a warning about calling a method with no parameter, right?

Was just wondering, because omitting the parameter would mean, that we are getting a warning about calling a method with no parameter, right?

You can omit the parameter from your closure; PHP won't raise a warning.

Will there not be thrown a warning because I'm using a closure or is there a different reason?

You can pass whatever arguments you want to a function (as long as it doesn't conflict with any declared parameters), but the function doesn't necessarily have to acknowledge them. This has been the foundation of variadics prior to PHP 5.6. See https://3v4l.org/UMmpV


Modified and original files saved

CFG rescale saves both original and modified files, even though Keep Original Images is not selected.
This is a fresh install, The only change is Auto Colour Fix is selected.

The fix I have found it using 'sepia:1.4'


Dev

Added three test scripts for tools in the Clearing Operations Tools_10.3 Toolbox to operational_graphics: TestCanvasAreaGRG.py, TestNumberFeatures.py, and TestPointTargetGRG.py.

@JudTown17 OOPS, somehow you've got an "update" to the main README.md in there. Though the updates are stuff that has been in the README for quite a while now. Not sure how yours got behind.


NPM cannot expose to internet

Describe the bug
Nginx proxy manager displaying 502 error on speedtest.domain.com. Sometimes is working but 95% it is not and I cannot check my speed when im not home...
All my other sites are exposed to internet like this and every single one is working
To Reproduce
/
Expected behavior
I should see admin panel of speedtest-tracker
Environment (please complete the following information):

OS: Proxmox
Architecture: amd64
Browser: any
Version: 0.18.6

Screenshots

Logs
/
Additional context
/

Did you set APP_URL to your public domain?

I did not. Thanks

If it's all set, please close the issue.