text:
[docs] Various text colors are not legible in dark mode

[ ] The issue is present in the latest release. Only present in next not master
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Some text colors are black which has poor legibility in dark mode.
Different colors are most obvious on https://6092774712946f0007fc4e76--material-ui.netlify.app/components/tree-view
Note that this isn't just for lab components. Core and docs components are affected as well (e.g. landing page).
Expected Behavior 🤔
Legible text colors like on master: https://master--material-ui.netlify.app/components/tree-view/#tree-view
Steps to Reproduce 🕹
Steps:

Goto https://6092774712946f0007fc4e76--material-ui.netlify.app/components/tree-view
Switch to dark mode

Context 🔦
This bug has persisted for a couple of weeks now. I thought this was expected and just an intermediate problem. Since this persisted for weeks I no longer believe this is expected.
Your Environment 🌎

`npx @material-ui/envinfo`
~/D/p/m/fork (next↑7|✔) $ npx @material-ui/envinfo

  System:
    OS: Linux 5.4 Ubuntu 20.04.2 LTS (Focal Fossa)
  Binaries:
    Node: 12.22.1 - ~/.nvm/versions/node/v12.22.1/bin/node
    Yarn: 1.22.10 - /usr/bin/yarn
    npm: 6.14.12 - ~/.nvm/versions/node/v12.22.1/bin/npm
  Browsers:
    Chrome: 90.0.4430.72
    Firefox: 88.0
  npmPackages:
    @emotion/react: ^11.0.0 => 11.1.5
    @emotion/styled: ^11.0.0 => 11.3.0
    @material-ui/codemod:  5.0.0-alpha.30
    @material-ui/core:  5.0.0-alpha.32
    @material-ui/data-grid:  4.0.0-alpha.24
    @material-ui/docs:  5.0.0-alpha.31
    @material-ui/envinfo:  1.1.6
    @material-ui/icons:  5.0.0-alpha.29
    @material-ui/lab:  5.0.0-alpha.32
    @material-ui/private-theming:  5.0.0-alpha.32
    @material-ui/styled-engine:  5.0.0-alpha.26
    @material-ui/styled-engine-sc:  5.0.0-alpha.26
    @material-ui/styles:  5.0.0-alpha.32
    @material-ui/system:  5.0.0-alpha.31
    @material-ui/types:  6.0.0
    @material-ui/unstyled:  5.0.0-alpha.32
    @material-ui/utils:  5.0.0-alpha.31
    @types/react: ^17.0.3 => 17.0.3
    react: ^17.0.1 => 17.0.2
    react-dom: ^17.0.1 => 17.0.2
    styled-components:  5.2.3
    typescript: ^4.1.2 => 4.2.4

Duplicate of https://github.com/mui-org/material-ui/issues/25458? We depend on https://github.com/emotion-js/emotion/pull/2334, the PR has been approved, so hopefully, soon we can leverage the new method for extracting critical from emotion. Preview of the docs with the fix - https://deploy-preview-25690--material-ui.netlify.app/components/tree-view/#main-content


text:
[Modal] Fix tabIndex customization

resolve #17937

@Cyrus-d Thank you
This change might bring #17480 back on. I'm curious to see how that turns out.

source: gharchive/pull-request

authors: Cyrus-d oliviertassinari

repo: mui-org/material-ui

license: MIT

license_type: permissive

license_source: github-api


text:
ListItem checkbox not spoken by screenreader (WCAG)

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Steps:

install screenreader extension in chrome browser
surf to https://v4.mui.com/components/lists/
scroll down to List Controls - Checkbox example
start screenreader extension
use tab key to move up and down list. screenreader sais "Line item 1" but nothing about checkbox
use space key to set/unset checkbox. screenreader is quiet

Current behavior 😯
screenreader sais nothing about checkbox in listitem
Expected behavior 🤔
screenreader should inform user of checkbox state
Context 🔦
WCAG compliance
Your environment 🌎

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

Can i work on this issue?

Can you propose what do you have in mind for the fix?

So I tested with a screenreader, and, as mentioned, when using the spacebar to check and uncheck it the screen reader says nothing. However, in the list right beneath it that demonstrates check boxes as a second item, the screenreader does say "Checked" and "Unchecked" in response to using the spacebar. I compared the differences between the input elements is the problematic list items had the attribute "tabindex = -1", and the working list items did not have that attribute. Is there any reason the tabindex attribute is necessary in the first list and not the second? Removing this attribute using the devtools solved the issue, so could it just be removed in the actual code as well?

I dug into it a little deeper, and this is what's going on:

In the first checkbox example ("checkbox as a primary action"):

The interactive element is the <div> immediately inside <li>; the inspector reveals that it has tabindex="0" and a click event listener. This <div> is the element that's in focus when pressing the spacebar.

The checkedness state is conveyed visually (by changing some stuff in nested <span> and <svg> elements), but not programmatically; in other words, there are no attributes on that <div> element that change when its state changes, and therefore screen readers have nothing to announce.

In the second checkbox example ("checkbox as a secondary action"):

The interactive element is the <input type="checkbox"> itself. It does not have a tabindex attribute; it doesn't need one because the element is natively interactive, and therefore natively focusable. It also does not have a click event listener, but it still responds to click and keyboard events according to native HTML checkbox mechanics.

The <Checkbox> component has an onChange prop, but the inspector reveals that the <input type="checkbox"> element has no change event listener. This is because of how onChange works in React: it basically lets the browser run its native change mechanics on the HTML checkbox (detect suitable click or keyboard event --> toggle checkedness state), and as that happens, also runs whatever function you passed via the onChange prop.

