Ability to Add New Colors

Describe the feature in detail (code, mocks, or screenshots encouraged)
I have created a custom interact color palette to substitute the primary theme when it comes to interactable text, as it was too dark and I wanted it be a different color anyway.
I was able to go most of the way until the token utility classes. I have found that all you need to do is to add the new color name to the colorNames array in settings.cjs.
All that is needed really, is the ability to modify those settings in the skeleton config, as far as I have seen.
What type of pull request would this be?
New Feature
Provide relevant links or additional information.
No response

For those who want to add new colors now, you can use npx patch-package @skeletonlabs/skeleton after modifying the settings in<EMAIL_ADDRESS>Then add a postinstall script to your package json so everyone cloning your repo can use it.
https://stackoverflow.com/questions/13300137/how-to-edit-a-node-module-installed-via-npm

All Skeleton does to inject colors is follow the instruction Tailwind provides here. The colors are provided to the Tailwind config through our plugin, but you're able to do the same:
https://tailwindcss.com/docs/customizing-colors#using-custom-colors
In our case, we specifically use CSS properties and the RGB format so we can support transparency:
https://tailwindcss.com/docs/customizing-colors#using-css-variables
You're right though - this won't affect utility classes, because these are canned styles created manually ahead of time. But you can always review how we generate these classes and expand your project yourself as you wish. Just drop the extra classes into app.postcss or your own stylesheet you import.
It's never recommended to modify an node_modules package, because the moment you have to update the package it will nuke all your customizations. I'd definitely recommend against ever doing that.

Yeah, I have already done everything I could in Tailwind.
While I know modifying node modules is a bad idea, a single addition of a string to an array is unlikely to cause issues unless you delete settings.cjs entirely.

While I know modifying node modules is a bad idea, a single addition of a string to an array is unlikely to cause issues unless you delete settings.cjs entirely.

Sorry, but hard disagree here. Node modules are not intended to be modified. "Can" and "should" are two different things. You're welcome to do this in your own project as you wish, but we'll never condone this for users.
If Adrian can supply some ideas for providing support for this through the new plugin, we'll consider this feature. Otherwise we will not move forward with this request.

I think we've done everything we can now for this ticket. If Adrian gets some free time and wishes to review my proposed ideas in the future then I would welcome that. But as it stands your best means for expanding the color palette is via the standard Tailwind configuration methods.


Fix the text in "Next steps"

... to "To learn how to receive events from an event hub using Java, see Receive events from event hub - Java." instead of "To learn how to receive events from an event hub using .NET Framework, see Receive events from event hub - Java."

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

ID: 61059dbc-d075-6af1-98f6-7fe02f9e0440
Version Independent ID: a15c8888-4b49-f9b8-3cee-30d5765c49fa
Content: Send events to Azure Event Hubs using Java
Content Source: articles/event-hubs/event-hubs-java-get-started-send.md
Service: event-hubs
GitHub Login: @ShubhaVijayasarathy
Microsoft Alias: shvija

@ayyagari Thanks for the feedback! We are currently investigating and will update you shortly.

@ayyagari - Thanks for the feedback. I have fixed it and the updated article will go live around 3:30 PM PST today.
For future reference:
You can also make changes in the article if you like and submit a pull request:

Click Edit in the upper-right corner of the article.
On GitHub, click the pencil icon in the upper right.
Make your changes using Markdown on the Edit file tab. Preview your changes on the Preview changes tab.
Scroll to the bottom of the page and click the green Propose file change button.
On the Comparing changes page, verify your changes and click Create pull request (at the top of the page) to submit your changes to the pull request queue.

#sign-off

I meant, #please-close


Define a feature you would like to see implemented in our app

Implement unit tests for functions inside ItemMapper file.


Mintty and use case examples

Maybe you'd like to add mintty to your supporting terminal list on the libsixel project page.
I've added a gnuplot screenshot to the mintty home page http://mintty.github.io/ and I'd like to mention some more examples of use cases, but I'm having some problems:

The gnuplot command shown in the screenshot produces a different image on another machine; weird.
img2sixel sometimes works (cygwin64 on one machine), sometimes it doesn't (cygwin32 on the same machine, cygwin64 on another machine), sometimes it crashes, e.g. with this image:

FFmpeg-SIXEL does not build for me (after installing libsixel and the libquvi-devel and nasm packages); sometimes configure fails at pkg-config/quvi, sometimes make fails: Makefile:185: /tests/Makefile: No such file or directory
I tried the libsixel examples/drawing program in xterm but it just shows a white panel; nothing happens when trying to interact (and yes, it's xterm compile-enabled with DEC locator mode, confirmed manually). If that worked, I would consider to add DEC locator mode to mintty for pixel-coordinate interaction.
Couldn't find out how to build and test opengl...
Trying bitbucket.org/arakiken/w3m/: configure: error: cannot guess build type; you must specify one
The mandel5.c example program does not produce working sixel output.

Thanks for further info and help.

The gnuplot command shown in the screenshot produces a different image on another machine; weird.

I can't reproduce that on my environment.
Could you show a screenshot on another machine?

img2sixel sometimes works (cygwin64 on one machine), sometimes it doesn't (cygwin32 on the same machine, cygwin64 on another machine), sometimes it crashes, e.g. with this image:

Reproduced.
$ gdb img2sixel img2sixel.exe.core

...

#0  sixel_allocator_free (allocator=0x38, p=0x20163928) at allocator.c:192
192         assert(allocator->fn_free);
[Current thread is 1 (Thread 0x1)]
(gdb) up
#1  0x64a96cb8 in load_gif (buffer=0x200303a8 "GIF89a.\002\017", size=size@entry=264, bgcolor=bgcolor@entry=0x0, reqcolors=reqcolors@entry=256, fuse_palette=fuse_palette@entry=1,
    fstatic=fstatic@entry=0, loop_control=loop_control@entry=0, fn_load=fn_load@entry=0x64a98b10 <load_image_callback>, context=context@entry=0x20030308, allocator=0x20030230)
    at fromgif.c:646
646         sixel_allocator_free(frame->allocator, g.out);
(gdb) l
641             }
642         }
643
644     end:
645         sixel_frame_unref(frame);
646         sixel_allocator_free(frame->allocator, g.out);
647
648         return status;
649     }
650
(gdb)

Oops, sixel_frame_unref(frame) is called before sixel_allocator_free(frame->allocator, g.out)...
I'll fix it. thanks!

FFmpeg-SIXEL does not build for me (after installing libsixel and the libquvi-devel and nasm packages); sometimes configure fails at pkg-config/quvi, sometimes make fails: Makefile:185: /tests/Makefile: No such file or directory

I also could not build it with cygwin's libquvi-devel package. Its API seems to be changed entirely now. So I built it without --enable-libquvi.
$ ./configure --enable-libsixel
$ make
$ make install

config.log: config.log.ffmpeg.txt

