[core] Mouse wheel not working in PLATFORM_RPI or PLATFORM_DRM

Please, before submitting a new issue verify and check:

[Y] I tested it on latest raylib version from master branch
[Y] I checked there is no similar issue already reported
[Y] My code has no errors or misuse of raylib

Issue description
Any example which uses mouse-wheel input doesn't work (for instance - core_input_mouse_wheel). So any example which involves zoom-in using mouse-wheel won't work.
Environment
Running on RPI02W on Raspbian Lite Buster (32 bit).
Code Example
Just run make PLATFORM_RPI or DRM against raylib 4.2 src and examples on a Raspbian Buster Lite or Bullseye Lite installation. You will notice that in /core_input_mouse examples, you will be able to move the mouse, detect left, right and middle click - however you won't be able to detect mouse wheel movement in the core_input_mouse_wheel example.

@Trithilon Afaik, native mouse device access does not support mouse wheel events, it requires a windowing system. I could be wrong, please correct me if you know any native headless mouse driver supporting mouse wheel.

The native /dev/mouse does support wheels, and for more complex mice, /dev/input/eventX nodes can be used too (no X/windowing system required to use evdev input).
ExplorerPS/2 (IntelliMouse Explorer) protocols, depending on what the
program reading the data wishes. ... You'll need ImPS/2 if you want to make use of a wheel on a USB
mouse```

The native /dev/mouse does support wheels, and for more complex mice, /dev/input/eventX nodes can be used too (no X/windowing system required to use evdev input).
ExplorerPS/2 (IntelliMouse Explorer) protocols, depending on what the
program reading the data wishes. ... You'll need ImPS/2 if you want to make use of a wheel on a USB
mouse```

So something like this?
https://forums.raspberrypi.com/viewtopic.php?t=30762#p267522

Yes.

Reviewed this issue but it seems mouse wheel is actually read: https://github.com/raysan5/raylib/blob/master/src/rcore.c#L6469
Please, could someone review this issue?

I was able to reproduce the issue on a Raspberry PI 2 Model B running bullseye in native mode.
Repro steps:

Cloned latest raylib from master
Compiled raylib and examples using PLATFORM_DRM
Ran core_input_mouse example

Mouse movement and button presses work as expected

Ran core_input_mouse_wheel

Mouse wheel input not working as expected

I verified that the system is registering mouse wheel input by running cat /dev/input/event1 and scrolling the mouse wheel.
raylib output from running core_input_mouse_wheel:
INFO: Initializing raylib 4.5-dev
INFO: Supported raylib modules:
INFO:     > rcore:..... loaded (mandatory)
INFO:     > rlgl:...... loaded (mandatory)
INFO:     > rshapes:... loaded (optional)
INFO:     > rtextures:. loaded (optional)
INFO:     > rtext:..... loaded (optional)
INFO:     > rmodels:... loaded (optional)
INFO:     > raudio:.... loaded (optional)
INFO: DISPLAY: No graphic card set, trying platform-gpu-card
INFO: DISPLAY: Failed to open platform-gpu-card, trying card1
INFO: DISPLAY: Failed to open graphic card1, trying card0
INFO: DISPLAY: Selected DRM connector mode 800x600 (800x600p@60)
INFO: DISPLAY: Upscaling required: Screen size (800x450) smaller than display size (800x600)
INFO: DISPLAY: Device initialized successfully
INFO:     > Display size: 800 x 600
INFO:     > Screen size:  800 x 450
INFO:     > Render size:  800 x 450
INFO:     > Viewport offsets: 0, 150
INFO: GL: Supported extensions count: 52
INFO: GL: OpenGL device information:
INFO:     > Vendor:   Broadcom
INFO:     > Renderer: VC4 V3D 2.1
INFO:     > Version:  OpenGL ES 2.0 Mesa 20.3.5
INFO:     > GLSL:     OpenGL ES GLSL ES 1.0.16
INFO: GL: VAO extension detected, VAO functions loaded successfully
INFO: GL: NPOT textures extension detected, full NPOT textures supported
INFO: GL: ETC1 compressed textures supported
INFO: TEXTURE: [ID 1] Texture loaded successfully (1x1 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 1] Default texture loaded successfully
INFO: SHADER: [ID 1] Vertex shader compiled successfully
INFO: SHADER: [ID 2] Fragment shader compiled successfully
INFO: SHADER: [ID 3] Program shader loaded successfully
INFO: SHADER: [ID 3] Default shader loaded successfully
INFO: RLGL: Render batch vertex buffers loaded successfully in RAM (CPU)
INFO: RLGL: Render batch vertex buffers loaded successfully in VRAM (GPU)
INFO: RLGL: Default OpenGL state initialized successfully
INFO: TEXTURE: [ID 2] Texture loaded successfully (128x128 | GRAY_ALPHA | 1 mipmaps)
INFO: FONT: Default font loaded successfully (224 glyphs)
INFO: RPI: Opening keyboard device: /dev/input/event2
INFO: RPI: Opening input device: /dev/input/event1 (mouse )
WARNING: RPI: Failed to open Gamepad device, no gamepad available
INFO: TIMER: Target time per frame: 16.667 milliseconds
INFO: TEXTURE: [ID 2] Unloaded texture data from VRAM (GPU)
INFO: SHADER: [ID 3] Default shader unloaded successfully
INFO: TEXTURE: [ID 1] Default texture unloaded successfully
INFO: Window closed successfully

Dug into this issue a bit and what I found was that CORE.Input.Mouse.currentWheelMove.y is getting set properly when the mouse wheel is scrolled. However, by the time GetMouseWheelMove() is called the value of currentWheelMove.y is 0. Changing GetMouseWheelMove() to use previousWheelMove.y instead of currentWheelMove.y results in the expected behavior.
As for why this is happening my best guess right now is the mouse wheel is never getting updated before currentWheelMove.y is reset to 0 on https://github.com/raysan5/raylib/blob/master/src/rcore.c#L4872
Here is a sample of the output of some trace logs I added
WARNING: GetMouseWheelMove called
WARNING: BeginDrawing frame 82
WARNING: Updating previous mouse state
WARNING: EndDrawing frame 82

WARNING: GetMouseWheelMove called
WARNING: BeginDrawing frame 83
WARNING: Wheel updated
WARNING: Updating previous mouse state
WARNING: EndDrawing frame 83

WARNING: GetMouseWheelMove called
WARNING: BeginDrawing frame 84
WARNING: Wheel updated
WARNING: Updating previous mouse state
WARNING: EndDrawing frame 84

Pretty sure there's a race condition.  On PLATFORM_RPI and PLATFORM_DRM the currentWheelMove.y is updated in EventThread but gets zeroed out in PollInputEvents. I am experimenting with moving the logic of zeroing out currentWheelMove into EventThread so that it doesn't get clobbered by the main loop.

I am testing this out as the fastest straight line to working Y scroll wheel functionality and it is working.  I have to go through the code better when there's time to see what other side effects the mutex lock has.
https://github.com/michaelfiber/raylib/pull/1/files

@michaelfiber thank you very much for looking into this issue! :)

I wanted to check some assumptions.  I tested a few approaches and realized that at least in my testing the threads were unnecessary as was checking /dev/input/mouse_ files.  I have been testing this on rpi3b+ and so far it works nicely:
https://github.com/michaelfiber/raylib/blob/mousescroll-rpi/examples/core/core_input_mouse.c
Is there some aspect I am missing that causes this to require threads?  The event files are accessed with O_NONBLOCK and I can't find a noticeable performance hit from simply accessing it from the main loop.

And /dev/input/mouse_ appears to be a legacy compatibility hack.

I think so, it was originally implemented +8 years ago but many things have changed in this time... they can probably be removed/redesigned at this moment.

@michaelfiber Any progress on this issue?
Afair, I used threads because mouse input was not updated fast enough when running headless but as I said, it was implemented long time ago, I was very unexperienced about it and I probably missed some details.
If you tested another approach and it worked ok, feel free to send a PR. If it is simpler and works better, that's a win! If not, somebody will complain sooner or later! :P

I have been testing something out that is looking pretty good but I haven't yet tackled integrating it with rcore.  That is a big chunk of stuff to integrate with.  The change I was testing impacts all keyboard, gamepad and mouse input for PLATFORM_DRM/RPI.

@michaelfiber Sure! Take your time! Afaik, you are one of the users that has worked more extensively with raylib RPI to date!


Uncaught TypeError: isListItem is not a function

[Enter steps to reproduce below:]

I just wanted to move list asterisk to sublevel (with TAB key) and this exception appeared

Atom Version: 1.13.0
Electron Version: 1.3.13
System: Ubuntu 16.04.1
Thrown From: language-markdown package, v0.19.0
Stack Trace
Uncaught TypeError: isListItem is not a function
At /home/miki/.atom/packages/language-markdown/lib/main.coffee:176

TypeError: isListItem is not a function
    at Object.outdentListItem (/home/miki/.atom/packages/language-markdown/lib/main.coffee:176:28)
    at atom-text-editor.subscriptions.add.atom.commands.add.markdown:outdent-list-item (/home/miki/.atom/packages/language-markdown/lib/main.coffee:57:104)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/opt/atom/resources/app.asar/src/command-registry.js:259:29)
    at /opt/atom/resources/app.asar/src/command-registry.js:3:59
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/opt/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:587:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/opt/atom/resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:382:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/opt/atom/resources/app.asar/src/window-event-handler.js:106:36)
    at HTMLDocument.<anonymous> (/opt/atom/resources/app.asar/src/window-event-handler.js:3:59)

Commands
  2x -0:24.2.0 pane:show-previous-item (div.panels-item)
     -0:20.2.0 markdown-preview:toggle (input.hidden-input)
     -0:16.4.0 core:close (input.hidden-input)
     -0:12.2.0 window:focus-next-pane (input.hidden-input)
     -0:11.4.0 core:close (div.markdown-preview.native-key-bindings)
 13x -0:09.5.0 core:move-down (input.hidden-input)
 23x -0:05.6.0 core:move-up (input.hidden-input)
  2x -0:03.9.0 pane:show-previous-item (input.hidden-input)
     -0:01.6.0 core:move-down (input.hidden-input)
  2x -0:01.3.0 core:move-up (input.hidden-input)
     -0:00.9.0 editor:move-to-end-of-screen-line (input.hidden-input)
     -0:00.7.0 editor:newline (input.hidden-input)
     -0:00.0 snippets:previous-tab-stop (input.hidden-input)
     -0:00.0 markdown:outdent-list-item (input.hidden-input)