Since the native HTML checkbox mechanics are able to run undisturbed, that means that the checked DOM property of the checkbox node toggles appropriately between true and false. And since the reading pointer of the screen reader is currently on the HTML checkbox (remember, that's the interactive element in this case), the screen reader picks up on this change, and is able to announce the change in checkedness state.

Basically, we get to hear about the change in checkedness as it happens if and only if that information is made available to the screen reader in its current reading location. It's not really about whether the checkbox is focusable; in fact, in the first checkbox example, you can click on the checkbox with the mouse, which brings the reading pointer to the checkbox, which means that change in checkedness happens right where the screen reader now is, which means that we get to hear about it.

Now here's the kicker: by using the inspector in examples 1 and 2 and playing around a bit, I noticed an interesting behavior in both cases.

Basically, interacting with a checkbox toggles the value of its checked DOM property between true and false, but not the presence or absence of the checked HTML attribute (present basically means true, and absent basically means false).

This happens because the DOM property is being handled by the native checkbox mechanics (which React, by design, doesn't interfere with), while the HTML attribute is being manipulated via the checked prop... but said prop is being controlled by an array of numbers stored as a React state, and handled in such a way that doesn't cause React to re-render the component.

Long story short, we end up in a situation where the "JS checkedness" is being toggled, but the "HTML checkedness" stays at the initial value, which means they contradict each other 50% of the time, which is not supposed to happen, and can potentially lead to much worse accessibility issues in certain environments.

Also... there's a number of more typical problems. To name a couple: in the first checkbox example, we have a <div> element that's interactive, but assistive technologies have no way to know that... it might be tempting to do something like giving it the ARIA role="button", which is basically what was done in the second checkbox example... except that's also problematic, because as per the HTML spec, buttons are not allowed to contain nested interactive content (such as checkboxes).

I'm running out of brain juice now, so I guess my overall conclusion is that there are fundamental architectural problems caused by either disregarding or going directly against the native behaviors and semantics, and I don't have any easy fixes for you at the moment, just some food for thought :D

source: gharchive/issue

authors: livinglifemeaning petercutting siriwatknp xurxe

repo: mui/material-ui


text:
TimeField - minutesStep

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example:
https://codesandbox.io/s/jolly-joliot-6jgif8
Steps:
1.Make a TimeField
2.Set minutesStep={15}
3. select a time using the up down arrows
Current behavior 😯
At present the TimeField shows the border in red if for instance the time isn't acceptable, i.e. if I have set the minutesStep to 15 and I have a minute number from 1-14.
Okay, this works fine, but why am I having to press the up/down buttons in between the valid numbers, why isn't the time flicking between the allowed numbers?
Seems like this really isn't user friendly in this situation?
Expected behavior 🤔
Why not jump between the increments as set in minutesStep??
Context 🔦
No response
Your environment 🌎

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

@JasonColeyNZ @mui/x-date-pickers is maintained in a separate repo, you can report your issue there: https://github.com/mui/mui-x/issues
(I will close this one)


text:
Polish markdown component

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Steps:

Open https://master--toolpad.mui.com/deploy/cl6rqzry10009arlv9sto6qja/pages/e943n9y

Current behavior 😯

There is a margin around the markdown.
The <a> isn't rendered with the <Link> of Material UI.

Expected behavior 🤔
The opposite.

Context 🔦
I'm updating some of the Toolpad app we use for the support to use markdown. Related to #1298.
Your environment 🌎
No response

I wonder what we should do with the headers. At minimum they should use the theme typography but not sure about what's the right variants for them.

I noticed something else. In https://master--toolpad.mui.com/_toolpad/app/cl6rqzry10009arlv9sto6qja/pages/ep03m95, when I click on the link, it breaks the layout.

We could add target="_blank".

There is a margin around the markdown.

I think it's the spacing that's between all elements on the page. Perhaps it makes sense to add the title inside of the markdown as well?

There is a margin around the markdown.

I think it's the spacing that's between all elements on the page.

There definitely is some additional margin that react-markdown was adding, markdown-to-jsx fixed that

On https://master--toolpad.mui.com/_toolpad/app/cl6rqzry10009arlv9sto6qja/pages/ip23ggo, it looks much cleaner, great 👍

Things that we could improve:

The margin between paragraph feels too small. It's currently at 6px. GitHub uses 16px. Retool has 8px but the text font-size is 12px, not 16px like us.
Fix the leading margin bottom: https://github.com/mui/mui-toolpad/pull/1477/files/66acedbede09680e45e593d84504d4c2391e53e5#r1064221934

Things that we could still improve:

Adjusted those in https://github.com/mui/mui-toolpad/pull/1690

@prakhargupta1 Should we close this since the to-dos listed in the comment above have been closed?
We can potentially create another issue about separating the Text and the Markdown components back into two different ones

authors: Janpot bharatkashyap oliviertassinari

repo: mui/mui-toolpad


text:
Test Failed, OpenWRT 23.05.3

Router Model: GL.iNet GL-MT6000
Architecture: ARMv8 Processor rev 4
Target Platform: mediatek/filogic
Version: OpenWrt 23.05.3 r23809-234f1a2efa / LuCI openwrt-23.05 branch git-24.073.29889-cd7e519, aarch64-openwrt-linux-musl-gcc
Kernel: 5.15.150
Bugs:
Ookla Speedtest works fine but with option: Use Ookla® SpeedTest-CLI I'm getting Test Failed. error (see screenshot).
Ookla® SpeedTest-CLI Status: Installed
Downloaded System Arch: aarch64, also tried with armel, same result.
root@OpenWrt:/usr/bin# ./speedtest-cli --version
speedtest-cli 2.1.3
Python 3.11.7 (main, Apr  9 2024, 09:25:41) [GCC 12.3.0]

speedtest-cli has some problems on openwrt, and there is currently no solution (not capable enough)
You can execute /usr/lib/netspeedtest/speedtest manually or use python3-speedtest(default)

I did an upgrade to the latest version (20240412) and fixed the issue on my end. Tbh I don't know if there is any advantage using CLI but I'm glad that it's working now.

I'm glad I could help you 😊

repo: muink/luci-app-netspeedtest


text:
chore: make all sentinel errors constant

Previously:
// decoder/decoder.go
var ErrCRCChecksumMismatch = errors.New("crc checksum mismatch")

func init() {
    decoder.ErrCRCChecksumMismatch = nil // allowed :(
}

Imagine we have a service for testing FIT file integrity, however, without our knowing, there is another library that silently altering the value, this way we will never get "mismath" error as the value is now become nil. This will be hard to debug; more importantly, it might pose a security vulnerability.
Now since we change ErrCRCChecksumMismatch as unexported "errorString" string typed constant, the value will never be altered.
// decoder/decoder.go
type errorString string
func (e errorString) Error() string { return string(e) }
const ErrCRCChecksumMismatch = errorString("crc checksum mismatch")

func init() {
	decoder.ErrCRCChecksumMismatch = nil                       // cannot assign to constant
	decoder.ErrCRCChecksumMismatch = ""                        // cannot assign to constant
	decoder.ErrCRCChecksumMismatch = decoder.ErrMesgDefMissing // cannot assign to constant
}

References:

Standard library using constant error pattern: https://pkg.go.dev/syscall#Errno
An article by Go contributor: https://dave.cheney.net/2016/04/07/constant-errors

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (0f9d45b) to head (587ac09).

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #265   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           42        42
  Lines         3646      3649    +3
=========================================
+ Hits          3646      3649    +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

authors: codecov-commenter muktihari

repo: muktihari/fit


text:
Support for water heaters

I am the maintainer for the Home Assistant Bradford White Connect. The connect device appears to be a ESP32 board that is talking the GEA2 protocol to the water heater via a RJ45 connection.
I am interested in helping add support for water heaters with your project or creating a sibling project. Any help you could provide me on how to get started would be great! I am new to all this low level stuff. How can I use your PCB board design to build a board that I could start iterating on?
I did find this documentation that appears to be a good start for how to send commands to the water heater.

You can buy the board from FirstBuild or look here : https://github.com/geappliances/home-assistant-adapter/blob/main/doc/schematic-v1.0.pdf

You can buy the board from FirstBuild or look here.

I tried to find the board on FirstBuild, but couldn't find it. Do you have a link?

I had used a lot of the information from the doitaljosh repositories when I was developing this project.
The other FirstBuild/GeMakers repository has official details on the water heater erds.  They also have a home assistant repository so it looks like some nice non-cloud stuff is being developed.  A big change from where they were about a year ago.

I do have the board working if you have any questions.

I do have the board working if you have any questions.

Did you get the board from FirstBuild or build it yourself? It looks like the board supports gea2, but I only see gea3 referenced in their code.

Yes I got it from FirstBuild. I believe the board support GEA2 & 3 but they only implemented GEA3 for now. You could ask on this repo perhaps? They wrote the tiny gea3 api so I guess someone would need to do the same for GEA2.

Thanks! I actually posted an issue a bit ago on that repo. 😀 We can close this issue, as I think I'll pursue the FirstBuild route.

authors: ablyler mguaylam mulcmu

repo: mulcmu/esphome-ge-laundry-uart


text:
v3.8: Added a larger list of characters that DW trims

Mention 'whitespaces' instead of 'spaces' since DW 1.0 trim will also remove tabs, newlines, carriage returns, ...

Closing PR, covered under https://github.com/mulesoft/docs-mule-runtime/pull/1191

authors: dietervanhoof kevintroller

repo: mulesoft/docs-mule-runtime


text:
Investigate malformed AQL query in multimatrix

Here is the page that produces such error: https://multimatrix.multinet.app/?workspace=Jake's+Workspace&network=test
And here is the serialized AQL query that's sent over the wire
https://api.multinet.app/api/workspaces/Jake's Workspace/aql/?query=let+nodes+=+(FOR+n+in+[test--actors,test--films]
[**]+LIMIT+10+RETURN+n)+let+edges+=+(FOR+e+in+test--edgelist+filter+e._from+in+nodes[**]._id+
&&+e._to+in+nodes[**]._id+RETURN+e)++++++RETURN+{"nodes":+nodes[**],+edges}

With a response from the server of
"AQL: collection or view not found: test (while parsing)"

This may be due to an issue with serializing the AQL query in query params. If that's the case, I think switching the endpoint to a POST, and sending this data in the body would be sufficient.

This may be due to an issue with serializing the AQL query in query params. If that's the case, I think switching the endpoint to a POST, and sending this data in the body would be sufficient.

Good idea.

authors: AlmightyYakob waxlamp

repo: multinet-app/multinet-api


text:
Dirt-Samples dictionary completion

Hi!
This PR enables dictionary completion for SuperDirt samples.
It adds a new command :TidalGenerateCompletions that generates a file which contains a list of all the SuperDirt sample folders, and sets that file to be used for dictionary completion in vim. This provides a convenient way to find, and cycle through, available samples using ^x^k (and auto-completion of samples if the user has such a plugin installed)
The TidalGenerateCompletions command will use the default installation paths for SuperCollider quarks to find the sample files. It is also possible to override this behaviour by supplying a path to the command pointing to another sample folder.
I have tested this on OS X 10.9.5, and I have provided a path for linux where I believe the samples are installed. I'm not sure if this plugin works on windows (?), but if that is the case it should be easy to add a samples path for windows as well.
I have kept the commit history as it is for easier reviewing, but I could squash everything into a single commit if you are interested in merging this feature.

This is great! I just tried it on linux, it works all right. Thanks a lot :)
I think it's possible to squash and merge this PR from here (Github), let me know if you prefer to do it yourself.

Thanks :) Great to hear that it is working on linux as well!
I just squashed the commits, so you can merge this at your convenience. Also, thank you for writing and maintaining this plugin! 👍

This should be mentioned in the readme becouse it wasn't so obvious.
After reading this I've added  imap <F8> <c-x><c-k> in ftplugin/tidal.vim

authors: b1tfl0w davidgranstrom munshkr

repo: munshkr/vim-tidal

license: mit

license_source: bigquery


text:
Uncaught TypeError: Cannot read property 'split' of null

[Enter steps to reproduce below:]

Open one file in Atom editor.
Have only one Pane open with one file open.
Choose Packages -> Split Diff -> Toggle menu option.
Crash occurs.

Atom Version: 1.7.2
System: Mac OS X 10.11.4
Thrown From: split-diff package, v0.7.4
Stack Trace
Uncaught TypeError: Cannot read property 'split' of null
At /Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:833

TypeError: Cannot read property 'split' of null
    at Function.module.exports.Range.fromText (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/range.js:47:19)
    at TextBuffer.module.exports.TextBuffer.setTextInRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:588:24)
    at /Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:576:26
    at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:828:18)
    at TextBuffer.module.exports.TextBuffer.setTextInRange (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:574:21)
    at TextBuffer.module.exports.TextBuffer.setText (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/text-buffer/lib/text-buffer.js:514:19)
    at TextEditor.module.exports.TextEditor.setText (/Applications/Atom.app/Contents/Resources/app.asar/src/text-editor.js:810:26)
    at Object.module.exports.SplitDiff.getVisibleEditors (/Users/kcole/.atom/packages/split-diff/lib/split-diff.coffee:77:21)
    at Object.module.exports.SplitDiff.diffPanes (/Users/kcole/.atom/packages/split-diff/lib/split-diff.coffee:108:16)
    at Object.module.exports.SplitDiff.toggle (/Users/kcole/.atom/packages/split-diff/lib/split-diff.coffee:400:8)
    at atom-workspace.subscriptions.add.atom.commands.add.split-diff:toggle (/Users/kcole/.atom/packages/split-diff/lib/split-diff.coffee:34:32)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61)
    at CommandRegistry.module.exports.CommandRegistry.dispatch (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:160:19)
    at AtomEnvironment.module.exports.AtomEnvironment.dispatchApplicationMenuCommand (/Applications/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:1100:28)
    at EventEmitter.outerCallback (/Applications/Atom.app/Contents/Resources/app.asar/src/application-delegate.js:314:25)
    at emitTwo (events.js:87:13)
    at EventEmitter.emit (events.js:172:7)

Commands
     -0:00.9.0 split-diff:toggle (atom-text-editor.editor.is-focused)

Config
{
  "core": {
    "themes": [
      "atom-dark-ui",
      "atom-dark-syntax"
    ]
  }
}

Installed Packages
# User
atom-jinja2, v0.5.0
split-diff, v0.7.4

# Dev
No dev packages

I think I can fix this. Quick question though, was the file you were diffing in a git repository?

Yes the file was part of a hit repository.

Anything special about the file or repository? For instance, was the file not part of the repo / not committed yet? It looks like the latest copy of the file from the branch couldn't be opened, so it tried to set your second pane text to null.
Sorry for all the questions, just trying to figure out if there is a way to fix it so that it will show you your git changes instead of failing and opening with a blank pane.

authors: kadecole mupchrch

repo: mupchrch/split-diff


text:
Tab completion on /visit

It does not refresh or my code is messed up, I have tried many ways.

still doesnt work as it should, but looks better.
if you write the second letter nothingshows up in tab