I tried the libsixel examples/drawing program in xterm but it just shows a white panel; nothing happens when trying to interact (and yes, it's xterm compile-enabled with DEC locator mode, confirmed manually). If that worked, I would consider to add DEC locator mode to mintty for pixel-coordinate interaction.

Please try the following patch:
diff --git a/examples/drawing/main.c b/examples/drawing/main.c
index cc62914..ec6b462 100644
--- a/examples/drawing/main.c
+++ b/examples/drawing/main.c
@@ -228,7 +228,7 @@ int main(int argc, char **argv)
     int state;
     int offset;

-    printf("\033[?8452h" "\033[1;1'z");
+    printf("\033[?1;3;256S" "\033[?8452h" "\033[1;1'z");
     (void) tty_raw(&old_termios);

     if (canvas_init(&c, 640, 480) != 0)

We can implement pixel coordinate handling more efficiently by using "filter rectangle" feature (DECEFR), but Xterm's one seems to broken. So now drawing example use only DECRQLP simply. Vim's ttymouse=dec also chooses same strategy.
On the other hand, xserver-SIXEL and SDL1.2-SIXEL requires "filter rectangle" feature.
I'm now working for it in dec-locator branch. But filter rectangle is not implemented yet.
https://github.com/saitoha/mintty-sixel/tree/dec-locator

Couldn't find out how to build and test opengl...

Cygwin package libOSMesa-devel is required.
$ apt-cyg install libOSMesa-devel
$ ./configure && make
$ ./demo.exe

config.log: config.log.opengl.txt

Trying bitbucket.org/arakiken/w3m/: configure: error: cannot guess build type; you must specify one

Now I'm using Debian's w3m. It's best-maintained w3m as far as I know, which also includes Arakiken's SIXEL patch.
$ ./configure --enable-image --with-imagelib=
$ make
$ make install

config.log: config.log.w3m.txt
w3m SIXEL integration enables with -sixel option. It requires img2sixel. So before try it, I have to fix above libsixel's segfault bug.

The mandel5.c example program does not produce working sixel output.

It works for me. mandel5 requires 5 parameters (<width> <height> <x start> <y start> <square size>). Did you specify them properly?

I found a tweet that says doom works on mintty.
https://twitter.com/rattcv/status/775213402130046977

Haha! And with Bash on Windows... This is getting cool.
Not sure, though, whether it's really beneficial to run highly interactive GUI stuff in SIXEL mode or whether running this, qemu and the like is just fun...

Drawing now works in xterm, thanks, but not in your dec-locator branch.

Status:

gnuplot: fine example (the confusion mentioned above was caused by a typo).
img2sixel: works;
w3m: works, but limited user experience; image display is delayed until all images are loaded which is slow.
drawing: works now in xterm, but not in mintty (your dec-locator branch).
opengl example: works, but it's not too impressive due to its coarse image quality.
mandel: works, but is picky about parameter values, so maybe not a good demo.
ffmpeg: finally compiles but still does not work:
./ffmpeg -f sixel -pix_fmt rgb24 -reqcolors 128 -s 800x450 - -i 'https://youtu.be/El2mr5aS8y0'
http://youtu.be/El2mr5aS8y0: Invalid data found when processing input

In effect, there is only one seemless example to promote the feature, but a good one at least.

The ffmpeg Ballmer commandline plays without error for me with mintty on WSL, for what it's worth. I configured with --enable-libsixel --enable-libquvi --enable-openssl.
 I understand from mintty issue 431 that raw RGB is passed all the way up the rendering stack, but the colors seem to be getting quantized before it gets a chance to draw them. This is apparent in my Xsixel screencap here as well, in which the xterm window title bar (which gets drawn by xfwm4) gets quantized and dithered. You see it with the Ballmer video as well; I assume the -reqcolors 128 option having something to do with it.

@therealkenc Unfortunately, SIXEL is palette-based format, which is not suitable to represent true color... (https://github.com/saitoha/libsixel/issues/44)
The patch at https://github.com/mintty/mintty/issues/593#issuecomment-249219687 which makes mintty enable to display up to 1023 color paletted image.
@mintty above patch also may fix drawing example.

w3m: works, but limited user experience; image display is delayed until all images are loaded which is slow.

This problem may be caused by cygwin's expensive fork() implementation. Does it reproduce on WSL?

I've merged above patch into dec-locator branch.

opengl example: works, but it's not too impressive due to its coarse image quality.

This example might be better:
https://github.com/saitoha/NeHe-SIXEL

Thanks. Apologies for my ignorance about Sixel being palette based only.
The libgl demo starts up instantly on my computer with WSL. though there appears to be a memory leak in either mintty or wslbridge - this is mintty consuming 1.4GB of RAM.

I'll try out your recent patches. I should mention the mouse didn't work entirely for me in Xsixel last week on WSL. It would draw ascii characters when dragging the mouse with left click (making dragging windows impossible), but the cursor moves okay without click.

I confirmed the leak with Cygwin. It's easy to reproduce.   This happens on both the saitoha/mintty-sixel dec-locator branch and on the mintty/mintty master.
Silly question: How do I take advantage of the 1023 palette? I'm on the dec-locator branch and the drawing demo works, but I can't see any difference in fidelity with img2sixel.

Sorry I should have thought to check that upfront. 2.6.1 that ships with Cygwin is fine. Wsltty shipped off master on Sept 19th so that explains why I'm seeing it on WSL as well.

Sorry there is a leak problem in my recent patch(https://github.com/saitoha/mintty-sixel/commit/7b6bf811ba617e68a6717cbb5e06cb21470207c6).
I confirmed current mintty master does not have this problem.

Weird. Wsltty off master is indeed fine, but I just double-checked wsltty 0.6.0 prebuilt leaks. No idea why.

Actually, there is a memory leak already in release 2.6.1. If I output a Sixel image and clear the scrollback buffer repeatedly (reset), it uses some memory more every time.
Maybe this should be continued in a mintty or mintty-sixel issue rather than here...

Leak problems in master are fixed by https://github.com/mintty/mintty/issues/595
Another leak problem in dec-locator branch is fixed by saitoha/mintty-sixel@e92d9a5

Hi, just to sort this out; there are two open patches now:

DEC Locator
Color registers handling

Are you still working on any of them? How and when should I integrate them? DEC Locator first, or both together...

Color registers handling is in separated branch:
https://github.com/mintty/mintty/compare/master...saitoha:fix-byte-overflow-in-sixel-decoder
squashed patch: 0001-Fix-byte-overflow-problem-in-SIXEL-decoder-mintty-59.patch.txt
DEC Locator is now in progress, I think it is not ready to be released, because the filter rectangle feature is not implemented now.

@therealkenc

How do I take advantage of the 1023 palette? I'm on the dec-locator branch and the drawing demo works, but I can't see any difference in fidelity with img2sixel.

Now there is yet no SIXEL encoder which can use 1023 color registers...

Now there is yet no SIXEL encoder which can use 1023 color registers...

So what does img2sixel --high-color do?

high-color sixel is the technique of recycling 256 color register dynamically.
It depends on the method of sixel rasterization. As far as I know, mlterm and yaft can display it correctly. Current mintty can not do. I don't know we should implement this feature.

I found such a thing.
https://groups.google.com/d/msg/fricas-devel/GJfUAyH2S2I/5kzv5k64AQAJ

Did the DEC locator feature ever make further progress towards getting incorporated into mintty?

It's actually not yet even incorporated into mintty (main repository), just saitoha's DEC Locator branch, because I had the impression that @saitoha still wanted to implement Filter Rectangle mode.
I could also work on this myself but a convincing use case would help to motivate that... The only program I'm aware of now that actually uses this is the drawing example app.

Yeah, makes sense. Hopefully if I show off what mintty already supports it'll give some Julia users a reason to get excited about sixels as a low-dependency image display solution, they might do some fun stuff. See https://github.com/KristofferC/Crayons.jl and https://github.com/evizero/UnicodePlots.jl for some existing examples, just using already-common escape codes and unicode characters.
I am now really curious how out-of-the-box support for sixel display is on default Mac and Linux terminals. Most people developing open-source packages tend to use those platforms, while lots of our users are on Windows so will benefit from mintty once I get it incorporated in our install.

Doesn't gnuplot support sixel graphics? Anyway I guess this would replace
libcaca. However last time I checked sixel support was poor across all the
major linux distros. Unless you use xterm.
On 29/01/2017 10:15 PM, "Tony Kelman"<EMAIL_ADDRESS>wrote:

Yeah, makes sense. Hopefully if I show off what mintty already supports
it'll give some Julia users a reason to get excited about sixels as a
low-dependency image display solution, they might do some fun stuff. See
https://github.com/KristofferC/Crayons.jl and https://github.com/evizero/
UnicodePlots.jl for some existing examples, just using already-common
escape codes and unicode characters.
I am now really curious how out-of-the-box support for sixel display is on
default Mac and Linux terminals. Most people developing open-source
packages tend to use those platforms, while lots of our users are on
Windows so will benefit from mintty once I get it incorporated in our
install.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/saitoha/libsixel/issues/50#issuecomment-275907437,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAnHHfgKoGByT4D_RFYCcIgiko0ALXjAks5rXHTbgaJpZM4J5x11
.

The recent discussion was not about the Sixel feature which is fully incorporated in mintty.
It's an output-only feature, I could have been more specific, sorry; the discussion was about the DEC Locator feature, which could be used in combination with Sixel graphics for interactive graphics.

I have implemented DEC Locator, based on your single report patch and expanded to full feature.
The drawing example works.

@mintty How did you get w3m working with images using mintty? One use case of this is the usage of mutt or neomutt and integrating w3m or something else to show the html emails with inline rendering of images, or attachments which are images as well.


Better handling of returned keys from Insert, Upsert and Update in DatastoreDb

Fix documentation for Insert to make it clear that only keys allocated by the server are returned
Fix documentation for Upsert to make it clear that only keys allocated by the server are returned
Remove the return value from Update as all results would be null anyway
Add tests for the Insert/Upsert behaviour

This fixes #308.

LGTM

(Will wait for Jeff's feedback before merging.)

Merging to avoid getting out of date - we'll get Jeff's feedback in a bit.


Authorization Docs

Page: /setup/security/authorization/
Feedback:
The screenshots seem out of date? "Group membership" seems to have been replaced by "permissions" and also the documentation seems to be missing what is the result of limiting authorization for accounts.

Hi @JazminGonzalez-Rivero ,
Thanks for raising this - we're working on getting this updated. Group Membership has indeed been replaced by Permissions. Permissions allow you to assign roles with 'read-only' access, where as Group membership is both read and write.
Unfortunately, Halyard commands still reflect the old required-group-membership way of doing things. We're working on updating Halyard too, but I don't have a timeline for you.

#562
This doesn't fix the whole page, but the screenshot is now current.

Awsome! thanks for the quick reply. Honestly don't use halyard but noticed things didnt seem to add up quite right.

@dorbin - is this good to close?

Good to close :+1:


How can I improve my conversion from GeoJSON to MBTiles?

I am trying to write a script to convert a GeoTIFF tile into mapbox vector tiles. I have uploaded the geojson data here
Rendering the GeoJSON with d3 looks fine:

And uploading it to geojson.io looks okay (other than some anti-meridian artifacts):

However when I convert the file to MBTiles and upload it to mapbox, only a few polygons are added:

(and the same thing, styled)

I convert the geojson to MBTiles using the line:
tippecanoe -o output.mbtiles -zg --drop-densest-as-needed contours.geojson -f

I am not sure why this geojson file cant be converted correctly.
I have also tried adding a bunch of different flags and some of them increase the number of polygons shown, but I cant get any of them to look similar to the render by d3.
Any help with this would be appreciated! :)

For reference, I have added the code that created the d3 visualization here

Your GeoJSON generation is messed up, such that many of the rings that you intend to be outer rings are specified to be inner rings, and if they are not actually inner rings they just get lost because they are being cut out of nothing. You are probably generating Polygons where you mean to be generating MultiPolygons.
Until you fix that, I think you can get what you intended with
tippecanoe --reverse-source-polygon-winding -zg -f -o out.mbtiles /Users/enf/Downloads/sfctmp.geojson

@e-n-f Thanks for your help. I ended up generating my geojson files using gdal_contour instead of my own script which removed the bugs due to winding errors and crossing the anti-meridian :)


Remove dependency on qiskit-ibmq-provider

qiskit-ibmq-provider has been deprecated as of Qiskit 0.40.  We actually don't seem to be using it at all in ckt anymore, so we can safely remove it from the dependencies.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 84.808%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1524

Relevant Lines:
1797

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 84.808%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1524

Relevant Lines:
1797

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 84.808%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1524

Relevant Lines:
1797

💛  - Coveralls


Separate databases

This can't be solved using Prisma. The only way to do it is creating separated project in order to build true microservice architecture.
This repo is just sample project


Use up-to-date nyc instead of deprecated istanbul

https://github.com/gotwarlost/istanbul is pretty much dead, all the active development is happening in https://github.com/istanbuljs/istanbuljs/tree/master/packages/istanbul-lib-coverage and nyc is the most convenient way to consume it.

Coverage increased (+1.7%) to 97.253% when pulling 987baa828e7b6020f7677f4d528155f350f91a7c on kibertoad:general/use-nyc into 049fed5b2ec13cde1300c822ae50786da2fd4cb7 on Vincit:master.

Thanks Igor!


Refactor Information Retrieval tests

Before submitting

[X] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[X] Did you read the contributor guideline, Pull Request section?
[X] Did you make sure to update the docs?
[X] Did you write any new necessary tests?

What does this PR do?
Refactored tests for Information Retrieval metrics using MetricTester class. Removed exclude argument to be aligned with other metrics (and also because it was useless).
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @lucadiliello! Thanks for updating this PR.

In the file tests/retrieval/helpers.py:

Line 347:9: E731 do not assign a lambda expression, use a def
Line 370:9: E731 do not assign a lambda expression, use a def


Reduce redundant DOM elements

Google's Pagespeed Insights complains about the number of DOM elements on my pages. There are usually more than 1,000 which appears to be the trigger for the message.
For example, given the simple base and exponent expression, 5^3, there are 17 spans created, 3 of which have class "mord" and 2 of them repeat the class "mord mtight".

  <math>
   <semantics>
    <mrow>
      <mstyle scriptlevel="0" displaystyle="true">
       <msup>
        <mn>5</mn>
        <mn>3</mn>
      </msup>
     </mstyle>
    </mrow>
    <annotation encoding="application/x-tex">
      \displaystyle{5}^{3}
    </annotation>
   </semantics>
  </math>

      5

            3

The following appears to produce the same result, but has been stripped of (seemingly) redundant spans:

  <math>
   <semantics>
    <mrow>
      <mstyle scriptlevel="0" displaystyle="true">
       <msup>
        <mn>5</mn>
        <mn>3</mn>
      </msup>
     </mstyle>
    </mrow>
    <annotation encoding="application/x-tex">
      \displaystyle{5}^{3}
    </annotation>
   </semantics>
  </math>

   5

         3

There are 11 spans now, a reduction of 35.3%.
For my own pages, I ended up replacing all this with just 2 DOM elements for such simple cases:

 5

   3

I'm fully aware KaTeX needs to cater for a myriad different possible situations and it could well be a nightmare to do anything about this, but if one of the tools available can strip repeated spans that are not actually necessary, that would help reduce the number of elements on a page, and no doubt speed things up both at the processing level and DOM manipulation level..

@mbourne I hear you. I am also having a Chrome performance problem related to the number of spans. There isn't an easy fix. When the current vertical alignment code was written, in PR #768, browser testing revealed some issues, especially in Safari. The work-around involved adding extra spans that probably look to be redundant.
I think there are two possible ways to achieve pretty large reductions in the number of spans:

Replace the vertical alignment code, changing from table-cell CSS to flex box, as @kevinbarabash  suggested in issue #1409. That hasn't been coded or tested and we don't know for sure that it will work.
Websites could use KaTeX's MathML output instead of HTML. This one won't be feasible until after the Chromium MathML project is complete. That might be in August.

I'm very busy right now. I might be able to work up the flex box option sometime in March.

Thanks @ronkok . Since flexbox is now pretty much universal (even Opera Mini joins the party) and MathML won't see adoption across all browsers for some years, I agree flexbox would be the way to go for now.
Thank you for all you do.

@mbourne  I’ve spent a day working on a flexbox alternative for vertical alignment. I’m afraid the news I have to  give you is bad. I am unable to write a flexbox solution for KaTeX vertical alignment.
KaTeX, of course, emulates TeX and TeX does vertical alignment differently than HTML. In TeX, one has access to the height and depth of each character. TeX vertical alignment, given two strings of text, specifies the gap between the top of the highest height and the bottom of the lowest depth.
HTML instead stacks line boxes. I’ll skip leading for this explanation, because I can set leading to zero. Given zero leading, a line box extends from the bottom of the font’s descender to the top of it’s ascender. The ascender and descender are constant for an entire font. They don’t vary by character. Of course, if a line box contains characters of varying fonts and font sizes, then it also contains various ascenders and descenders.

So in order to stack line boxes in a flexbox and do it in a way that satisfies TeX layout definitions, I would have to find a way to keep track of the difference between line box geometry and individual character heights and depths. And I would have to carry that information along as a string of characters changes font and font size. It’s more than I have signed up to do.
KaTeX’s current vertical alignment doesn’t stack boxes. Instead it sets baselines by offsetting each row from a point located outside the entire block. It’s really quite clever. But, as you have noted, it does generate a lot of spans.
It’s a pity. The flexbox option really reduce the number of visible elements in the DOM. That would have improved performance. I wish I could have made it work.

@ronkok  Thank you for your efforts! I hesitated for a few days to see if anyone else weighed in, but seems everyone's busy.
A possible easy win might be those class="mord" spans. I'm not running the absolute latest CSS, and in my version there are 2 cases of .mord+.cancel-lap.
But in the version in the https://katex.org/ sandbox, I can't find .mord anywhere in the style sheet.
So if it is no longer used, perhaps they could be cut out? Or if it is still used, in those rare(?) instances where there's a .cancel-lap involved, only then add the .mord spans...?

I can't find .mord anywhere in the style sheet.

KaTeX used to set horizontal spacing via a quite complicated set of CSS rules. One rule for when a mord was adjacent to a mrel. Another rule for when a mord was adjacent to another mord. And so on.
KaTeX now sets those spaces with inline styles. But it still uses each atom's classification as mord, mrel, mbin, etc. It's just that the Javascript is reading those classifications, not the CSS rules.
It may be possible, as you suggest, to eliminate some of the mord spans. But it will have to be careful, line-by-line work. The cost-to-benefit ratio is a lot higher than what I was hoping for when I started looking at flex box. I might get to it, but it won't be soon.

One of the reasons for switching to handling the spacing in JavaScript was to eventually support \setlength.  Introducing span elements in between the other elements simplified the code.  We could look at changing things to add inline styles to the content containing spans using numeric values as suggested in the original post and that would still allow us to support \setlength in the future.

Thanks very much to the KaTeX developers! Just adding my 2 cents to this: I was just formatting a matrix equation involving an 8x8 matrix in KaTeX, and found that the generated HTML weighs in at 120KB. This was a bit of a surprise.
Just from examining the HTML, I strongly suspect that if the entire equation was formatted as a single SVG, the output would be far more lightweight. Good idea? Bad idea? Is there a reason why it should be HTML and not SVG, aside from the (very important) reason that "someone would have to implement it"? If one of the developers is able to drop in and enlighten me, I will be thankful!

@alexdowad The thoughts below are my own and not an official KaTeX response.

if the entire equation was formatted as a single SVG, the output would be far more lightweight

I think that is very likely to be true. Much of KaTeX's verbosity comes from the struggle to overcome line box vertical alignment. The SVG <text> and <tspan> elements offer a much easier way to align text.

Is there a reason why it should be HTML and not SVG

When KaTeX was first developed, SVG was not as reliable as it is now, especially in IE. Even today, I'm not 100% sure that SVG is sufficiently reliable. Issue #883 was a bad surprise.

aside from the (very important) reason that "someone would have to implement it"

I cannot speak for anyone else, but effort of rewriting all the buildHTML parts of KaTeX is much more than I want to take on.
But reading your comment sparks an idea. In KaTeX, the task of setting vertical alignment is done mostly in a single function, makeVList.  Instead of rewriting all the buildHTML parts of KaTeX, what if we were to rewrite only makeVList so that it would return an SVG? That SVG would be more lightweight than the current HTML.
No doubt new problems would crop up:

Could we reproduce inside SVG the little tricks that:

center the elements of a fraction? Probably yes.
stretch a fraction line to the width of a fraction's content? Probably yes.
stretch a radical's top line to match the content of a square root? Probably yes.

Will browsers reliably deal with SVGs with <foreignObject> elements that contain HTML? I'm much less sure of this one.
Will browsers reliably deal with nested SVGs, e.g., an exponent inside a numerator? Issue #883 makes me doubtful.

Once every few months, I get the urge to rewrite makeVList. I then spend a day or two on it, fail miserably, and put it aside. I've already spent this month's allotment of wasted time, so do not expect anything soon. But the next time I get that urge, I will follow up on this idea.

See #375 for the original request for SVG output.
I will mention that SVG output from MathJax is large, for a different reason: it renders every glyph as an explicit <path>.  This brings up one issue with SVG, that it isn't always great with web fonts.  In particular, SVG with web fonts doesn't work if embedded via an  tag.  But it does work if the SVG is inlined into the HTML, so it could be a reasonable alternative to HTML inlining.
I recall that one of the big issues with rendering directly to SVG is that KaTeX currently has no sense of how wide objects are; see #587. It only knows how tall things are.  One issue with horizontal metrics is that you need to process kerning pairs and ligatures to compute the width of a string of characters.  It seems plausible we could do this with even more fontMetrics (though that file is already quite huge, the bulk of the KaTeX distribution). Beyond SVG rendering, there are advantages to understanding horizontal positioning (in particular things like \hfill would be easier to implement, instead of shoehorning into flexbox etc.).
So... it's probably doable (and I'd love to have it for another project), but it's definitely a major undertaking. Let us know if you'd like to try starting it, and perhaps multiple people could contribute, e.g. on a branch that we work on over multiple PRs.
@ronkok's idea of using SVG just for makeVList is interesting, but #375 does warn about <foreignObject>s not positioning well (not that I've tried).