Config
{
  "core": {
    "disabledPackages": [
      "language-gfm",
      "language-python"
    ],
    "telemetryConsent": "limited",
    "themes": [
      "atom-material-ui",
      "solarized-dark-syntax"
    ]
  }
}

Installed Packages
# User
atom-material-ui, v1.3.9 (active)
autocomplete-paths, v1.0.5 (active)
exception-reporting, v0.40.1 (active)
file-icons, v2.0.9 (active)
git-time-machine, v1.5.4 (inactive)
highlight-selected, v0.12.0 (active)
language-docker, v1.1.7 (active)
language-latex, v1.0.0 (active)
language-markdown, v0.19.0 (active)
language-todotxt, v0.6.1 (active)
latextools, v0.8.5 (active)
MagicPython, v1.0.3 (active)
markdown-scroll-sync, v2.1.2 (active)
metrics, v1.1.2 (active)
minimap, v4.26.6 (active)
minimap-find-and-replace, v4.5.1 (active)
minimap-highlight-selected, v4.5.0 (active)
pdf-view, v0.54.0 (active)
sync-settings, v0.8.1 (active)
atom-dark-syntax, v0.28.0 (inactive)
atom-dark-ui, v0.53.0 (inactive)
atom-light-syntax, v0.29.0 (inactive)
atom-light-ui, v0.46.0 (inactive)
base16-tomorrow-dark-theme, v1.4.0 (inactive)
base16-tomorrow-light-theme, v1.4.0 (inactive)
one-dark-ui, v1.8.2 (inactive)
one-light-ui, v1.8.2 (inactive)
one-dark-syntax, v1.6.0 (inactive)
one-light-syntax, v1.6.0 (inactive)
solarized-dark-syntax, v1.1.1 (active)
solarized-light-syntax, v1.1.1 (inactive)
about, v1.7.2 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.14.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.33.1 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.29.0 (inactive)
autosave, v0.23.2 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.43.2 (active)
bracket-matcher, v0.85.1 (active)
command-palette, v0.39.1 (inactive)
deprecation-cop, v0.55.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
find-and-replace, v0.204.5 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.2.0 (active)
go-to-line, v0.31.2 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.1 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.159.1 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.2 (inactive)
settings-view, v0.244.0 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.5 (active)
status-bar, v1.6.0 (active)
styleguide, v0.48.0 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.1 (active)
timecop, v0.33.2 (active)
tree-view, v0.211.1 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.39.0 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.1 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (inactive)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (inactive)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages

Thank you for reporting. I've seen this error too, but it appears to come and go. I'll look into it, and hope to release a patch later today.

I've just published v0.19.1 that should fix this. Apparently mixing CoffeeScript with JavaScript causes some issues. Let me know if your issue is fixed with this.

Thanks! I've updated and all is working fine :).

Good! Thanks again for reporting.


Transaction trace details export in json,xml,csv,other

Hi.
I'm using Pinpoint RC2.
I like the transaction trace details view from web interface, but it's not easy to archive when you find some interesting transaction.
Is there a button or direct link to download the trace details in json/xml/csv/other ?
Thanks

@ofauchon Seems like a useful feature to have, although we don't have a dedicated feature for this.
In the mean time, you could copy the link to save/share it for later.

Hello @Xylus
What would be the best way to export the transaction details from the hbase to a flat file in your opinion?
Thank you very much!

Hi @gembez
In my opinion, I wouldn't do it :) at least not directly from hbase to a flat file as trace data isn't stored in hbase in a nicely formatted readable form.
So this "export" will have to go through the web to make use of deserializers and mappers there. If I were to implement one, I'd probably use the same API used for the call stack, but instead return a nicely formatted json.


unstack() error

unstack(df,:caseid,:deptname,:total) returns a DataFrame with :deptname becomes the symbol for the ID when :caseid should be kept as its symbol.

Do you have a minimal example? It's hard for me to reproduce the error because I don't know what your df looks like.


Upgrade Tiller (Helm)

We appear to be using an older version of Tiller (what runs on the server) with Helm (what runs on the workstation).  Our Tiller version is 2.6.2, while the latest is 2.7.2 - this includes a security fix https://github.com/kubernetes/helm/releases

This may be fixed with the migration to the new Kubernetes cluster


Generate Temporary Access to Proxied Content and Link

For users who don't / can't have the freedom of hosting anywhere, due to legal or work restrictions, but want the simplicity of sharing a link to a file for limited duration.


a better way of grouping elements inside the GooglMapLoader

There should be a component to easily group elements as such
<GoogleMap>
	<Group>
		<Polyline />
	    <Marker />
		<Marker />
	</Group>
	<Group>
		<Polyline />
		<Marker />
		<Marker />
	</Group>
<GoogleMap>

Note that this would also help with react's return single element rule as well.

What is the current way of doing it ?
I'm trying to connect 3 different "groups" to redux but I'm not sure which node to use at the root.

Try the new version 6.0.0, I believe this can be done now since we use context to store google map instances instead of props.
6.0.0 is released on npm beta tag now. We also have a new demo page. Feel free to try it:
https://tomchentw.github.io/react-google-maps/


Now my gnome apps use different colors

Hello, I tried this out on arch linux, sway 1.7 with a couple gnome apps.
I used Adapta before and used nwg-look to try and switch to Adwaita and/or Adwaita-dark:

At first it seemed to work: easyeffects and the keyring unlock dialogue both now use the theme as shown by nwg-look's preview.
But then I noticed that galculator and evince use a light theme version instead:

Am I doing something wrong?

It's the move to Gtk4... Try this gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"
The value can be default, prefer-dark or prefer-light. @nwg-piotr you should probably add this as a setting :)

Good point, @ErikReider. I will, thank you.

@nwg-piotr Thanks for addressing this so quickly!
I had trouble finding the new dropdown selection boxes at first glance, since my mind grouped them into the preview automatically. Perhaps moving them to the left side would be appropriate if left is setting and right is preview, or on top of the preview so you can't mistake anything after the preview as belonging to the preview?

For the sake of code simplicity I'd rather leave it as is.


A key defined on a  element where the submap contains @chunk results in build failure.

The included testcase contains 4 top level maps (Map A with and without key which references Submap A, and Map B with and without key that references Submap B). Submap A contains no @chunk while Submap B contains @chunk. Using DITA-OT 3.6.1:
Map A without key referencing Submap A which has no @chunk builds successfully:
dita -i ./map-a-no-key.ditamap -o out -t tmp --clean.temp=no -f xhtml
Map A with key referencing Submap A which has no @chunk builds successfully:
dita -i ./map-a-with-key.ditamap -o out -t tmp --clean.temp=no -f xhtml
Map B without key referencing Submap B which has @chunk builds successfully:
dita -i ./map-b-no-key.ditamap -o out -t tmp --clean.temp=no -f xhtml
Map B with key referencing Submap B which has @chunk fails to build:
dita -i ./map-b-with-key.ditamap -o out -t tmp --clean.temp=no -f xhtml
[move-meta] file:$HOME/test-key2map/submap-b.ditamap:5:63: [DOTX061W][WARN]: ID 'parent' was used in topicref tag but did not reference a topic element. The href attribute on a topicref element should only reference topic level elements.
[move-meta] file:$HOME/test-key2map/submap-b.ditamap:5:63: [DOTX023W][WARN]: Unable to retrieve navtitle from target: 'parent.dita#parent'.
[move-meta] file:$HOME/test-key2map/submap-b.ditamap:5:63: [DOTX027W][WARN]: Unable to retrieve linktext from target: 'parent.dita#parent'.
[move-meta] file:$HOME/test-key2map/submap-b.ditamap:6:43: [DOTX061W][WARN]: ID 'child' was used in topicref tag but did not reference a topic element. The href attribute on a topicref element should only reference topic level elements.
[move-meta] file:$HOME/test-key2map/submap-b.ditamap:6:43: [DOTX023W][WARN]: Unable to retrieve navtitle from target: 'parent.dita#child'.
[move-meta] file:$HOME/test-key2map/submap-b.ditamap:6:43: [DOTX027W][WARN]: Unable to retrieve linktext from target: 'parent.dita#child'.
[pipeline] Type error evaluating (fn:tokenize(...)[1]) in xsl:variable/@select on line 48 column 77 of dita-utilities.xsl:
[pipeline]   XTTE0570: An empty sequence is not allowed as the value of variable $l
[pipeline]   In template rule with match="" on line 44 of dita-utilities.xsl
[pipeline]      invoked by xsl:apply-templates at file:/Users/tony/share/dita-ot-3.6.1/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl#2640
[pipeline] at template generateCssLinks on line 2629 of dita2htmlImpl.xsl:
[pipeline]      invoked by xsl:call-template at file:/Users/tony/share/dita-ot-3.6.1/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl#2579
[pipeline]   In template rule with match="" on line 2571 of dita2htmlImpl.xsl
[pipeline]      invoked by xsl:apply-templates at file:/Users/tony/share/dita-ot-3.6.1/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl#2569
[pipeline] at template chapterHead on line 2568 of dita2htmlImpl.xsl:
[pipeline]      invoked by xsl:call-template at file:/Users/tony/share/dita-ot-3.6.1/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl#2546
[pipeline] at template chapter-setup on line 2542 of dita2htmlImpl.xsl:
[pipeline]      invoked by xsl:call-template at file:/Users/tony/share/dita-ot-3.6.1/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl#267
[pipeline]   In template rule with match="*" on line 266 of dita2htmlImpl.xsl
[pipeline]      invoked by xsl:apply-templates at file:/Users/tony/share/dita-ot-3.6.1/plugins/org.dita.xhtml/xsl/xslhtml/dita2htmlImpl.xsl#257
[pipeline]   In template rule with match="document-node()/element(Q{}dita)" on line 254 of dita2htmlImpl.xsl
[pipeline]      invoked by xsl:apply-templates at file:/Users/tony/share/dita-ot-3.6.1/plugins/org.dita.xhtml/xsl/dita2html-base.xsl#56
[pipeline]   In template rule with match="/" on line 55 of dita2html-base.xsl
[pipeline]      invoked by xsl:apply-imports at file:/Users/tony/share/dita-ot-3.6.1/plugins/org.dita.xhtml/xsl/dita2xhtml-util.xsl#17
[pipeline]   In template rule with match="/" on line 16 of dita2xhtml-util.xsl
[pipeline] Failed to transform document: Failed to transform document: An empty sequence is not allowed as the value of variable $l

