misc/cgo/fortran: test fails on linux-386

I just deployed a new Linux base container image to our builders which included @jessfraz's fix to #14488 (adding gfortran).
It passes on amd64, but on linux-386 (which runs on the amd64 base image), we get:
##### ../misc/cgo/fortran
# _/tmp/workdir/go/misc/cgo/fortran
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.so when searching for -lgfortran
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.a when searching for -lgfortran
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.so when searching for -lgfortran
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.a when searching for -lgfortran
/usr/bin/ld: cannot find -lgfortran
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc.a when searching for -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
collect2: error: ld returned 1 exit status
FAIL	_/tmp/workdir/go/misc/cgo/fortran [build failed]
FAIL: go test
2016/10/18 13:04:44 Failed: exit status 1
2016/10/18 13:04:44 FAILED

I've manually deleted gfortran for now to make this skip again, but we should fix this properly, making the test more robust.

Looks like your builder has the 64-bit Fortran development libraries installed but does not have the 32-bit Fortran development libraries.  On Ubuntu it should work to install the gfortran-multilib package.

ah I can fix that

@jessfraz's fix was deployed and verified, so this is fixed.

Yayyyyy
On Friday, October 21, 2016, Brad Fitzpatrick<EMAIL_ADDRESS>wrote:

Closed #17502 https://github.com/golang/go/issues/17502.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/17502#event-831754735, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABYNbE6bRArfhStBCDGuq98iEdjyHH9eks5q2H65gaJpZM4KZyI5
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3


diylc: init at 4.15.1

Motivation for this change
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Please squash the commits together.

Done

Updated to 4.12.0

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/432

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/432

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 106456 run on x86_64-linux 1

1 package built:

diylc

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 106456 run on x86_64-linux 1

1 package built:

diylc

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 106456 run on x86_64-linux 1

1 package built:

diylc

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 106456 run on x86_64-linux 1

1 package built:

diylc

@ofborg eval

@ofborg eval


[bug]: Regarding the compatibility issue of pad with stylus.

Is there an existing issue for this problem?

[X] I have searched the existing issues

Operating system
Windows
GPU vendor
Nvidia (CUDA)
GPU model
RTX3060
GPU VRAM
12GB
Version number
5.0.0.a3
Browser
Vivaldi	6.9.3447.41
Python dependencies
No response
What happened
On version 4, I can use a stylus to draw patterns on my pad. In this version 5 now, when I use a stylus on my pad, I can only draw one dot at a time. I cannot draw a straight line. When I try to draw a straight line, it will drag the entire web page to scroll up and down. However, in View mode, the canvas can be dragged and moved separately.
What you expected to happen
When used on a pad, a stylus can be used for drawing if the pad usage scenario is in the plan.
How to reproduce the problem
No response
Additional context
No response
Discord username
No response

By the way, on the pad, even with fingers, one cannot draw a straight line. It will also drag the webpage to scroll up and down.

This will be something we tackle for a v5.1 update. Handling tablet input correctly needs a separate system from the mouse. We'll also add pressure sensitivity at the same time.

This could be an incredible setup for industrial designers, especially when working on an iPad. I can already envision it being able to directly compete with Vizcom and similar services.


Menu buttons: Style tab

Acceptance criteria

[ ] Create Style tab content/images for the Combo button and Menu button.

Use the content style template to create documentation.

Ref existing PAL docs for Combo button and Menu button:

Sustainability PAL
Carbon for IBM Products PAL

o


extend fmt! to add %g analogous to printf '%g'

 Issue by erickt
Thursday Oct 18, 2012 at 23:02 GMT
For earlier discussion, see https://github.com/rust-lang/rust/issues/3810
This issue was labelled with: A-libs, I-enhancement in the Rust repository

It's sometimes nice not to include trailing zeroes when printing floats. It'd be nice if we copied printf's %g to handle this.

Any thoughts on possible syntaxes/implementations of this?
I believe it used to be the default in rust with the format trait 'f', but that appears to have been removed, can someone explain why?
I have a project that would benefit greatly from this.

From http://www.cplusplus.com/reference/cstdio/printf/
f	Decimal floating point, lowercase	392.65
F	Decimal floating point, uppercase	392.65
e	Scientific notation (mantissa/exponent), lowercase	3.9265e+2
E	Scientific notation (mantissa/exponent), uppercase	3.9265E+2
g	Use the shortest representation: %e or %f	392.65
G	Use the shortest representation: %E or %F	392.65

+1 to this. Actually, if it weren't for backwards compatibility, I'd even like this behaviour to become the default. There's plenty of prior art of using this so-called "engineering notation" in scientific calculators.
Very large and very small numbers, which are quite common in scientific computing, don't mix well with purely decimal formatting at all. Conversely, there is no need to get scientific notation involved for numbers close to 1, where decimal notation is more easily readable.
In this sense, the engineering notation is the most sensible default for printing floats of unknown value, because it is the notation which is most likely to feel right for any number.

Here is a basic implementation based on the existing formatters:
/// Write a floating-point number using "engineering" notation
///
/// Analogous to the %g format of the C printf function, this method switches
/// between naive and scientific notation for floating-point numbers when the
/// number being printed becomes so small that printing leading zeroes could end
/// up larger than the scientific notation, or so large that we would be forced
/// to print more significant digits than requested.
///
pub fn write_engineering(writer: &mut impl Write, x: Real, sig_digits: usize) {
    let mut precision = sig_digits - 1;
    let log_x = x.abs().log10();
    if (log_x >= -3. && log_x <= (sig_digits as Real)) || x == 0. {
        // Print using naive notation
        if x != 0. {
            // Since Rust's precision controls number of digits after the
            // decimal point, we must adjust it depending on magnitude in order
            // to operate at a constant number of significant digits.
            precision -= log_x.trunc() as usize;

            // Numbers smaller than 1 must get one extra digit since the leading
            // zero does not count as a significant digit.
            if log_x < 0. { precision += 1 }
        }
        write!(writer, "{:.1$}", x, precision);
    } else {
        // Print using scientific notation
        write!(writer, "{:.1$e}", x, precision);
    }
}

What upstream integration would bring with respect to this approximation is much greater ease of use (as there is no need to break out of the format string workflow) and access to the other format!() controls: padding, alignment...

If there is anything I can do to help you get rid of this little papercut, feel free to ask :wink:

I have implemented something a bit more subtle (and also less efficient) at:
https://github.com/droundy/sad-monte-carlo/blob/master/src/prettyfloat.rs
I format both ways, and then pick whichever is shorter, which I consider a very nice heuristic.

I would need this right now, for a project that needs to mimic C's %g output byte-for-byte. I don't think I'm alone in this case.

FWIW I have published https://crates.io/crates/gpoint which is a wrapper around f64 using libc's printf with the "%g" format. This enabled me to RIIR a project at work and have its output exactly match it's C counterpart.


Add an option to hide replies to messages from blocked users

For example:
say A (blocked user) messages in a channel and someone else (not blocked) replies to it, hide the message which was sent in reply to the blocked user's text.
Please tell me know if you do not understand.

This should be added to HideBlockedMessages instead


Eva support for localensembleda

Description
Provides Eva support for localensembleda suite.
Wraps up open task in GEOS-ESM/repo/pull/256.
Dependencies
No dependencies.
Impact
None.

Dropped references to GEOS from flow.cylc.


Picking causes a double-render

Try pasting the following code in Sandcastle:
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;

// Turn stars off, so sun will flash on pick.
scene.skyBox = scene.skyBox.destroy();

// Just for help finding the sun, not part of the bug.
scene.globe.enableLighting = true;

var primitive = scene.primitives.add(new Cesium.EllipsoidPrimitive({
    modelMatrix : Cesium.Transforms.eastNorthUpToFixedFrame(
        Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 3000000.0)),
    radii : new Cesium.Cartesian3(1200000.0, 1200000.0, 3000000.0),
    material : Cesium.Material.fromType(Cesium.Material.StripeType)
}));