@ronkok @edemaine Thanks very much for the clear and comprehensive answers!
As an experiment, I ran some JS in my browser to walk the tree of DOM nodes generated by KaTeX, and record the position and dimensions of each node which contained text. Exported that into a JSON string. Cut-and-pasted JSON string from browser into Node and used it to generate a SVG with one <text> node for each of the original DOM nodes. The appearance wasn't quite right, but it was enough to get an idea of how big the corresponding SVG would have been. In this case, it came out to about 22KB. (One <text> node for each character is still a lot of overhead.)
I also tried compiling the same TeX into PostScript using CLI tools from TeXlive. The PS was quite huge also, mostly from embedded font data. Sigh.
Here's the TeX, by the way:
{1 \over 2}
\begin{bmatrix}
{1 \over \sqrt 2} & {1 \over \sqrt 2} & {1 \over \sqrt 2} & {1 \over \sqrt 2} & {1 \over \sqrt 2} & {1 \over \sqrt 2} & {1 \over \sqrt 2} & {1 \over \sqrt 2} \\[5pt]
c({1 \over 16}\pi) & c({3 \over 16}\pi) & c({5 \over 16}\pi) & c({7 \over 16}\pi) & c({9 \over 16}\pi) & c({11 \over 16}\pi) & c({13 \over 16}\pi) & c({15 \over 16}\pi) \\[5pt]
c({2 \over 16}\pi) & c({6 \over 16}\pi) & c({10 \over 16}\pi) & c({14 \over 16}\pi) & c({18 \over 16}\pi) & c({22 \over 16}\pi) & c({26 \over 16}\pi) & c({30 \over 16}\pi) \\[5pt]
c({3 \over 16}\pi) & c({9 \over 16}\pi) & c({15 \over 16}\pi) & c({21 \over 16}\pi) & c({27 \over 16}\pi) & c({33 \over 16}\pi) & c({39 \over 16}\pi) & c({45 \over 16}\pi) \\[5pt]
c({4 \over 16}\pi) & c({12 \over 16}\pi) & c({20 \over 16}\pi) & c({28 \over 16}\pi) & c({36 \over 16}\pi) & c({44 \over 16}\pi) & c({52 \over 16}\pi) & c({60 \over 16}\pi) \\[5pt]
c({5 \over 16}\pi) & c({15 \over 16}\pi) & c({25 \over 16}\pi) & c({35 \over 16}\pi) & c({45 \over 16}\pi) & c({55 \over 16}\pi) & c({65 \over 16}\pi) & c({75 \over 16}\pi) \\[5pt]
c({6 \over 16}\pi) & c({18 \over 16}\pi) & c({30 \over 16}\pi) & c({42 \over 16}\pi) & c({54 \over 16}\pi) & c({66 \over 16}\pi) & c({78 \over 16}\pi) & c({90 \over 16}\pi) \\[5pt]
c({7 \over 16}\pi) & c({21 \over 16}\pi) & c({35 \over 16}\pi) & c({49 \over 16}\pi) & c({63 \over 16}\pi) & c({77 \over 16}\pi) & c({91 \over 16}\pi) & c({105 \over 16}\pi)
\end{bmatrix}
\begin{bmatrix}
x_0 \\ x_1 \\ x_2 \\ x_3 \\ x_4 \\ x_5 \\ x_6 \\ x_7
\end{bmatrix}
=
\begin{bmatrix}
u_0 \\ u_1 \\ u_2 \\ u_3 \\ u_4 \\ u_5 \\ u_6 \\ u_7
\end{bmatrix}