Its 90% working as I wanted it to work. :D

repo: muriplz/KryeitTPPlugin


text:
DOMElement  is incomplete

A dom element has sets/slices of attributes not just one. An attribute can have different keys than "id",  "class" and value" (e.g. data-xyz, hidden, label etc..) along with other properties.
I would propose to bring it more in line with x/html to better represent the structure of a html node. We may exclude the relationships (Parent, FirstChild, LastChild, PrevSibling, NextSibling *Node) if  murlokswarm is not interested to serialize the html(though I think it would be quite handy).

type Node struct {
    Parent, FirstChild, LastChild, PrevSibling, NextSibling *Node
    Type      NodeType
    DataAtom  atom.Atom
    Data      string
    Namespace string
    Attr      []Attribute
}

type Attribute struct {
    Namespace, Key, Val string
}

This is a bunch of javascript to handle and it's pretty tricky to serialize dom objects.
I have got some very strange results when i was just trying to JSON.stringify the attributes in order to have a full attribute map.
Right know, I prefer to focus on other things.
But if someone is open to clone this and try to make it, would be glad to review the changes.

Did you consider the Objective-C API instead of JS?
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DisplayWebContent/Tasks/DOMObjCBindings.html

authors: maxence-charriere themihai

repo: murlokswarm/app


text:
Add support for the metrics endpoint

http://docs.honeybadger.io/guides/api.html#metrics

Metrics endpoint no longer exists. Closing.

repo: murraysum/honeybadger-api


text:
Hot reload support for .NET 6+ apps?

Hello,
First, thanks heaps for the super awesome extension that fulfils a very common need, and for making it available for free.
I installed the extension and used it for my .NET 6 web app. It's very nice to see the debugger finally automagically attaches to the restarted .NET application.
However, I noticed that the app seems to restart for any kind of change. I don't know if it's just me imagining it to be honest or there's no hot reload support in the extension. Is it supposed to use hot reload?

Sadly no, see https://github.com/dotnet/runtime/issues/12409 and https://github.com/OmniSharp/omnisharp-vscode/issues/490
enc apparently has some proprietary stuff in it and msft kept it on visual studio only, from what I’ve read so far, it’s due to legacy and complexity that’s blocking it as ..
Jetbrains rider does support hot reload somehow, but not sure how they are implementing it.
Being a react developer, I use vscode personally day to day and want to use vs code as my main editor for both c# & react. Comparing frontend dev tools, hot reload on .net is still inferior to frontend or even springboot/golang.
what this extension does is to at least save developers time from manually restarting/stop-start debugging sessions by using dotnet watch

Does the extension do anything to restart the app though or just leaves it to dotnet watch?
Because hot reload seems to work fine for me on the Mac terminal. That's how I use it most of the time, as I usually only need debug mode when actually debugging an issue.
My hypothesis is that if the extension restarts the app, then maybe the fix is for the extension do do nothing, and then it should in theory work the same as it does in the terminal (so would hot reload).
But if the extension already does nothing to restart the app, then this hypotheses is invalid.

Everytime a code change is detected when saving any file under .csproj, dotnet watch actually terminates it automatically (out of extensions control), what we do here when u run the debugger; is to generate a task, execute it and getting the the process id via a task definition match, then start a debug session automagically (via a setInterval timer every second) and of course killing the watch task when user decides to stop the debug session using
debug.onDidTerminateDebugSession(DebuggerService.TryToRemoveDisconnectedDebugSession);

Interesting. Makes you wonder why hot reload works in the console but not in this case!

Can I also assume that when u launch via console, you don’t have debugger attached, coz u do, it should detach whenever you save as well

I don't yeah. That might be the difference.
Also working on a API+react project here as well BTW.

Hope that msft invest some time into edit and continue/omnisharp for vscode, then I can remove this extension 😎
for now it’s serving my needs and improved my development loop.

It certainly does. Thanks again for creating it. It makes things much smoother.

authors: Meligy murugaratham

repo: murugaratham/vscode-dotnet-watch


text:
anyStart throws schematron warnings for required ancestor, e.g. heraldry, watermark, locus

The heraldry, watermark, locus have Schematron rules testing for an ancestor physDesc. While this is true in a complete meiHead, it does not make sense in the anyStart schema if a files starts below the physDesc (e.g., in the sample-encodings collection).
There might be other elements with parent or ancestor checks in Schematron rules.
There are alternative solutions:

remove those Schematron checks in the anyStart customisation
rework them in the customisation to not throw an error but a warning or info
rework them generally to warning or info level.

Is there no other way for those three elements mentioned to ensure they are only used in physDesc?
What would be an easy solution for MEI 5?
Opinions? Especially from @music-encoding/ig-metadata?

For reference see, e.g., the files in https://github.com/music-encoding/sample-encodings/tree/main/MEI_4.0/Header/Watermark

Making these elements members of model.msInline and then restricting their presence to physDesc doesn't make sense.  I say we remove the Schematron rules for these elements and rely on encoders to do the right thing.

I'm also irritated that, e.g., <watermark> appears nearly everywhere and is then restricted to a specific point. Overthinking the model membership could also be a solution.
If a change with minimal impact is preferred I will vote for deleting the schematron rule in the anyStart schema.

The members of model.msInline have a two-fold function.  They may contain a description (as when they're used in the header) or they can mark the presence of a textual feature (when used inline).  There's no way to predict where in the text the second  function may be invoked, so I prefer to  remove the Schematron rule from all customizations, including mei-all.  The result will be no worse than the situation created by any of the already-existing inline elements.

I'm inclined to leave in place other Schematron rules that may be violated by the anyStart customization.  Common sense should guide the user to ignore violations that no impact.  The primary function of the anyStart customization is to validate a document tree starting at a node that is not normally a document node.  Obviously, rules that apply to ancestors or siblings will be violated and should be ignored.

@pe-ro I understand your point and you are right that people should be able to handle this. But technically it is a bit more difficult. If the schematron rules return an error the validation fails (or could fail, depending on the validation process). However, if the code is valid this shouldn't be counteracted by schematron rules.

Having reviewed this issue more carefully, I suggest that <watermark> be removed from model.msInline.  This will restrict its use to <physDesc> (via model.physDescPart) and make the Schematron rules that pertain to it unnecessary.
Just removing the Schematron rules pertaining to the others is the easiest solution.

Just noticed this issue is closed.  Presumably (I haven't checked), the Schematron rules were dropped.  I'd still propose removing <watermark> from model.msInline.

I support @pe-ro's suggestion. Because of the fact that <watermark> is allowed 'nearly everywhere' made me already thinking of revising some data models. But that will be obsolete, if it is as easy as @pe-ro says.

I'm inclined to move this back to milestone MEI 5.0 because the primary problem described by this issue was solved, and there’s a new issue for remodeling the class memberships of watermark. But: have you guys also checked the other elements (heraldry and locus) whether changes are there necessary, too?

Why not keep it at 6?

Why not keep it at 6?

The Schematron checks have been removed the issue is resolved

authors: ahankinson bwbohl musicEnfanthen pe-ro riedde

repo: music-encoding/music-encoding


text:
Introduce media-range-selector component

Note: this PR depends on #23
The idea here is to create a component that can be used in order to select a range of content from a media object, like this:

This would be really handy to use with the Mux Asset Clipping API, which requires start and end timestamps from a Mux Asset.
For a full video of the functionality, see here:
https://stream.new/v/32xPDk24hFr3j7VG0001M011lP01V007JJiO3YNngBXQzqUk
This PR is not ready yet, but opening it up for early review.
TODO:

[x] Rename to media-range-selector. Currently the name is media-trimmer, but I think media-range-selector is better (s/o @mmcc) This component itself does not do the actually "trimming" or "clipping" - it simply allows the selection and emits events when the selection is updated.
[x] the default styles can be cleaned up, and also make sure the styles are easily over-ridable for customization
[ ] When moving the start handle, the end handle seems to shift slightly to the right, this is more noticeable on mobile
[x] QA with shorter video (like 30s)
[x] QA with a longer video (like an hour or two?)
[x] QA with an HLS video
[ ] when trying to move the start handle too far right or the end handle too far left, things don't really work right

Notes:

This is the first media-chrome component that emits events externally. Officially, the API that a developer would use looks like this:

const mediaRangeSelect = document.querySelector('media-range-select');

mediaRangeSelect.addEventListener('update', (evt) => {
  const { startTime, endTime } = evt.detail;
  console.log('range selection change:', startTime, endTime);
});

The idea is that a developer would take these startTime and endTime values from the update event and use them in order to clip a Mux Asset, or do whatever they need to with the selected range.

Gonna need to rebase

Renamed to media-clip-selector. @heff and I like this name
@heff please have a look 👀 there is a little wonkiness where the end handle can jump a few pixels at times, but I think that can be ironed out over time. I'm keen on getting this in folks' hands so we can see if its useful and gather feedback

authors: dylanjha heff

repo: muxinc/media-chrome


text:
COVID Trend Widget: 2 word countries problem?

Any problems with a two word country? As example “South Africa”.
If I set in in line 39:
const country = args.widgetParameter?args.widgetParameter:'South Africa'
i get a:
2021-12-05 14:35:08: Error: The URL is invalid.
error.
Any one word country work flawless.

Wrong place

Maybe not? Idk

Did you put it in the widget parameter as explained in the instructions? You should not have to modify the code itself

Both. First in widget parameter, later in the code self. Should I delete the widget and start from the beginning?

I've updated the widget code to accommodate country names with spaces better. You can get it to work with "South Africa" now.

After update it works flawless. Thx for your fast reaction and work. :))

So glad to hear it! Also, thanks for using this widget!!!


text:
Improve error handling and reporting

Is your feature request related to a problem? Please describe.
When handling an API call (BaseEndpoint->performApiCall), bundle first checks for JSON error and throws generic "Unable to decode DHL Parcel response", with no status code. Status of the response is only checked afterwards.
This means that if for example, an Unauthorized exception is thrown, instead of descriptive Exception with message and status code, we only get the generic message (because response body is empty and thus json decode results in an error).
Describe the solution you'd like
Checking status code of the response and throwing a descriptive exception should happen before checking for json decode error.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Feel free to open a PR for improvements on this.

authors: mvdnbrk olia-bn

repo: mvdnbrk/dhlparcel-php-api