In the above demo in master, left-clicking the globe will cause a single-frame "flash" of both the Sun and the portion of the blue ellipsoid that is not in front of the Earth.
For added fun, you can cause a pick to happen on mouse move, which will cause the Sun and the blue ellipsoid to leave streaks as they move:
viewer.screenSpaceEventHandler.setInputAction(function(movement) {
    var pickedPrimitive = viewer.scene.pick(movement.endPosition);
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

Possibly the same bug as this?

Could be.

Multiple users are reporting issues at my above forum link.  It would be nice to look at this for 1.11.

Git bisect shows this went bad in 42e4b8d12f, which was the first commit to a long-running branch that merged to master in #2506.

Given several users have hit this bug, and it was a regression introduced with 1.10, I marked this as a showstopper.

Same problem here, drawing polygons and then do "drillPick" on mouse move... any chance to release a fix version for this one ASAP?
Thanks

Here are some new findings after a long debug session.

When the app calls Scene.pick, one of the commands in Scene.executeTranslucentCommandsSorted ends up calling Context.applyRenderState with some interesting parameters.  In these parameters, the renderState itself calls for the scissor test to be disabled, but the passState calls for that to be enabled, for picking a small 3x3 region.  What ends up happening is the scissor test is enabled, but the last known renderState is recorded as having it disabled.

Picking works fine, in spite of the clerical error.  The next animation frame, where a new render pass begins, is where problems crop up.  The last known renderState has the scissor test turned off, when in fact the real gl context still has it enabled.  Thus the clear commands only execute in a 3x3 region around the last pick location.

After the clear commands execute, the renderState does change and the scissor test is properly turned off.  Thus the rest of the frame renders correctly, except that OIT blends the translucent stuff with the previous frame that never got cleared out.

If you call pick between each render frame, your clear commands never work except in the immediate vicinity of your mouse pointer.  This leaves smeary trails of translucent objects, with little mouse holes in them.  See the Sandcastle volumes demo for an example of this, or run the above demo with the extra snippet at the bottom of my original post above.


Added a hardcoded html 5 game in desktop app  using iframe

Im not able to fetch the URL from the search bar and pass it to the src of the iframe to dynamically render an HTML 5 game. But I have been able to hard code an HTML 5 game URL into an iframe to render the game in a desktop application.

@shalomalexander For now, we don't need iframe, we will be covering the whole window, which I think you've done before. It's ok if there is no way back. Once the game is launched, there should be no component of Nuxt.js in the window.
I am sorry if I wasn't able to make it clear. Showing the game in the whole window is exactly what we want. I think you were able to do it already, still, if there is an issue, you can tell.


False IST0131 warning when using match / as catch all after 1.12.0 upgrade

Bug Description
Getting this warning when applying the below manifest.  However accessing /blocked_stuff does result in the 400 error so it is working.
Warning: virtualService rule "20_blocked_urls" match #0 of prefix /blocked_stuff is not used (duplicate/overlapping match in rule #0 of prefix / on "90_main")
Istioctl analyze similarly reports
Info [IST0131] (VirtualService default/productpage) VirtualService rule "20_blocked_urls" match #0 of prefix /blocked_stuff is not used (duplicate/overlapping match in rule #0 of prefix / on "90_main").
This didn't happen with 1.10.5, skipped 1.11.x and getting these warnings in 1.12.0
We
Sample Manifest
`---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: productpage
spec:
hosts:

productpage
http:
fault:
abort:
httpStatus: 400
percentage:
value: 100
match:

uri:
prefix: /blocked_stuff
name: 20_blocked_urls
route:
destination:
host: productpage
subset: v1

match:

uri:
prefix: /
name: 90_main
route:
destination:
host: productpage
subset: v1`

It seems the warning goes away if instead of having a final match on '/' we just have a default route.  This is probably the correct definition looking at the current docs anyways.
Just wondering if the definition as we have it is actually valid? or could break at any time, or is this more a bug with the analyzer?
Version
istioctl
client version: 1.12.0
control plane version: 1.12.0
data plane version: 1.12.0 (6 proxies)

kubectl
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:41:02Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.13", GitCommit:"61be87ea533002fdf9251891b1a6e616c26a5cfd", GitTreeState:"clean", BuildDate:"2021-10-09T05:09:23Z", GoVersion:"go1.15.14", Compiler:"gc", Platform:"linux/amd64"}

Additional Information
No response

I think this is a bug.. VS match rule should be ordered.


TestE2EMefEline.test_155_removing_evc_metadata_persistent is failing

When I re-executed the end to end tests this one here keeps failing, the rest have passed though when I executed the entire test suite:
platform linux2 -- Python 2.7.16, pytest-3.10.1, py-1.7.0, pluggy-0.8.0
rootdir: /builds/amlight/kytos-end-to-end-tester/kytos-end-to-end-tests, inifile:
plugins: timeout-1.3.3
collected 189 items / 188 deselected
tests/test_e2e_10_mef_eline.py F                                         [100%]
=================================== FAILURES ===================================
__________ TestE2EMefEline.test_155_removing_evc_metadata_persistent ___________
self = <tests.test_e2e_10_mef_eline.TestE2EMefEline instance at 0x7f0d4b6c8a28>
    def test_155_removing_evc_metadata_persistent(self):
        """
        Test /api/kytos/mef_eline/v2/evc/{evc_id}/metadata/{key} on DELETE
        supported by:
            /api/kytos/mef_eline/v2/evc/{evc_id}/metadata on POST
            and
            /api/kytos/mef_eline/v2/evc/{evc_id}/metadata on GET
        """
        evc1 = self.create_evc(100)
        api_url = KYTOS_API + '/mef_eline/v2/evc/%s/metadata' % evc1

        # Make sure the metadata is initially empty
        response = requests.get(api_url)
        assert response.status_code == 200
        data = response.json()
        assert 'metadata' in data
        assert data['metadata'] == {}

        # Insert evc metadata
        my_key = 'tmp_key'
        payload = {my_key: "tmp_value", "other": [1, 2, 3]}

        response = requests.post(api_url, json=payload)
        assert response.status_code == 201

        # Make sure the metadata was inserted
        response = requests.get(api_url)
        data = response.json()
        assert data['metadata'] == payload

        self.restart()

        # Make sure the metadata is still there
        response = requests.get(api_url)
        data = response.json()
>       assert data['metadata'] == payload
E       KeyError: 'metadata'
tests/test_e2e_10_mef_eline.py:1277: KeyError```

This test has no longer been failing, I'll go ahead and close this. If it ever shows up again, It'll get reopened again.


Can't make static code analyisis when using geopandas.read_file()

Description
What steps will reproduce the problem?

Whenever I have the following code on my file:
geopandas.read_file("data/export.geojson")

I cannot execute Static code analysis on spyder 3.3.3, as it gets stopped and a new black window with "error" title is displayed, but no more information.
If I comment out that line code analysis work as usual.
Traceback
RecursionError: maximum recursion depth exceeded

WARNING:spyder.widgets.github.backend:Failed to send bug report on Github. response={'code': 401, 'json': {'message': 'Bad credentials', 'documentation_url': 'https://developer.github.com/v3'}

Versions

Spyder version: 3.3.3
Python version: 3.7.1
Qt version: 5.6.2
PyQt5 version: 5.6
Operating System: Linux 4.15.0-45-generic

Dependencies
pyflakes >=0.6.0  :  2.1.0 (OK)
pycodestyle >=2.3 :  2.5.0 (OK)
pygments >=2.0    :  2.3.1 (OK)
sphinx >=0.6.6    :  1.8.3 (OK)
rope >=0.9.4      :  0.10.7 (OK)
jedi >=0.9.0      :  0.13.2 (OK)
psutil >=0.3      :  5.5.0 (OK)
nbconvert >=4.0   :  5.3.1 (OK)
pandas >=0.13.1   :  0.24.0 (OK)
numpy >=1.7       :  1.15.4 (OK)
sympy >=0.7.3     :  None (NOK)
cython >=0.21     :  None (NOK)
qtconsole >=4.2.0 :  4.4.3 (OK)
IPython >=4.0     :  7.2.0 (OK)
matplotlib >=2.0.0:  3.0.2 (OK)
pylint >=0.25     :  2.2.2 (OK)

Please report this problem here:
https://github.com/PyCQA/pylint/issues
because the only thing we do is to call pylint behind the scenes to generate the reports shown in our "Static code analysis" pane.
Thanks!

Thank you, I am new to spyder and python and I posted it here using the crash form that appears on spyder.
I will do as you request, although I am afraid there is not much information about the proper error due to the fact that spyder error window is completely black and does not give any kind of feedback about the error.

You can report the Recursion error you got above. That should be enough.

Thank you again!


Support for python 3.13

Still blocked by pyarrow dep.

In general, since we use cp38-abi3 wheels, is there a reason we need to have the max version specified for ourselves?
requires-python = ">=3.8, <3.13"

Or can we let the solver work it out so it's more clearly the upstream dep that's the issue?

pyarrow 18 is out so we should be able to move forward on this


fix(control_launch):change default mpc param to improve performance

Description
For https://github.com/autowarefoundation/autoware.universe/issues/641, change default mpc parameter to improve performance for the sample-vehicle (mentioned in https://github.com/autowarefoundation/autoware.universe/issues/641#issuecomment-1091636565).
Please check the tracking performance is improved following the planning-simulator tutorial.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@TakaHoribe  thank you!
pls fix PR title


fontWeight missing

fontSize and fontFamily are the but I can't seem to configure the fontWeight.
On retina screens dropping weight really makes the editor feel less cramped.

There is no such setting yet. I'm not aware of anything that would be blocking this though, it's just a bit of wiring that's needed I think. Maybe even a good-first-issue @bryphe?

@glennsl can you refer to a PR that did something like that? I would like to try contributing

Sorry for the late reply @lucis. I'm not aware of anything all that similar, but I can think of a few PRs that are relevant:

#1511, which changed how we store and pass the editor font around.
#1436, which refactored the entire configuration system

This would be super nice, at the moment I have to point onivim to use actual font file in order to use semi-bold.

I started working on this one, here what I got so far:


Zero IF  filter

Hi,
I want to filter out image frequencies ( positive and negative image frequencies) after downconversion to zero IF and need a band pass filter to pass frequencies between -50khz and 50 Khz. I have found fir filter in the library but it requires only one cutoff frequency. I want to implement dual channel receiver so I downconvert using nco and using following for filtering images but not achieving thr desires results as not knowing how to filter negative frequencies.
#define SAMPLERATE 1024000.0f
#define CUTOFF_HZ 50000.0f
#define NUM_SAMPLES 1024

float fc = CUTOFF_HZ/SAMPLERATE; // cutoff frequency
unsigned int h_len = 64; // filter length
float As = 70.0f; // stop-band attenuation

float complex r[NUM_SAMPLES]; // zero if  signal nco output
float complex rf[NUM_SAMPLES]; // filtered signal

// design filter from prototype and scale to bandwidth
firfilt_crcf q = firfilt_crcf_create_kaiser(h_len, fc, As, 0.0f);
firfilt_crcf_set_scale(q, 2.0f*fc);

while (1) {
    ReadzeroIFsamples(r, NUM_SAMPLES); //
    for (int i=0; i<NUM_SAMPLES; i++)
        firfilt_crcf_push(q, r[i]);
        firfilt_crcf_execute(q, &rf[i]);
    }

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx


Add support for rolling the destiny pool

Having the ability to trigger a roll of each player and auto-updating the destiny pool would be neat.

Destiny pool is typically rolled once a session.  I think this would be better suited as a macro, and what's to stop an annoying players from just rolling and rolling and rolling.  Been playing around with a chat message that players can click on ONCE to roll destiny, the GM has a button to send the message.

I don't agree that it's better suited as a macro, given that it's something everyone playing the game has to do once a session (which means it's a core mechanic, thus deserving of official support.)
Despite my belief, I don't think it's important enough that people will get angry if it's missing. A macro makes sense, especially if it's published in the wiki.

I agree... macro is not going to work.  I'm actually working on this right now, trying to allow the GM to limit the ability to roll Destiny per player.  So that a user can't "accidentally" roll more than once

will be in version 1.2


[XPU][OptRed] Define triton_intel_gpu.simd_reduce and use in optimized transposed reduction

Define SIMD transpose-reduce operation performing a SIMD reduction while transposing the implicit SIMD matrix. See description definition for further context.
Using this operation in the transpose reduction pass allows us to perform the optimization while not using SLM.

Something is off with the vISA generated. I'm looking into that. Delay reviews.

IGC vISA parser fails to parse this when combined with DPAS instruction. Waiting for fix.


Active contributors on website about page

Active contributors section on main website
I would like to add a special section with active contributors on main website.
In about page in a team section.

We'll update this and close in the end of may.

@Barmadzilla we need to design this.
Since we came back to opensource, we need to add an additional contributions page or section om main website.


Cant find method "idft2"

Hi, I can't find the idft2 method. Could you update it or let me know how to get it?

You can use function idftn, which is a general version of idft2.


[BUG] Legacy context API has been detected within a strict-mode tree:      in StrictMode

Describe the bug
It seems a regression in the compliance with the new context API was introduced with GlobalHotKeys.
vendors~main.64d108ae760cbd63d1ea.bundle.js:138014 Warning: Legacy context API has been detected within a strict-mode tree:
    in StrictMode

Please update the following components: GlobalHotKeys

Learn more about this warning here:
https://fb.me/react-strict-mode-warnings

Resolved by #176

Fix is now available in v2.0.0-pre6.


add a flag to disable numpy broadcasting behavior

This probably means rank-promoting broadcast, in which case this was added in #1245?


Update error

Before opening the issue, have you...?

[X] Searched for existing issues
[X] Looked through the wiki
[X] Updated MonitorControl to the latest version (if applicable)

Describe the bug
Using 4.2.0, when check for updates, the app now constant reports "Updated Error" rather than "Latest version"

Steps to reproduce

Go to Icon on menu bar
Click on "Check for Updates"

Expected behavior
Update check should report latest version or new version
Anything else?
No response
Environment Information (please complete the following information)
- macOS version: Sonoma 14.3.1
- Mac model: MacBook Air M1
- MonitorControl version: 4.2.0
- Monitor(s): Dell U2720Q
- Apple Silicon/M1 (yes or no): Yes

Also seeing this issue

Hmm. There seems to be an issue with the monitorcontrol.app domain? @the0neyouseek - can you take a look?

Ok, it seems like the monitorcontrol.app doman was expired and taken by a third party. It is now in a transfer period.The new owner's identity is not public. The registration was done via Cloudfare. Sent them an email regarding the issue, hopefully they will answer. Sadly there is a chance that the domain is lost.

@waydabber Everything should be okay as I was the one who transferred the domain (we previously used Google Domain but Google has stopped offering that service)
I'll take a look asap at the config to see what's wrong with it

I made the necessary changes and everything should be okay now

All right, thanks @the0neyouseek. What a relief! 😅


V3 core sdk via nuget

https://spockle.atlassian.net/browse/DUI3-35
takes the intermediate step of referencing core from the new repo and removing core from the solution filter.
Some changes to logging help with dependencies

I mean it's all a bit hard to read but updating reference to the nuget essentially, mainly just:

Should we be taking minor and bug fix improvements automatically?

I did have another but it's gone...


Default credentials to false for backwards CORS compatibility

@mikekelly Fixes issue #78
Credentials should be a default to false option with availability to override. It should not break existing user functionality when attempting http over CORS accepting APIs.

thanks 👍

@mikekelly Will you be publishing to the site with this fix soon? #78 is still open.

@mikekelly Oh, seems like this might break #58 - do we need to expose a UI to make this configurable?


Add server/client configuration to port option (like with "host" option)

Operating System: Ubuntu 18.04
Node Version: 8.11.1
NPM Version: 6.0.0
webpack Version: 4.12.0
webpack-hot-client Version: 4.0.3

[ ] This is a bug
[x] This is a feature request
[ ] This is a modification request

Code

// Suggested Configuration:
{
      host: {
        client: "my.website.com",
        server: "<IP_ADDRESS>"
      },
      https: true,
      port:{
        client: false, // number or false
        server: 8081
      }
    }

For Features; What is the motivation and/or use-case for the feature?
This would allow users who have a proxy configuration set up to allow the default port 443 for wss:// connections to work as intended. The issue I'm having is that the address the websocket tries to listen over is wss://my.website.com:8081 which means I have to set my nginx server running on docker to also listen to port 8081 as well as 443. The ideal way this would work for me would be that the client just tries to connect to wss://my.website.com without any port information added. Then it would route correctly through 443

Thanks for the issue :beer:
This has been requested (once?) before, early on when webpack-serve was in its infancy. The case was made for allowing the hosts to be different, which were previously enforced because the added complexity and unpredictability of the client experience outweighed the benefit. When calls for that feature made it clear that the benefit outweighed the afore mentioned potential problems, we made the change.
This is one of those situations where the use-case is super-niche. (From what I recall, as was the first time it was suggested). Given that there's a workaround for your particular environment/setup, and the slim likelihood that this would be a widely used feature, I'm hesitant to approve of adding it.

which means I have to set my nginx server running on docker to also listen to port 8081 as well as 443

For a development environment, this doesn't seem an unreasonable workaround, and appears to be something easily reproducible and trackable with the right docker config and container setup. It could even be something made public for exactly this use case.
There's a high bar for adding complexity to webpack-hot-client, so I'm open to being convinced. But at the moment I'm just not convinced that it's the responsibility of this tool to cater to that case (possibly edge-case, definitely niche).

It turns out that there is no workaround. I was incorrect about that. When I set docker to listen to port 8081 it prevents the websocket server from running on it as well.

I found a hacky workaround to this. Ending the client "host" config with a ? puts the port in the querystring for the url and then it goes to the default wss:// port (443).

😆 that's extremely clever man, I must say. That must be a side-effect of url.format here

I don't like the solution, but it gets the job done for now. But I do think this problem will affect anyone who wants to run nginx in a container andthey don't want to run webpack-serve in a container as well. Ours is a fairly complex microservice architecture and our philosophy is to keep our containers prod-like so a dev server really doesn't have a place in them. I'd really love to see this config change implemented so I don't need to rely on a side-effect to use a modern front-end dev stack.

to run nginx in a container and they don't want to run webpack-serve in a container as well

Running the [dev] server in the container is probably the most common way of utilizing webpack-serve (and webpack-dev-server) with containers. 🤐

Ours is a fairly complex microservice architecture and our philosophy is to keep our containers prod-like so a dev server really doesn't have a place in them.

If you're using as dev-environment tool to test a production-like container, I'd argue that your architecture is just a bit off. That's not to say you're bananas or anything. A dev environment tool is just not meant to be suitable for production testing. You might benefit from using koa or express directly and using webpack-dev-middleware directly, cutting out all the sugar webpack-serve provides.

There's a high bar for adding complexity to webpack-hot-client, so I'm open to being convinced.

I swear I'm not being cheeky in the slightest: So far there hasn't been much substantial evidence or argument for why this should be added outside of your environment needing it. That's enough within a company or small group setting, but with the massive ecosystem that webpack caters to, a more substantial set of reasoning for adding the feature, beyond a niche use-case, is needed. You might say that with such a massive ecosystem, there's surely to be another person that runs into this - and you'd probably be right - but that's where webpack tooling has gotten into trouble in the past; trying to appease every single request that's been made, without consideration to whether the added complexity and burden of maintenance of a new feature is worth its addition for the entire user-base.

After thinking about this a bit more I see where you're coming from, but I think there's still a problem with it. If you're using a proxy to handle SSL you can't put it in front of webpack-hot-client. If I set up nginx to listen for any comms on 8081 to then direct to 8081 (because I can't configure the hot-client to request one port and listen on another), that doesn't work. Nginx takes control of the port and now I can't run webpack-hot-client on it. The only way around this would be running webpack-hot-client and my whole dev middleware stack outside of my proxy and set it up to use the certs itself, which complicates things when you're handling all other SSL communications in one place but now you need to configure your middleware stack differently.
This also makes it so you are forced to be running the dev middleware when debugging locally. The way we've set up our dev server was to let nginx direct any requests to /static to webpack-serve if webpack-serve was running, otherwise direct them to our web server which would serve out the webpack-built static files. This is a really useful feature because it lets you verify the built files locally.
This is only one example of how having a proxy service in front of your connections can be useful, and I'm sure there are plenty more. All other aspects of webpack development that I know of support using a proxy in front of your site.
Finally, to your point:

trying to appease every single request that's been made, without consideration to whether the added complexity and burden of maintenance of a new feature is worth its addition for the entire user-base.

I understand this completely and would agree if it was a complex change. The long and short of it is that the change is very minor, doesn't need to affect anyone who already has webpack-serve and webpack-hot-client configured, and allows more flexibility in configuration without adding any extra complexity. The PR #80 I created for this only took about 15 minutes. Granted it failed the code coverage CI, but that should be a simple fix to get it in line with your standards.

I understand this completely and would agree if it was a complex change.

It's more of a snowball effect. The more "relatively simple" features we add, the more we have to support long term. That's why we set such a high bar.
Overall I really like your explanation. I'd like some time to consider it more thoroughly, but it makes a compelling case for why this should be included. Really appreciate your patience with this.

Thank you for being open minded about it. I appreciate that as well. For now my hack gets the job done, but I'd hate to have to go back to webpack-dev-server if for some reason it gets patched away in a later version of node.

Throwing in my own $0.02 because I'm running into this issue currently as well.  Also, this comment might be useful for others that are looking to solve this issue in the near-term.  Please note that if anything comes off as snarky, I apologize, that's not my intent.
It's my opinion that there will be more issues like this that pop up over the coming 6-12 months or people are going to look for other options because they're finding themselves fighting with the tooling more than working on the core of their project.
See Service Workers as an example.  They require HTTPS and/or a secure origin to work properly.  Both Google and Mozilla are going to start tightening their browser policies to reject requests that don't comply with stuff like that.  Self-signed certificates are not an option because there are still cases where the browser ignores run-time flags to disable certificate verification.  I have a dedicated domain + wildcard SSL/TLS certificate for development that I use.  I also do most of my development over SSH with X forwarding and vim, so a given project usually has workspaces for the various components of the project spread across several systems, all of which I control from my desktop.  The service setup is that I use HAproxy at the border for SSL/TLS-termination & then routing to the appropriate internal servers for the application.  The internal servers use nGinx as the reverse proxy to map / to locally running services as necessary, which in this case is webpack-serve.
So basically, I need to internally have webpack-serve bind to localhost:3000 (http) & localhost:3001 (ws).  Then I need the client application to connect to https://my.domain.com for the regular resources & wss://my.domain.com for the HMR/WebSocket connection (which will be terminated & routed from HAproxy to nGinx to webpack-serve properly).  Ideally, there should be a specific path that webpack-serve configures the client to make the HTTP request to during the handshake/upgrade process to WSS.  That would solve the issue because I can just path match it in nGinx and then proxy_pass it to the proper port (3001 in my case).
I respect the standard for fully evaluating feature implementations and vetting them to avoid unneeded complexity.  However, the ecosystem is large and heterogeneous.  There are a lot of different environment setups.  At the end of the day, the better option IMO (wrong or right, just an opinion), is to allow for explicit configuration of the ip:port/path server & client configs, have sensible defaults, and a message like what's there now that says "Buyer beware! This isn't supported."  The alternative is that people get frustrated of fighting the tooling, end up ripping out webpack/webpack-serve, & then having a very bad taste left in their mouths.  I wouldn't be surprised at all if there have been a relatively non-trivial amount of people that have run into this specific issue and decided it wasn't worth their time, they probably just didn't comment on it here.
TL;DR

Option 1: Use the @DBosley hack (slick though, gotta admit) by appending "?" to the host.
Option 2: Move back to webpack-dev-server if you need different host:port combos.

@xorander00 thanks for adding to the conversation. you can also track discussion on #81, even though that PR has been closed. it's something we now know needs doing, and the case has been very well made by everyone involved. we're now working through how best to solve it.

@shellscape Ah, I missed #81.  That's good to hear.  If I have any other thoughts, where's the preferred place to post them?  The only suggestion is potentially allowing a configurable path for the client to connect to as well to perform the upgrade handshake.

There's no real "proper" place per se. Was just giving you the heads up about the other thread.
I think what we're going to do is spin up a secondary https.Server for the WebSocket server to use, if and only if the host or port for the client are set other than the default. If the host and port for the client are default, then we'll probably pass the https.Server meant for koa along to hot-client.

Sorry to be not very constructive, but I ended up in a case where we need this feature as well at work. Our stack involve some docker and nginx as reverse proxy, and being able to set up the client / server with more independence would be a life safer :)


TxPool sendersBatch optimizations

Reduce memory allocations and using inverted index (instead of brute-force).
Use common.Address type instead of []byte
Related issue

@Qjawko plz create Erigon's PR (without merging this PR) to see if Erigon's CI shows green light.

I also wanna ask you to replace:
[32]byte by common.Hash in mapset usages

FYI: can run on local machine:
make lintci-deps
make lint
make test

While reviewed this task - found task for another PR: to replace mapset.NewSet by mapset.NewThreadUnsafeSet

I also wanna ask you to replace:
[32]byte by common.Hash in mapset usages

You mean change them only in txpool package, right?

I also wanna ask you to replace:
[32]byte by common.Hash in mapset usages

You mean change them only in txpool package, right?

yes. we moved common.Hash object to erigon-lib couple weeks ago

@Qjawko hi. next steps:

fix make lint
create PR in erigon repo which will refer to this PR - so we can see if Erigon's CI is green with this PR

then i can merge

merged by: https://github.com/ledgerwatch/erigon/pull/7118


Auto login crashes app

Describe the bug
Auto-login crashes the app with Unknown Error dialog box.
To Reproduce
Steps to reproduce the behavior:

Open app
Check Stay logged-in
Click AUTO LOGIN
See Error dialog box

Screenshots

System Info:

OS: Win 10
Version: 3.7

Additional Info
Cookie Login works.

Can you provide the full error text

Traceback (most recent call last):
  File "browser_cookie3\__init__.py", line 267, in load
sqlite3.OperationalError: no such column: secure

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "udemy.py", line 751, in <module>
  File "udemy.py", line 340, in fetch_cookies
  File "browser_cookie3\__init__.py", line 626, in load
  File "browser_cookie3\__init__.py", line 592, in chrome
  File "browser_cookie3\__init__.py", line 271, in load
sqlite3.OperationalError: Could not decode to UTF-8 column 'encrypted_value' with text 'v10ZKe�	����i/v���
6�i�����s����'

Same Here

It seems to be a error with browser cookie3 module
https://github.com/borisbabic/browser_cookie3/pull/79

It seems to be a error with browser cookie3 module
borisbabic/browser_cookie3#79

Yes


Docs shouldn't be excluded from release

When I use a bundle and wonder how to use it, I often look into its documentation in exactly the version installed. I just tried to do the same with the converter bundle, just to discover that it is gone.

You really look into the docs inside the vendor folder?

Indeed i am :)

I think docs should be exluded, because docs can contain binaries like images. And when releases are downloaded thousands of times, smaller is better.


Dependency missing ?

i have the following error whenever i try to execute artisan
Fatal error: Uncaught Error: Class 'Illuminate\Foundation\Application' not found in D:\src\test\vendor\matthewbdaly\artisan-standalone\src\Base\Application.php:9

That sounds like laravel/framework isn't installed. This should be pulled in as a dependency of orchestra/testbench.
Can you check they're both installed? The only way I can think of that this could occur is if you didn't install the dev dependencies.

i installed the dev dependencies but the following are not present :
orchestra/testbench
lavravel/Illuminate
i thought this package doesn't need a full laravel installation anyway

i thought this package doesn't need a full laravel installation anyway

No, that's impossible. It has to pull in laravel/framework to have access to the various Laravel classes, and it couldn't possibly work without it. It just doesn't require laravel/laravel. The point of this project is to make Artisan available when building a standalone Laravel package outside of an existing Laravel application.

i installed the dev dependencies but the following are not present:

If you're adding this to an existing Laravel package, you need to include orchestra/testbench as a dependency so that it will pull in laravel/framework. Better yet, if you're creating a new package use https://github.com/matthewbdaly/laravel-package-boilerplate as a starting point as this sets it all up for you.


Standalone flit wheel package

Could we have a package that does just flit wheel, and has no dependencies? That would make bootstrapping a bit easier.
Furthermore, what would it take to add Python 2 support for such a package?
It has gotten a bit messy now when one wants to install jupyter fully from source, since the new dependency testpath is a Flit package (although if I recall there was another one as well). While the wheel produced is a universal wheel and so it can be used with Python 2 it messes with our build chain and I'm pretty sure other distributions will experience similar issues. We can package wheels, but prefer not to (although the recent choice of setuptools to stop vendoring dependencies forces us in that direction).

Most of the dependencies are used when building wheels; I think the only one that's not is requests_download, and you can already quietly ignore that for bootstrapping.
I'm experimenting with building sdists from flit; if you want to try this out, grab the sdist branch and use python3 -m flit.make_sdist. This would give you .tar.gz files on PyPI which you could use with pip. I'm not committed to this approach yet, though; I'd still recommend developing tools which can start from wheels.

Most of the dependencies are used when building wheels

Do you plan on keeping external dependencies, or vendoring them? I saw its a mixture now.

I think the only one that's not is requests_download, and you can already quietly ignore that for bootstrapping.

Indeed, I might have a bootstrapped-flit package that doesn't have that dependency.

I'm experimenting with building sdists from flit; if you want to try this out, grab the sdist branch and use python3 -m flit.make_sdist.

I don't mind using flit, at all, and would be quite happy if I wouldn't have to use setuptools :-)

I'd still recommend developing tools which can start from wheels.

I find it a pity it is going in this direction. While I am glad that one can have packages that don't require setuptools, I think relying on wheels is a step backwards as well since it makes harder to build from source.
And how about

Furthermore, what would it take to add Python 2 support for such a package?

I'm not using Python 2 myself, but we still kind of support it...
Thanks for the quick reply.

Do you plan on keeping external dependencies, or vendoring them? I saw its a mixture now.

I plan on keeping them. I asked for readme to be vendorised because the external packages has some large dependencies of its own (pygments, bleach), which aren't needed for what we're doing with it.

(sdists...)

I realised that I may not have explained why I was talking about this. If I do add the sdist building machinery, packages built with flit will have an sdist that you can build using pip/setuptools, without needing flit at all. It generates a setup script at build time.

I think relying on wheels is a step backwards as well since it makes harder to build from source.

For pure-Python packages (which is all flit supports), wheels are source, and I like having a strictly structured layout over a setup script. However, I'm pushing for PEP 517, which would allow sdists without a setup.py.

Furthermore, what would it take to add Python 2 support for such a package?

I'm really trying not to. Flit can build packages for Python 2, and install to Python 2 (flit install --python path/to/python), even though the tool itself requires Python 3.

Hi @takluyver,

I'm experimenting with building sdists from flit; if you want to try this out, grab the sdist branch and use python3 -m flit.make_sdist.

Have you considered opening a PR with this branch so we can add comments to it?
IMO, as long as systems like buildout depend on sdists and can't use wheels (and PEP 517 isn't implemented), it'd be best if all packages had a setup.py carrying sdist on PyPI, even if the setup.py is completely auto-generated and not present in the source repository.

IMO, as long as systems like buildout depend on sdists and can't use wheels (and PEP 517 isn't implemented), it'd be best if all packages had a setup.py carrying sdist on PyPI, even if the setup.py is completely auto-generated and not present in the source repository.

Well pep 518 implementation is moving forward fast as well, so the rest should not be too hard once this is in. So we are not that far from builds without setup.py (I hope).
While it is inconvenient to not have setup.py everywhere, I don't think requiring all packages to have it is really the "best". You need the carrot and the stick to have people moving forward.
If it is really an issue with  testpath, maybe we can release a minor/patch of it that just add a setup.py .

Have you considered opening a PR with this branch so we can add comments to it?

I'm not fully convinced that's the right approach, so I don't particularly want to invite comments on the implementation. It's mostly stuck on the manifest issue - I'm trying to think how to determine cleanly what files go into the sdist. Wheels are easy - you put the package files themselves in, plus some metadata. Sdists are expected to contain things like docs and tests alongside the package:

The layout of docs, tests and so on is not standard enough to hardcode them into flit itself.
I don't really want to add a separate file or metadata field to list them. Especially not one with the complexity of MANIFEST.in - every time I change one of those files, I have to look up the syntax.
Your VCS already knows what files are 'source', but I don't want flit to require a particular VCS, or even to assume it's working on a VCS checkout.

@Carreau:

While it is inconvenient to not have setup.py everywhere, I don't think requiring all packages to have it is really the "best". You need the carrot and the stick to have people moving forward.

I agree, but until we have an approved standard for a setup.py-less sdist, we don't really have a "stick".
@takluyver:

The layout of docs, tests and so on is not standard enough to hardcode them into flit itself.
I don't really want to add a separate file or metadata field to list them. Especially not one with the complexity of MANIFEST.in - every time I change one of those files, I have to look up the syntax.
Your VCS already knows what files are 'source', but I don't want flit to require a particular VCS, or even to assume it's working on a VCS checkout.

I feel your pain, MANIFEST.in does kinda suck. And you're right there is no standard of how to specify what gets in the sdist outside of MANIFEST.in.
But considering the conflicting goals of "not having a MANIFEST.in-like thing" and "not depending on a VCS", I humbly suggest we start with standard MANIFEST.in support and figure out a way to drop it later. The effort of figuring out how to drop MANIFEST.in will have to be made anyway, and at least flit gets a working sdist implementation in the meantime.

The original questions have been answered so I think we can close this issue. Perhaps the current topic is best discussed in a different issue?
In any case, regarding the current topic, @takluyver, I think those that would like to have a setup.py don't care so much about building the docs and running the tests with it. Personally, I don't need a setup.py anyway.

But considering the conflicting goals of "not having a MANIFEST.in-like thing" and "not depending on a VCS", I humbly suggest we start with standard MANIFEST.in support and figure out a way to drop it later.

Sorry, but I don't want to use MANIFEST.in only to switch to something else later. There's no requirement for it to be there for the install tools, as far as I know, so we can make sdists without ever dealing with MANIFEST.in.
Frederik:

The original questions have been answered so I think we can close this issue.

Thanks, will do.

In any case, regarding the current topic, @takluyver, I think those that would like to have a setup.py don't care so much about building the docs and running the tests with it.

Nah, I've uploaded enough sdists to PyPI that I fully expect people to complain if they don't contain docs and tests. And I think it's reasonable to expect an untarred sdist to contain the same files as a fresh VCS checkout.

@leorochael if you want to discuss further, may I suggest #74 as the venue?


Add resource generator to this package

Please consider adding your resource generator (ref: https://github.com/Asymmetrik/fhir-facade-starter/issues/9#issuecomment-439060675) to this repository as an additional package.
It would be helpful when we create/use custom profiles (custom StructureDefinitions) to be able to add them to our fhir server implementation.

@joepaquette  So this has been a bit of an internal debate for us as well. Currently, the resource generator is not planned to go open source, but we are planning to build a web service people can use to upload structure definitions and then download a package that can be plugged into various repos. We would still need to add some configurations to the open source repos to support this but it is high up on the roadmap. We were also planning on generating a package that could serve both Rest and GraphQL for the same version on the same server instance (read and write operations on Rest and read operations on GraphQL).
I'll try to make sure I keep this issue updated with progress and links to the service as that happens. We have a prototype now but are working out content and design items at the moment. We also have an early access program available for people interested in helping us test this out.


Update LICENSE.md

This change will make the "MIT" badge appear above the file listing in the GitHub UI.

Yea freemurze is there any plan of using it in your plugins :) I will be happy to see this cool plugin

Thanks buddy 👍


README for the examples page

Hello all,
First, I want to say how cool this package is! From the community to the actual library and ecosystem. I'm very excited to crack on and make some TUIs!
This issue pertains to the suggestion in the documentation.
Do you think it will be beneficial to have a README.MD for the examples page and have videos demonstrating each example?
I'm happy to contribute. It helps me learn the various features of bubbletea.
Thanks in advance.

Hey @shivan-s, this is a great idea!
We will soon add GIFs which will also act as a good testing suite since they will be programatically created.
See: https://github.com/charmbracelet/bubbletea/pull/355#issuecomment-1219709267

Hey @maaslalani do you think we should wait on this until we're also ready to add GIFs or should I go ahead and work with Shivan on getting this up and running?

Hey @shivan-s if you'd like to get started on this, please feel free! We can also arrange a time to pair program on it if you'd like any help explaining what each example is doing.

Hey @bashbunni, thanks for picking this up again.
I worked on this: https://github.com/shivan-s/bubbletea/tree/shivan-s-example-added-docs/examples.
Let me know what you think. It was originally submitted as PR #355, I can resubmit the PR (+ I think more examples have been created since then).

Goals:

[ ] Give a one-liner description of the examples (some of the names aren't super descriptive)
[ ] include programatically-generated GIFs


How to generate NTU120 _ 2d.pkl file

I want to generate skeleton annotations in MPII format for nturgbd datasets. I saw the extract_ Diving48_ Example of Skeleton. But there is no similar JSON file on NTUGBD's official website. I would like to ask how you made NTU120 _ 2d.pkl file. Thanks！

Also why NTU60 _ 2d.pkl and NTU120 _ 2d.pkl has (N, 2, 243, 17, 3) dimensions, i mean  2 stands for what?

I think 2 stands the number of people in the video.

@MingXinSONGX, guess you are right. But i have another question: in the same datasets  (NTU60 _ 2d.pkl and NTU120 _ 2d.pkl)  joints have many negative coordinates (I mean [17, 3] counterpart). Almost all y-coordinates are negative. Do you have any guess why (can't even  find in docs or papers what coordinate system they used)?


I want to load Acpi Table and DSDT patcher to install WIN7 through clover. Avoid WIN7 0x000000A5 ACPI BSOD ERRORS. Is this idea feasible?

lenovo xiaoxin air14 install WIN7 0x000000A5 ACPI BSOD ERRORS!

It may be that the motherboard Acpi Table, DSDT patcher and WIN7 are incompatible, causing WIN7 0x000000A5 ACPI BSOD ERRORS
Find the Acpi Table and DSDT patcher compatible with WIN7. Clover loads the Acpi Table and DSDT patcher to guide and install WIN7 to avoid WIN7 0x000000A5 ACPI BSOD ERRORS. Is this idea feasible? If clover does not have this feature, can you consider adding this feature?
This is a screenshot of lenovo xiaoxin air14 Bios:
 。
This is the lenovo xiaoxin air14 hardware：

Thank you for your reply and good luck!  I am willing to work with you to solve the problem。

This project is for building Clove and its installer package and has nothing to do with Clover itself.

@Dids Master, can you point me after reading the question? Thank you for your answer, I wish you a happy new year, the new year works smoothly, the boss raises!


[Live Component] Feature proposals: easily configure norender/filters + prevent form validation

Hello,
We are using Symfony\UX\LiveComponent\ComponentWithFormTrait to make the forms in our application "live" to dynamically add or remove fields based on chosen select options (FormEvents::POST_SET_DATA) and handle form validation + submissions via AJAX.
We noticed that when filling a form with approximately 10 fields, a lot of AJAX-requests happen. This is because of the on(change)|* on the form itself. In our use case, we rather want to avoid these unnecessary AJAX calls.
We could prevent this re-rendering by doing something with the norender filter like below:
$builder
    ->add('email', EmailType::class, [
        'required' => true,
        'attr' => ['data-model' => 'norender|registration_form[email]'],
    ])
    ->add('firstName', TextType::class, [
        'required' => true,
        'attr' => ['data-model' => 'norender|registration_form[firstName]'],
    ])
     ->add('type', ChoiceType::class, [
        'required' => true,
        'choices' => ['b2c' => 'B2C', 'b2b' => 'B2B'],
    ]);

    $builder->get('type')->addEventListener(
        FormEvents::POST_SET_DATA,
        fn (FormEvent $event) => // Add specific B2B form fields
    );

Note: we accomplished this because we temporary disabled the ux.twig_component.event_listener.data_model_props_subscriber subscriber (see https://github.com/symfony/ux/issues/555).
So, we are looking for a general solution to easily configure this "no-re-render" without specifying and repeating the norender|the-form-name[field-name] for each field. The more complex forms you build  (e.g. with children form types) the harder it is to specify the norender filter.
Furthermore, how could we prevent form validation when filling in the form and only run it on the submit (live) action?
Are these 2 feature proposals on the roadmap already or something you guys are interested in?

Hi there!
I appreciate you opening the issue from a real-world use case - that's exactly what we need right now :).
I think there are two separate, but related questions. I'll discuss them backwards:

A) How could we prevent form validation when filling in the form and only run it on the submit (live) action?

This should be possible (but please tell me if it's not - I can't remember if we have a test case specifically for it) via:
<form data-model="on(change)|norender|*">

That should trigger the models in your form to "update" on change... but not actually to trigger the re-render. In this case, only live actions would cause the form to re-render. You would trigger this change by overriding the private getDataModelValue() method from ComponentWithFormTrait.

B) So, we are looking for a general solution to easily configure this "no-re-render" without specifying and repeating

This is not yet on the roadmap, but I was wondering when & how this might be requested :). It's quite reasonable, so the trick is finding the best way for this feature to look. The trick is that, on the <form> tag, we need to describe the behavior that we want for ALL of the fields in the form, all at once. The first idea that comes to mind is something like this:
<form on(change)|registration_form[type] on(change)|norender|*>

I'm not sure yet if I love it, and certainly we would need some helper to generate this: the syntax is a LOT. The idea would be that, inside data-model, you specify the behavior you want for any specific fields first (e.g. registration_form[type]). Then, at the end, you have a "catch-all", which fills in the behavior for the remaining fields (in this case you want the norender behavior).
How would this be configured in a real-situation? We might need some mini-builder inside of ComponentWithFormTrait - e.g. something like:
private function configureModelBehavior(ModelBehavior $models)
{
    $models->add('type')
        ->onChange();

    $models->add('*')
        ->onChange()
        ->noRender();
}

I think this would all work... though there may be a simpler / better option that's not clear to me yet.
WDYT?

Also, you mentioned:

Note: we accomplished this because we temporary disabled the ux.twig_component.event_listener.data_model_props_subscriber subscriber (see https://github.com/symfony/ux/issues/555).

I couldn't quite see how the subscriber was causing problems - I would love more details inside of #555 - I'd like to solve that issue.

Hello,
I'm coworking on this with Stef and wanted to jump in on the conversation:

A) How could we prevent form validation when filling in the form and only run it on the submit (live) action?

You suggested to
<form data-model="on(change)|norender|*">

This will avoid all rerenders during change. There are however, some fields that we do want to live-update.
If we do force one field to rerender, then the validation is applied on all data and the errors will be displayed on the other form fields.
What we suggest here, is adding a way to disabling the validation step during data change.
(Or maybe even to define validation modes like: early, late, ...)
From a UX point of view, it is probably not the best idea to show errors on fields that haven't been touched yet.
You could even argue that doing late validations is almost always better.
Some articles:

https://www.smashingmagazine.com/2022/09/inline-validation-web-forms-ux/#2-late-validation-is-almost-always-better
https://www.smashingmagazine.com/2022/09/inline-validation-web-forms-ux/
https://www.arengu.com/blog/ux-form-validation-before-or-after-submission

B) So, we are looking for a general solution to easily configure this "no-re-render" without specifying and repeating

You suggested to:
<form on(change)|registration_form[type] on(change)|norender|*>

What I love about this approach: you decouple the "live" part from the SF form.
This makes it possible to reuse form parts with different data binding rules on e.g. different pages.
What I hate about this approach: It is very confusing... It seems hard to debug what rules are applied from your browser developer tools.
The helper is nice to build the initial configuration.
In most applications, this is the easy part. It becomes harder in maintenance mode where you have to grasp what is going on.
In the form we are building ATM, we are using the SF form 'attrs' to manually set the 'data-model' attribute on the form.
this works but has the inversed pros/cons than the once I described above.
Maybe we can find out a system that only has the pro's?
I'm thinking in line of the helper you suggested, but having it applied to the form's children instead?
Something like:
private function configureModelBehavior(ModelBehavior $models)
{
    $models->add('type')
        ->onChange();

    $models->add('*')
        ->onChange()
        ->noRender();
}

which resolves in:
<form data-model="on(change)|norender|*">
    <select name="form[type]" id="form[type]" data-model="on(change)|form[type]">
        <option>....</option>
    </select>
</form>

This gives you only the pro's:

Easy to maintain
Easy to debug what the intention is from browser's developer console
An easy to configure model builder that can be used from you form.

WDYT?
I'm planning to play around with the form component trait this week and will let you know our findings!

Just want to pop in to say some kind of builder for complex expressions is interesting. Agree these can get hard to understand.
Would be interesting if you could build these expressions right in your form type:
$builder->add('field', options: [
    LiveOptions::create()->onChange()->noRender(),
]);

Hi!
You've proposed 2 cool features.
1) Better field-by-field model configuration
For forms, we currently allow you to do <form data-model="*"> (or some similar variation) so that you can be lazy and use the name attribute instead of repeating data-model on every field. But thanks to the final HTML code you listed @veewee in your previous comment https://github.com/symfony/ux/issues/566#issuecomment-1330261079 - I'm starting to think that we should NOT allow for this shortcut. Instead, why not (A) force data-model to be on every field but (B) make it really easy to do so, using the builder-like system you proposed. Something like this (I'm taking your syntax and iterating on it a bit):
private function configureModelBehavior(ModelBehavior $models)
{
    $models->field('type')
        ->onChange();

    $models->default()
        ->onChange()
        ->noRender();
}

This would generate something like:
<form>
    <select name="form[type]" data-model="on(change)|form[type]">
        <option>....</option>
    </select>

    <input name="form[firstName]" data-model="on(change)|norender|form[firstName]">
</form>

This would allow us to remove the <form data-model functionality entirely... but life is even easier for the user. I think it's a win-win? I think we could accomplish this by "walking through" the FormView just before rendering to add all of the attributes to each field.
2) Validation Modes
This is a very cool idea, and a very good use-case where you want to re-render some fields but not apply validation "early" - thanks for sharing that.
So, I'm 👍 for this. I like the idea of having early validation or late validation. About your  PR:

It has some drastical changes in comparison to the original code. I still need to address and tackle these changes to make it more compatible with the original version. (I do not fully grasp the isValidated flag and validationErrors list atm)

By validationErrors, I think you meant validatedFields. I'll assume you did for the explanation below :).
Currently, there are 2 ways that a form component might show validation:
A) real-time/early & partial validation When the user changes a field, on JavaScript, we add that model name to the validatedFields array. There's actually some special code for this - https://github.com/symfony/ux/blob/2.x/src/LiveComponent/assets/src/Component/plugins/ValidatedFieldsPlugin.ts#L12-L20
Suppose the user modifies a firstName field, a lastName field and then something triggers a re-render. In this case, validatedFields will contain firstName and lastName. We then only show those 2 errors (and hide any errors for fields that have not been modified yet). The validatedFields property is a LiveProp so that it persists through re-renders. This is necessary so that, if the user THEN modifies the email field and triggers a re-render, the Ajax request will now send validatedFields set to [firstName, lastName, email]: it will "remember" which fields were previously modified/validated + now also validate email. This is how the "early" validation is smart enough to only show errors next to the fields that the user has actually modified.
B) Full form validation In the above scenario, the user might eventually click the "submit" button to trigger a LiveAction. In your LiveAction, you will call $this->submitForm(). The optional first arg to submitForm is bool $validateAll = true. This tells the system to validate ALL the fields, regardless of what is inside of validatedFields. To do this, we set the isValidated flag. This is also a LiveProp so that every render afterwards remembers to validate everything. You've renamed this to $wasSubmitted in your PR (which might be a better name), but I think you're trying to accomplish the same thing with it. The previous implementation of how this flag was set may have worked fine for your use-case, but I could be wrong :).
Also, about this:

By storing wether a form was submitted or not, we could e.g. change the configuration of B) based on submitted or not.
For example: you might want to rerender an errorneous field in realtime on the server without hitting the submit button again during late validation.

That's really cool! We can worry about that later, but yes, it could be an option when you're configuring the model behavior - e.g.
private function configureModelBehavior(ModelBehavior $models)
{
    $models->field('type')
        ->onChange();

    $models->default()
        ->onChange()
        // the double-negation is confusing here, so that would need to be improved
        ->noRender(!$this->isFormSubmitted());
        // other possible flavor
        ->skipRenderingOnUpdateUnless($this->isFormSubmitted())
}

@kbond

Would be interesting if you could build these expressions right in your form type:

That indeed might be interesting, though in this moment, I'm sticking with putting all of this logic into the form trait instead of the form class, though it may make sense to also allow it in the form class... it's not clear yet. One weird thing about the form class (other than coupling form to live component, if you care) is that you could configure the attributes... but then if you don't render the form inside a component... it won't work anyways.

Small update from our side: I've updated the POC to work with a simple version of the model behaviour
See https://github.com/veewee/ux/pull/1/files
It can be used this way:
    protected function configureModelBehavior(ModelBehavior $models): void
    {
        $models->default($this->wasSubmitted ? 'on(change)' : 'on(change)|norender');
        $models->field('registration_form[type]', 'on(change)');
    }

This works pretty good!
We're gonna be using this version in our project until this package provides the functionality described above.

Btw,
$models->field('registration_form[type]', 'on(change)');

Did you think about allowing just this?
$models->field('type', 'on(change)');

That's what I had in mind (not needing the form name), but I wanted to make sure you didn't see this as a problem. I think it should be possible - we already, iirc, grab the form "name" in the trait for some different reason.

I went with this approach because we have nested forms. That way you could do form[subform][child].
This was the easiest solution, because form[$fieldName] results in form[subform[child]] in that case

Hmm, ok, will need to keep this sub-form case in mind. Ideally we can implement this without needing the registration_form[] prefix :). thx

Would still be great to be able to disable automatic form submission and validation, without disabling rerenders.
For now the best workaround I found is to hide the validation errors until the user manually submits the form.

Would you be up for a PR ?

Would you be up for a PR ?

I'm afraid I don't have enough experience yet with Symfony UX or frameworks in general to contribute at the moment

I think it is caused by this? https://github.com/symfony/ux/blob/33f637d1660125a0c7c6b2eb5062af1f7c537788/src/LiveComponent/src/ComponentWithFormTrait.php#L63
Maybe it's a relatively small change to add an option to make it false

Preventing validation on re-renders is pretty straight-forward : keep the validatedFields array empty. This is the trick I am using right now to prevent this behavior :
protected function instantiateForm(): FormInterface
{
    // This will always keep validations empty unless $this->submitForm() is called, or validations are done manually
    $this->validatedFields = [];

    return $this->createForm(...);
}

It's certainly a hack, some may even call it dirty, but it does the job in the meantime.


Project status

This is looking great, thanks for your work. As the title says 'still a WIP', would you say it's ready for production? And since the last commit has been a few months, are you still actively working on it?

I can't speak for @Rafaeruo as to what he intends but I still have intention of keeping this one going, just been a little busy 😅. I'll put a list of issues together on things that still need to be done to be considered "1.0".
But in this project's current state, it could technically be used if all you care about is reading files in dynamically. Non of the code gen stuff is ready but if you have the types used in your pkl files hardcoded in your c# files then you can just typecast against those.

I just uploaded a nuget package for what's currently in our repo to nuget.org if you wanted to play with it. I'd say until it's in a better state it's not "production" ready, but usable.
https://www.nuget.org/packages/PklCsharp/

Perfect, thanks! I'll start playing with it. Reading files is pretty much what I'm looking for at this point :) Cheers


Added getter for query to return private columnNames variable

When iterating through a result set obtained via a select * query, the exact number of columns is unknown.  The columnNames variable is needed to properly iterate through this kind of result set and this commit provides access to it via the Query object.
var aliasByColumnName = [String: String]
var aliases = database("SELECT * FROM ALIASES")
for alias in aliases {
  var columnNames:[String: Int] = alias.getColumnNames()
  for (key, value) in columnNames {
    aliasByColumnName[key] = alias.values[value]
  }
}

Hm, exposing this in the type-safe layer doesn't quite work because the Row subscript takes an Expression. Did you mean to do this in Statement?
This does expose a gap in iteration, though, and perhaps the generator needs to iterate in a (key, value) fashion:
for (column, value) in aliases.select(*) {
    …
}

Woops, yes.  It worked for my purposes when in query but it does belong better in statement.
I agree -- adding key/value iteration to the generator would satisfy my needs - and might make more sense from a usability standpoint.

I'll keep this open and try to address it more generally soon. Thanks for the catch!

Ah, I must have publicized this awhile ago and forgot to close the pull. Thanks!


opt: track regclass dependencies in views

PR: https://github.com/cockroachdb/cockroach/pull/50213
From release notes:

RegClass expressions are now tracked as dependencies in views. For example, CREATE VIEW v AS SELECT 't'::regclass; will now add a dependency on table t for view v. [#50213][#50213] {% comment %}doc{% endcomment %}

I don't think this needs to be documented, as this seems like expected behavior. Also, we do not document regclass casts.
@rytaft
Please re-open if you disagree.


Mark istioctl commands no longer being used as deprecated

The following commands were agreed to be deprecated by the UX working group.  The document discussing them is here.

convert-ingress
deregister
register
experimental multicluster
experimental post-install webhook
experimental sidecar-bootstrap

We should flag them as deprecated in istioctl/cmd/root.go as prep for removing them in Istio 1.9.

@esnible hello, if no one is taking this, I would like to give it a try.


Add schematic to generate stories

Options:

application: string
domain: string
library: string
component: string
stories: string[]
createTestComponents: boolean // whether or not to add the stories in a single .stories.ts file or a stories folder with a .stories file and test components for each story
addArgs: boolean

If stories already exist for the component they will be added to the existing stories.
Title would be like ${application}/${domain}/${component}

Future plans are in https://github.com/srleecode/domain/tree/master/documentation/next in a draft form. This might be relooked at once the component testing is setup.


Create end-user Editor documentation

What if we had end-user Editor documentation for Volto? And then in the UI, we could place the universal help icon (❔) that links to the relevant Volto Editor page in the docs, based on the context. This would keep the UI clean and leave space for future development. PyCharm does that for its UI, and it is super helpful to me.
Additionally this would create something for directionless newbies to work on that is relatively easy. These docs would be perfect for newbies. We could tag an issue with "33 needs: docs" and "41: lvl easy" to give a good entry point for them.
Originally posted by @stevepiercy in https://github.com/plone/volto/issues/3811#issuecomment-1298030528

Hidden Editor gem: https://github.com/plone/volto/pull/3815#issuecomment-1301020379

Undo: https://github.com/plone/volto/pull/3815#issuecomment-1298005656

Add block: https://github.com/plone/volto/pull/3815#issue-1430794104

From Discord: https://discord.com/channels/786421998426521600/862642144401031188/1042085679091425363
Drag and drop file upload: You can drag an image from your desktop file browser (Windows Explorer, Finder, whatever) to a Volto slate text block, and it will upload and create an image block for you.
Copy and paste file upload: You can paste an image from your desktop clipboard to the slate text block. So, on my desktop, I open the screenshot tool, I click "Copy to clipboard", I paste inside an empty text box (using ctrl+v), and I get an image block.

@stevepiercy is there a folder foreseen for end-user docs?

Nothing has been decided yet, and it is up for discussion.
For Volto, I suggested a new directory and index, /volto/docs/source/user-manual/index.md, to get started. A volunteer stepped up in Discord, SonGoku#8071, in the #newbies-introduction channel, to start on this.
We also might need to consider whether this documentation belongs under Volto or the main documentation. For now, I think keeping it in Volto gives it a better chance of getting written and better integrated with Volto developer docs.

Thanks, Steve for mentioning me here...😊 I think I should consider changing my discord username tho😂 -SonGoku

I have a few user notes I'd like to preserve in anticipation of the proposed documentation. Being unsure where to put stuff while that effort is ramping up, and similar to notes I see above, I'm going to paste them here. Sorry if it's the wrong place - please let me know what the right place is, and I'll be happy to add them there.
Block copy, cut, and paste (from https://github.com/plone/volto/issues/4056#issuecomment-1339986567)
@tiberiuichim made a brief video showing the functionality: https://www.youtube.com/watch?v=wojij3xU_h0
Some things to note:

Click in a block where you want the selection to start.

Use shift-left-mouse to extend the selection to another block
Use ctrl-left-mouse (maybe cmd-left-mouse on Mac?) to toggle the selection of that block or another block that's been selected.

Use the copy/cut/delete icons that show in the left sidebar when stuff is selected to copy/cut/delete. (Ctrl-C / Ctrl-X / Del don't yet work.
Once you've copied or cut a Paste icon will show instead. You can use it to paste in an empty block on the current page or navigate to another page to paste there.
(Note that this also provides a way to (effectively) move a block into or out of a composite block that otherwise doesn't provide for drag-and-drop moves from the outside.)

List Blocks (unordered and ordered lists, and combinations thereof)
Dividing list blocks

You can divide a list block by dedenting a list element (using Shift-tab) to zero.

When you dedent a non-empty list element (by using Shift-Tab) to zero, that element is changed into a separate text block containing the text that was in the list element.
If the list element was the last in the list, then the new text block is added after the last block. (This is handy for adding blocks after lists, which otherwise don't provide the means until https://github.com/plone/volto/pull/3815#issue-1430794104 lands.)
If it's the first element, then the new block is created before the list block.
If it's between the first and last elements, then the new block is created between two list blocks, the above one containing the elements that were before where you divided the list and the block below containing what was after where you divided the list.

Changing list block element types (unordered vs ordered)

You can change the type of a list block element by highlighting some text and using the highlighted text menu to select the other list element type.

If the list element is the only one at its depth, then you will have started a nested list of the opposite kind from its containing list elements.
If the list element has any adjacent list elements at the same depth (peers) then the list will be divided into separate blocks, between the list element you're changing and its peers.
(Until https://github.com/plone/volto/pull/3946 lands you can't use Markdown gestures, per #4054.)

@kenmanheimer thank you for adding these to the list of undocumented editor features.
We have not yet finalized the structure of the Editor Docs for Volto, but in my recent review of PR #4027, I suggested that we emulate what has already been done with Classic UI in Plone 5.2 documentation and adapt for Volto. For example Volto uses Slate, not TinyMCE.

Add / to set an empty block's type. See https://github.com/plone/volto/issues/4061

The ObjectBrowser is worth mentioning (allow creating internal "links") (from community thread )

Hello @stevepiercy, (srry I was away for a while :) but in the meantime), I have gone through almost every section of User-manual for Plone5 and got a grip on how our User-manual for Plone 6 should be structured and accordingly made a proposal (covering many topics) but before I present it in a PR (if none is made by someone), I have few questions:

There are some topics in Plone5 manual (like Conceptual overview, Logging In etc. ) which are common for Plone6 and making our user jump from plone6 user-manual to plone5 is not a good idea I guess. So, can we copy such topics (with minor chnges) from Plone5 to Plone6 (they are already so well written)?
Does Plone 6 (Volto) have Portlet / Portlet Management section? I think I have missed it.
There are some Plone 6 Docs that have "Note" saying it's incomplete, but do we have something (To Do list, etc) which is keeping track of these incomplete docs? If not, can we create an issue with the Task List of all the incomplete docs linked to their respective page? bcz to me they seem lost in there.

I hope I am not bothering you with such a long comment :) Thanks!

There are some topics in Plone5 manual (like Conceptual overview, Logging In etc. ) which are common for Plone6 and making our user jump from plone6 user-manual to plone5 is not a good idea I guess. So, can we copy such topics (with minor chnges) from Plone5 to Plone6 (they are already so well written)?

Note that the concepts in the Plone 5.2 docs Working with Content apply to both Classic UI and Volto frontends in Plone 6. However the implementations are totally different (click here, click there, and so on).
We already mapped out the direction for porting the Plone 5.2 docs concepts in Backend and its many issues. Content Types is one example of the plan. We are open to accepting modifications to that plan.
For Volto, let's focus on implementation details. The idea is to write those implementation details for the Editor end user, and add links to the concepts in the Backend docs. Does that make sense?

Does Plone 6 (Volto) have Portlet / Portlet Management section? I think I have missed it.

It does not. This is a difference between Classic UI and Volto. Volto has blocks, which Classic UI lacks. You might find other differences. And we should actually add the differences to the list of reasons for choosing Classic UI versus Volto in the Installation documentation.

There are some Plone 6 Docs that have "Note" saying it's incomplete, but do we have something (To Do list, etc) which is keeping track of these incomplete docs? If not, can we create an issue with the Task List of all the incomplete docs linked to their respective page? bcz to me they seem lost in there.

Issues already exist for most of what needs to be done. Each todo should have a link to its issue. If you find something specific that needs an issue, then feel free to create one.

For Volto, let's focus on implementation details. The idea is to write those implementation details for the Editor end user, and add links to the concepts in the Backend docs. Does that make sense?

oh getting it now, I am trying out the above mention features so that I can start covering them in user-manual docs. Also, I thought of descriptions for different Block Types, which I collected here in GDocs.

That looks good so far. Please create a PR when you want a review.


Support for logical types

i.e. https://github.com/apache/parquet-format/blob/master/LogicalTypes.md

nice, looks like @martinudurant already added support on his branch! https://github.com/jcrobak/parquet-python/pull/13/commits/f0eb923c649c32df3ab8afaa1d3b36f8d11bac0d

also https://github.com/jcrobak/parquet-python/pull/13/commits/f8a46d575bccb53b11b2019c653bc3381f016e39 and https://github.com/jcrobak/parquet-python/pull/13/commits/2c7d9df80e73185d78a26176718267646ff0da6c and https://github.com/jcrobak/parquet-python/pull/13/commits/c041b2c2312478abba51a13df1d8ae0b51c5bf55 and https://github.com/jcrobak/parquet-python/pull/13/commits/3392ebf50e9788fac5045cf7145b44b98f716e1d and https://github.com/jcrobak/parquet-python/pull/13/commits/1f14060c0888f8c5fd371e650e80db29e12bfc6c and https://github.com/jcrobak/parquet-python/pull/13/commits/e6735e318b0bce6b4f08ac58472885d31fb72e9f
some of these seem to be pandas/numpy specific, but not all.


Data Visualization pipeline by Fame

This is merge request for issues for Data Visualization Pipeline, It will take time until 28 Oct

I have setup some docker base database with database bench tool but not yet finish on the manual and documenting stuff will catch up soon

Hi, I have had a quick look on your branch PR, and it is independent with our tech stack which is fine. This approach is simple and doable. However, keep going, it is a good start.

I have push grafana part that will be demonstrating the data visualization. Right now I am on the final stage which is the handover documentation. I will pushed it later.

I push the final version of mine solution. Everything are documented in Infrastructure folder. I will open the merge pull request now.

I look through on your part. It's work fine, stand alone and didn't have any dependency on our stack. I will merge it and close. Well done!


Adjust order of exercises

The exercises list-ops and simple-linked-list were placed last in config.json, so they appeared at the end of the exercise list in the track, though they are rated with difficulties 2 and 3, respectively, and the other exercises are ordered by difficulty.

Can we agree on put this on hold until #412 got merged to avoid further conflicts with its changes to the config? Then we can order all of them at once.

Of course :)


Updated: losslesscut 2.6.3

${}

05140ce4-93d7-4be9-844f-1c069c6b6212

Newer version of losslesscut (3.17.27) is now available in master. 255ea75e80a12dbeca72dd1288bd7686f50c77be


<EMAIL_ADDRESS>

<EMAIL_ADDRESS>

@abdullahalo614 Thank you for reaching out to Microsoft Docs!
If there are any questions and/or concerns with the documentation please comment below.


Pin rust-version (MSRV) as per #28

As per #28, we're looking to pin the MSRV of this crate to allow for older Rust toolchains.
Eventually, we'll add support for MSRV checks in CI, but this sets the first wheels in motion.

Merged, squash strategy.


[BEAM-10423] Add Py3.8 test infrastructure to the release branch to unblock release validation.

This cherry-picks several commits that unblocks release validation that now includes Python 3.8 tests.
Since we will run release validation on Python 3.8 as well, also adding a commit that declares Py 3.8 support on 2.23.0.

R: @aaltay

Commits are cherry-picks from master, test failures are unrelated (SQL), there is one known flake (Python Precommit). Merging.


Roll control buttons

Is your feature request related to a problem? Please describe.
Hi!
So we use openlayers in a small custom app where people log in to create a map of their business and then at the end it gets sent to us as an SVG where we then print it and send it to the customer.
We keep having problems because people don't understand how to manually rotate the map to get a better angle.
Hence I implemented a custom control to "roll left" and "roll right" using two buttons like the Zoom controller.
It's essentially a copy of the Zoom controller with some regex replacing to make it Roll.
I based this on the latest git commit as of two days ago, and I've attached a screenshot of its implementation in our app here:

Note the two extra buttons in the top left.
Describe the solution you'd like
/**
 * @module ol/control/Roll
 */

import Control from "ol/control/Control"
import EventType from "ol/events/EventType"
import { CLASS_CONTROL, CLASS_UNSELECTABLE } from "ol/css"
import { easeOut } from "ol/easing"

/**
 * @typedef {Object} Options
 * @property {number} [duration=250] Animation duration in milliseconds.
 * @property {string} [className='ol-roll'] CSS class name.
 * @property {string} [leftClassName=className + '-left'] CSS class name for the roll-left button.
 * @property {string} [rightClassName=className + '-right'] CSS class name for the roll-right button.
 * @property {string|HTMLElement} [leftLabel='↶'] Text label to use for the roll-left
 * button. Instead of text, also an element (e.g. a `span` element) can be used.
 * @property {string|HTMLElement} [rightLabel='↷'] Text label to use for the roll-right button.
 * Instead of text, also an element (e.g. a `span` element) can be used.
 * @property {string} [leftTipLabel='Roll left'] Text label to use for the button tip.
 * @property {string} [rightTipLabel='Roll right'] Text label to use for the button tip.
 * @property {number} [delta=0.5] The roll delta applied on each click.
 * @property {HTMLElement|string} [target] Specify a target if you want the control to be
 * rendered outside of the map's viewport.
 */

/**
 * @classdesc
 * A control with 2 buttons, one for roll left and one for roll right.
 * To style this control use css selectors `.ol-roll-left` and `.ol-roll-right`.
 *
 * @api
 */
class Roll extends Control {
	/**
	 * @param {Options} [options] Roll options.
	 */
	constructor(options) {
		options = options ? options : {}

		super({
			element: document.createElement("div"),
			target: options.target
		})

		const className = options.className !== undefined ? options.className : "ol-roll"

		const delta = options.delta !== undefined ? options.delta : 0.5

		const leftClassName = options.leftClassName !== undefined ? options.leftClassName : className + "-left"

		const rightClassName = options.rightClassName !== undefined ? options.rightClassName : className + "-right"

		const leftLabel = options.leftLabel !== undefined ? options.leftLabel : "\u21b6"
		const rightLabel = options.rightLabel !== undefined ? options.rightLabel : "\u21b7"

		const leftTipLabel = options.leftTipLabel !== undefined ? options.leftTipLabel : "Roll left"
		const rightTipLabel = options.rightTipLabel !== undefined ? options.rightTipLabel : "Roll right"

		const leftElement = document.createElement("button")
		leftElement.className = leftClassName
		leftElement.setAttribute("type", "button")
		leftElement.title = leftTipLabel
		leftElement.appendChild(typeof leftLabel === "string" ? document.createTextNode(leftLabel) : leftLabel)

		leftElement.addEventListener(EventType.CLICK, this.handleClick_.bind(this, delta), false)

		const rightElement = document.createElement("button")
		rightElement.className = rightClassName
		rightElement.setAttribute("type", "button")
		rightElement.title = rightTipLabel
		rightElement.appendChild(typeof rightLabel === "string" ? document.createTextNode(rightLabel) : rightLabel)

		rightElement.addEventListener(EventType.CLICK, this.handleClick_.bind(this, -delta), false)

		const cssClasses = className + " " + CLASS_UNSELECTABLE + " " + CLASS_CONTROL
		const element = this.element
		element.className = cssClasses
		element.appendChild(leftElement)
		element.appendChild(rightElement)

		/**
		 * @type {number}
		 * @private
		 */
		this.duration_ = options.duration !== undefined ? options.duration : 250
	}

	/**
	 * @param {number} delta Roll delta.
	 * @param {MouseEvent} event The event to handle
	 * @private
	 */
	handleClick_(delta, event) {
		event.preventDefault()
		this.rollByDelta_(delta)
	}

	/**
	 * @param {number} delta Roll delta.
	 * @private
	 */
	rollByDelta_(delta) {
		const map = this.getMap()
		const view = map.getView()
		if (!view) {
			// the map does not have a view, so we can't act
			// upon it
			return
		}
		const currentRotation = view.getRotation()
		if (currentRotation !== undefined) {
			const newRotation = currentRotation + delta
			if (this.duration_ > 0) {
				if (view.getAnimating()) {
					view.cancelAnimations()
				}
				view.animate({
					rotation: newRotation,
					duration: this.duration_,
					easing: easeOut
				})
			} else {
				view.adjustRotation(newRotation)
			}
		}
	}
}

export default Roll

I've not attached any CSS because frankly you can just copy+paste the Zoom control CSS.
I've not made this a pull request because I can't be bothered to learn git just to submit it.
My prettierrc is not the same as yours, so formatting is different.

I hope you can use it, and if not I hope the ticket didn't annoy you :)
Thanks for an excellent library!

I'm not sure it needs to be part of the API but it might make a better example https://codesandbox.io/s/custom-controls-forked-1y782o?file=/main.js of a custom control than the current one https://openlayers.org/en/latest/examples/custom-controls.html


Audit code for capturing lambdas

A recent heap dump shows that there are still some in the codebase (typically due to accidentally capturing variables as opposed to the code actually deliberately being written that way):
SITES BEGIN (ordered by live bytes) Sun Feb 14 16:45:36 2016
          percent          live          alloc'ed  stack class
 rank   self  accum     bytes objs     bytes  objs trace name
...
   60  0.11% 92.62%     83072 5192   1019392 63712 311015 com.io7m.r2.core.R2TextureUnitAllocator$Context$$Lambda$56.164815881

TRACE 311015:
        com.io7m.r2.core.R2TextureUnitAllocator$Context$$Lambda$56.164815881.<init>(<Unknown Source>:Unknown line)
        com.io7m.r2.core.R2TextureUnitAllocator$Context$$Lambda$56.164815881.get$Lambda(<Unknown Source>:Unknown line)
        java.lang.invoke.LambdaForm$DMH.1837760739.invokeStatic_L_L(LambdaForm$DMH:Unknown line)
        java.lang.invoke.LambdaForm$MH.466505482.linkToTargetMethod(LambdaForm$MH:Unknown line)

The stack trace is unhelpful, but at least the class is known.

These all appear to be gone now, and the codebase is using a consistent style where context parameters are threaded through all of the function types.


line-height from .toast {} changed

On smaller resolutions, when text are large (a lot of chars), the line-height crashs and nothing is readable

Fixed in<PHONE_NUMBER>32d3c6959cbdb8fab067d15790bc23


Wallapop brocken

It seems to block clear.wallapop.com which blocks wallapop ui.

Hello. LexisNexis Risk Solutions: online-metrix.net disguised trackers should not be on the blocking list, as they cause a lot of problems with legitimate sites. For this reason, these trackers are not included in the AdGuard Tracking Protection filter. Also this repository is not a blocking list, it automatically generates lists of disguised trackers.