Doesn't look like much, does it?

Regarding mathml browser support, I'm keeping an eye on the MathML-core implementation report .
Although, as @ronkok highlights, some of the failing tests are more important than others.
For example, Chrome's broken accents and broken stretchy things make it unusable currently, despite having a higher passing number of tests).
For the medium term, I am no longer betting the house on good mathml support in browsers any time soon.
Thus, it would be good to get the html output as clean and minimal as we can (currently I have a page with 700,000 DOM elements!)

Is there any update on this issue?

I use KaTeX to do server rendering, so for me I can try to create a tool outside KaTeX to simplify the HTML output.
for each tag

delete the tag.
feed to screenshotter to check if the visible output is the same.

takes O(n) layouts. Should be reasonable for many KaTeX output.
For server rendering people who have a good build system (so there are caching). I don't even mind it spend 1 second on a single KaTeX output. Any KaTeX rendered before can be cached.
There might be further operations one can do. I could not figure out which spans are actually essential, and I also wonder if certain local optimization that might make sense.
For example, for input x+x with only html output (display mode).

                    x+

                x

Why is each .mspace (which are empty spans) it's own span, can margin be glued together? say becoming margin-left of the previous element? Can the two base be joined together?

Any update on this issue?

I've been working on two different approaches to this issue with quite good outcomes.
1. Delay loading of the library and lazy-load the equations
If math first appears part-way down the page, it doesn't make sense to clutter the initial load of the page with downloading the library, then processing the math. It causes render blocking and slow "time to interactive", especially if there are a lot of equations on a page. It also results in a large number of DOM elements that search engine analytics don't like.
So this technique makes use of intersectionObserver. As the user scrolls down the page and gets close to the first lot of math the library loads and processes the first few equations (all of the ones within 800 px below the current screen view).
The result is much faster loading, no blocking and a low number of DOM elements.
Of course, if there is math at the top of the page, the library loads immediately and processing of the in-view math (plus the ones in the 800 px below) happens immediately.
As the user continues to scroll, processing goes on in advance and is ready when the user gets there.
My example page is for MathJax (because that's what the client was already using) but could easily be adapted to KaTeX.
https://python-course.eu/advanced-python/recursive-functions.php
The first lot of math doesn't occur until about 1/4 of the way down the page. If you have the console open as you scroll down, you'll see the point where MathJax loads and processes the first lot of math, and then processes out-of-site math as you continue to scroll.
The relevant intersectionObserver code is in the last javascript block on that page.
The page is fast to load, and scores a near perfect Performance score in Lighthouse.
2. SVG Math - a non-javascript approach reducing DOM count by 96%
To tackle the things causing page load blocking, high DOM element counts and slow "time to interactive" I took the following approach.

Don't use any javascript on page load (no blocking)
Process the page in PHP on the server
Create SVG images if none already exist, and cache them for subsequent use
Call the SVGs in IMG tags so we can lazy-load them
Provide accessibility features on demand, not by default (but a cookie could be set to make this a default for those who require it)
Serve the page using Cloudflare CDN

The results:

DOM count for a large page was reduced from 12,869 elements (with KaTeX rendering) to just 420. Each equation requires either just 1 DOM element (the IMG tag), or 2 (the IMG and a wrapping DIV or P for aligning display math).
Fast to load
Zero blocking time
Very short "time to interactive"
Lighthouse performance score of 100
Equation links work
Editing is still easy - any changes to an equation will just create a new SVG on the fly
Inline math image alignment is achieved by extracting the vertical align detail from the created SVG

Known issues:

Total bandwidth is greater with this approach - every page requires its own SVGs and they add up, while javascript is cached
Inline SVG image sizes are a bit strange on a phone (but they are in MathJax's SVG implementation as well)

Demo page: https://bourne2learn.com/math/mathjax/svg-math.php
Click on the "Explanation" button to see more background and a comparison table for DOM counts for MathJax and KaTeX. You can process that page with MathJax and KaTeX as well to compare things.

This SVG approach is very promising. The main issue is wrapping.
I think some kind of hybrid approach can be created. The non-wrapable part be replaced by SVG, and the dom just have to layout a much smaller number of elements.

Chao
Glad you find it interesting.
I'm not sure what wrapping issue you are referring to, nor what "non-wrappable parts" are. Do you mean overflowing?
If you mean the wrapping for center aligned equations, that was trivial and at most created one extra DOM element (in cases where the \begin{equation} ... \end{equation} block was not originally in its own block level element, which was the case for all display equations in the document I was working with.
I mentioned in my earlier post about a problem with image sizes on a phone. I investigated it further and it turns out it was a browser font scaling setting which doesn't scale the images along with it. But in the process I added allowance for font sizes in my implementation so that now the images do scale along with the font size if set by CSS.

As an exercise, I worked on those same equations, but using the SVG-based approach. It works quite well:
https://bourne2learn.com/math/svg-math/svg-math-wrap-examples.php

I am trying to compare the dom depth/verbosity of mathjax vs katex. It seems mathjax is slightly better than katex on this front. Is there some intuition why this is the case? Thanks.

@w-hc Indeed MathJax produces fewer DOM elements (about 25% less in my testing for a page with a large number of equations), but KaTeX is faster than MathJax's HTML output, (but about the same as its SVG output).
You may be interested in the comparison tables half way down this page: https://bourne2learn.com/math/svgmath/svgmath-overview.php
Regards
Murray

Thanks I will stick to Katex. For the purpose of search engine indexing, do you recommend SSR or client-side rendering? If I do it client side, then can search engine read the raw latex string it receives in the initial raw HTML? Should I structure the latex strings with some special html tags? Or should I just trust that search engine will execute Katex client side.

@w-hc Generally, server-side rendering may be a better option for SEO, since the spider will index the complete rendered page. See https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
However, my experience has been as follows:
(1) I mostly use ASCIIMath input and 99% of my intended readers will never have heard of LaTeX, so I wanted Google's search result to include something like the following, which is easy for humans to read:
f ( z ) = u ( x , y ) + i v ( x , y )
rather than this, which isn't:
\displaystyle f{{\left({z}\right)}}={u}{\left({x},{y}\right)}+{i}{v}{\left({x},{y}\right)}
(2) However, both MathJax (as an option) and KaTeX (using an external ASCIIMath ot LaTeX library) convert ASCIIMath to LaTeX before rendering. I noticed that Google's spider would often do that intermediate step and show the LaTeX output (not the processed math, of course) in the search results.
Sometimes it gives both - the ASCIIMath (or perhaps a string based on the MathML included in the output) and the LaTeX (which probably confuses a lot of humans).
(3) At times, I've made use of an aria-label or aria-description to see the effect on the search result and it appears to be minimal. Google tends to prioritise the MathML.
(4) I haven't played with server side rendering, but I expect the DOM bloat is equivalent to client side. A difference is Google isn't going to see the original markup with LaTeX, and if the server is super slow or has an issue, Google won't index anything.
(5) Speed is probably the largest concern for SEO effectiveness, given the above. If server-side is quickest for most users, go with that.
Regards
Murray

You may be interested in the comparison tables half way down this page: https://bourne2learn.com/math/svgmath/svgmath-overview.php

Nice comparisons! In the first table, the red and green colorings are not quite consistent. KaTeX in particular has one entry (kB transferred) that is neutral but should be green, and a red that should be neutral (kB transferred).
I'm also confused which columns use server-side rendering and which do not. I assume SVGMath is server-side and MathJax HTML is client-side, but MathJax SVG and KaTeX could be either way.

I don't know SEO, but note that rendered KaTeX math has a tag (<annotation>) with the original LaTeX input. So a smart search engine might use that. (But I'm not sure how smart search engines are.)

@edemaine Thanks for pointing out the table color errors, which I've now fixed. (You may need to refresh the page to see the changes).
In my testing, both MathJax and KaTeX was via client-side rendering and I've added a statement to that effect. By design, SVGMath happens on the server.
Regarding SEO, it's possible Google's spider is picking up KaTeX's annotation and serving the LaTeX from there (rather than my speculation that it's picking up an intermediate javascript step). That actually makes more sense.
Search engines tend to be as smart as their ROI needs them to be. Google applies its "crawl budget" more stringently these days - if it takes too much processing or storage space to index a page, it will tend to ignore it, or place it further down the queue.
Having said that, I'm always impressed how well Google understands things like "x" and "i" as mathematical objects. I' once tried to write a simple search engine and it fell over when trying to find something like: "X = x + iy", but Google could do it.

Thanks! It would be interesting to compare to server-side rendered KaTeX as well. It's a nice idea to compare the rendering times. (Though lazy loading seems like an unfair comparison.)

I don't have a server-side environment to test this on.
 But you're right, a fairer comparison would be if all were using lazy load.
So now they do and I've updated the stats page appropriately. https://bourne2learn.com/math/svgmath/svgmath-overview.php
The "finished processing" times were reduced by about 40% for MathJax and KaTeX when using lazy loading, and Lighthouse scores improved from the low 70s to high 80s.
KaTeX lazy load
The first version of my KaTeX lazy load hack was to use a root margin of "500px 0px", so that processing would occur on math that was currently on the screen, plus 500 px above and below. But if the user reloaded the page when they were near the bottom, the equation numbering was off (it's auto-incremented and starts from the first KaTeX equation on the page) and the equation numbering would change as you scrolled up until it was finally correct when you were at the top of the page.
Another issue when starting from the bottom was if you clicked on the link to (3), say (which was much higher up the page and not processed yet), then the browser would scroll to equation (3), then that would trigger KaTeX to process it, there'd be a massive layout shift and you couldn't see (3) at all. It was not a satisfactory user experience (MathJax's lazy load has similar issues).
So I ended up using rootMargin: "999999px 0px 500px 0px" so that all of the math above the current screen would be processed on load, so that equation numbering would be correct and linking to any previous equation would work as expected.

I don't have a server-side environment to test this on.

I thought you were server-side rendering SVGMath via PHP? Or can you not run a JavaScript program from PHP?
Anyway, the point of server-side rendering is that you can do it ahead of time for static content like this. https://erikdemaine.org/outgoing/svgmath-demo.html is a simple example of your demo page but with KaTeX rendered ahead of time / by the server. I made it by loading your page https://bourne2learn.com/math/svgmath/svgmath-demo.php?processBy=katex (scrolling to the bottom to work around the new lazy loading) and saving the result. I then changed the CSS to load from CDN to avoid having to install the fonts (feel free to change it back if you copy this to your website for testing), and removed all the KaTeX JavaScript (this is the big benefit of server-side rendering!).
This approach obviously cannot be lazy loaded, but I suspect it would still perform better than all the others because there's no JavaScript. Let me know if you try it out!

My aims when I first started this project were to:

Reduce number of DOM elements for faster load
Reduce resource payload for faster load
Reduce (or remove) the need for any javascript processing on load
Not require any server tweaks for running javascript on the server (e.g. V8js, or Node), since most users can't - and don't want to - fiddle around with such things if they're not already there. (This is what I took you to mean before.)
Not require any database interaction

So the initial setup of SVGMath involves extracting all the SVGs produced by MathJax as separate svg files and then on the actual demo page they are lazy-loaded to replace the LaTeX as the user scroll down the page. It doesn't "render" the math on the server in the sense of processing it, rather, that is done in advance and saved ready for use.
My comparison tables were intended to look at how each of MathJax and KaTeX perform "out of the box", with the suggested settings from the products' configuration pages. This is how most users will use them, I expect.
After your latest comment, I returned the KaTeX version to the "out of the box" settings (no lazy-loading) to return to the original intention.
But I added a new version "KaTeX lazy" which is a blend of the SVGMath process and your server-side version (which has the downside of loading all 12,000+ DOM elements on page load).
https://bourne2learn.com/math/svgmath/svgmath-demo.php?processBy=katexLazy
In KaTeX lazy, I save all the KaTeX-rendered equations as txt files (actually, I'm doing it by
 tags) as a first step.
On initial page load, I load (approximately) one screen's worth of rendered math, then replace all the
s containing math with the rendered versions as the user scrolls down the page.
As you can see in the revised comparison tables, this new version still suffers from a large initial DOM count (2,000+), but also has a Lighthouse score of 100, 0 s blocking time (of course), and a speed index of 1.2 s.
Setting up "KaTeX lazy" was a much easier process than extracting MathJax's SVGs.
BTW, I analysed your server-side example, and it worked out as:
Initial DOM elements: 12,248
kB transferred: 45
kB resources: 603
Finished processing: 0.853
Lighthouse score: 87
Blocking: 0
Speed index: 3.2
So it's actually quite slow.
Conclusion
I feel that:

DOM element size in KaTeX can be managed by lazy loading
Pre-processing can be done without Node or similar
\label and \eqref could be possible, using something like the approach I've used (as it happens on the server, which I believe was a concern of yours before)

But of course, each involves PHP or some other server-side processing which means it's not so easy.


[bug] Unable to set icon for HASS integration

Version
Build/Run method

[ ] Docker
[X] PKG
[ ] Manually built (git clone - npm install - npm run build )

Zwave2Mqtt version: 2.0.2
Openzwave Version: 1.4.1
Describe the bug
If I set the icon to mdi:flash HASS is showing an error in the logs:
voluptuous.error.MultipleInvalid: extra keys not allowed @ data['icon']

If I remove the mdi: prefix it shows something different:
voluptuous.error.MultipleInvalid: Icons should be specifed on the form "prefix:name" for dictionary value @ data['icon']

With either it won't create the items in HASS, they will be created once the icon field is empty.
To Reproduce
Steps to reproduce the behavior:

Set to manual mode
Configure a value with an icon set, mdi:flash for instance.
See that HASS is throwing an error.

Expected behavior
The icon to work, the item to be created properly.
Additional context

Could you tell me the valueid of the value you are tring to assign the icon?

If it is a binary sensor it's because binarry sensors cannot have an icon property, you can just set a device_class to them to change the icon.

I didn't know about the binary sensors. I initially configured an icon for everything. It included sensors but also for switch and power. None got an icon. The error did perhaps originate from setting it on a binary sensor?

Yes, fixed in last commit you see there. Can close this bug now
Daniel

On 7 Aug 2019, at 19:56, Frank<EMAIL_ADDRESS>wrote:
I didn't know about the binary sensors. I initially configured an icon for everything. It included sensors but also for switch and power. None got an icon. The error did perhaps originate from setting it on a binary sensor?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.

Awesome!

With “fixed” I mean that I have removed the possibility to set an icon for bisnary sensors, you should opt for a different device class that fits your needs based on the binary sensor. Check for hass binary sensor device classes for more info.
Daniel

On 7 Aug 2019, at 21:40, Frank<EMAIL_ADDRESS>wrote:
Awesome!
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or mute the thread.


Fixes bug where 'spo site apppermission add' does not work for service principals. Closes #5204

Closes #5204
Fixes bug where 'spo site apppermission add' does not work for service principals.

ready to merge 🚀

Merged manually 👏 You rock 🤩


feature: ignore warning of you need to set \vim.g.mapleader` BEFORE loading lazy`

Did you check the docs?

[X] I have read all the lazy.nvim docs

Is your feature request related to a problem? Please describe.
I use the vim-whichkey-key for which-key feature, it need to set vim.g.mapleader after lazy in my vimscript. but it keep warning the warning each time I start the neovim
you need to set \`vim.g.mapleader\` **BEFORE** loading lazy

how to ignore it ?
Describe the solution you'd like
ignore warning
Describe alternatives you've considered
no
Additional context
No response

Having the leader set up before loading lazy is needed so that lazy can load your plugins with LazyKeys that use <leader>, so I don't think it is warning that should be ignored.
Is there a reason why you don't use the lua written alternative?

Having the leader set up before loading lazy is needed so that lazy can load your plugins with LazyKeys that use <leader>, so I don't think it is warning that should be ignored.
Is there a reason why you don't use the lua-written alternative?the lua
written alter cannot trigger Whichkey, however vim-which-key is fine in my config,
I just switch from vim-plug to lazy.

I found the reason.
I should use config=function() to made the plugin work, but the tutorial on https://github.com/folke/which-key.nvim only show a init=function()
{
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
end,
}

@cxwx the installation example does include opts. With lazy, the plugin spec needs to have opts defined or you need to explicitly load the plugin in config (or set config = true if you want the defaults).
Anyway, glad you fixed your issue!


fix: selected instance isNewRecord should be false

attr

Codecov Report

Merging #182 (494d5a3) into master (4563da9) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #182   +/-   ##
=======================================
  Coverage   96.76%   96.76%
=======================================
  Files          39       39
  Lines        2964     2965    +1
=======================================
+ Hits         2868     2869    +1
  Misses         96       96

Impacted Files
Coverage Δ

src/bone.js
96.67% <100.00%> (+<0.01%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4563da9...494d5a3. Read the comment docs.


Information on how to add custom wake words

I believe this would be accomplished by mapping wyoming_porcupine1/data/resources/en/linux to a local folder on the host for docker, but would like to make sure. I would be willing to make a PR to add this to the README.

wyoming-porcupine1 uses an old version of porcupine (v1) which does not need an access key and does not have usage restrictions. Models trained from console.picovoice.ai use the latest version so they are not compabile.
I was curious to see whether I can make v2 work, so I created an experimental fork which uses the latest version. Give it a try.
So far it seems to work. Of course you need an access key and there is the 3 devices restriction. But restart or updating the addon does not affect the counter (at least in my tests). And custom wake words work fine.

Thank you for creating that fork! Works great! I hadn't had time to migrate to core, so only just installed it yesterday.


iOS 11 - tint color isn't applied to NavigationBar

Hello.
On iOS 11 tint color not applied to NavigationBar.
NavigationFieldToolbarButtonItem.appearance().tintColor = UIColor.white

Is works for iOS 10 but isn't for iOS 11

Hey @VitaliyR, thanks for reporting this issue.
iOS 11 changes the way it handles UIBarButtonItem in the view hierarchy so setting tintColor on UIBarButtonItem's appearance does not work anymore. We now have to set tintColor on the appearance of UIButton contained in UIToolbar instead.
I have updated the Example app as well as the README to reflect that.
Reference: https://stackoverflow.com/questions/45893605/changing-the-tint-colour-of-elements-in-uinavigationbar-ios-11

@T-Pham indeed, missed this one, thank you. And 👍  for updating readme


Change bot to display contributors

Use AllContributors instead of https://contrib.rocks/image?repo=agamjotsingh18/pollitup

You want to work on this issue?

You want to work on this issue?

Yup ofc, but first you need to add the bot/app to this repo, then it's a one min job which I can do, then it will make PR's and you gotta merge it right in!

You want to work on this issue?

Yup ofc, but first you need to add the bot/app to this repo, then it's a one min job which I can do, then it will make PR's and you gotta merge it right in!

Please refer to the hyperlink under "AllContributors" and download the bot/app from there.

Done

@all-contributors add @agamjotsingh18 to the doc

@agamjotsingh18 We need to do this one by one or it will cause conflicts, please merge #32 and i will do it for the next profile.

Hey, can you add all the contributors?

Hey, can you add all the contributors?

Yeah, I can only do one at a time otherwise merge conflicts occur, if you want, you can use this command and create the PR too:
@all-contributors please add {@username} to the doc

@all-contributors please add @ayush25102001 to the doc

Can't we change this manual thing to automatic?
Like contributors will be added automatically to the readme file

@all-contributors please add @PrajwalDhule to the doc

Can't we change this manual thing to automatic? Like contributors will be added automatically to the readme file

That's not possible unfortunately, but allcontributors is much better.

@all-contributors please add @coder-mohit to the doc

@all-contributors please add @Sanket1308 to the doc

@all-contributors please add @jyotivakare33 to the doc

@all-contributors please add @yeshwanth235 to the doc

@all-contributors please add @Shubham29012001 to the doc

@all-contributors please add @rsinghcodes to the doc

Yeah, I can only do one at a time otherwise merge conflicts occur, if you want, you can use this command and create the PR too:

I told you, it needs to be done one at a time or merge conflicts occur @agamjotsingh18 .

@all-contributors please add @Sanket1308 to the doc

@all-contributors please add @jyotivakare33 to the doc

@all-contributors please add @ronitblenz to the doc

@all-contributors please add @yeshwanth235 to the doc

@all-contributors please add @Shubham29012001 to the doc

@all-contributors please add @rsinghcodes to the doc


Options not working during JavaScript initialisation

I'm using the current code to create my modal in javascript:
var modal = $('[data-remodal-id=register]').remodal({
    hashTracking: false,
    closeOnConfirm: false,
    closeOnCancel: false,
    closeOnEscape: false,
    closeOnOutsideClick: false
});

However none of these options seem to have any effect. The modal shows up still with an X in the corner which closes it, and clicking the background still closes the modal.

Realised we were using an older version of the library (0.6.4)


ProfilerHook generates wrong timeline traces

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):N/A
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):Linux Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:N/A
TensorFlow installed from (source or binary):dockerhub 1.9.0-devel-gpu
TensorFlow version (use command below):1.9.0
Python version:2.7.12
Bazel version (if compiling from source):N/A
GCC/Compiler version (if compiling from source):N/A
CUDA/cuDNN version:9.0/7.1
GPU model and memory:Tesla V100 16GB
Exact command to reproduce:
model：https://github.com/tensorflow/models/tree/master/research/deep_speech
command:python deep_speech.py --model_dir=./deepSpeech --train_data_dir=./librispeech_data/train-clean-100/LibriSpeech/train-clean-100.csv --eval_data_dir=./librispeech_data/dev-clean/LibriSpeech/dev-clean.csv --num_gpus=-1 --wer_threshold=0.23 --seed=1 --hooks=profilerhook**

Describe the problem
 The time of the timeline trace  is not correct， which lasts hundreds of years.It's correct at the beginning, and becoming abnormal from the third trace（the 21th step for save_steps=10）.

Source code / logs

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
Bazel version
Mobile device

It has been 17 days with no activity and the awaiting response label was assigned. Is this still an issue?

I am having a similar problem. If someone can look into this, that will be great!

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 29 days with no activity and the awaiting response label was assigned. Is this still an issue?

@tensorflowbutler Yes

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

Nagging Assignee @tatianashp: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

same here

@petermattson  - Can you take a look at this bug?

Hi Tatiana -- I'm not sure who owns timelines, but unfortunately that
person is not me.
On Fri, Nov 16, 2018 at 5:37 PM Tatiana Shpeisman<EMAIL_ADDRESS>wrote:

@petermattson https://github.com/petermattson - Can you take a look at
this bug?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/21697#issuecomment-439576428,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AhFaHY-S_R1h2Om-mCJG7ihlLrugNXcZks5uv2hGgaJpZM4WCd6r
.

I've run into this problem also. Haven't had a chance to dig in yet, but a few more notes about the issue:

In my application, the shift appears to happen on every session.run, but the ops that get shifted are not always consistent.
The amount of the shift appears to be (2^64 / 1000) us, or 2^64 ns. This suggests that the timing values might be stored as 64-bit integers representing timing in nanoseconds. They might be overflowing or the overflow is not being handled correctly.

Is this still an issue with the latest version of TF?

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Expose enableDrag property for showBottomSheet

fixed #90664
Pre-launch Checklist

[ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[ ] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[ ] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[ ] I signed the [CLA].
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is [test-exempt].
[ ] All existing and new tests are passing.

@googlebot I signed it!

@googlebot I fixed it.

Hi @sanlittt, thanks for the PR!
Looks like there are some analysis errors and test failures that need to be fixed, but this looks like a reasonable change to me.  Thanks for writing some good tests!
Please correct the failures, and I'll be happy to give it a final review.

Gold has detected about 1 new digest(s) on patchset 9.
View them at https://flutter-gold.skia.org/cl/github/90932

Gold has detected about 1 new digest(s) on patchset 10.
View them at https://flutter-gold.skia.org/cl/github/90932

Hi @sanlittt welcome! 🎉 For the public showBottomSheet methods where you have added enableDrag, can you add some documentation for what enableDrag means and what the default behavior is?

done


Shrink the navbar and hide the statusbar in landscape mode.

To do so, create a new function getRefreshedStyles in StylesProvider.js for updating the height of the navbar. Whenever the orientation is updated, get the new styles from getRefreshedStyles and apply them.
I chose 40 as the landscape navbar height, but only for aesthetic reasons. If another value makes more sense, let me know!
(Done for the "Issue #1187 Slimmer nav bar in landscape mode" Google Code-in task.)

Good job indeed.
You can split this in two. First, just hide the status bar. Then on a second consider the nav bar height (which might be ok as is though)
Do not forget to consider the safe area offset - which is to make it work on iPhone X (and possibly more devices later).

@jainkuniya Thanks for the suggestions! I redid almost everything in the new commits, ef38bc9 and a0a9ee5, with your ideas. I agree that it makes it a lot simpler!

@borisyankov Thanks! I tested it on iPhone X, and vertically it works fine:

Horizontally, the navbar is OK, but the notch cuts off part of the messages on the side (when taking screenshots in Xcode, for some reason it acts as if the notch isn't there, when really it cut off the AMs and the in in Steve Howell's message):

However, I also ran the simulator on the version of the app before my commits, and the notch-on-the-side problem was also apparent.
Since it doesn't come as a consequence of the shrinking navbar, I was thinking that the notch side inset may be a bit out of the scope of this pull request; I could be wrong, though. Please let me know if I should work on it in this PR. I would need some guidance as to how to use the safe area offset. Thanks!

Thank you!

@borisyankov is this ready to be merged, or is there more I should work on?

@borisyankov OK, the tests are passing now. I also split this into 2 PRs like you suggested, #1658 and #1659. Tests are passing there as well, too.
Please let me know if there is more I should work on here, or if I should close this PR since it is now redundant. Thanks!

The PR still feels like too much change, too much work and too much chance of regression for not enough benefit. We can reconsider this, but closing for now.


WIP: Add components check step to builds

aspnet/AspNetCore-Internal#1254

We've decided to start with aspnet/AspNetCore. Also need to change (remove) a few settings because the new task failed though the CI builds succeeded.


Makefile: update the golden files when running make bump_metallb

Most often than not, meaningful metallb bumps bring helm charts modifications. Because of that, automated bumps generally fails because of the differences with golden files.
Here, we facilitate the life of who is trying to bump metallb (human or machine) and run go test update automatically.

lgtm


I cannot see the any returning value in ios simulator

Description

I would like to see the proper returning value from the function call in IOS simulator

All function returns empty string on IOS simulator
Android works well

Use Case

IOS simulator
"react-native": "0.57.7"
"react-native-device-info": "^1.4.1"
I installed through Pod

[ Pod setting ]
pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == "React"
target.remove_from_project
end

same here both on simulator as well as on a device

This happens a lot. Integrating all this tech (react-native, cocoapods, 3rd party modules with native code) is difficult. But I'm 99.9% sure it's not this module's fault.
Please git clone the repo as of the last commit on master where I added CocoaPods support to the example, then:
cd example && npm i && cd ios && pod install && cd .. && react-native run-ios
If it doesn't work, please open an issue related to the example not working for iOS + pods. I just tested that though. it works.
If it does work, there is a problem with your application, examine the example to see how it works and carefully apply the same style to your app


added new file 'firstTest.cy.js' and updated configs

All good, except coding style issues
Pls check my comments and fix it. Then merge pr.


Update docs to use system access tokens for pr-gating

The gating and pr-gating scripts can both leverage the standard build service token $(System.AccessToken) to complete API calls. It should work natively on the gating script. The pr-gating script also requires write permissions for PRs so that would need to be added in ADO RBAC first.

Ex:

Fixed by #39


Create "frontened" modules with interfaces.

The project has been modularized on branch https://github.com/CrystalShardDiscord/CrystalShard/tree/modules
Before continuing work on features, we should finish modularizing the project, so that everything can be changed on demand.
We need to add "frontend" modules, which we can then implement using gradle.

CrystalShard-Util
CrystalShard-Logging
CrystalShard-Core

And their implementations:

CrystalShard-Util-8
CrystalShard-Util-11
CrystalShard-Logging-8
CrystalShard-Core-8
CrystalShard-Core-11

A lot of careful rewriting is connected to this step.
Keep in mind, that we can not have Util depend on Logging depend on Core depend on Util; and so on.
All Modules should best be standalone.
I will create a visualization image later and post it here.

I think I will use a Delegation package for this

CrystalShard-Delegation -> Will contain classes to get and create Delegates
CrystalShard-Logging -> Will contain Delegate interfaces that contain all useful methods
CrystalShard-Core -> Will contain Deletgate interfaces that contain all useful methods
All implementation modules will get sub packages like de.kaleidox.crystalshard.core.delegates, that contain all (similar named) delegate implementations.


Simple migrations

I've added a very basic static migrations method to events. It gets called every time an event gets deserialized (meaning you could run a replay to migrate all data before removing the method).
I simple migration would look like this:
public static function migrate(): array
{
    return [
        fn(Collection $v0) => $v0->put('migrated', true),
    ];
}

It will require existing users to add the MigrationNormalizer::class to their config if they've published it.

I also looked into making a phase/hooks for migrate, such that it's only called on replay and would have access to the container. Would perhaps make more sense and be more powerful than being embedded in the serialisation process.

@nick-potts I love that you're taking stabs at this, but Daniel and I have a lot of thoughts about how migrations should eventually work and this just doesn't quite feel like it yet. I love the idea of doing them as part of the denormalization step, though. That's an excellent approach. But I think we want to just mull this over a little longer before committing to a migration API.


[Configuration]validator.chiper-suites enum  values may be more  frendly for humans

Version of KrakenD you are using
2.8.0
Is your feature request related to a problem? Please describe.
Currently enum values for  validator.chiper-suites  array  (and also in other places of the configuration) looks like this
"enum": [
          5,
          10,
          47,
          53,
          60,
          156,
          157,
          49159,
          49161,
          49162,
          49169,
          49170,
          49171,
          49172,
          49187,
          49191,
          49199,
          49195,
          49200,
          49196,
          52392,
          52393
        ]

These values are not very clear and require studying the source code to use.
Describe the solution you'd like
I think it is possible to replace this values with more understandable string values.
For example,
TLS_AES_128_GCM_SHA256       uint16 = 0x1301
TLS_AES_256_GCM_SHA384       uint16 = 0x1302
TLS_CHACHA20_POLY1305_SHA256 uint16 = 0x1303

Also, a description of the values can be added to the documentation.

Hi @Hemiun thanks for the feedback.
While the list of cipher suites might seem unclear at first, there’s no need to check the source code to find the ones you need. We’ve them already outlined in our documentation here: https://www.krakend.io/docs/authorization/jwt-validation/#cipher-suites.
If you're looking for more information about the ciphers themselves, there are some great tools available. For example https://ciphersuite.info/


[Fix #2388] any converter now validates the value to url_for

Add method for to_url for AnyConverter. Add protection for AnyConverter to raise a ValueError for items not specified in the rule when the build method is called by running a value in set(items) check.
Add test for assertions where values do match to items in the rule, and assertions for something invalid.

fixes #2388

Checklist:

[x] Add tests that demonstrate the correct behavior of the change. Tests should fail without the change.
[x] Add or update relevant docs, in the docs folder and in code.
[x] Add an entry in CHANGES.rst summarizing the change and linking to the issue.
[ ] Add .. versionchanged:: entries in any relevant code docs.
[x] Run pre-commit hooks and fix any issues.
[x] Run pytest and tox, no tests failed.

I do not believe Add .. versionchanged:: entries in any relevant code docs. is applicable to this contribution. Please advise if there are any changes necessary.


Publish helm charts to a helm repo

This is a follow up to https://github.com/kubernetes-incubator/service-catalog/pull/728#discussion_r112563258
Currently, we reference version-tagged images in our helm charts, not canary. This keeps our walk-through stable, but long-term I'd like to see us treat our helm charts as published artifacts just like our docker images.
This issue is for the following:

Publish helm charts to a helm repo, just like we publish images to quay (iirc, quay now can host helm charts - I don't know any more details right now)
Change the image tags in our helm charts back to canary
Modify the walk-through to point to the versioned helm charts in the helm repo

This is not necessary for 0.1.0, moving to 1.0.0

See https://github.com/kubernetes-incubator/service-catalog/issues/1129 for additional discussion

Is https://kubeapps.com/ the correct place?

maybe https://github.com/kubernetes/charts but in incubator for now.

Hey folks!
Charts maintainer here.
We don't currently have the ability to add charts to the main Charts repositories (stable/incubator) without the source living in our repo. That said, plans are in motion to figure out a methodology for it.
Would you be willing to have a snapshot of the chart from this repo added to kubernetes/charts and updated/synced periodically until we figure out delegation?

@viglesiasce how are they versioned/tagged in that repo?

You can choose the versioning scheme you'd like.
Generally folks use the appVersion field of the Chart.yaml to denote the relevant software version and the version field to denote the revision of the chart it self.
The Istio chart has decided to use $appVersion-chart$chartversion (0.2.6-chart1) in order to keep things more in sync for users. Inevitably there will be changes to the chart that don't coincide with any application version change so its hard to keep them fully in sync.

Sorry, I wasn't clear. If we want to push v0.0.23 of the helm charts into the k9s/charts repo we can put v0.0.23 into the yaml but is there a mechanism for someone to pull down the v0.0.22 version w/o having to try to find which commit was associated with v0.0.22 ?

Ah yes all old versions live on. You can always do a helm install stable/service-catalog --version  0.0.22.

Sync on version tag sounds good to me.

I'd be happy to do a snapshot - assuming we can have a script or something to do it during the release process.

It would need to submit a PR to the kubernetes/charts repo (and possibly ping a maintainer via comment).
Sound reasonable?

I agree RE the way to do chart versioning, but I don't want us to copy our chart into kubernetes/charts while we're in beta. It makes more sense for us to own the helm repository at this point, and that means uploading to an HTTP server. GCS or Azure blob storage make most sense at the point because Google and Microsoft are represented in this group.
kubernetes/charts itself has a script to do this upload for the official repository (they use GCS). I'm suggesting we do this for our own repository for now.


Update _TEMPLATE.md

Deleted "Status: Feedback Appreciated" below the metadata as that info is already part of the metadata. Unless there is a reason I'm not aware of, I'll go ahead and delete it in all other files and commit directly to the main branch once this is merged.

I don't mind removing it but then we'd need to remove it on all of them. Thoughts?

That's what I said above :) Unless there is a reason, I'll go ahead and remove them all.

Sounds good. I'll update the style guide and create a PR later today.


parser change.

Issue found by running custom written query on lgtm.com (as discussed by email with @fehguy: https://lgtm.com/query/2023830455/project:24760076/lang:java/

Many thanks!  Tests look good.


Unable to create multiple listeners using same class with KafkaListener annotation at class level

There is issue in this line, we have to exclude the current bean if has no annotation in methods or in class level, should be something like :
if (annotatedMethods.isEmpty() && ! hasClassLevelListeners) {
          this.nonAnnotatedClasses.add(bean.getClass());
          this.logger.trace(() -> "No @KafkaListener annotations found on bean type: " + bean.getClass());
}

https://github.com/spring-projects/spring-kafka/blob/c6bbba8b55406ff6ba605f350959ab070bc0cfea/spring-kafka/src/main/java/org/springframework/kafka/annotation/KafkaListenerAnnotationBeanPostProcessor.java#L380

Thanks for reporting.
Curious: How did you create an issue with no labels? The [New Issue]https://github.com/spring-projects/spring-kafka/issues/new/choose page does not have an option for that.


Tab Completion issues

Hello,
I'm having a few issue with the syntax highlighting not working when using tab completion in certain scenarios (I know of 2 so far).
Scenario One:
When hitting tab to perform a completion, but there is no valid completion, the syntax highlighting will disappear.
Example when typing cd and then continuously hitting tab until you have no where else to go:
One tab:

Hit enter to select Desktop and then tab again:

Scenario Two:
When tab completing a command (or alias) the highlighting works a bit odd.
Example (using the yalst alias from the omz archlinux plugin):
Before tabbing:

One (or more) tabs:

Now selecting with Enter appends a whitespace to the command, but doesn't apply highlighting. The highlighting is first applied when I hit backspace or write anything else. If I were to hit tab again the highlight still isn't applied.
Select with Enter:

Hit Space:

Tab Right After:

Tab After Space:

.zshrc: https://pastebin.com/UDXY7L42
.zsh_plugins.txt: https://pastebin.com/J2nUf4yu
If any other info about my setup is needed please let me know!

Try the feature/redrawhook branch.

Try the feature/redrawhook branch.

That fixed my issues, thanks! :)

@danielshahaf I'm still facing first scenario it's no big deal but I think this is not fixed yet

@mortezadadgar Did you try the proposed workaround?

@mortezadadgar Did you try the proposed workaround?

redrawhook branch isn't merged into master?

That branch has been merged but the new code is guarded by an is-at-least <IP_ADDRESS>.  Try enabling the new codepath.

@danielshahaf yeah enabling redraw fixes the problem but it does introduce another issue with autosuggestions whether it's loaded before or after this plugin


Needs to be published to maven central

It's work in progress. Definitely needs to be published and I will figure out how in a week

You can now download dependency via maven central using the updated README.md tutorial


Missing optimistic updaters or a better UX on Mutations

For example, when we delete an item from the cart here: https://demo.vercel.store/cart
Apps gets stuck/frozen instead of optimistically delete it like a facebook button like click.
Facebook does that by optimisticUpdater: https://relay.dev/docs/en/mutations

I was thinking about this when I tried changing (removing) some items from the cart sidebar view. I was going to create an issue but searched first and found it here.
I'd like to work on this. I'm not sure about the starting point but I believe it should be related to these two hooks used here and here.
BTW, I've made a simple zero dep hook for implementing optimistic UI before. The repo is here.
I appreciate if someone from the core team helps me and answer these questions:

Should/can I use the mentioned hook in this project? I obviously will update the hook and the dev deps there beforehand.
Was my assumption correct about those hooks mentioned in the first two links?
Can you assign this issue to me, so no rework by anyone else in the community?

Oh. I think the hooks used in this file are the ones to update.

Closing for now a we have some basic optimistic updates but don't want to invest to much on improving it until we have a very strong foundation for every provider


use ws based rpc layer over tcp ones

Replace the tcp socket server with a ws based http server, as the tcp server would be unexpected closed every 5mins by the os.

We need not to use ws to replace tcp connection any more.


Update README.md

@seabornlee Thanks for reading. Thanks for the fix. Cheers. Prost. Greetings from Vienna.

Cheers!
Very happy to be accepted~


Missing include: does not build

This does not build. The include is missing and I believe that it does not come indirectly via another include.

thank you!


Drop support for ruby 2.7 and add 3.3 to test matrix

Bump minimum ruby version to 3.0

A wild guess: https://github.com/countries/countries/blob/v5.7.1/spec/thread_safety_spec.rb#L14
100 Threads might not be enough to consistently get a thread safety issue considering Ruby's improved M:N Thread scheduler: https://github.com/ruby/ruby/blob/ruby_3_3/NEWS.md#mn-thread-scheduler
I tried to run it with 250 threads, but still don't get a race-condition. After 251 threads, my systems fails with Errno::EMFILE: Too many open files for the test that skips using a mutex.
I've injected the current thread ID into the cache object in each loop, which resulted in a unique ID for each thread, so the cache object is not thread-local I guess (to be expected?).
Other stuff I tried that didn't help:

directly call load_data! in each loop in each thread
adding sleep Kernel.rand(0.0001..0.001) in the synchronized block to have some artificial jitter with accessing the cache
adding random time delays in the file opening method
run for 250 threads and loop over 10k language codes

I ran tests on a M1 Max with 10 cores.

@swiknaba Thanks for digging into that. I haven't had any success either.
That code has been around for about 4 years, since before I was maintainer of the gem, and I don't think anyone reported thread safety issues since then. The #use_mutex? method is only there to force tests to run without the mutex anyway, so I think I'm just going to remove it and update the specs.


Scrolling coins background on pending payments

The majority of this diffstat is from storyshots.
r? @keybase/react-hackers

Yep, where aren't you seeing it?

maybe these messages aren't the right kind?

O hmm, when I ran this just now, all my messages have this background applied to them!

nvm I was apparently on an old version of this branch lgtm

Ah @zanderz sorry should've clarified, it's on the chat messages not the wallet page


[bug]: GET and POST route handler from createRouteHandler  does not satisfy the constraint 'ParamCheck<NextRequest | Request>'.

Provide environment information
System:
    OS: Windows 11 10.0.22631
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
    Memory: 584.21 MB / 15.74 GB
  Binaries:
    Node: 20.12.2 - C:\Program Files\nodejs\node.EXE
    npm: 10.8.1 - C:\Program Files\nodejs\npm.CMD
    pnpm: 9.4.0 - ~\AppData\Roaming\npm\pnpm.CMD
  Browsers:
    Edge: Chromium (127.0.2651.74)
    Internet Explorer: 11.0.22621.3527
  npmPackages:
    @uploadthing/react: ^6.7.2 => 6.7.2
    typescript: ^5 => 5.5.4
    uploadthing: ^6.13.2 => 6.13.2

Describe the bug
import { createRouteHandler } from "uploadthing/server";
import { fileRouter } from "./core";

export const { GET, POST } = createRouteHandler({
  router: fileRouter,
})

Type error: Type '{ __tag__: "GET"; __param_position__: "first"; __param_type__: Request | { request: Request; }; }' does not satisfy the constraint 'ParamCheck<NextRequest | Request>'.
  Types of property '__param_type__' are incompatible.
    Type 'Request | { request: Request; }' is not assignable to type 'NextRequest | Request'.
      Type '{ request: Request; }' is not assignable to type 'NextRequest | Request'.

  31 |     Diff<
  32 |       ParamCheck<Request | NextRequest>,
> 33 |       {
     |       ^
  34 |         __tag__: 'GET'
  35 |         __param_position__: 'first'
  36 |         __param_type__: FirstArg<MaybeField<TEntry, 'GET'>>

Link to reproduction
https://stackblitz.com/edit/github-n44ttb?file=with-nextjs%2Fnextjs-error%2Fpackage.json
To reproduce
create route handler as same as example and build project
Additional information
No response
👨👧👦 Contributing

[ ] 🙋♂ Yes, I'd be down to file a PR fixing this bug!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

What server are you using?

@markflorkowski
i added the repo

If you are using Next, you should be importing from the uploadthing/next path
-import { createRouteHandler } from "uploadthing/server";
+import { createRouteHandler } from "uploadthing/next";


fix: Throw error if createStore is passed several enhancers

This commit adds a check for whether the user is passing several
enhancers to the createStore function.
Fixes #3114.

I added two checks - one if you're passing something like
createStore(reducer, func, anotherFunc) // throws

, and another one if you pass initial state as well:
createStore(reducer, { initial: 'state' }, func, anotherFunc) // throws

I'm up for changing whatever - but I'd love some feedback first!

Looks good to me.
@timdorr , any objections?

LGTM. Thanks!


Image played twice during slideshow cycle if shuffle=True

As discussed here, there has been a general feeling that some images are being played more than others during a single cycle of the playlist. I added some db-based play stats to each image record (noted in the previously linked issue), which proved there was a legitimate, (although minor) issue here. According to my initial investigation, it seemed I was seeing (roughly) 1 image get an extra play per playlist cycle.
After some digging, I've found the cause (at least for my specific issue), which is only evident when the configuration option shuffle = True.
The problem is in model.get_next_file(). Here, we've just displayed the last image. Assuming shuffle=True, we set the flag to shuffle the playlist on the next pass and set __file_index=0 (to point back at the first image in the playlist).
However, since the playlist won't actually get shuffled until the next cycle, we end up playing the first image in the playlist one additional time at the end of the cycle.
So, per playlist cycle, the first image displayed is also played one more time at the end. Once that's done, the playlist is reloaded, and the (likely different) "image 0" is played at the start of the playlist (and will be replayed at the end).
I've made changes to the same area in the open PR https://github.com/helgeerbe/picframe/pull/138 to fix issue https://github.com/helgeerbe/picframe/issues/119 and am now testing an experimental fix for this issue.
If anyone has input (testing or otherwise) on PR https://github.com/helgeerbe/picframe/pull/138 that'd be great. I'd like get it merged and then build upon it for this fix.

When I first did the random play option I think I imagined that the shuffling would only happen every five run throughs. The reason for that is because using the same sequence keeps the image repeat a full N apart. If the shuffle process is done every loop then there are bound to be some images that are shown quite soon after the previous showing.
The problem is mainly human psychology. We are just super sensitive at spotting patterns, even when they don't exist, as evidenced by our perceptions of the slide frequency. Simplest way to make it seem more random is to shuffle it less often!

@paddywwoof - yep, I agree with all of that. When starting any shuffled cycle, it's always possible for an image near the end of the previous cycle to now be near the start of the current cycle - making it display twice in a short time interval.
And, as you say, increasing the shuffle interval helps to make that situation occur with less frequency.
Regardless though, I think that showing the first image twice during a single cycle of the playlist (as happens now) is unintended and really is a bug that should probably fixed. Do you agree?
Related, now that we have a "last displayed" time stamp for each image, it should be possible to prevent the re-display of images in a short time interval - although I don't think it'd be worth the trouble.

Related, now that we have a "last displayed" time stamp for each image, it should be possible to prevent the re-display of images in a short time interval - although I don't think it'd be worth the trouble.

That would be super neat. Admittedly, nice-to-have only but maybe there is a clever way to achieve this.. :-)

The problem is mainly human psychology. We are just super sensitive at spotting patterns, even when they don't exist, as evidenced by our perceptions of the slide frequency.

No doubt, it's all in the mind.

Simplest way to make it seem more random is to shuffle it less often!

@paddywwoof If the shuffling is set to more often, it repeats the same order, doesn't it? That may not be ideal, either, that's why I always set it to "1". Or did I misunderstand this parameter?

@paddywwoof If the shuffling is set to more often, it repeats the same order, doesn't it? That may not be ideal, either, that's why I always set it to "1". Or did I misunderstand this parameter?

I'll answer for paddy (correct me if I missed something)...
Assuming shuffle=True, it'll run reshuffle_num complete iterations of the slideshow before reshuffling the image order. And, those iterations (up until the next shuffle) will run in the same order.

Created PR https://github.com/helgeerbe/picframe/pull/140 for issue https://github.com/helgeerbe/picframe/issues/139 and https://github.com/helgeerbe/picframe/issues/119.
I'll wait to merge in case anyone has input.

I'll likely merge this into dev sometime evening unless anyone plans to test it independently. I'm happy to wait if that's the case - just let me know.


Localize remaining non-doc aspects of app & site

Localize all appropriate elements of

Dashboard (via stats link)
Gov (via gov link)

If any of this is being overhauled in V2, perhaps now's not the time to address this. Comments?
I'm happy to tackle this as a dev. My dev environment is finally ready to go.

Based on feedback from @superbeefyboy, only the dashboard is worth addressing.
Taking this on then. If appropriate, please assign issue to me.


Add *VDU command to MOS

Requested by Fred Smith. A useful enhancement that will enable users to do things like change modes via the command line / autoexec.tx

Usage:
*VDU   ...
Example: Change to screen mode 1
Note hex and decimal values can be used
If a character code > 255 is encountered, the VDU will stop outputting at that point with a Bad Parameter error
*VDU &16 1


New UI Design Contribution

Make sure you have read our contributing guidelines before submitting this issue.
Name
TAILOR
Figma Community URL
https://www.figma.com/community/file/1222591392920510949
Your Figma Profile
https://figma.com/@ariar

Thank you for your contribution, @ariear! I will add it to the collection.


Pinterest API is always asking for permissions

I am using the NodeJS version of the API, and everytime I execute a script, for example get_analytics.js, I am redirected to developers.pinterest.com and have to give permission.
I have my APP_ID and API_SECRET configured and env | grep PINTEREST_APP returns them correctly.
Why is this happening?

Hi, @epsilongithub. I'm closing this issue, but please feel free to reach out with additional questions and/or feedback for us.


WIP fixing travis fails on localnodestore_test

This doesn't happen locally and occasionally happens on travis this is why its being test here on the pr :)

im closing this pr and re opening to make sure its not a first run time error. its passes everytime now


Active Model Errors

Hey,
I'm wondering if this code:
  validates :start_at, :end_at, overlap: { ... }

shouldn't add errors for :start_at and :end_at? Actually it adds error only for :start_at. What do you think?

Hi,
looking to the code, I can confirm, that error message is added to the first attribute only.
https://github.com/robinbortlik/validates_overlap/blob/master/lib/validates_overlap/overlap_validator.rb#L27
What is the use case for you to have it on both attributes?
Wouldn't you have duplicated error messages?

Thanks for your quick reply.
I think that it would be useful for someone who uses https://github.com/plataformatec/simple_form and would like to have displayed errors with both fields out of the box. I think that it's even more appropriate to show error for ended_at too in that case because gem doesn't provide information which attribute fails validation in fact, correct? In other words, if error is assigned to start_at only it may suggest that started_at overlaps, but it does not have to be true.
For apps which doesn't display errors inline that's not necessary. As you said, it would lead to duplicated errors. Ideally would be to allow to configure it somehow then, I think.

@robinbortlik What do you think about #43 ?

Hi @rafaltrojanowski first, I would really like to apologise because I'm so busy with my daily job and forgot to answer you.
So basically your solution adds error to multiple fields, but how do you know which one really overlapped?
I'm definitely fine with this solution if it fulfil your needs. Or we can take it as a first step and think about how to make it even better later.
So do you want me to merge it now?
Will this solution really help you?

Closed by #43


sort colors using collections

hey @aaryahjolia  it is a questing based on sorting .i have simple solution and i also give detail explanation .i am intrested to contribute in this issue.please assign it to me.i also solved dsa questions in gfg,leetcode.i am a contributor in gssoc23

I'm a contributor for GSSoC '23, I want to work on this issue. Please assign me.

I raised to this issue first .please  May i contribute this first