text:
Bevy 0.7

This is based on #78 for egui 0.17. If that is merged, I will rebase on main.
This branch will be used to track bevy/main until the next release.
The biggest upgrade is support for low power mode in bevy (https://github.com/bevyengine/bevy/pull/3974). I've added a few lines to process_output that checks if egui has reported needs_repaint, and sends a bevy RequestRedraw event. I've also updated the examples to use the new WinitSettings::desktop_app() mode for reactive rendering.
This means bevy_egui apps can now use zero resources unless the user is providing input, or there is an egui animation in progress!

@forbjok I merged your branch here to get the two window example working. This branch has some additional integrations to work with the new low power mode in 0.7.

Thanks a lot for the PR! I'll make a new release soon.

@mvlabat something I added that could use more discussion was the present_mode and the WinitSettings for low power. Maybe these should be removed from the examples, and instead added to a dektop_app example or something. It would be good to discuss how you can use these settings to improve input latency and power use.

authors: aevyrie mvlabat


text:
New Technology Stack: Angular 2, Ionic 2, ...

This issue should serve as a platform for discussions on the new technology stack
What technologies will we use?

angular 2
ionic 2

http://ionicframework.com/blog/angular-2-ionic/

es6 and possibly: babel and typescript

http://kangax.github.io/compat-table/es6/
http://angularjs.blogspot.de/2015/09/angular-2-survey-results.html
http://blogs.msdn.com/b/typescript/archive/2015/03/05/angular-2-0-built-on-typescript.aspx

How do we transition?

http://angularjs.blogspot.de/2015/12/angular-2-beta.html (samples/demos)
#312 TypeScript support

Research

playground repo for and comparison
generator-ionic updates - https://github.com/diegonetto/generator-ionic
generator ionic2 gulp webpack - https://github.com/DrMabuse23/generator-ionic-2
ionic(2) cli
angular cli
angular2 generator

How will the old generator be available when we switch to the new technology stack?

when and how do we switch?
will we maintain the old stack?
generator-m-1x or compose generator-m-cordova to port generator-m-1x and generator-m to newer cordova versions at the same time?

I would suppose to keep generator-m-ionic 1.x as our Angular 1.x/Ionic 1.x maintenance stream.

One more opinion: https://github.com/mwaylabs/generator-m-ionic/issues/273#issuecomment-166311136

Like the idea to consider typscript in combination with Ionic 1 and Angular 1. It reduces the learning curve  and helps to migrate ideas from our existing angular 1 apps to angular 2.

I agree, it seems also that Angular 1 will stay for long time, don't know what are the plans of Ionic team for Ionic 1.

Ionic 1.2 was just release with a ton of new features. I'm pretty sure they realize that Angular 2 / Ionic 2 will need a while to be finished and get adapted. http://blog.ionic.io/announcing-ionic-1-2/

@gruppjo
If you want to be on top of the technologies, it sounds like a really good idea. And I hope you will change this stack soon. I'm looking forward to touch this new stack. You can maintain this one with stable version or even create a new rep with presenting technologies.
And what about structure best practices in new generator? #289

angular2, ionic2, gulp, webpack / npm (instead of bower) is the dream team i think.

We would like to understand better what your thoughts are if there is a need to transform existing projects based on ionic1/angular1 to ionic2/angular2 or would it better to start with a 'fresh' setup and port only what you would like to save.

closing this as the discussion moved to #403. Please add any comments over there.

authors: NicholasGlazer gmarziou gruppjo qwerfrewq volkrass

repo: mwaylabs/generator-m-ionic


text:
Jupyter kernel

Hey, it's not really an issue, I just came across this PR https://github.com/ipython/ipykernel/pull/561, seems like the guy fixed the jupyter to run properly. It would be nice of you if you check whether it's working properly, so we all know!
You should check it out, and keep this repo running it's really a fortune to read all of this before buying a new MacBook! Thanks! :)

It works for me! I'll add this tip to my Notes for now, with the caveat that in theory, it would probably be checked into master (one would hope).
Thanks for the share!


text:
C++ API

Hi,
I have timeseries data set comprising of (int16_t, char, double, int32_t and int64_t). int64_t is timestamp in nanoseconds. We are planning to migrate to zstd as that seemed to be the best choice. I wanted to try Qcompress also. Is this production ready for large data (multiple TBs of read and write everyday)? Also, application is in C++ so is corresponding library available?

@alphanso

Is this production ready for large data (multiple TBs of read and write everyday)?

Yes. The file format and its stability are well-tested, and the library is in use. Its performance for both decompression and compression is similar to zstd, but with higher compression ratio. The file format is chunked so you can put effectively unlimited data in (though I'm sure you'll have your own constraints around how big you want each file).

Also, application is in C++ so is corresponding library available?

No, but Rust<->C++ interop is pretty good, so it's easy to set up. If you make a C++ wrapper library, please open source it for others to use!

authors: alphanso mwlon

repo: mwlon/quantile-compression


text:
possible fix for 82 Response filter is not valid error

I did some research into this issue and it looks the same as this reported in this blog post. It seems there is a bug in ASP.NET 3.5 where you must read the response filter before you set it.
I create a pull request with this fix however I was unable to repro the error so I cannot verify the fix definitely works.

Thanks Matt! I saw that yesterday and was gonna try the same thing. Thanks for adding this. @rdorris: before we actually release this, could you pull this down from here either by forking or just downloading the source here: https://github.com/mwrock/RequestReduce/zipball/master. From a power shell command line in the path of the solution root, enter ./build build-output and then copy the RequestReduce/Nuget/Lib/net20/RequestReduce.dll to your project and let us know if this fixes your issue?  Thanks and let me know if you have any issues building the binary.

authors: mmanela mwrock

repo: mwrock/RequestReduce


text:
Parece ser que la palabra "año" es filtrada

[2015-06-23 00:08:30,393: WARNING/Worker-1] {u'porque': 0, u'estudiar': 0, u'quiero': 0, u'una': 0, u'buscando': 0, u'ano': 1, u'proximo': 0, u'estoy': 0, u'el': 0, u'beca': 0}
[2015-06-23 00:08:30,917: INFO/MainProcess] Received task: tasks.update_remote_petition[c179379b-4c61-47f7-b6dd-abb1479afc38]
[2015-06-23 00:08:30,921: INFO/MainProcess] Task tasks.catch_bad_words_in_text[71461a38-9dc7-4e15-91b9-5667f9a22029] succeeded in 0.549612845s: {'profanity_score': 1, 'text': u'Estoy buscando una beca porque quiero estudiar el pr\xf3ximo a\xf1o'}

cómo que convierte UNICODE chars a la versión ASCII

Le echaré un ojo, ya antes lo revisé, y parece que python es un caos con el encoding.

no sí lo defines en la primera línea del código

# -*- coding: utf-8 -*-
print "Hello World!"
print "Hello Again"
print "El español tiene acentos como cámara"

authors: iorch rodowi

repo: mxabierto/sara


text:
🛑 Website Load Balancers is down

In 459d128, Website Load Balancers ($WEB_SERVER) was down:

HTTP code: 522
Response time: 15321 ms

Resolved: Website Load Balancers is back up in 268500f.

repo: myavsuper/upptime


text:
MS SQL 2008 - Multirow insert; returning of Key Generation failing.

See Issues: #547 & #350.
Multi-Row insert when attempting to retrieve keys does not properly return assigned keys to the List of objects being inserted when being performed on MS SQL 2008.  The insert is successful, however only the first object in the list has its key value set and it is improperly set to the ID of the last insert.
MyBatis version
3.4.1
Database vendor and version
MS SQL Server 2008
Test case or example project
Try test case from #547 and execute on SQL server  (If this works, contact me and I can try and supply the actual classes I'm using)
Steps to reproduce
Attempt multi-row insert with key Generation enabled on SQL Server 2008.
Insert List of Objects with a mapping:
<insert id="createCases" useGeneratedKeys="true" keyProperty="caseId" keyColumn="CASE_ID">
INSERT INTO CASES (MODEL_ID, MODEL_DATA_ROW, STATUS_ID) VALUES
<foreach item="item" collection="list" separator=",">
( #{item.modelId}, #{item.modelDataRow}, #{item.status} )
</foreach>
</insert>
MS SQL Schema for table:
CREATE TABLE CASES(
CASE_ID BIGINT IDENTITY(1,1) NOT NULL,
MODEL_ID BIGINT NOT NULL,
MODEL_DATA_ROW BIGINT NOT NULL
STATUS_ID BIGINT NOT NULL,
CONSTRAINT pk_case PRIMARY KEY (CASE_ID)
)
POJO: Only contains default constructor.
Expected result
Each item in the list being inserted is returned with their caseId property properly assigned to the IDENTITY value assigned in SQL.
Actual result
Only the first item in the list has its caseId property set, all other items caseId properties remain set to 0.  The items property that is set, is set incorrectly to the Id of the final Insert.

@rpialum , Which JDBC driver do you use?
@abel533 , Any idea? I don't have SQL Server instance at hand.

Sorry for delayed response.  Using the following driver jar:
sqljdbc41.jar
with a environment configuration of:

....
and am not using mybatis-spring.

It's true. In Jdbc3KeyGenerator:
rs = stmt.getGeneratedKeys();

this rs  has only one result, this result is the last id.
I think getGeneratedKeys in SqlServer doesn't support more than one rows.
Reference: https://msdn.microsoft.com/en-us/library/ms378445(v=sql.110).aspx
SqlServer use the following code to get IDENTITY:
if(1 == var1.autoGeneratedKeys && (2 == this.executeMethod || 3 == this.executeMethod) && var2.trim().toUpperCase().startsWith("INSERT")) {
    var3.writeString(" select SCOPE_IDENTITY() AS GENERATED_KEYS");
}

SCOPE_IDENTITY() returne a single value, So I think  Jdbc3KeyGenerator has no problem, but SqlServer doesn't support it.

Thank you for the comment, @abel533 !
I am closing this as it is not a bug.
If anyone has additional info like it's supported by newer version or another driver, please let us know!

Same problem with Microsoft SQL Server 2016.

It's true. In :Jdbc3KeyGenerator
rs = stmt.getGeneratedKeys();

this has only one result, this result is the last id.rs
I think getGeneratedKeys in SqlServer doesn't support more than one rows.
Reference: https://msdn.microsoft.com/en-us/library/ms378445(v=sql.110).aspx
SqlServer use the following code to get IDENTITY:
if(1 == var1.autoGeneratedKeys && (2 == this.executeMethod || 3 == this.executeMethod) && var2.trim().toUpperCase().startsWith("INSERT")) {
    var3.writeString(" select SCOPE_IDENTITY() AS GENERATED_KEYS");
}

SCOPE_IDENTITY() returne a single value, So I think has no problem, but SqlServer doesn't support it.Jdbc3KeyGenerator

大佬！这个sqlserver批量插入无法返回主键id的主要原因是什么啊？有什么解决方案吗？我英文不太好，看的有些迷糊。


text:
Replace argument with pre-sized array

Replace argument with pre-sized array

看一下

haha, using toArray (new Class<?>[0]) or toArray (new Class<?>[list.size()])  is an interesting topic.

closing as same issue, the other way around in spotbugs to remove the older check was raised as likely how user seen this here.  Processing power as noted, its better to be zero based and since java 6 written better.  The direct size though does take away a small impact to garbage collection only but it does not seem to be worthwhile to matter given its empty to start with.  So this PR is not worth applying.

authors: guoweixin hazendaz kang-hl tanpenggood


text:
Enhance to support spring-batch integration

I am trying to leverage this library for a spring-batch based project. While many of the examples work for traditional invocations, the way Spring-Batch calls function cause the behavior to be a little different.
I'm not sure where these enhancements would be best suited based on the dependencies they would bring in, but I will suggest they be added here and let the maintainers determine which library/libraries they should be absorbed into.
After much trial and error, here are the classes, and tweaks to the examples that need to be added to make the integrations work:

SqlProviderAdapter needs to have the method parameters annotated with @Param. I chose statement for the parameter name, but whatever is chosen needs to also be used in the example. This is needed so the batch item reader properly passes the statement to the mapper and the provider class call.

import org.apache.ibatis.annotations.Param;
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;

public class BatchSqlProviderAdapter extends SqlProviderAdapter
{
	@Override
	public String select(@Param("statement") SelectStatementProvider selectStatement)
	{
		return super.select(selectStatement);
	}
}

The example for SimpleTableMapper would be updated to have the select method parameters also annotated with @Param("statement")
The MyBatisCursorItemReader<T> needs an extension class that looks like this:

import java.util.HashMap;
import java.util.Map;

import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
import org.mybatis.spring.batch.MyBatisCursorItemReader;

public class MyBatisDynamicCursorItemReader<T extends Object> extends MyBatisCursorItemReader<T>
{
	@Override
	public void setParameterValues(Map<String, Object> parameterValues)
	{
		Map<String, Object> parameters = new HashMap<>();

		parameters.putAll(parameterValues);

		if(parameterValues.containsKey("statement"))
		{
			SelectStatementProvider statement = (SelectStatementProvider)parameterValues.get("statement");
			parameters.put("parameters", statement.getParameters());
		}

		super.setParameterValues(parameters);
	}
}

I've put together a very simple example project here

Thanks for this detailed report! I will look into this, but it won't be for a few days.

@surrettcharles I understand this issue better now. I believe we need to make a change in mybatis-spring to make this work. Do you mind if I fork your example repo and send you some pull requests to show you what I'm thinking?

After looking at this a bit more, I decided to make some utility classes in this library to enable integration with Spring batch. I found there's not an easy way to change mybatis-spring and keep consistency with how that library works.
You can see the test case in my branch here: https://github.com/jeffgbutler/mybatis-dynamic-sql/tree/spring-batch/src/test/java/examples/springbatch
Please let me know if you have any comments about how this works. I still need to write some documentation for it. I think this is a decent solution even if it is a bit of coding around the way mybatis-spring works.

Sorry for not checking in on this sooner. Your solution looks like a reasonable approach. Mine was a "hack-and-slash until it works" to show how to get around the issue I was seeing. Any idea when 1.1.1 will be released?

authors: jeffgbutler surrettcharles

repo: mybatis/mybatis-dynamic-sql


text:
UPSTREAMS targets active : 405 Not Allowed

Hi,
I use kongfig in my environment with kong 0.12.1.  When I run the following command:

kongfig dump --host localhost:8001 > config.yml

I received the following error:
Error: http://localhost:8001/upstreams/74d6359b-ed58-4198-9e1b-a441341948c2/targets/active/: 405 Not Allowed
Error: http://localhost:8001/upstreams/74d6359b-ed58-4198-9e1b-a441341948c2/targets/active/: 405 Not Allowed
at /usr/lib/node_modules/kongfig/lib/adminApi.js:133:25
at
at process._tickCallback (internal/process/next_tick.js:188:7)
Could you tell me what can i do to solve my problem?

Duplicate issue

repo: mybuilder/kongfig


text:
More button showing blank options - report from intercom

In the “more” tab on the bottom, it shows two blank options, which should be an easy fix, thanks for the great app!

They are blank for me too when in dark mode. The icons show when dark mode is off.

This is still an issue on IOS, we are looking to take one of the menu items away to clear this up. The more list blank because it is an extension of the bottom menu of the app which does not have text below the icons.

authors: AliAbbasDev devinpearson

repo: mymonero/mymonero-app-ios


text:
How to create a BitVec from a u64

I am writing a program where i need to get a rolling window of 3 booleans. I saw the windows method in the docs so my plan is to create a BitVec from a u64 generated by the rand crate and iterate through windows of bits.
I did not see a example of creating a BitVec from a regular unsigned number so i ask what is the best way to do that. Thanks

After closer inspection of the docs, u64 implements BitStore so it can be borrowed as a BitSlice. This gives me the methods i want. I feel this could be documented better.
Now i have run into the issue is that i also need this window to be infinite. My first idea is to windows over the u64, chop off the first 61 bits (not sure how to do this), then add another u64 to the end.
How do i reverse truncate a BitVec?

BitSlice has the from_element constructor function, which borrows an unsigned integer and produces a &BitSlice over it; in addition, there is a trait in the bitvec prelude which provides the .bits::<Order>() method on unsigned integers, as well as arrays and slices of them. I will ensure that these examples are in the README and crate root documentation.
The .windows(3) method will produce a sliding iterator over three consecutive bits in the slice; however, since BitSlice is not a ring, it is unable to express an infinitely cycling window that wraps from the back of the slice to the front.
A possible solution is to copy the randomly generated element into a [u64; 2] and put that in a wrapper struct like this:
pub struct InfiniteWindows {
  data: [u64; 2];
  current: usize;
}

impl InfiniteWindows {
  pub fn from_element(elem: u64) -> Self {
    Self {
      data: [elem; 2],
      current: 0,
    }
  }

  fn view_bits(&self) -> &BitSlice<AnOrdering, u64> {
    &self.data.bits::<AnOrdering>()[.. 66]
  }
}

impl<'a> Iterator for InfiniteWindows {
  type Item = &'a BitSlice<AnOrdering, u64>;

  fn next(&'a mut self) -> Option<Self::Item> {
    let out = &self.view_bits()[self.current ..][.. 3];
    self.current += 1;
    self.current %= 66;
  }
}

This will produce windows over the stored bits, where the subslices [62 .. 65] and [63 .. 66] appear to wrap from the back to the front. You can extend the iteration as needed for reverse and jumps; seeking in the iterator is just addition or subtraction of the counter that wraps from 66 to 0.
I can't promise offhand that this does not have lifetime issues; I am writing it from memory and not running it through the compiler. If it complains about lifetimes, you can change the structure to take a borrowed bit-slice rather than an owned array.
Unfortunately, I do not yet have the ability to produce immediate values with a bit-precision lens attached, so everything must be done through borrows. I have been working on a design for this, but without const-generics, it's hard to come up with a satisfying one.
Let me know if this works, and how else I can help.

Current develop branch, and forthcoming 0.18 release, adds the BitArray type to be able to wrap any (subject to std limitations) array of elements as a BitSlice. I am going to close this issue, but please feel free to reöpen if you still have questions.

authors: ironhaven myrrlyn

repo: myrrlyn/bitvec


text:
pool.escape() throws error

mysql.escape() works.
connection.escape() works.
pool.escape() throws TypeError: mysql.escape is not a function.
pool is created simple by:
let pool = mysql.createPool({
  host: 'localhost',
  port: 3306,
  user: 'root',
  password: 'my_password',
  database: 'my_database',
  multipleStatements: true,
  timezone: 'UTC',
})

Sorry. It was my bad. I messed things up with mysql = require('../'). Please close.
=(

repo: mysqljs/mysql


text:
🛑 rasp.n1l.dev is down

In dbba824, rasp.n1l.dev (https://rasp.n1l.dev) was down:

HTTP code: 530
Response time: 166 ms

Resolved: rasp.n1l.dev is back up in ecf4fa6 after 1 hour, 26 minutes.


text:
Top label on y-axis is cut-off

Hi there,
I'm having a style issue where the top label is cut in half by what appears to be
<defs><clipPath id="clipping-path"><rect transform="translate(0, 0)" height="280" width="1490" id="clipping-rect"></rect></clipPath></defs>
But then if I delete this node the height of the chart container still does not allow enough room.
Any help, would be much appreciated.
Pyotr

Use the margin option to add extra space on top of the chart.

Thanks for the response, I've tried increasing this but it has absolutely no effect - any idea why this might be?
I would like to attach a screen grab but basically it is only an issue in firefox and chrome; internet explorer shows the labels correctly. Don't suppose this is something that anyone else has found?

Can you post an example (in CodePen for instance) so we can reproduce the bug and see what's going on please ? :-)

Duplicate of #474 Please check the workaround there until we add an option to disable clipping.

authors: chaosmail lorem--ipsum pyotrrtichie


text:
Call lang of module not working

I had called the function dd( \Lang::get( 'products::table.action' ) );, but not working.
My module lang file:
App/Products/Resource/lang/table.php:
return [     'action' => 'Ação' ];
what this problem?

Did you tell laravel to find translations in that folder ?

Disregard.
I did not insert it in the language folder.
I so sorry;
Thanks for your help

authors: nWidart raank

repo: nWidart/laravel-modules


text:
🛑 Aysa Sitio Corporativo is down

In 9b72918, Aysa Sitio Corporativo (https://www.aysa.com.ar) was down:

HTTP code: 403
Response time: 369 ms

Resolved: Aysa Sitio Corporativo is back up in d7c3179.

Se degradó la conexión con azure devops en la mitad de la publicación, quedando el sitio sin ninguna página publicada

repo: nachosalvi/upptime


text:
Arrangement

*Revised file for better organization of consoles
-Genetik57

thanks.
i've to reread it more deeply to be sure.

Hello,
No problem everything is there

Updated !

File updated with the latest changes commited by @nadenislamarre

there is a problem with this pr : it includes all my previous changes, not only your changes.

The goal is to improve your file (New organization)

i get the goal. but the pr is not correct.
if you go in "files modified", you can read that it contains more than just your modifications.
you may have to rebase it.

Yet I relied on the last commit of this morning, I only reclassified the emulators

not on discord ?

repo: nadenislamarre/recalbox-configgen


text:
login_button_click_error

I just downloaded this today and tried it.  Ran it with latest versions of packages that pip could give me.
It seems that login_button_click can be called with n_clicks ==0.  This means that it returns None, rather than a pair of strings.

Fixed in latest commit 02e7cef8d11772d6bcf5709e47f7a68543dc2c6a

authors: aamcintosh naderelshehabi

repo: naderelshehabi/dash-flask-login


text:
sub-total display problem

Respected
I am looking for displaying subtotal of rows below the row.
Currently its showing above the rows but i need to show it below that particular row.
Please support.
Thanks
Kishan Kadam.

Hello
Is there any for support in this issue.
Please help to solve this issue.
Waiting for positive reply.
Thanks
Kishan Kadam.

Hi @KishanManali1824 , this is same as #12
Let me know your views there.

Hi
I just tried to change function but nothing happning.
Please try to resolve this issue.
Thanks
On May 6, 2017 12:52 PM, "Nagarajan Chinnasamy" notifications@github.com
wrote:

Closed #35
https://github.com/nagarajanchinnasamy/pivottable-subtotal-renderer/issues/35
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nagarajanchinnasamy/pivottable-subtotal-renderer/issues/35#event-1071493318,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AS5TBNm-EwVkhmGzIC-plpxgPu-7mdLLks5r3B-6gaJpZM4NHWBP
.


text:
Installation failed on Windows and Ubuntu

Hello,
i tried to install InvoiceNET on Windows 10 and on WSL2 Ubuntu 20.04 but in both cases I got this error:

ERROR: Cannot install InvoiceNet and invoicenet==0.1 because these package versions have conflicting dependencies.
The conflict is caused by:
invoicenet 0.1 depends on numpy~=1.19.2
opencv-python 4.5.1.48 depends on numpy>=1.17.3
tensorflow 2.3.0 depends on numpy<1.19.0 and >=1.16.0
To fix this you could try to:

loosen the range of package versions you've specified
remove package versions to allow pip attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

How can I fix it?

I had the same error, but in my case, I didn't have cuda, so the setup installed the 2.3.0 version of tensorflow. I changed the required version for numpy to 1.18 to dismiss this conflict (in the setup.py file). I was expecting something to go wrong but until now, no problems occured.

Should be fixed now. Thank you for pointing out this bug!

authors: Lyror SularuStefan naiveHobo

repo: naiveHobo/InvoiceNet


text:
Uncaught TypeError: undefined is not a function

I keep getting this error [ Uncaught TypeError: undefined is not a function ], and I am stuck with this for days now. Anyone have any idea?
Thanks!

Hi @vijayj ,
Were you ever able to implement a datepicker? I'm experiencing the same issue as you were and can confirm it is because of the reason listed above. The datetimepicker works flawlessly. I have tried to download the JS and CSS from the main project and pasting them into my app. It does allow for some functionality but does not function as smoothly as the datetimepicker. Also the CSS is a little bit messed up (Using Foundation 5)

Hi!
Can you please describe what is the problem or provide us screenshot of bad CSS you mention? I can have a look. Basically, datepicker and datetimepicker are almost the same, so if datetimepicker works, datepicker should work also..
Thanks!
Just to mention - problems in this thread were always in the end reported as solved. Usual problem is loading datepicker before jQuery.

@najlepsiwebdesigner,
Thanks for the response. I have attached a screenshot of the issues. You'll be able to see the following 3 issues:
1)Dob input is no longer the right size (Should be the same width as the other inputs)
2) The Calendar is sometimes dislayed above the Input if there is not enough space for it below the Dob input
3) The spacing around the Dob form is no longer right. It now covers the Gender label.
I am sure this is some issue with Foundation 5. Thanks for the help!

authors: HermannHH hmihail najlepsiwebdesigner


text:
A minor problem regarding the skip-connection visualization

Thanks for the awesome repository! After going through it step-by-step, I have a better understanding of Llama3 techniques, such as rotary position embedding, grouped key and value, etc.
I found that there might be a minor mistake regarding the skip-connection visualization: the corresponding code is in the section "WE FINALLY HAVE NEW EDITED EMBEDDINGS FOR EACH TOKEN AFTER THE FIRST LAYER" :
layer_0_embedding = embedding_after_edit+output_after_feedforward
layer_0_embedding.shape

As embedding_after_edit instead of embedding_after_edit_normalized is used, the visualization should be

I found the same problem.

oh yes you are actually right!!!

authors: YunhaoZhang-Mars naklecha wangdsh


text:
Feature: Code Welcome page.

Please refer the #1 for details.
Please create it in dark theme
It must contain nav bar in the top and for home page in the left side #5

@namansharma3007 can you assign this issue to me

@unknown91tech Done man.
Show me your code muscles 🧠💪

@namansharma3007 here are some screen shots of the page that I have made

@namansharma3007 should I create a pr?

Can you use some color other than blue. Its too much contrast. @unknown91tech

@unknown91tech Please sync your forked repo. One person has made a beautiful page. Please follow its design and make it according to it.
I can see your work. You only need to tweak a little.
Lets Rock 💪

@namansharma3007 Can you review this

@unknown91tech This is amazing.

Sync your forked repo.
Pull the changes.
Someone has already build some other pages. Follow that color in your background. (Only background change is required)
Then create PR.

Loved your work 🥰

@namansharma3007 done , created a pr . Can you please check and tell me if there are any changes to be made?

Suggestion :
@namansharma3007 the database would be easier to control if transferred to prisma

@unknown91tech
Please create an issue. Create a different folders with prisma in name. Then design schema.


text:
Github actions checkout

We checkout like this:
      - uses: actions/checkout@v3
        with:
          ref: ${{ github.event.pull_request.head.ref }}

Should we use ref? It makes the action run on the code before the merge, not after.
I think it would be better to run on the merged version.
This should avoid situations where the PR passes and main fails.
@djstrong ?

Good catch! https://github.com/namehash/nameguard/pull/180

repo: namehash/nameguard


text:
Update sbt-native-packager to 1.9.8

Updates com.github.sbt:sbt-native-packager from 1.9.7 to 1.9.8.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.sbt", artifactId = "sbt-native-packager" } ]

labels: sbt-plugin-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #495.

repo: namely/chief-of-state


text:
Example not working

Describe the bug
One of the CodeSandbox examples returns an error. The example is listed here: https://github.com/namespace-ee/react-calendar-timeline/tree/master/examples#custom-item-rendering-using-timelinecontext---conditionally-render-components
To Reproduce
Codesandbox example link: https://codesandbox.io/s/r74qoxw94p
I haven't looked into the issue, as I'm just trying to select a library so far.

the problem is that you are passing a class react component as a prop to itemRenderer where you should pass a function as explained here

Thank you for checking this out,
I ended up selecting a different library but I wanted to help you improve your docs/examples.

thanks

authors: Ilaiwi WebspressoCo

repo: namespace-ee/react-calendar-timeline


text:
🛑 Api Artikel Islami V2 is down

In ce41ebe, Api Artikel Islami V2 (https://api-artikel2.abusofiya.com/api/news/source?code=MUSLIM) was down:

HTTP code: 504
Response time: 25228 ms

Resolved: Api Artikel Islami V2 is back up in 6d94481 after 18 minutes.

repo: nanangsb/upptime


text:
the bytes memcpy the unsigned char buffer the length is not correct

I define the bytes obj,the length is 1.5M,and I have the unsigned char buffer[] length also is 1.5M.
the buffer is stored the video data,when I memcpy(output.obj.bytes,buffer,strlen(buf)),the output.obj.size is 39,but the strlen(buf) is 1770812,it's about 1.2M.
why?who know the probles?thanks.

For bytes fields, there is generated field output.obj.bytes.size. You must set this to the length of the data, i.e. to strlen(buf).
(Also consider whether your data is binary data or text data, i.e. can it contain '0' bytes. The C standard function strlen() only works for text.)

first,thankyou.
the define bytes obj is like belows
typedef PB_BYTES_ARRAY_T(2097152) upload_video_param_obj_t;
typedef struct _upload_video_param {
char device_id[16];
int32_t frame_total;
int32_t frame_no;
upload_video_param_obj_t obj;
bool is_final;
char event_ts[16];
/* @@protoc_insertion_point(struct:upload_video_param) */
} upload_video_param;
and copy the binary data to the unsigned char buffer,likes below
HI_U32 i ,j;
int len = 0;
unsigned char * *pstr;
unsigned char *p = NULL;
p = ntc->threads[ntt].nlc.buf+ntc->threads[ntt].nlc.datalen;
for (i = 0; i < pstStream->u32PackCount; i++)
{
memcpy(p, pstStream->pstPack[i].pu8Addr+pstStream->pstPack[i].u32Offset,pstStream->pstPack[i].u32Len-pstStream->pstPack[i].u32Offset);
len = len + pstStream->pstPack[i].u32Len-pstStream->pstPack[i].u32Offset;
pstr = pstStream->pstPack[i].pu8Addr+pstStream->pstPack[i].u32Offset;
if(pstr[4] == 0x67)
{
UpdateSps(p+len, 14);
}
if(pstr[4] == 0x68)
{
UpdatePps(p+len, 4);
}
  }

  ntc->threads[ntt].nlc.datalen += len;

then copy the buffer binary data to the obj.bytes,the length correct
memcpy(response.obj.bytes,nlc->buf,nlc->datalen);
but when I save the buffer binary data to file,fread from file to the obj.bytes,the size is right.
response.obj.size = fread(response.obj.bytes,1,NET_FILE_DATA_LEN,f);
oh my gard.

I couldn't understand your message. Is it working now?

      I couldn't understand your message. Is it working now?

It is not working now，sample like below:
unsigned char p = nlc->buf; //the video binary data
unsigned int p_len = nlc->datalen; //the p_len < 210241024
unsigned char sendbuf[21024*1024] = {0};
unsigned int sendbuf_len = 0;
memset(sendbuf,0,210241024);
upload_video_param response = {};
pb_ostream_t output = pb_ostream_from_buffer(sendbuf,210241024);
memcpy(response.obj.bytes,p,p_len);
if (!pb_encode(&output, upload_video_param_fields, &response))
{
printf("Encoding failed: %s\n", PB_GET_ERROR(&output));
}
the response.obj.size is 0, I have no idear for the question.

      I couldn't understand your message. Is it working now?

It is now working. I add response.obj.size = p_len; before the memcpy(response.obj.bytes,p,p_len),like below:
unsigned char p = nlc->buf; //the video binary data
unsigned int p_len = nlc->datalen; //the p_len < 210241024
unsigned char sendbuf[210241024] = {0};
unsigned int sendbuf_len = 0;
memset(sendbuf,0,210241024);
upload_video_param response = {};
pb_ostream_t output = pb_ostream_from_buffer(sendbuf,210241024);
response.obj.size = p_len;
memcpy(response.obj.bytes,p,p_len);
if (!pb_encode(&output, upload_video_param_fields, &response))
{
printf("Encoding failed: %s\n", PB_GET_ERROR(&output));
}

authors: PetteriAimonen Tingting-He

repo: nanopb/nanopb

license: Zlib


text:
Update README.md

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=ru
Description of changes:

An unexpected error has occurred, could you please contact admins. Your RequestID: 77ca9113-318c-427a-9503-9a4f34c604b1

WARN Variable specified_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable unknown_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable unknown_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable specified_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable unknown_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable unknown_key not found in /en/compute/concepts/instance-groups/variables-in-the-template.md
WARN Variable label not found in /en/monitoring/concepts/querying.md
WARN Variable host not found in /en/monitoring/concepts/visualization/dashboard.md
WARN Variable myparm not found in /en/monitoring/concepts/visualization/dashboard.md
WARN Variable label not found in /en/monitoring/concepts/querying.md
WARN Variable isotime | clean_resource_name not found in /en/solutions/infrastructure-management/packer-quickstart.md
WARN Variable isotime | clean_resource_name not found in /en/solutions/infrastructure-management/packer-quickstart.md
WARN Variable .TablePathPrefix not found in /en/ydb/sdk/index.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable ydb-cli not found in /en/ydb/quickstart/examples-ydb-cli.md
WARN Variable .TablePathPrefix not found in /en/ydb/sdk/index.md
WARN Variable ydb-cli not found in /en/ydb/maintenance/backup_and_recovery.md
WARN Variable label not found in /ru/monitoring/concepts/querying.md
WARN Variable host not found in /ru/monitoring/concepts/visualization/dashboard.md
WARN Variable myparm not found in /ru/monitoring/concepts/visualization/dashboard.md
WARN Variable label not found in /ru/monitoring/concepts/querying.md
WARN Variable isotime | clean_resource_name not found in /ru/solutions/infrastructure-management/packer-quickstart.md
WARN Variable isotime | clean_resource_name not found in /ru/solutions/infrastructure-management/packer-quickstart.md
WARN Variable .TablePathPrefix not found in /ru/ydb/sdk/index.md
WARN Variable .TablePathPrefix not found in /ru/ydb/sdk/index.md
Build time: 28.539s


text:
yargs fails when choices is set to a function

Inquirer allows the choices property to be an array or a function that returns an array (in order to make the choices dynamic based on previously answered questions). But it seems like yargs expects the choices property to be a string or array?

Hey @brandonweiss. First of all, I'm really sorry for the late response, I didn't have the notifications turned on for this repo. It's fixed now.
You are right, given that this functionality is not provided by yargs, there is some work required to make it work in here. I haven't found any use case to support it, but in case you have one I'm open to receive a PR and review it. What do you think?

No worries! I’ve certainly done that myself before 😓
Hmm… honestly it’s been so long I can’t remember what in particular I wanted this feature for 😅 Apparently it wasn’t a big enough problem because I completely forgot about it 🤷♂ Feel free to close!

Will do, but feel free to open it again if you need it.
And sorry again for taking so long to answer.

authors: brandonweiss nanovazquez

repo: nanovazquez/yargs-interactive


text:
google drive link is down

Access denied with the following error:
    Cannot retrieve the public link of the file. You may need to change
    the permission to 'Anyone with the link', or have had many accesses.

You may still be able to access the file from the browser:
     https://drive.google.com/uc?id=1B3ZWTJFuZbPPH4uIIz-pCcBTLu9-w4nw

I can't access the model either. Is there any other way to download the model?

I created a PR for this :)

authors: Elizahub marcoaccardi tomduncalf

repo: naotokui/LoopGAN


text:
Crash in 3d label rendering

🐛 Bug
Similarly to  #3726, I get the following error when rendering a labels layer in 3D
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/app/backends/_qt.py:903, in CanvasBackendDesktop.paintGL(self=)
    901 # (0, 0, self.width(), self.height()))
    902 self._vispy_canvas.set_current()
--> 903 self._vispy_canvas.events.draw(region=None)
        self._vispy_canvas =
        self._vispy_canvas.events.draw =
        self =
        self._vispy_canvas.events =
    905 # Clear the alpha channel with QOpenGLWidget (Qt >= 5.4), otherwise the
    906 # window is translucent behind non-opaque objects.
    907 # Reference:  MRtrix3/mrtrix3#266
    908 if QT5_NEW_API or PYSIDE6_API or PYQT6_API:

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/util/event.py:453, in EventEmitter.__call__(self=, *args=(), **kwargs={'region': None})
    450 if self._emitting > 1:
    451     raise RuntimeError('EventEmitter loop detected!')
--> 453 self._invoke_callback(cb, event)
        event =
        self =
        cb = >
    454 if event.blocked:
    455     break

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/util/event.py:471, in EventEmitter._invoke_callback(self=, cb=>, event=)
    469     cb(event)
    470 except Exception:
--> 471     _handle_exception(self.ignore_callback_errors,
        self =
        cb = >
        event =
        (cb, event) = (>, )
    472                       self.print_callback_errors,
    473                       self, cb_event=(cb, event))

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/util/event.py:469, in EventEmitter._invoke_callback(self=, cb=>, event=)
    467 def _invoke_callback(self, cb, event):
    468     try:
--> 469         cb(event)
        cb = >
        event =
    470     except Exception:
    471         _handle_exception(self.ignore_callback_errors,
    472                           self.print_callback_errors,
    473                           self, cb_event=(cb, event))

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/scene/canvas.py:218, in SceneCanvas.on_draw(self=, event=)
    215 # Now that a draw event is going to be handled, open up the
    216 # scheduling of further updates
    217 self._update_pending = False
--> 218 self._draw_scene()
        self =

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/scene/canvas.py:277, in SceneCanvas._draw_scene(self=, bgcolor= (4,) float32)
    275     bgcolor = self._bgcolor
    276 self.context.clear(color=bgcolor, depth=True)
--> 277 self.draw_visual(self.scene)
        self =

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/scene/canvas.py:315, in SceneCanvas.draw_visual(self=, visual=, event=None)
    313         else:
    314             if hasattr(node, 'draw'):
--> 315                 node.draw()
        node =
    316                 prof.mark(str(node))
    317 else:

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/scene/visuals.py:103, in VisualNode.draw(self=)
    101 if self.picking and not self.interactive:
    102     return
--> 103 self._visual_superclass.draw(self)
        self =
        self._visual_superclass =

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/visuals/visual.py:451, in Visual.draw(self=)
    449 self._configure_gl_state()
    450 try:
--> 451     self._program.draw(self._vshare.draw_mode,
        self._vshare.draw_mode = 'triangle_strip'
        self =
        self._vshare =
        self._program =
        self._vshare.index_buffer =
    452                        self._vshare.index_buffer)
    453 except Exception:
    454     logger.warning("Error drawing visual %r" % self)

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/visuals/shaders/program.py:102, in ModularProgram.draw(self=, *args=('triangle_strip', ), **kwargs={})
    100 self.build_if_needed()
    101 self.update_variables()
--> 102 Program.draw(self, *args, **kwargs)
        self =
        args = ('triangle_strip', )
        kwargs = {}

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/gloo/program.py:526, in Program.draw(self=, mode='triangle_strip', indices=, check_error=True)
    522     raise TypeError("Invalid index: %r (must be IndexBuffer)" %
    523                     indices)
    525 # Process GLIR commands
--> 526 canvas.context.flush_commands()
        canvas =

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/gloo/context.py:172, in GLContext.flush_commands(self=, event=None)
    170         fbo = 0
    171     self.shared.parser.parse([('CURRENT', 0, fbo)])
--> 172 self.glir.flush(self.shared.parser)
        self =

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/gloo/glir.py:582, in GlirQueue.flush(self=, parser=)
    580 def flush(self, parser):
    581     """Flush all current commands to the GLIR interpreter."""
--> 582     self._shared.flush(parser)
        parser =
        self._shared =
        self =

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/gloo/glir.py:504, in _GlirQueueShare.flush(self=, parser=)
    502     show = self._verbose if isinstance(self._verbose, str) else None
    503     self.show(show)
--> 504 parser.parse(self._filter(self.clear(), parser))
        self =
        parser =

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/gloo/glir.py:822, in GlirParser.parse(self=, commands=[('FUNC', 'glClearColor', 0.0, 0.0, 0.0, 1.0), ('FUNC', 'glClear', 17664), ('SIZE', 39, 96), ('DATA', 39, 0,  (8, 1) [('f0', ' (14,) uint32), ('FUNC', 'glDisable', 'cull_face'), ('FUNC', 'glEnable', 'depth_test'), ('FUNC', 'glEnable', 'blend'), ('FUNC', 'glBlendFuncSeparate', 'src_alpha', 'one_minus_src_alpha', 'zero', 'one'), ('DRAW', 41, 'triangle_strip', (42, 'UNSIGNED_INT', 14))])
    819     self._objects.pop(id_)
    821 for command in commands:
--> 822     self._parse(command)
        command = ('SIZE', 39, 96)
        self =

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/vispy/gloo/glir.py:778, in GlirParser._parse(self=, command=('SIZE', 39, 96))
    776 if ob is None:
    777     if id_ not in self._invalid_objects:
--> 778         raise RuntimeError('Cannot %s object %i because it '
        'Cannot %s object %i because it '
                                       'does not exist' % (cmd, id_) = 'Cannot SIZE object 39 because it does not exist'
        cmd = 'SIZE'
        id_ = 39
        (cmd, id_) = ('SIZE', 39)
    779                            'does not exist' % (cmd, id_))
    780     return
    781 # Triage over command. Order of commands is set so most
    782 # common ones occur first.

RuntimeError: Cannot SIZE object 39 because it does not exist

To Reproduce
Steps to reproduce the behavior:

Adapted from #3726

import numpy as np

import napari

data1 = np.zeros((30, 30, 30), dtype=np.uint8)
data1[10:20, 10:20, 10:20] = 2
data1[1, 1, 1] = 1

viewer = napari.Viewer(ndisplay=3)
viewer.add_labels(data1)

napari.run()

Expected behavior

The volume is not rendered, but the viewer does not crash completely.
Environment

Please copy and paste the information at napari info option in help menubar here:

napari: 0.4.15
Platform: Linux-5.17.7-200.fc35.x86_64-x86_64-with-glibc2.34
System: Fedora Linux 35 (Workstation Edition)
Python: 3.9.12 | packaged by conda-forge | (main, Mar 24 2022, 23:22:55) [GCC 10.3.0]
Qt: 5.15.2
PyQt5: 5.15.6
NumPy: 1.22.3
SciPy: 1.8.1
Dask: 2022.05.0
VisPy: 0.10.0

OpenGL:
- GL version: 4.6 (Compatibility Profile) Mesa 21.3.8
- MAX_TEXTURE_SIZE: 16384

Screens:
- screen 1: resolution 1920x1080, scale 1.0
- screen 2: resolution 3440x1440, scale 1.0

Plugins:
- console: 0.0.4
- scikit-image: 0.4.15
- svg: 0.1.6

Any other relevant information:
Python environment is created according to main README instructions

conda create -y -n napari-env -c conda-forge python=3.9
conda activate napari-env
python -m pip install "napari[all]"

Additional context

Nice! Thanks a lot. I will keep an eye on it :)
I tested fixing vispy==0.9.6 as in #4415, and it's working ok for me.
I am not sure it's helpful feedback, but anyway: from #3771 this seems to be a recurrent issue with testing. Wouldn't it be better to be slightly more 'conservative' and fix the vispy major version to something like vispy<=0.9.x in the napari build instead of requiring the latest vispy?
On the other hand, I understand that napari is in alpha, so probably it's also good to follow closely vispy developments.

I guess we could consider using vispy== rather than vispy>=, seeing how often we both depend on something new in vispy, and break something from vispy's previous version.

authors: brisvag lorenzocerrone

repo: napari/napari


text:
[Labels] Brush size in GUI cannot be increased above 40 using slider

🐛 Bug Report
The brush size slider has a max value of 40 and brush size cannot be made larger even though the value next to the slider it is editable.
💡 Steps to Reproduce
Make a Labels layer and try to increase the brush size >40 using slider or editing the numerical value.
💡 Expected Behavior
It should be possible to enter any integer into the box.
For large layers a user may want to paint with a brush of 100, 500 or even 1000 size.
🌎 Environment
napari: 0.5.0a2.dev543+gad78ee21a
Platform: macOS-13.3.1-arm64-arm-64bit
System: MacOS 13.3.1
Python: 3.11.7 | packaged by conda-forge | (main, Dec 23 2023, 14:38:07) [Clang 16.0.6 ]
Qt: 6.6.1
PyQt6:
NumPy: 1.26.3
SciPy: 1.12.0
Dask: 2024.1.1
VisPy: 0.14.1
magicgui: 0.8.1
superqt: 0.6.1
in-n-out: 0.1.9
app-model: 0.2.4
npe2: 0.7.4
OpenGL:

GL version: 2.1 Metal - 83.1
MAX_TEXTURE_SIZE: 16384

Screens:

screen 1: resolution 1680x1050, scale 2.0

Settings path:

/Users/piotrsobolewski/Library/Application Support/napari/napari-dev_a1eb8b76ba95fa16ad06e26097b46b8455dfbf0b/settings.yaml

💡 Additional Context
See also: https://github.com/napari/napari/pull/5761#pullrequestreview-1398766733
In that PR the actual limit was lifted, but only via holding down the increase size keybinding. Using that method to get a brush >100 is annoying.

I'm not sure if our paint engine is enough performant for much bigger paint radius.

I made a 5000x5000 np.random.random and then tried painting with 100, 200, 400, 512 brushes.
All were fine, though the last one (512) does show some stutter with faster movements.

For me, this is a common issue as I often work with very large images that need to be annotated. A maximum brush size of 40 is often not enough for these images, so I set the brush size programmatically.

If most folks need precision for 0-40, then maybe this should be achieved by making the upper limit a config option (but dont expose it directly in UI).

I think @alisterburt had a PR to superqt to address this, but looks like it fizzled a bit on tests?
https://github.com/pyapp-kit/superqt/pull/172

authors: Czaki Karol-G kephale psobolewskiPhD


text:
Delay all imports in napari.__init__ behind module level napari.__getattr__

Description
following on #2371 and this conversation in zulip,  this PR provides an example of what our __init__ could look like using module __getattr__.  import napari is nearly instantaneous, which is useful when being called as python -m napari or napari from CLI... provided we hide the ensuing imports from napari within __main__ as shown here.
Since #2535 fixed the greedy import of plugins, the need is a little less dire, but here it is if anyone wants to try it out.  cc @jni

I would favor this approach and give it a bump @tlambert03 .
Specially since it would be very useful in getting https://github.com/napari/napari/pull/2760 in, and working as expected!
Any thoughts @napari/core-devs ?

Oh actually, looks like we've got lots of test failings, more than normal! Probably need to sort that out before merge

fixed (locally at least)

I think we still need to fix some tests :)

removed prints, and also I added an __init__.pyi file (otherwise, an IDE won't know what napari.Viewer is, for instance)
All of the test fails that I could see in the previous run were notification-manager/threading issues.

All tests now, passing this looks great! Will merge!!

authors: goanpeca sofroniewn tlambert03


text:
Refactor layer slice/dims/view/render state

Description
This is a pure refactor of some of the code associated with slicing a layer. There should be no public API or behavior change. It groups a few Layer attributes (_ndisplay, _dims_point, _dims_order) into a (terribly named) deeply immutable dataclass SliceInput. It also removes some existing Layer properties derived from those attributes instead favoring access through the new attribute/class or avoiding some confusing call chains entirely.
There are a few motivations for this PR.

We have a long term goal to remove slice state from the layer. Grouping some of that state should make it easier to remove in the future.
Grouping the slice state makes it easier to see what depends on it (answer: a lot!).
It helps many possible implementations of async slicing. By grouping some of the slice state together, it makes it much easier to guard read/write access to that state (e.g. with a lock), which is critical if multiple threads are reading/writing it.
Some of existing slicing code (particularly around dimension indices) is confusing and this PR helps simplify it a little.

I have mixed feelings about this PR, but think some of the simplifications and new comments/docs are useful and should get merged in some form. In particular, I am seeking a better name than SliceInput, so please don't be shy with new name suggestions!
Type of change

[x] Refactor

References
Related to #4795
How has this been tested?

[ ] all tests pass with my change

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

@alisterburt : I assigned you to review because you had some questions when I mentioned this PR in a recent community meeting.
@jni : I assigned you to review because we talked about this in a recent architecture working group.
Other reviews welcome!

marking this as a good one to get merged for 0.4.17 - please ping for re-review as and when/let me know when you think this is ready to merge

The only real failure I seem to see is a circular import using pytest (edited for readability):
napari_builtins/_tests/conftest.py:10: in <module>
    from napari import layers
napari/layers/__init__.py:11: in <module>
    from .base import Layer
napari/layers/base/__init__.py:1: in <module>
    from .base import Layer, no_op
napari/layers/base/base.py:35: in <module>
    from ..utils._slice_input import _SliceInput
napari/layers/utils/_slice_input.py:9: in <module>
    from napari.components.dims import reorder_after_dim_reduction
napari/components/__init__.py:19: in <module>
    from .layerlist import LayerList
napari/components/layerlist.py:9: in <module>
    from ..layers import Layer
E   ImportError: cannot import name 'Layer' from partially initialized module 'napari.layers' (most likely due to a circular import) (napari/layers/__init__.py)

layer.base -> layer.base.base -> utils._slice_input -> napari.component.dims:reorder_after_dim_reduction -> layerlist:LayerList -> layer.Layer

it looks like we can move reorder_after_dim_reduction somewhere else (utils ?), and that should avoid circular imports

Thanks for all the comments so far. I'll respond properly tomorrow.

marking this as a good one to get merged for 0.4.17 - please ping for re-review as and when/let me know when you think this is ready to merge

As there's no intended behavior change / bug fixing here (i.e. this is supposed to be a pure refactor), I'd suggest this is better for 0.5 in the spirit of only bringing in what's needed for 0.4.17.

it looks like we can move reorder_after_dim_reduction somewhere else (utils ?), and that should avoid circular imports

It looks like you removed the function definition, but didn't actually add the new module. I actually just used numpy.argsort instead in _slice_input.py, as there should only be 2 or 3 values to sort and this will happen very rarely. I may actually remove that utility function in 0.5 as well, so didn't really want to add a module just for it.

Would be great to be able to merge this soon as we start work on implementing async slicing.
@brisvag , @alisterburt: as you've already taken a look (a while ago, mind), would be great to get an approval if everything looks good. Also happy to address issues or break this big PR up.

I think I addressed enough here to get this in.
@alisterburt  and @brisvag, please take another look when you can.

Thanks for the update - will merge this after 24 hours.

Woohoo, and I might have another use for these changes during the makeathon.

Marked this with the v0.5.0 milestone, but given how much this touches, you might need to bring it in for 0.4.18

Moved to 0.4.18 because this is large and predates most of the 0.4.18 PRs.

authors: Carreau alisterburt andy-sweet kephale