test-key2map.zip


Decoding Decimal from JSON number is lossy

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
When decoding a JSON number into a Python Decimal the precision seems to be limited. After a certain number of digits the value is cut off. This is something I would expect for a fixed precision float, but not for an arbitrary precision Decimal. This only happens with numbers that contain a decimal point. I assume what happens is that the number is internally converted to a float and then a Decimal.
As a user, this lossy internal conversion is an unexpected and unwelcome surprise. Both the initial JSON string and the final Decimal can contain the full precision of the value without loss, so I would have expected the conversion to be lossless as well.
PS: I'm not sure if this is a bug per se because I could not find any documentation that explicitly states what the expected behavior is. However, based on what was written in the documentation it certainly was unexpected to me.
Example Code
from decimal import Decimal
from pydantic import BaseModel

class Test(BaseModel):
    value: Decimal

print(Test.model_validate_json('{"value": 1.234567890123456789012345678901234567890}'))
# Expected output: value=Decimal('1.234567890123456789012345678901234567890')
# Actual output: value=Decimal('1.2345678901234567')

print(Test.model_validate_json('{"value":<PHONE_NUMBER>1234567890123456789012345678.9}'))
# Expected output: value=Decimal('12345678901234567890123456789012345678.9')
# Actual output: value=Decimal('12345678901234568000000000000000000000')

Python, Pydantic & OS Version
             pydantic version: 2.6.4
        pydantic-core version: 2.16.3
          pydantic-core build: profile=release pgo=true
                 install path: <redacted>
               python version: 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
                     platform: Windows-10-10.0.19045-SP0
             related packages: fastapi-0.109.2 mypy-1.3.0 typing_extensions-4.8.0
                       commit: unknown

PS: There are a number of similar issues with Decimal decoding that are marked as resolved (https://github.com/pydantic/pydantic/issues/6807, https://github.com/pydantic/pydantic/issues/6295). As far as I can tell they are distinct from this issue (most importantly, those issues are resolved whereas this is present in the latest Pydantic version).

@FeldrinH,
Thanks for reporting. Definitely looks like a bug, and I'm guessing will have to be fixed in pydantic-core. Adding this to our 2.8 milestone, and marking as a good first issue for anyone interested!

I can take this one.

As an aside, the following test cases pass:
@pytest.mark.parametrize(
    'value',
    [
        Decimal(1.234567890123456789012345678901234567890),
        Decimal(12345678901234567890123456789012345678.9),
        Decimal(1) / Decimal(7)
    ]
)
def test_long_decimal_decoding(value: Decimal) -> None:
    """
    Really large decimal values should not be lost when encoding or decoding from json (or other input formats).
    """

    class Obj(BaseModel):
        value: Decimal

    m = Obj.model_validate_json(json.dumps({"value": value.real}, default=str))
    assert m.value.real == value

But if the values are provided as raw floats, not Decimal, then they fail. Something to note,.

Found where the behavior is being caused:
        primitive_schema = core_schema.union_schema(
            [
                # if it's an int keep it like that and pass it straight to Decimal
                # but if it's not make it a string
                # we don't use JSON -> float because parsing to any float will cause
                # loss of precision
                core_schema.int_schema(strict=True),   # <--------------------- HERE
                core_schema.str_schema(strict=True, strip_whitespace=True),
                core_schema.no_info_plain_validator_function(str),
            ],
        )

Also, this test works in reverse, lossiness on json encoding too:
    m = Test(value=Decimal(1.234567890123456789012345678901234567890))
    print(m.model_dump_json())
    # expected output:  {"value":"1.234567890123456789012345678901234567890"}
    # actual output:    {"value":"1.2345678901234566904321354741114191710948944091796875"}

Alright, got a solution going. Need some help with the deserialization component. https://github.com/pydantic/pydantic/pull/9291

Alright, got a solution going. Need some help with the deserialization component. #9291

Welp! That was on a previous release of pydantic. Back to square one, working through it.

At PyCon 2024, looking at this now.  Looks like PR #9292 stalled with comments, so I'll see if I can get it finished.


Improve insert_all select expression message

Closes https://github.com/elixir-ecto/ecto/issues/4474
You're right there are too many issues trying to make this work At minimum we'd have to traverse through the select expressions again to find any parameters, even if there are none.
It's not as obvious how to catch the subquery case so will look into that and follow up.

What do you think about my last commit for subqueries?
I believe this should work because if there is a mismatch in these two numbers then it should be an error in Ecto. select_merge should be the only thing that can erase a select expression from existence, if I'm not missing anything.
I don't think we can port this over to insert_all though because we will have the issue that we will have to try extracting the field names from an unbounded amount of nested :merge nodes.


Redirect of an argument in super constructor call fails

	@Redirect(
        method = "<init>(IILnet/minecraft/block/PressurePlateBlock__ActivationRule;)V",
        at = @At(
            value = "FIELD",
            target = "net/minecraft/block/material/Material.STONE:Lnet/minecraft/block/material/Material;",
            opcode = Opcodes.GETSTATIC
        ))
	private static Material getCustomMaterial(int i, int j, PressurePlateBlock__ActivationRule rule) {
		return j == Block.PLANKS.sprite ? Material.WOOD : Material.STONE;
	}

Sponge mixin suggests using static here. Micromixin does the opposite and suggests removing that modifier instead. When removed it fails regardless.

Micromixin does the opposite and suggests removing that modifier instead. When removed it fails regardless.

What kind of failure? I don't seem to be able to reproduce this with following mixins:

    @Mixin(ConstructorInjectionTest.RedirectInConstructorStatic.class)
    private static class RedirectInConstructorStatic {
        @Redirect(at = @At(value = "INVOKE", target = "set"), method = "<init>")
        private static MutableInt onSet(ConstructorInjectionTest.RedirectInConstructorStatic caller, int value) {
            return caller.add(value);
        }
    }

    @Mixin(ConstructorInjectionTest.RedirectInConstructorVirtual.class)
    private static class RedirectInConstructorVirtual {
        @Redirect(at = @At(value = "INVOKE", target = "set"), method = "<init>")
        private MutableInt onSet(ConstructorInjectionTest.RedirectInConstructorVirtual caller, int value) {
            return caller.add(value);
        }
    }
    ```

    targeting the following classes:

    ```java

    public static class RedirectInConstructorStatic extends MutableInt {
        public RedirectInConstructorStatic(int value) {
            super(2);
            this.set(value);
        }
    }

    public static class RedirectInConstructorVirtual extends MutableInt {
        public RedirectInConstructorVirtual(int value) {
            super(2);
            this.set(value);
        }
    }
    ```

    Similarly, sponge doesn't suggest the usage of static in above example.
    (that being said, RedirectInConstructorStatic is bork in micromixin-transformer regardless, I'll fix that)

org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @Redirect handler before super() invocation must be static in injector net/minecraft/unmapped/C_4114026::getCustomMaterial [INJECT_APPLY Applicator Phase -> alpha-tweaks.mixins.json:PressurePlateBlockMixin from mod alpha-tweaks -> Apply Injections ->  -> Inject -> alpha-tweaks.mixins.json:PressurePlateBlockMixin from mod alpha-tweaks->@Redirect::getCustomMaterial(IILnet/minecraft/unmapped/C_3450330;)Lnet/minecraft/unmapped/C_8048208;]

In your example you aren't targetting arguments of super constructor invoke.
Sponge mixin claims you need static if you're injecting before super

Ah yep, that aligns with an internal TODO

Should be fixed via https://github.com/stianloader/Micromixin/commit/3ed476ee5d052ce9cc517e7aaad455d2862506be in version 0.6.5-a20240909.2
That being said, it will still not prevent you from not using static even if you target before the super() call, which would need to be handled eventually.


Add variable truth tutorial

This PR adds the variable truth tutorial and fixes #89.
Feedback welcome.  There's a few cells that need to be removed before merging; I left them there for now so that the reviewer can run this notebook on NERSC more easily (you will need to use the u/yymao/pr587-review branch of gcr-catalogs for this notebook to work).

I have updated this tutorial notebook to match the latest truth catalogs. It's now ready for review @JoanneBogart @wmwv

@JoanneBogart thanks for the review. I've addressed all the comments. You can see the detail changed in commit e8e087d. Regarding making the variability in the first star plot more evident: the second variability plot (difference in magnitude) is meant to address the issue. So instead of changing the plot, I just updated the text to make this point more explicit.
I've also tested the truth_match notebook and everything works fine. Numpy is deprecating the use np.int in favor of np.int64 so I made that change in cba6c3d.
Ready for re-review.


PERMISSION_DENIED: Search In Apps API has not been used in project

I have put my API_KEY & CLIENT ID in the Android manifest
( just for ref my api_key is: AIzaSyA_TgvTBCYDspqkXXXXXXXXXX
CLIENT ID: test-search-in-xxxx
)
But after clicking on get suggestion button getting this error. can anyone please help me out with what went wrong here?
Please also mention the steps in which API/libraries need to be enabled.
PERMISSION_DENIED: Search In Apps API has not been used in project 755175XXX before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/searchinapps.googleapis.com/overview?project=7551751XXX then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
Attaching app screenshot

I have also tried to search for "Search In apps" API SS Attached:

Did you ever get this resolved?


Inconsistent and Inflexible Exception Handling

The current implementation of exception handling in Django Ninja Extra, specifically in the NinjaExtraAPI class, presents several issues that make it difficult to customize error responses and maintain consistent error formatting across an application.
Key problems:

Hardcoded Error Format:
The api_exception_handler method in NinjaExtraAPI hardcodes the error response format to {"detail": exc.detail}. This makes it impossible to use custom error schemas without overriding core functionality.

Lack of Extensibility:
The exception handling is tightly coupled with the API class, making it challenging to extend or modify the error handling behavior without subclassing and overriding multiple methods.

Inconsistent Error Responses:
Different types of exceptions (e.g., validation errors, HTTP errors, API exceptions) may result in inconsistent error formats, complicating error handling on the client side.

Difficulty in Adding Custom Fields:
Adding custom fields to error responses (such as error codes, request IDs, or timestamps) requires significant modifications to the core API class.

Limited Control Over HTTP Headers:
The current implementation only allows setting the "Retry-After" header for throttled requests, limiting the ability to include custom headers in error responses.

Proposed Solution:

Introduce a customizable error response schema that can be set at the API level.
Implement a more flexible exception handling mechanism that allows for easy customization of error responses for different exception types.
Provide hooks or middleware for modifying error responses without requiring subclassing of the main API class.
Ensure consistent error formatting across all types of exceptions.
Allow for easy addition of custom fields and headers to error responses.

These changes would significantly improve the flexibility and consistency of error handling in Django Ninja Extra, making it easier for developers to implement custom error handling logic and maintain a consistent API contract.

@tareksanger I am some how confused when you say API class... Are you referring to APIException class or NinjaExtraAPI class ?

NinjaExtra only extends exception handling capabilities of Django Ninja and you can still extend it further to customize your custom exceptions. See here for more context.
Also, your PRs are very welcomed for changes you wanna see in the project.

@tareksanger I am some how confused when you say API class... Are you referring to APIException class or NinjaExtraAPI class ?

I'm referring to the NinjaExtraAPI Class.

NinjaExtra only extends exception handling capabilities of Django Ninja and you can still extend it further to customize your custom exceptions. See here for more context.
Also, your PRs are very welcomed for changes you wanna see in the project.

class ErrorCode(enum.Enum):
    ....

class ErrorSchema(Schema):
    code: ErrorCode = Field(default=ErrorCode.UNKNOWN)
    uuid: Optional[str] = Field(default_factory=lambda: uuid4())
    error: Primitive | dict | list

def create_error_response(request: HttpRequest, error: Union[str, Dict[str, Any], list], status: int) -> HttpResponse:
    print(error)
    error_schema = ErrorSchema.from_error(_(error) if isinstance(error, str) else error)
    return api.create_response(request, error_schema.dict(), status=status)

@api.exception_handler(HttpError)
def handle_http_error(request: HttpRequest, exc: HttpError) -> HttpResponse:
    return create_error_response(request, exc.message, exc.status_code)

The above does absolutely nothing my responses all come through as {"detail": "Some Error Message"}, and I believe its due to the following inside the DjangoNinjaExtra class.
    def api_exception_handler(
        self, request: HttpRequest, exc: exceptions.APIException
    ) -> HttpResponse:
        headers: Dict = {}
        if isinstance(exc, exceptions.Throttled):
            headers["Retry-After"] = "%d" % float(exc.wait or 0.0)

        if isinstance(exc.detail, (list, dict)):
            data = exc.detail
        else:
            data = {"detail": exc.detail}

        response = self.create_response(request, data, status=exc.status_code)
        for k, v in headers.items():
            response.setdefault(k, v)

        return response

The issue was with


Compilation fails to link static libcurl on macOS <= 10.13

See https://github.com/alexcrichton/curl-rust/issues/279.
Statically linking to libcurl is currently broken on macOS <= 10.13 due to a missing symbol.
Generally static linking is preferred unless there's a good reason not to do it, because it means you are running against a consistent, immutable version of the library and have less system dependencies; both of which are great for portability and testability.
We could either wait for this to get fixed upstream and recommend that people disable the static-curl feature, or disable it by default, or find another workaround.
There does appear to already be an upstream PR to fix this, so it might be worth waiting it out to see if it is merged and published soon: https://github.com/alexcrichton/curl-rust/pull/283

Good news, this was fixed upstream by https://github.com/alexcrichton/curl-rust/pull/314! Now we just have to force curl-sys to version 0.4.25 to get this applied to Isahc.

curl-sys version 0.4.26 has now been published, so in theory all we have to do is bump our dependency to 0.4.26 to fix this issue now.

This is now fixed in the 0.9.0 release!

curl requires openssl which makes is impossible to be able to be built out of box for musl targets. Do you think there is anything to do about this ?

I think for musl targets the appropriate solution would be to either disable the static-curl feature, or to configure TLS differently, either by using MesaLink with the curl/mesalink feature or by attempting to statically compile OpenSSL as well with the curl/static-ssl feature. I'm not sure what the best approach would be there.


Fix Link Redirection to NEO's Notebook in Binder

🐞 Problem
The Binder repository is giving a 404 error when trying to redirect to the Using NEO Package notebook.
💡 Possible solutions
Change the redirection link to the point to the correct notebook path in the index.ipynb notebook 😄

I will Try to Work on this issue :)

@DhruvSondhi @astrojuanlu I Found that Using NEO Package Notebook was Replaced Hence Binder Repo is Showing 404 Error🤒.
So I will Update The Redirection Link with Correct Notebook and I will Surely Resolve this Issue


Variables pane does not update after changing value via debug console

Issue Type: Bug
VS Code version: Code 1.35.0 (553cfb2c2205db5f15f3ee8395bbd5cf066d357d, 2019-06-04T01:17:12.481Z)
OS version: Windows_NT x64 10.0.18362

System Info

Item
Value

CPUs
Intel(R) Xeon(R) W-2133 CPU @ 3.60GHz (12 x 3600)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.73GB (17.93GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (6)

Extension
Author (truncated)
Version

python
ms-
2019.5.18875

cpptools
ms-
0.23.1

csharp
ms-
1.19.1

powershell
ms-
2019.5.0

vscode-docker
Pet
0.6.2

code-spell-checker
str
1.7.16

I am from the python extension team. I have investigated this issue on the extension side. The pyhton debug adapter does not get a variables request after a evaluating code via the debug console.
Repro steps:

Create a python file with this content:

a = 1
print(a) # set breakpoint here

After hitting the breakpoint, open debug console and change the value of a
Variables panel is not updated.

Logs from the debug adapter
D00027.812: IDE --> {
                "command": "evaluate",
                "arguments": {
                    "expression": "a=5",
                    "frameId": 2,
                    "context": "repl"
                },
                "type": "request",
                "seq": 15
            }

D00027.828: (while handling {'command': 'evaluate', 'type': 'request', 'seq': 15})
            IDE <-- {
                "type": "response",
                "seq": 20,
                "request_seq": 15,
                "success": true,
                "command": "evaluate",
                "message": "",
                "body": {
                    "result": "",
                    "variablesReference": 0,
                    "presentationHint": {}
                }
            }

D00031.844: IDE --> {
                "command": "disconnect",
                "arguments": {
                    "restart": false
                },
                "type": "request",
                "seq": 16
            }

I have looked at the following issues:
https://github.com/microsoft/vscode/issues/2399
https://github.com/microsoft/vscode/issues/15520
we are not doing any variable caching on the debug server.

Try it out in vscode insiders from Wednsdeay and let us know how it behaves for you.
Due to the node limitation specified #15520 we had to introduce some workaround in the variables view (when a variable is changed in the variables view we do not refresh the whole view).
Though this issue as described here should be fixed now.


Error while calculating percentage

I have been running a Kapacitor Tick Script on top of Influx, with the query
SELECT  (sum("successful")/COUNT("successful")) * 100 as success_percent,
COUNT("successful") as observation_points
FROM.....
GROUP BY tag1, tag2

Here, "successful" is a field with value either 0 or 1 indicating failure and success respectively.
Now, everything is working correctly most of the time, giving me the correct success percentage but sometimes I suddenly get values more than 100, going even into thousands and ten thousands. I have tried replicating this directly from Influxdb CLI but have been unsuccessful so far.
When scheduled on Kapacitor, however, this script runs every 30 minutes or so, and gives skewed values, again, not always.
Is there a problem with the COUNT() keyword? I have a check that I would receive a trigger only when the COUNT("successful") is greater than a minimum threshold, so a divide by zero doesn't look like the cause, or is it? I am not sure what is causing the error here. Would be grateful for some help.

@thealphaking01 Can you share your TICKscript? It would also be helpful if you could add a |log() node after the query node so we can capture exactly what data is being returned. Thanks

@thealphaking01 Are you still seeing this issue? The information requested above would be very helpful in tracking this down.

Nope. Will notify if I see this again. As I said, it wasn't reproducible.
Thanking You,
Abdur Rahman
+91<PHONE_NUMBER>
On Tue, Dec 27, 2016 at 10:51 PM, Ross McDonald<EMAIL_ADDRESS>wrote:

@thealphaking01 https://github.com/thealphaking01 Are you still seeing
this issue? The information requested above would be very helpful in
tracking this down.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/influxdata/kapacitor/issues/1082#issuecomment-269355342,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHh5HREgIOJqiu2nYAw9m5DoNq_QMDcfks5rMUkGgaJpZM4LIx2w
.

@thealphaking01 Thank you, please do. I'll close this one for now.


Doesn't handle several syn sends correctly.

Implementation thinks several syns are simultaneous connect.
Will need to remember who initiated the connection.
See https://github.com/Storj/storjnode/blob/develop/storjnode/network/service.py#L459

outdated


Add terminal colors for VSCode terminal

@tathran this should add the correct colors, but it does not look perfect. You should have a look too.

Sorry for the force pushes, I had way too many typos in the commit messages.

There are two things that I think should be changed:

I use block cursor and it is invisible (likely same color as background) and should be the same as set in the current color scheme. It is set to this color #ecf0c1

The selection highlight color is a little hard to see and I'd prefer it matched what is set in the current color scheme (I believe it is this color: #200053)

Everything else looks fantastic. Just two minor things if you don't mind fixing them. If you disagree I am happy to discuss. I am mostly basing this on my own tastes and for those two I find it hard to work with.
Thanks so much for the PR!

Hey, sorry for the delay, have swtiched them, should be good to use now. 👍

Just FYI, I updated the bg color because I wanted it to more closely match spaceducks color. I also like it to be the same as the current editor. If you wanted to tweak it for yourself, please see: https://github.com/tathran/spaceduck-vscode/issues/3#issuecomment-805460989
Thanks for your work on this!


Pchain glacier staked balance

GetStake API is being deprecated and is performing very poorly on mainnet. This PR introduces an optional lookup strategy for staked UTXO information using the Glacier transactions:listStaking api when a special metadata field is provided.
Testing
Added new unit test and did manual spot checks against mainnet addresses

We will use the update GetStake API for the time being, closing this PR.


Exclude some jdk_management tests jdk8 jdk11 hotspot

Signed-off-by: Simon Rushton<EMAIL_ADDRESS>

Ref: https://github.com/adoptium/aqa-tests/issues/2294

Might be good to exclude those tests in ProblemList_openjdk*-openj9.txt too. Test jdk_management is disabled for openj9 for        unknown reason. Excluding those tests may also make openj9 green.

I will try to exclude those tests for openj9 and see how openj9 jdk_management works.


adds support for saturating arithmetic

Fixes #600

I think Calin mentioned the use case of saturating counters.  Being able to have packet and byte counters in the data portion of a Register extern might be a more motivating use case than TTL decrement?

If the counters are not registers, then they autoincrement, so there is no p4 code involved.

The main use case is saturating counters. These are different from the counter registers. Consider a 'postcard' scenario, where you want a header field to play the role of a counter that gets incremented. For that you would likely want a counter operation that you invoke in the body of an action.
You also asked for examples of other architectures implementing saturating arithmetic. I provided the links for Intel x86 and x86_64, ARM AArch32 and, Qualcomm DSP in the proposal (https://github.com/p4lang/p4-spec/wiki/saturating#targets-supporting-saturating-arithmetic).

I think that the main question is: do we need two separate types or can we simply use saturating operations on the existing types?

I believe a data type is cleaner and easier to understand. Also easier for the compiler to make sure that all uses of a saturating field are properly handled. And really, it doesn't cost us anything but a new type definition. And if a hardware target supports it, why bastardize a program and not support it properly?

BTW, @jafingerhut I didn't put in the reference implementation because we don't have a good place in the spec. However, if this proposal is approved, we should consider having appendices with programmer notes and reference implementations.

I think that we need to look at the specific code examples and see. For example, would you define the ttl field in ipv4 header as "saturating_bit<8>"? Why or why not? How often do you actually need to perform casts from saturated to regular types and vice versa?
Note, that except addition and subtraction all other operations are either exactly the same or they should not be defined. For example, how would you define shift on a saturated number? if you have saturated_bit<8> value of 200, does it mean that when you right_shift it you will get 255? I seriously doubt so.
If you define a type, you need to take care of all these, but if you define two additional operations (you can even define special signs for them), you do not have to worry about the rest of stuff.

And so, rather than relying on two types, you want to teach programmers a different symbol for addition? How is that simpler?
Note that I have restricted the operations that can be executed on this data type. See lines 1957-1961.

Both proposals have pros and cons. By discussing them we can find the best solution.
You can use a separate operation, you can use a special function -- it's about the language expressiveness.
You can also use a separate type. So far, based on what I know about its usage in P4_14 (which has it, BTW), it is used ONLY to select a separate addition/subtraction (and nothing else) and is relatively confusing.

Fortunately, P4_16 has type checking, which P4_14 was lacking. In my view that will make the uses of these operations much easier because the compiler can really check. Indeed, you can also define a saturating operation and apply it to regular integer types, but then there is nothing for the compiler to check -- only to generate code. It will lead to confusion, because now the same field can be used in both saturating and non-saturating operations.
By defining a type, you guarantee that all uses of that field are consistent. If you want to convert, you have to put an explicit cast, and thus are guaranteed to pay more attention.

I actually tend to agree with @vgurevich. If you make ttl saturated you will have to make all table keys that t matches on also saturated. Then you will have to describe how saturated works with the control-plane API.
Instead, if you make it just bit<32> and have a saturated addition function this is everything you need. I expect that you only need saturated addition in practice, and none of the other operators.
Once you add something to the language you can never take it out, so I think it is worthwhile to design new features conservatively based on actual needs.
If saturated addition turns out to be useful you could promote it into a new operator, e.g., a |+| b, or something like that.

Actually, I think that @mbudiu-vmw's comment "If the counters are not registers, then they autoincrement, so there is no p4 code involved." makes the best argument for a data type. Since you can not write P4 code to specify an operator, you would either have to define a new counter extern, that supports saturating, which is otherwise identical to the existing counters, or, specialize the existing extern with a saturating data type, which is already supported since our counters are parametrized on the type.

Do you want to sketch the code thcounters?

Sorry, the phone view of github is broken, so I closed this by mistake.

added an example with saturating counters.

I'm probably not helping with yet another suggestion, but what if there were no new types introduced, but instead a new operator that performed saturating addition on the existing bit<W> and int<W> types?  I don't have a proposal on the best character sequence to use for this, but a concatenation of the + character with some other character might be appropriate.  We already have some 2-character operators, so another wouldn't be unheard of.  Maybe '+|' ?
That doesn't affect how externs work, of course, but I think the behavior of externs issue is best addressed via new extern names, and/or additional parameters to the extern constructors, personally.

@jafingerhut : that's exactly what I proposed a few comments above with |+|.

And here is the criteria that should allow us to decide, whether to use an extern function or introduce the operator:

If we believe that every target can reasonably and cheaply implement saturated addition/subtraction, then  we should consider the operator
If we think that not every target can do it, then an extern function seems to be more appropriate

If we still want the new (standard) types, then we better be more than certain that everyone can easily implement them (although I still believe this is not a good idea to begin with)
PS: I do like "|+|" since it doesn't require the programmer to remember the order of "+" and "|" :)

@jafingerhut +1
Swift provides special operators for a similar purpose. Overflow is a runtime error by default (not appropriate for P4, but maybe useful as a default/option in BMV2?), but you can opt-in with special operators like &+.

I'm also a fan of the add-new-operator approach over the add-new-types
approach.
The former is lighter weight and seems to solve the problem at hand.
-N
On Wed, Mar 28, 2018 at 11:08 AM, James Coole<EMAIL_ADDRESS>wrote:

@jafingerhut https://github.com/jafingerhut +1
Swift provides special operators for a similar purpose. Overflow is a
runtime error by default (not appropriate for P4, but maybe useful as a
default/option in BMV2?), but you can opt-in with special operators
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AdvancedOperators.html
like &+.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/p4lang/p4-spec/pull/601#issuecomment-376921203, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABwi0ouRmy-CZmzhMdZR0mk1aiCTlb0vks5ti6dQgaJpZM4S6Wi_
.

Me too.  I like the operator approach much better.

It is indeed solving the immediate problem, and I will rewrite the proposal with operators.
However, I will personally maintain the view that we will pay the cost in the long run - see the lack of vector types in C.

@cc10512 : we can always decide to add the types to the language later if they prove to be useful in many circumstances. There's no harm having two ways to express some things.

Doing it different ways may lead to confusion. If we later decide to support types, I would advocate to deprecate the operators. For now, the people have spoken :)
Thank you all for the discussion and expressing you opinions.


Tag new release of kubewarden controller

We have recently added a new validation endpoint inside of the kubewarden controller. This is used to validate PolicyServer custom resources.
The helm chart kubewarden-controller is registering this webhook endpoint.
We have to:

Build a new container image of the kubewarden controller that has the new validating endpoint (v1.7.1)
Build a new container image of the audit-scanner that consumes the controller libraries (v1.7.1)
kubewarden-controller helm chart: wait for the automation to create a PR that bumps the version of the container images that is deployed
Merge the PR
Make a PR against kubewarden-controller bumping the chart version (a patch release)
Merge the PR and wait for the automation to release a new helm chart

Edited the description to include the bump of audit-scanner 1.71.


feat: add tooltip for buttons

I appreciate the PR @fabricioOak but I don't see this as something that needs adding.
It's always worth creating an issue before the PR to check.


Transformer decoding support fuse qkv

PR types

Performance optimization
PR changes

Models
Description

Transformer decoding support fuse qkv. Performance comes later.

fuse_qkv 如果多了对size的限制的话也加上分支来支持更多size吧

Done. Thanks.


Introduce Channel Unions

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[ ] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
The goal of this PR is to introduce Unions to JDA for channel types while also reworking the type hierarchy slightly to make way for ForumChannels and Messages in VoiceChannels (aka TextInVoice (TiV))
This PR changes the return types of a lot of method (basically all of them) that are the type getX : XChannel (e.g: Message#getChannel() : MessageChannel) to instead return union types (MessageChannelUnion in this case). Also, before you panic, anywhere that changed from XChannel -> XChannelUnion is completely compatible with 0 changes to existing bot/developer code because unions are extensions of the interface their representing.
Additionally, a variety of channel getters have been changed to return more limited channel classes so that they can properly represent the channel types returned. For example, the Webhook#getChannel used to return BaseGuildMessageChannel but now instead returns IWebhookContainerUnion. Read on for more info!
Unions
In JDA, a Union will represent a type that has getters on it to provide a signal to the developer of what types are available in this type. Technically this information is typically available via documentation, but we've found that this is also a great way to introduce additional discoverability.
These getters are in the format asX like asTextChannel() : TextChannel. The are effectively just casts, but they provide a method of introducing the available interfaces and types that are represented by the union. They also provide a way to introduce developers to "in-between" or "bridge" interfaces that may be useful like StandardGuildChannel or direct them to known useful casts like to IThreadContainer.
For example, the GuildMessageChannelUnion. The GuildMessageChannelUnion interface extends the GuildMessageChannel interface and differs only by providing the getters that can implement GuildMessageChannel:

asTextChannel() : TextChannel
asNewsChannel() : NewsChannel
asThreadChannel() : ThreadChannel
asStandardGuildChannel() : StandardGuildChannel
asStandardGuildMessageChannel() : StandardGuildMessageChannel

Clean Interfaces
Another thing to note is that Unions are not directly included in the normal type hierarchy, so their asX getters are not present on the end concrete interface. For example, when looking at a TextChannel tchan = jda.getTextChannelById("...") the tchan variable will  not have the asNewsChannel (nor any other asXChannel getter) on it even though TextChannel implements GuildMessageChannel. This is because the type hierarchy for TextChannel does not contain the GuildMessageChannelUnion interface, only the GuildMessageChannel interface. This means devs aren't going to have weird asX getters when they aren't needed, and this is an expectation we place on all unions going forward.
Unions are NOT wrapper objects
(This is mostly for the curious)
While the concrete type interfaces like TextChannel do not inherit from the Union classes, their XImpl (like TextChannelImpl) do implement them.
The advantage of this is 2 fold. Like mentioned before, the interfaces presented to developers are clean of these asX getters when they aren't pertinent anymore (after you've left the union type for a concrete type) however since the Impl implements it it means that when a method calls for a union (like GuildChannelMessageUnion) and we have the non union type (like GuildChannelMessage) we can confidently just cast from the normal type to the union type because we know the underlying Impl that represents that channel supports the union.
This is nice because it means we don't need special union wrappers to wrap objects to be returned by asX. The object itself is the union.
For the really curious
Given the above, here is an example
TextChannel < StandardGuildMessageChannel < StandardGuildChannel + GuildMessageChannel + ...
TextChannelImpl < StandardGuildMessageChannelImpl < StandardGuildChannelImpl + GuildChannelMessageUnion + ...
Note how the impl uses the union when building up StandardGuildMessageChannelImpl but the interface uses GuildMessageChannel when building up StandardGuildMessageChannel.
(technically the impl uses GuildMessageChannelMixin which includes the union, but I digress)
Removed Types

BaseGuildMessageChannel
The BGMC served as a great accumulator of all of the "attribute interfaces" (the IXChannel / IXContainer interfaces, ex: IThreadContainer) and acted as a base between TextChannel and NewsChannel. While this is really useful it cannot be reused for other messaging situations like TiV (because TiV doesn't support threads!) and we were returning BGMC from some methods that no longer can fully model the functionalities promised by BGMC like Guild#getDefaultChannel as ForumChannels can be a default channel in the future and they don't support MessageChannel!
As such, the functionality present in this type technically lives on in a form in StandardGuildMessageChannel, but it would be wrong to say it is simply renamed. A large amount of the "base" functionality present in this interface has now been spread out across StandardGuildChannel and StandardGuildMessageChannel. Additionally, most (if not all) of the getX : BGMC getters have been changed to return a super type with a more limited set of functionalities compared to the previous usages of BGMC due needing to support future Discord changes. Going back to our Guild#getDefaultChannel it now returns DefaultGuildChannelUnion to better represent the functionalities expected by a default channel.

New Types
Channel Types

IWebhookContainer
Represents any channel that can add/edit/remove webhooks

StandardGuildChannel
Represents any of the "normal" Guild channels. These are the channels that are in the sidebar and have the "standard" functionalities expected by channels.

StandardGuildMessageChannel
Represents any of the "normal" message channels in a Guild. This is the bridge interface between TextChannels and NewsChannels and generally supersedes the responsibility that BaseGuildMessageChannel had previously.

Union Types

GuildChannelUnion
Represents the union of all GuildChannel channels.

MessageChannelUnion
Represents the union of all MessageChannel channels.

GuildMessageChannelUnion
Represents the union of all GuildMessageChannel channels.

IWebhookContainerUnion
Represents the union of all IWebhookContainer channels.

IThreadContainerUnion
Represents the union of all IThreadContainer channels.

DefaultGuildChannelUnion
This is a specialized Union as it doesn't follow the expected pattern defined by the "normal" unions above. This Union extends StandardGuildChannel just like StandardGuildChannelUnion but it is specialized to only have asXChannel methods for the channels that are actually viable for the Guild#getDefaultChannel and Member#getDefaultChannel methods. This is in contrast to the StandardGuildChannelUnion which has an asXChannel on it for every channel type that implements StandardGuildChannel
In the future we may have more specialized unions that follow this pattern, but for now this is the only specialized union.

Examples
@Override
public void onMessageReceived(MessageReceivedEvent event) {
    if (!event.isFromGuild())
        return;

    GuildMessageChannelUnion union = event.getGuildChannel();

    //Methods available on this union.
    //Of course you couldn't use these all together as one of them would throw since it can only be one!
    TextChannel tChan = union.asTextChannel();
    NewsChannel nChan = union.asNewsChannel();
    ThreadChannel thChan = union.asThreadChannel();
    //etc

    //This would throw if the channel was actually a ThreadChannel,
    //  but if it isn't a ThreadChannel then it provides a lot of shared functionality to work with!
    StandardGuildMessageChannel sChan = union.asStandardGuildMessageChannel();

    // And, if you want to check the actual type, you can just use the `instanceof` checks like you already do today
    //  before doing any asX getters. Remember, they're only there to help you know what classes are available
    //  and the union is still just a normal channel at the end of the day. Typecheck and do whatever you want!
    if (!(union instanceof StandardGuildMessageChannel))
        return;

    //I don't need no stinkin' asX methods. I can cast all by myself thank-you-very-much!
    StandardGuildMessageChannel ssChan = (StandardGuildMessageChannel) union;

    //Also, like previously mentioned, the union itself _is_ the channel type it is representing
    //  which in this case is `GuildMessageChannel`, so you don't have to cast or
    //  use asX if you just need access to the methods on the interface itself
    union.sendMessage("See, just using methods on GuildMessageChannel interface!").queue();

    //Lastly, if you don't care about unions, you can stick to the types you've used up until now.
    //The union returns are just there to make things more discoverable, especially for attribute interfaces
    GuildMessageChannel channel = event.getGuildChannel();
}

This PR should also move the channel interfaces into a dedicated package

This PR should also address GenericChannelEvent

PR now addresses GenericChannelEvent


Few studies don't open with error in console

Hi,
This doesn't happen for every case but it is happening with 10% of the cases. I get some error in browser console (Screenshot attached)
I have added weasis in my dcm arc light server, its opening, I downloaded the zip from dcm, that is also opening in horos. Kindly look into this.
Thanks
Error:

Case in DCM:

Opening in weasis:

Dicom file in horos:

Do you have a minimial reproduction, or a way for us to test and encounter this same case ourselves?

Hi Danny, I mailed you the info. Please check.


Need az functionapp config ssl import command

Need new command to import Azure Service Certificate for Azure App Service
Now we can only import App Service Certificate from Azure App Service portal
Azure CLI command for it is missing. we only have upload command
https://docs.microsoft.com/en-us/azure/azure-functions/scripts/functions-cli-configure-ssl-certificate
az functionapp config ssl upload
az webapp  config ssl upload
How about
az functionapp config ssl import
az webapp  config ssl import

@panchagnula - any updates on this issue?

@stagrlee  don't have an ETA for this as yet.

I would also REALLY like this.
At this stage the only solution is to boot up a windows VM, use PowerShell to export it; and then reimport it as a PFX file; which breaks the automation rule.
Other solutions include scripting a clickthrough via phantomJS, which is flakey at the best of times.
How does this not exist yet? Is there really so few people who use wildcard domains?

I just ran into this issue because we have a cert expiring soon and without it will have to manually update >30 sites (plus slots). Any good news for me?

Upvoting this, as this is the last part we can't automate here.

I would also like to upvote this.

//CC: @ahmedelnably

Closing this as it is already supported.


PR: Multiindex display support for the Variable Explorer

Fixes #4018
This is a project to support the display of multiindex headers in the variable explorer/DataFrameEditor. The way it will work is mainly based/taken from the gtabview project.
Preview
Example code:
import pandas as pd
import numpy as np
arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']),
                   np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one',
                   'two'])]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(6, 6), index=index[:6], columns=index[:6])

Screenshots:
Before:

After:

Todo:

[x] Setup layout to follow the one in  gtabview.
[x] Improve the management of the indexes in DataFrameModel.
[x] Fix copy function.
[x] Create signals to sort columns.
[x] Resize the table as an all when the Resize option is clicked.
[x] Create docstrings with the reference to the gtabview project.
[x] Test the behavior with large datasets and the options to fetch more columns/rows.
[x] Changes in the tests when need.
[x] Fix code style issues.
[x] Add support for different encodings in the header and add/modify tests.
[x] Add test for the correct display of multiindexes and simple indexes.
[x] Improve docstrings.

Very quick feedback: the changes in this PR seem big enough to do it for against master and review it with care :-)
@goanpeca, what do you think?

Question: Is it possible to merge multi-indices in one column or row? For example, in your screenshot above could we merge the bar, baz, foo headers into a single row/column?

:+1: on master

Question: Is it possible to merge multi-indices in one column or row? For example, in your screenshot above could we merge the bar, baz, foo headers into a single row/column?
Maybe with setSpan() from QtableView. However this would cause probably the need to change the sort function and I'm not sure if it will work, however I can give it a try 👍

Yep, please give it a try. If it's too hard to implement then we leave things as they are ;-)

What is the related issue that this PR is fixing?

@goanpeca this is a PR for a enhacement for the DataFrameEditor that @ccordoba12 told me to do as my project for 3.1. Since the changes were kind of big this was thought to be better to go to 4.0. However I'm not sure if there is a existing open issue that corresponds with this.

@dalthviz lets create an issue then, we need to always have an associated issue to a PR, this allows better changelog handling and organization :-)

@dalthviz, could you post an screenshot of how DataFrames look with this PR when they don't have multi-indexes?

@ccordoba12 this is a preview with no multiindex:
Code:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6, 6))

Preview:

Please fix conflicts @dalthviz

@dalthviz when no multiindex we have the headers and the first columns and rows displaying the same information. Could we hice those first rows and columns for the no multiindex case?

@goanpeca I will try to do it :+1:

@ccordoba12 @goanpeca
Multiindex
Code:
import pandas as pd
import numpy as np
arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']),
                   np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one',
                   'two'])]
tuples = list(zip(*arrays))
index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(6, 6), index=index[:6], columns=index[:6])

Preview:

Simple index
Code:
import pandas as pd
import numpy as np
df2 = pd.DataFrame(np.random.randn(6, 6))

Preview:

Hi, I find the coloring of the index columns/rows a bit puzzling ("bar" is once grey and once white). What is the logic behind colouring of the index?

Hi @dalito the coloring is because this PR is mainly based in the project gtabview where the colors in the index are put taking into account the previous item, so if the current cell to paint has the same content it is painted white. The line corresponding to this behavior is this one

@jitseniesen, could you review this one, please?

Hello @dalthviz! Thanks for updating the PR.

In the file spyder/widgets/variableexplorer/dataframeeditor.py, following are the PEP8 issues :

Line 267:13: E722 do not use bare except'
Line 584:51: W291 trailing whitespace
Line 589:22: E261 at least two spaces before inline comment
Line 690:20: E127 continuation line over-indented for visual indent
Line 735:34: E701 multiple statements on one line (colon)
Line 879:10: E114 indentation is not a multiple of four (comment)
Line 879:10: E116 unexpected indentation (comment)
Line 885:39: E261 at least two spaces before inline comment
Line 886:40: E261 at least two spaces before inline comment
Line 995:80: E501 line too long (83 > 79 characters)
Line 1007:20: E701 multiple statements on one line (colon)

In the file spyder/widgets/variableexplorer/tests/test_dataframeeditor.py, following are the PEP8 issues :

Line 52:1: E302 expected 2 blank lines, found 1

@dalthviz Sorry I haven't had time to do a review. I did have a quick look and it is clear this is a rather big PR. You can help me by giving an overall explanation of the different part you have added, ideally using docstrings or comments in the source code. You add two classes, DataFrameHeader and DataFrameLevel, but the docstring for the latter class just says "Data frame level class" (and gives the project that you took it from). That is not very helpful. :smile:
I think you did not add any tests, only adapted the existing ones.
One question: What happens if a data frame has a simple index (i.e., not a multi-index) which is not the default index, for example:
df = DataFrame(np.random.randn(10, 5), columns=['a', 'b', 'c', 'd', 'e'])

Yep you're right I have to add more meaningful docstrings 😆, I will work on that and in the creation of some tests.
For the simple index this is what you get:

For the simple index this is what you get: ...

That looks fine to me, thanks

@dalthviz, this needs a merge with master.

@dalthviz, please remove FrozenTableView because it's not needed anymore.

@dalthviz, this needs a merge with master. There are also a couple of missing docstrings.
@jitseniesen, do you have time to review this one? If not, I'll merge next Monday.

There is an asymmetry between a data frame with a two-level index for the rows and the columns. Consider the following data frames:
iterables = [['bar', 'baz', 'foo', 'qux'], ['one', 'two']]
index = pd.MultiIndex.from_product(iterables, names=['first', 'second'])
df = pd.DataFrame(np.random.randn(8, 4), index=index)
dft = df.T

Displaying df:

Displaying dft:

I would expect both data frames to be displayed the same, only with rows and columns interchanged. Instead, in the first case the window has 8 rows and 2+4 columns, but in the second case the window has 2+4 rows and 1+8 columns and includes a dark grey bit in the upper left column. Also, why does the cell under "first" not display "second"?

@dalthviz, how the two dataframes mentioned by @jitseniesen are displayed in the notebook?

@ccordoba12 the two dataframes in a notebook are displayed like:

Previews:

I would prefer it if df0 (the penultimate picture) looks more like how it is displayed in the notebook. In particular, the names first and second should appear somewhere.
In some pictures, Index reads Indice (which I guess is the Spanish translation), but in other places the English word is used.
By the way, commit summaries like 'Improvements' are not that useful. Try to give more information.

@ccordoba12  @jitseniesen could be ok to display the first and second names of the indexes like this?:

Also I think this last change solves #5171

Thanks a lot @jitseniesen for the review :+1:

@dalthviz, thanks a lot for all your hard work on this, it's a terribly good improvement!
@jitseniesen, thanks for your careful review.

@dalthviz If some of the changes are useful for the gtabview project, it may be nice to feed them back, or just write a short thank you note.


Missing list of extractors (feature request)

I need an API to get the available list of extractors youtube-dl --extractor
Happy to submit a PR to make it happen - but again checking with you first in case this is already underway, or in case you would like to communicate some implementation preference ahead of time.

Not currently planned.

Submitted a pull request, closing this


Issue with normalize-whitespace

I have a website based on React that builds and  displays pages based on user's selection from a list.
These pages contain code snippets that I want to prettify.
The code is Typescript TSX (typescript+react) code, and I tried to use both languages-jsx and languages-typescript as my class name.
Because the pages are built and displayed dynamically I already need to re-run prism by calling Prism.highlightAll() after the page is displayed for the normal highlighting to work.
This works fine, however the code contains a lot of whitespaces that don't get normalized.
My guess is that the plugin doesn't get automatically re-executed on new content whenever I call Prism.highlightAll() but I am not sure of it. The outcome is that my code keeps its whitespaces that I would like to remove.
1)Does the plugin re-run on newly injected content or not?
2)If not, is there a way to retrigger it (as similar to what highlightAll can do for normal Prism behaviour)?
3)If yes, is it a bug or is some known issue (like for example issues with tsx code? )

I discovered that the plugin runs, there were some issues with TSX and the way the code strings were indented, ideally I would have loved the plugin to fix it for me, but with some minor changes I managed to obtain a decent result, so for the moment I'll be closing this one.


calico/node is not ready: BIRD is not ready: BGP not established with <IP_ADDRESS>

PossibleSolution
Add the parameter
nodeAddressAutodetectionV4:
interface: ens.*

Im experiencing the exact issue, any work around?

@hubcomsix or @petercorrea, there is very little information to go with right here (you might even have different issues, we can't be sure, I'd be cautious not to jump into conclusions here).
@hubcomsix could you fill in the whole issue template, so that we can have more info on your setup/versions/topology/etc? From the info you gave, it seems like you might have multiple network interfaces? In that case, yes, setting nodeAddressAutodetectionV4 would be the right solution, but I can't know for sure as I said...


Background color wrong in color picker window

Each time the color picker window opens to choose a background color, the color shown as the current one isn't actually the current one but a slightly (0.05?) brighter one.

I'm changing the Color Picker, at last :-)
See https://github.com/plusonelabs/calendar-widget/issues/292#issuecomment-524551358


npm ERR! Error: No compatible version found: jupyterlab@'file:../'

Ubuntu 14.04 LTS
$ pip --version
pip 8.1.2 from /home/ubuntu/anaconda/lib/python2.7/site-packages (python 2.7)
$ npm --version
1.3.10
$ pip install -e .
Obtaining file:///home/ubuntu/jupyterlab
Complete output from command python setup.py egg_info:
setup.py entered
/home/ubuntu/anaconda/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'License'
warnings.warn(msg)
running egg_info
running jsdeps
1.3.10
Installing extension build dependencies with npm.   Error: No compatible version found: jupyterlab@'file:../'
npm ERR! Valid install targets:
npm ERR! ["0.0.1","0.0.2","0.0.3","0.0.4","0.0.5","0.0.6","0.0.7","0.0.8","0.0.9","0.0.10","0.0.11","0.0.12","0.0.13","0.1.0","0.1.1"]
npm ERR!     at installTargetsError (/usr/share/npm/lib/cache.js:719:10)
npm ERR!     at /usr/share/npm/lib/cache.js:638:10
npm ERR!     at saved (/usr/share/npm/node_modules/npm-registry-client/lib/get.js:142:7)
npm ERR!     at /usr/lib/nodejs/graceful-fs/polyfills.js:133:7
npm ERR!     at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this log at:
npm ERR!     http://github.com/isaacs/npm/issues
npm ERR! or email it to:
npm ERR<EMAIL_ADDRESS>npm ERR! System Linux 3.13.0-92-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/ubuntu/jupyterlab/jupyterlab
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.10
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/ubuntu/jupyterlab/jupyterlab/npm-debug.log
npm ERR! not ok code 0
rebuilding js and css failed
missing files: ['/home/ubuntu/jupyterlab/jupyterlab/build/bundle.js']
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/ubuntu/jupyterlab/setup.py", line 158, in <module>
    setup(**setup_args)
  File "/home/ubuntu/anaconda/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/home/ubuntu/anaconda/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/home/ubuntu/anaconda/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/ubuntu/jupyterlab/setup.py", line 54, in run
    raise e
subprocess.CalledProcessError: Command '['npm', 'install']' returned non-zero exit status 1

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /home/ubuntu/jupyterlab/

Is this from a fresh clone of master?

i.e. what did you do before pip install -e?

Yes.

Fresh clone.
npm install

After that didn’t work I tried:

git clean -dfx
npm run build:all
npm install
pip install -e .

On Jul 17, 2016, at 9:42 AM, S. Chris Colbert<EMAIL_ADDRESS>wrote:
i.e. what did you do before pip install -e?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/jupyter/jupyterlab/issues/437#issuecomment-233190989, or mute the thread https://github.com/notifications/unsubscribe-auth/AC9i2_5njCf94N6A8mEWI_FLQNrp9Aahks5qWlt2gaJpZM4JOQji.

@dbl001 Is your build still broken? Your version of npm is very old. If your build is still not working, could you try upgrading your node and npm? Otherwise, does this issue need to remain open?
Thanks!

David-Laxers-MacBook-Pro:coursera davidlaxer$ port list npm
npm                            @2.15.3         devel/npm
Should I use ‘npm2’?
David-Laxers-MacBook-Pro:coursera davidlaxer$ sudo port install npm2
--->  Computing dependencies for npm2
--->  Fetching archive for npm2
--->  Attempting to fetch npm2-2.15.9_0.darwin_15.noarch.tbz2 from https://packages.macports.org/npm2
--->  Attempting to fetch npm2-2.15.9_0.darwin_15.noarch.tbz2.rmd160 from https://packages.macports.org/npm2
--->  Installing npm2 @2.15.9_0
--->  Activating npm2 @2.15.9_0
Error: org.macports.activate for port npm2 returned: Image error: /opt/local/lib/node_modules/npm/lib/utils/get-publish-config.js already exists and does not belong to a registered port.  Unable to activate port npm2. Use 'port -f activate npm2' to force the activation.
Please see the log file for port npm2 for details:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_npm2/npm2/main.log
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Error: Processing of port npm2 failed
David-Laxers-MacBook-Pro:coursera davidlaxer$

On Jul 29, 2016, at 4:49 AM, Afshin Darian<EMAIL_ADDRESS>wrote:
@dbl001 https://github.com/dbl001 Is your build still broken? Your version of npm is very old. If your build is still not working, could you try upgrading your node and npm? Otherwise, does this issue need to remain open?
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/jupyter/jupyterlab/issues/437#issuecomment-236160939, or mute the thread https://github.com/notifications/unsubscribe-auth/AC9i2wDVpNkF1w1WXCUyuIi1iStsC8TAks5qaejbgaJpZM4JOQji.

npm no longer needs to be installed on its own, it now comes bundled with node js. If I were you, I would consider uninstall the MacPorts version:
port uninstall npm
port uninstall nodejs

And then just installing via the installer on https://nodejs.org/

Closing because of inactivity. If it still isn't working for you, please reopen and we can continue helping you.


commitMessage showing the version before the bump

My version in commitMessage: 'check out my release <%= version %>' is showing the version before being bumped, the other messages and tag creation are working properly.

Thanks for reporting. Will investigate and fix this bug with the next version.

It works fine here with 0.13.1: which version are you using? What is the configuration?

Oh my, I don't even remember in what project this happened, feel free to close it.


Update api analytics navigation url-4

Purpose
https://github.com/wso2-enterprise/choreo/issues/10892
Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? no
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

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


A food Website clone.

I would like to code front-end work on a Food website clone. I will use animation and material design.Assign me this issue..

I would like to code front-end work on a Food website clone. I will use animation and material design.Assign me this issue..

@anmol20112000 we do not need a complete clone/template of a website.
This repository consists only of small code snippets of individual components.

I would like to code front-end work on a Food website clone. I will use animation and material design.Assign me this issue..

@anmol20112000 we do not need a complete clone/template of a website.
This repository consists only of small code snippets of individual components.

Okay then, plzzz just give me the idea i will  surely on that....plzzzz

I would like to code front-end work on a Food website clone. I will use animation and material design.Assign me this issue..

@anmol20112000 we do not need a complete clone/template of a website.
This repository consists only of small code snippets of individual components.

Okay then, plzzz just give me the idea i will surely on that....plzzzz

We'll be creating issues soon.


ARM64/aarch64 image

Would be possible to have an image for the ARM64/aarch64 arch? service-catalog has support for it with the image https://quay.io/repository/kubernetes-service-catalog/service-catalog-arm64?tag=v0.3.1&tab=tags, it would be nice if you could also add the ARM target.
Thanks.

Hi @jiayihu! It would indeed be nice to have an ARM image. This is not a top priority, though. I'd love to accept PRs for it!

Hi @jiayihu! It would indeed be nice to have an ARM image. This is not a top priority, though. I'd love to accept PRs for it!

I'd love to but I have zero knowledge in Go, especially cross-compiling, for the time being 😄 Maybe in the next future, I feel pretty much obliged to learn it if I want to continue studying k8s.
In the meantime, I'll leave the honour to someone else and I'm using both ups-broker, which has an ARM image, and a custom Rust-written OSB.

I'd love to but I have zero knowledge in Go, especially cross-compiling, for the time being 😄 Maybe in the next future, I feel pretty much obliged to learn it if I want to continue studying k8s.
In the meantime, I'll leave the honour to someone else and I'm using both ups-broker, which has an ARM image, and a custom Rust-written OSB.


Missing project file.

cannot open in Godot editor!
Missing Godot. project file inside the main dir.

Done :)


Add support for a grid layout

It would be nice to have the output of each process being shown inside a grid layout.
I have been playing around with concurrently and implemented something very simple:
https://github.com/lneves12/concurrently/commit/054cbd3dccecc42fedf8a107ad3f1dc7bc6220c6
Demo:

Just wondering if this is something you would like to have in this library. If yes, I can clean up that code and add it under a: "--grid" option.
What do you think? Any suggestion?

What would the output look like when there are many commands + a small terminal window?


Swedish translation

Swedish translation.
Swedish added to language list in settings.
Added missing word in English sentence.

Btw, user "pmd" in Slack if you have a question.

Tested and looks good! Fixed a couple of issues too! +5 👍


fix: correctly propagate sdk.Result events to the current ctx

Description
Fixes an issue whereby events would be swallowed into the void due to ignoring of sdk.Result fields and more specifically the creation of a new EventManager instance within the sdk.Msg router execution.
We should also be aware that a new EventManager instance is created upon every call to ctx.CacheContext
Shout out @colin-axner for helping identify the cause of the issue.
I tested the following changes using hermes and the interchain-accounts auth module. Channel handshakes are now correctly picked up by hermes channel workers and completed.
closes: #XXXX

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Codecov Report

Merging #624 (98eb5ee) into main (7a0fedd) will decrease coverage by 0.00%.
The diff coverage is 68.75%.

@@            Coverage Diff             @@
##             main     #624      +/-   ##
==========================================
- Coverage   79.49%   79.48%   -0.01%
==========================================
  Files         146      146
  Lines       10662    10672      +10
==========================================
+ Hits         8476     8483       +7
- Misses       1764     1766       +2
- Partials      422      423       +1

Impacted Files
Coverage Δ

...27-interchain-accounts/controller/keeper/keeper.go
96.11% <ø> (-0.04%)
:arrow_down:

...s/apps/27-interchain-accounts/host/keeper/relay.go
80.64% <54.54%> (-3.00%)
:arrow_down:

...7-interchain-accounts/controller/keeper/account.go
86.36% <100.00%> (+3.03%)
:arrow_up:

hell ya! @colin-axner @damiannolan

Great! Thanks for posting the fix! Only request is to add some comments since this is very subtle. In the future we could also add tests to ensure OnChanOpenInit events are returned (but can be done in separate pr)

Good point! Updated with some inline comments :)


ok pattern

There are cases like:
id, ok := claims["user_id"].(int)
if !ok {
}

which ok is a known pattern.

Good point. I've just added the -ignoreTypeAssertOk flag that will allow to ignore ok variables that hold the bool return value of a type assertion.
I will also add similar flags for the bool return values of channel read and map access.

Thank you for your attention and work :+1:


Can't use db.scan () or db.scanner () in the Go program

The functions signature is as follows:
https://github.com/nalgeon/redka/blob/017c0b28f7685311c3948b2e6a531012c8092bd3/internal/rkey/db.go#L149
https://github.com/nalgeon/redka/blob/017c0b28f7685311c3948b2e6a531012c8092bd3/internal/rkey/db.go#L163

The required paremeter ktype must with type core.TypeID, but we can't write code as below:
import "github.com/nalgeon/redka/internal/core"

// example:
// type Logger struct {
// 	DB *redka.DB
// }
// var logger *Logger
// ...
// logger.DB.Key().Scan(0, "*", core.TypeString, 100)

due to error as below:
could not import github.com/nalgeon/redka/internal/core (invalid use of internal package "github.com/nalgeon/redka/internal/core")compiler[BrokenImport](https://pkg.go.dev/golang.org/x/tools/internal/typesinternal#BrokenImport)
Package core provides the core types used by other Redka packages.

Fixed in v0.5.3


Glossary Categories and Terms are not visible

Describe the bug
Glossary Categories and Terms are not visible in the module.  Glossaries can be created, and it appears that Categories and Terms can be created, but they aren't displayed.  Categories and Terms for Glossaries that were previously displayed also aren't shown anymore.
This is present in v2.6 and may also be present in v2.5, although we have cherrypicked some v2.6 commits on top of our running v2.5 instances.

How to Reproduce
Create a Glossary.  Try to create some Categories and Terms in the Glossary.  They appear to be successfully created, but aren't visible in the Glossary.
Expected behavior
No response
Your project
No response
Screenshots
No response
OS
n/a
Python version
n/a
AWS data.all version
v2.6
Additional context
No response

Hi @rbernotas - #1427 I believe should address the above issue. Ultimately due to a deprecated component in mui/lab which was moved to TreeView in mui/x-tree-view
Please let us know if still seeing problems after cherrypicking that commit and if so can explore further remediation


Add . to the allowed characters in params

I needed to capture dots in params, so I added them.
Maybe we can talk about what hyperapp allows in params?

Hi @fvj! LGTM.
@lukejacksonn?

Can anyone see an issue arising in which any of these characters would cause a problem? If not then we might as well construct a regex that accommodates all possible permutations.

Maybe YAGN applies here?

I've changed the regex to what RFC 3986 describes as valid characters. From what I understand YAGN would imply that we add each valid character separately, whenever someone needs it. I don't think that's worth the effort. Also, having the router conform to RFC 3986 has no disadvantage as far as I can tell.

I was looking at this:

https://stackoverflow.com/questions/7109143/what-characters-are-valid-in-a-url

@lukejacksonn Aren't ? and & used for the query string?

@fvj The reason I prefer to do this character by character is because it allows me to understand what, why and how those characters are actually used / their use case.
I can see the value for . in the pathname, e.g., http://test.com/some/path/version/1.2/thing, but I am still not sure about the others, so if you can revert the commit to only handle . which is what you needed:

I needed to capture dots in params, so I added them.

then I'll merge right away.

Done, thanks.

@fvj Sorry for prolonging this! Merging 👍


🐞 - browser address bar jumps on ComboBox value select

Playground Link
https://taiga-ui.dev/components/combo-box
Description
When selecting value from ComboBox dropdown (Safari iOS), address bur twitches up and down
https://github.com/taiga-family/taiga-ui/assets/40900817/f50d9472-a333-419a-82cf-41dd96c6f65c
Angular version
No response
Taiga UI version
No response
Which browsers have you used?

[ ] Chrome
[ ] Firefox
[X] Safari
[ ] Edge

Which operating systems have you used?

[ ] macOS
[ ] Windows
[ ] Linux
[X] iOS
[ ] Android

Should be fixed on latest version

#7193


Remove D-key handler, use appbar instead

Avoid accidentally switching theme by pressing 'D' while typing username/password or elsewhere

Fix issue #77

@AlbertoCasasOrtiz for your review

Thanks @AlbertoCasasOrtiz


6152: Fixed login instructions bug

After chat w/ Tom: printable instructions should not be available in admin mode at all. I'll address that.