Foundation is adding role to the dropdown HTML - Google Lighthouse ADA Audit is failing

We are using Foundation for our project and I’m working on an WCAG (accessibility) issue that is generated by the Google Lighthouse Chrome Extension (but this is the same as running an Accessibility audit via Chrome Inspect tool > Audit tab).
The HTML that is pasted below is the html developed by us for mobile navigation menu of our application. We didnot add any ADA roles or attributes added as a part of initial development.
But, looks like Foundation is adding the role=”menu” to the first  element of the menu as per the compiled HTML loading in the DOM and failing by the lighthouse tool and the code snippet below.
Here are some work arounds I’ve tried in an effort to resolve the ADA issue:

I explicitly added role=”menubar” as per https://www.w3.org/TR/html52/dom.html#allowed-aria-roles-states-and-properties standards.
I explicitly copied just the htmls for dropdown menu and accordion menu from foundation site and ran the lighthouse tool the results show the same error below.

Google lighthouse error details in the attachment below.
google_lighthouse_error.txt
and link to https://dequeuniversity.com/rules/axe/2.2/aria-allowed-attr?application=lighthouse

Any suggestions to fix this problem, or are there any known issues with Foundation that may be causing this?
How to reproduce this bug:

Not sure if this can be replicated it is very specific to HTML layout for accordion menu. But can try copying the menu html code snippet for menu we developed in the attachment.
dropdown_lighthouse_ADA_Issue_Menu_CodeSnippet.txt
into a already setup foundation project.
Add google lighthouse chrome extension to chrome browser
Open the html file, in the browser click on lighthouse extension and click on Generate report.

What should happen:
You should get zero errors on lighthouse ADA audit.
What happened instead:
See this error when ran google Audit.
Google lighthouse error details in the attachment below.
google_lighthouse_error.txt
and link to https://dequeuniversity.com/rules/axe/2.2/aria-allowed-attr?application=lighthouse
Everything specified below is being added by foundation to the div element.
role="menu" aria-multiselectable="true" data-accordion-menu="7385d8-accordion-menu" data-mutate="2cnxqc-responsive-menu", of which the concerning and the current show stopper is role="menu" and google lighthouse tool is failing.
Browser(s) and Device(s) tested on:
Chrome browser but happening on HTML related to Mobile.
Foundation Version(s) you are using:
6.3.1
Moreinfo:
moreinfo.txt
App.js
blt_appjs.txt

Hi @gkanukuntla. This should be fixed in v6.4. Please reopen if I am wrong.

@ncoden Can you please reopen this? I updated the issue with more details. In the text doc called moreInfo.txt. Thanks!

I am not able to reproduce it v6.4. role="menubar" is applied on responsiveMenu, and the accessibility audit run well.

Same here. Did you check the latest release?

@DanielRuf  Hey Daniel did you try the google lighthouse extension tool to run the audit on the url I mentioned in moreInfo.txt file?

https://github.com/zurb/foundation-sites/blob/03fd670d33a921d68ef794f5c16a260e1b128a33/js/foundation.util.nest.js#L38

I guess you mean this.

@DanielRuf  Yes. and the google lighthouse ADA audit is failing saying that
Google lighthouse error details:View failing elements
[aria-*] attributes do not match their roles

The code snippet of the failing element is in the attachment in the Issue description dropdown_lighthouse_ADA_Issue_Menu_CodeSnippet.txt

@DanielRuf  Daniel, are you saying to change menu to menubar in my code base in  foundation.util.nest.js file? Please confirm. Thanks!

This is the only place where menu is used. Please search for the code in foundation.js and try changing it like I do in my PR.

@DanielRuf  Found it made changes already, just wanted to make sure if this is the only js file. Will keep you posted about the results.

@DanielRuf  I changed in the mentioned js file and still see ADA failing. Just searched through app.js and I find 2 more places, do you recommend changing in the all the places wherever role="menu" is being used change it to menubar? Attached is the app.js you can find the other places. Also our project is using Float grid just want to let you know.

@DanielRuf  Sorry missed attachment
updatedjs.txt

What shall I do with this file?

@DanielRuf  I just attached for your reference if you want to search for role="menu" which  is being added in three other places other than foundation.util.nest.js . if you want to take a look at it. I also found that foundation.drilldown.js  and foundation.accordionMenu.js also has references to role:"menu" in three places all together, do you suggest changing them to menubar as well?

https://www.w3.org/TR/wai-aria-1.1/#aria-multiselectable
aria-multiselectable is only allowed on grid, listbox, tablist and tree.

I just see tree here; https://github.com/zurb/foundation-sites/search?utf8=✓&q=multiselectable&type=

do you suggest changing them to menubar as well?

Please check Foundation 6.4.3, I did not find other occurences of menu

Manually changing foundation.js is not recommended,

@DanielRuf  We are using 6.3.1 not 6.4.3 and on the manual changes I'm only changing the individual foundation javascript files and compiling them into app.js very specific to my applicaiton.

Sure but these changes and a few more are only in 6.4.3 and the other change regarding the aria attribute is currently checked by me.

@DanielRuf  Sorry I didn't understand, are you saying this might not work with 6.3.1 and the solution is  to upgrade or is there any way to fix this issue in the current version we are using.

Changing the sourcefiles is not recommended. 6.4.3 already uses menubar. The other change is still checked by me.

@DanielRuf  Few things:

I understood that 6.4.3 has the solution.
But as I said we are using 6.3.1 - Are you suggesting an upgrade to 6.4.3
Or do you have or working on a specific fix for my issue? which I don't see is possible because it is happening due to the version of the foundation we are using. Please confirm
In your previous comments you mentioned "The other change is still checked by me" what do you mean, I didn't really get it.
Thanks for your support.

@gkanukuntla As no patch version is planned for v6.3.*, yes we recommand you to upgrade to a new version of Foundation. You can switch to v6.4.3 but we know that some users had problems with their build, so I would rather advise you to wait for v6.5.0 coming the next week.
We know this is not convenient to having to migrate to get new bug fixes, and we will pay attention to this for v6.5. You can expect all new bug fixes coming in the next releases to also come in a patch release for v6.5 (like v6.5.1 and so).
I think that what @DanielRuf was trying to say is that he already took care of the role="menu" left in our code, so you can expect this issue to be fully fixed in the next release (next week).

@ncoden Thank you so much for  all your support that makes sense.

Hi @ncoden,
Sorry for jumping in here last minute. We are using the Zurb template but not the latest version that includes the XY grid since it was released after we set up our site. We are using the float grid.
My thought is that we could download the JS files and update the existing JS files but this would more than likely mean we would also want to update all of the SCSS files.
The other option could possibly be to use the JS CDN for the v6.5 release coming next week.
Would love to hear your thoughts on that. Thanks so much!

@mveenstra we will likely update the template shortly after the new release. Replacing the js and scss dirs with the js and scss dirs from the main repo might work.

Sure but these changes and a few more are only in 6.4.3 and the other change regarding the aria attribute is currently checked by me.

aria-multiselectable is only on tree elements in the latest release.
Can you try to create a codepen and check if there is also the issue?
You can fork https://codepen.io/DanielRuf/pen/xWYvXK and fill the HTML pane.


Provide simple example of usage

Thanks for the great library!
It would be helpful to provide a simple example program of usage.  The main.c is a little verbose and has a lot of cruft dealing with coloring and saving to an image file.
Here is an example program:
// to compile:
//
// gcc jc_voronoi_example.c -I../src -o jc_voronoi_example  -lm
//

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define JC_VORONOI_IMPLEMENTATION
// If you wish to use doubles
//#define JCV_REAL_TYPE double
//#define JCV_FABS fabs
//#define JCV_ATAN2 atan2
#include "jc_voronoi.h"

#define NPOINT 10

int main(int argc, char **argv) {
  int i;
  jcv_rect bounding_box = { { 0.0, 0.0 }, { 1.0, 1.0 } };
  jcv_diagram diagram;
  jcv_point points[NPOINT];
  const jcv_site *sites;
  jcv_graphedge *graph_edge;

  memset(&diagram, 0, sizeof(jcv_diagram));

  srand(0);
  for (i=0; i<NPOINT; i++) {
    points[i].x = (float)rand()/(1.0 + RAND_MAX);
    points[i].y = (float)rand()/(1.0 + RAND_MAX);
  }

  // seed sites
  //
  for (i=0; i<NPOINT; i++) {
    printf("%f %f\n\n", points[i].x, points[i].y);
  }

  jcv_diagram_generate(NPOINT, (const jcv_point *)points, &bounding_box, &diagram);

  sites = jcv_diagram_get_sites(&diagram);
  for (i=0; i<diagram.numsites; i++) {

    graph_edge = sites[i].edges;
    while (graph_edge) {
      printf("%f %f\n", graph_edge->pos[0].x, graph_edge->pos[0].y);
      printf("%f %f\n", graph_edge->pos[1].x, graph_edge->pos[1].y);
      printf("\n");

      graph_edge = graph_edge->next;
    }

  }

  jcv_diagram_free(&diagram);
}

The generated seed sites:
0.840188 0.394383
0.783099 0.798440
0.911647 0.197551
0.335223 0.768230
0.277775 0.553970
0.477397 0.628871
0.364784 0.513401
0.952230 0.916195
0.635712 0.717297
0.141603 0.606969

Visualizing the seed sites and edges with gnuplot:

This assumes you're in an example subdirectory, say, to compile and run.  The number of points is hard coded and it creates the points randomly in a 1x1 box, but the above example gets across clearly how to set up, use and get useful information out of the library.  Presumably this 'double covers' the half edges but for illustration purposes I don't think that's a problem.
I'd be happy to submit a pull request if that's helpful.

Hi @JCash, glad you like the idea!
You might want to consider:

a comment at the head of the simple.c file to describe what the program is doing
a short README in examples sub directory describing the contents
a link somewhere, maybe in the main README, pointing to the examples sub directory for people wanting some sample code (presumably the examples sub directory can be populated with further examples down the line).

Updated the example folder with a README with some brief info


Add an example for reading message headers

Addressing #23

@jgallagher is this fine, or is it better to create an example file in examples folder?

bump

any feedback on this?

@kaxap Sorry I left this hanging for so long! This doesn't work as currently written because the delivery module is private, so the example you added doesn't show up in the generated pages from rustdoc.
I think it would be great to add something that demonstrates this to the examples, though. All the current examples have a partner example that can be run at the same time to see it in action. What would you think about this plus a corresponding example that sends messages with a custom header set?

hey, thanks for the reply! Unfortunately, I am not programming in rust for the last couple of months. I'll give this MR another try maybe in 3-4 weeks time if that's okay.

Sure, no problem! 👍
I left this hanging for a long time, take as much time as you want.


Type checking of output arguments

Many built-in predicates require the type checking of the output argument. Conceptually, this is best represented by a checking goal like can_be(list, Xs). The idea is that can_be(Type, Term) ensures there is an instance of Term such that Termθ is of type or domain Type. And if it is not, it produces mostly a type or domain error (7.12.2 b, c).
?- sort([],[t|1]).
?- a =.. [t|1].
?- term_variables(_,[t|1]).
?- findall(t,true,[t|1]).
?- bagof(t,true,[t|1]).
?- setof(t,true,[t|1]).
?- atom_chars(a, [t|1]).
   false, unexpected. % for all above
   type_error(list,[t|1]). % expected for all above.

And contrast this to must_be/2 which ensures that for all instances it holds that Term is of type or domain Type.

Ad mostly produces a type or domain error:
?- char_code(Ch,-2).
2022/07/23 09:11:09 error(representation_error(character_code),char_code/2)

This is a case where instead of a type or domain error a representation error is produces. The motivation behind is that character sets often can be extended, so maybe that integer is in fact member of a larger character set, which is not supported by a processor.
From a semantic viewpoint representation errors do not produce as precise information as type or domain errors. While type and domain errors are tantamount to failure and thus (for simple built-ins that do not contain further goals) mean that there is simply no solution at all, representation errors just mean that some limit has been reached and we cannot conclude anything about the meaning of that error.
This is again another good reason to prefer chars over codes.

Fixed in v0.10.3.
$ $(go env GOPATH)/bin/1pl
Top level for ichiban/prolog v0.10.3
This is for testing purposes only!
See https://github.com/ichiban/prolog for more details.
Type Ctrl-C or 'halt.' to exit.
?- sort([],[t|1]).
2022/08/01 10:23:37 error(type_error(list,[t|1]),sort/2)
?- a =.. [t|1].
2022/08/01 10:23:44 error(type_error(list,[t|1]),=.. /2)
?- term_variables(_,[t|1]).
2022/08/01 10:23:51 error(type_error(list,[t|1]),term_variables/2)
?- findall(t,true,[t|1]).
2022/08/01 10:23:58 error(type_error(list,[t|1]),findall/3)
?- bagof(t,true,[t|1]).
2022/08/01 10:24:06 error(type_error(list,[t|1]),bagof/3)
?- setof(t,true,[t|1]).
2022/08/01 10:24:13 error(type_error(list,[t|1]),setof/3)
?- atom_chars(a, [t|1]).
2022/08/01 10:24:21 error(type_error(list,[t|1]),atom_chars/2)
?- atom_codes(a, [0't|1]).
2022/08/01 10:24:32 error(type_error(list,[116|1]),atom_codes/2)
?-

Excellent!


Alignment to depth causes segmentation fault

Required Info

Camera Model
{ D435 }

Operating System & Version
{ Win (10) }

SDK Version
{ 2.16.1 }

Language
{C++}

Issue Description
I'm trying to align the rgb to the depth to obtain something similar to #2560 , the code i'm using is the following:
pipeline pipe;
config cfg;
cfg.enable_stream( rs2_stream::RS2_STREAM_COLOR, 848, 480, rs2_format::RS2_FORMAT_BGR8, 30 );
cfg.enable_stream( rs2_stream::RS2_STREAM_DEPTH, 848, 480, rs2_format::RS2_FORMAT_Z16, 30 );
pipe.start(cfg);
align align(rs2_stream::RS2_STREAM_DEPTH);

// ...
// ... later in a loop
// ...

 auto frameset = pipe.wait_for_frames();
 auto processed = align.process(frameset);

The segfault happens in the process function.

I fixed it by looking at the rs-measure example, the color stream must be of the format RS2_FORMAT_BGRA8 or RS2_FORMAT_RGBA8 in order for the alignment to work.

[Realsense Customer Engineering Team Comment]
@DuccioLenkowicz Thanks for the update! We'll close the ticket accordingly.

I wanted to reopen this issue because I've been struggling with it for several weeks. Has anyone else encountered the same issue as OP except his fix didn't work?

I also get same problem when try to run on Raspbian. Color formats did not help.
If do not call align process, it runs well.

Ah, I should also mention I'm running on Ubuntu, so technically its a different problem than OP because he's on Windows. Is there an open ticket for this on linux?

This seems to be very strange but issue only occurs if I "link" my program with other library(OpenVINO).
`
//#include "AIClient.h"
//#include "GlobalMatching.h"
#include
#include  <librealsense2/rs.hpp>
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include "RealsenseTool.hpp"
int main(int argc, char** argv)
{
//      GlobalMatching globalMatch;
    //AIClient aiClient1("829212072062", globalMatch);
    //AIClient aiClient2("912112074076", globalMatch);
    if(argc > 1)
            ;//aiClient1.model = argv[1];
    if (argc > 2)
            ;//aiClient1.device = argv[2];
    //aiClient1.start();
    //aiClient2.start();

    //aiClient1.join();
    //aiClient2.join();

rs2::pipeline pipe;
rs2::config cfg;
cfg.enable_stream(RS2_STREAM_INFRARED);
cfg.enable_stream(RS2_STREAM_DEPTH);
cfg.enable_stream(RS2_STREAM_COLOR);
pipe.start(cfg);
rs2::align align_to_color(RS2_STREAM_COLOR);
rs2::colorizer c;
while(1){
auto frameset = pipe.wait_for_frames();
frameset = align_to_color.process(frameset);//segmentation fault here
auto depth = frameset.get_depth_frame();
auto color = frameset.get_color_frame();
auto colorized = c.colorize(depth);
cv::Mat dMat = frame_to_mat(depth);
cv::Mat cMat = frame_to_mat(color);
cv::imshow("Color",cMat);
//cv::imshow("Depth",dMat);
int a = cv::waitKey(1);
if(a == 'q')break;
}        return 0;
}
`

And here is gdb log:

0x763f4134 in librealsense::align::create_aligned_profile (this=this@entry=0x1bdfa4,
original_profile=..., to_profile=...)
at /home/pi/OpenVINO/build/librealsense/src/../include/librealsense2/hpp/rs_frame.hpp:48
warning: Source file is more recent than executable.
48              /
(gdb) bt
#0  0x763f4134 in librealsense::align::create_aligned_profile(rs2::video_stream_profile&, rs2::video_stream_profile&)
(this=this@entry=0x1bdfa4, original_profile=..., to_profile=...)
at /home/pi/OpenVINO/build/librealsense/src/../include/librealsense2/hpp/rs_frame.hpp:48
#1  0x763f4a3c in librealsense::align::allocate_aligned_frame(rs2::frame_source const&, rs2::video_frame const&, rs2::video_frame const&)
(this=this@entry=0x1bdfa4, source=..., from=..., to=...)
at /home/pi/OpenVINO/build/librealsense/src/proc/align.cpp:218
#2  0x763f50d0 in librealsense::align::process_frame(rs2::frame_source const&, rs2::frame const&) (this=0x1bdfa4, source=..., f=...)
at /home/pi/OpenVINO/build/librealsense/src/proc/align.cpp:278
#3  0x764083e8 in librealsense::generic_processing_block::<lambda(rs2::frame, const rs2::frame_source&)>::operator() (__closure=0x1cb574, source=..., f=...)
at /home/pi/OpenVINO/build/librealsense/src/proc/synthetic-stream.cpp:67
#4  0x764083e8 in rs2::frame_processor_callback<librealsense::generic_processing_block::generic_processing_block(char const)::<lambda(rs2::frame, const rs2::frame_source&)> >::on_frame(rs2_frame , rs2_source )
(this=0x1cb570, f=, source=)
at /home/pi/OpenVINO/build/librealsense/src/../include/librealsense2/hpp/rs_processing.hpp:109
#5  0x764066d4 in librealsense::processing_block::invoke(librealsense::frame_holder)
(this=0x1bdfa4, f=...)
at /home/pi/OpenVINO/build/librealsense/src/proc/synthetic-stream.h:37
#6  0x764f4dd8 in rs2_process_frame(rs2_processing_block, rs2_frame, rs2_error**)
(block=, frame=, error=0x7effef40)
at /home/pi/OpenVINO/build/librealsense/src/core/streaming.h:138
#7  0x00031c38 in main ()


Update the readme to reflect the use of devcontainer

Description
Currently the README mentions the use of virtual envs which are no longer necessary when using a devcontainer.

You can keep virtualenv documentation, just clarify that it is not needed in DevContainers by creating two sections.
Don't forget that external developers don't necessarily use DevContainers as we do.


[6.x] Deprecate $factory variable and replace with Factory Facade

Brings model factories inline with other procedural files (e.g. routes) by defining factories via a Factory Facade rather than using the $factory variable.
Accomplished in a backwards-compatible way by ensuring the factory instance has been resolved within the service container before loading the files. The factory() function has a dependency on this service so there should only be one instance of the factory service.
As a Facade is used there is native IDE auto-completion without the need for a docblock.
Change is backwards compatible as the $factory variable remains in an undocumented state. No impact to the factory() function. Existing factory files can be incrementally updated to use the Facade by:

Removing /** @var \Illuminate\Database\Eloquent\Factory $factory */
Adding use Illuminate\Support\Factory;
Replacing $factory-> with Factory::

Here is an updated example taken from the official 6.x documentation:
use Faker\Generator as Faker;
use Illuminate\Support\Factory;
use Illuminate\Support\Str;

Factory::define(App\User::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'email_verified_at' => now(),
        'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
        'remember_token' => Str::random(10),
    ];
});

Factory::define(App\Admin::class, function (Faker\Generator $faker) {
    return factory(App\User::class)->raw([
        // ...
    ]);
});

See related idea for more information: https://github.com/laravel/ideas/issues/2054

What problem is this PR supposed to solve? You mention that the docblock is no longer needed as IDE auto-completion will now work thanks to the facade docblocks. I see that as an issue, because facade docblocks get out of sync very often (the maintainers would have then two places where docblocks would have to be updated) while the approach with the docblock in the user code doesn't have that problem (and the user doesn't even have to write it since it's already there in the factory stub file).

Hey @SonOfHarris. Your pr idea definitely seems okay. But I have to agree with @X-Coder264 as I personally don't see the benefit of adding all of this code. I think the current way this all works is fine as it is and a more simple approach.

@X-Coder264 @driesvints Thanks for the comments. I know that this PR could set the cat amongst the pigeons but please hear me out.
The problems it aims to solve is Code Consistency and Programmer Understanding. Particularly to those who are new to the Laravel framework or PHP programming so I ask that the changes made by this PR are viewed from their perspective.
Consistency
A freshly installed Laravel application has: class files, config files and procedural files. These procedural files either: return instances or interact with the application via Facades. As Dependency Injection is not possible in procedural files, Facades bridge the gap. This PR aims to bring factories inline with this thinking and not rely on passed in variables.
Understandability
The $factory variable doesn't clearly explain where it came from or that it's something in the service container. See the final, oddly recent, comment at: https://laracasts.com/discuss/channels/testing/can-i-choose-between-base-factories-for-the-same-model#reply-580839. Having the factories use a Facade clearly communicates that it's using a service.
Documentation
My comment regarding IDEs was to satisfy those who pushed for the $factory variable docblock to be added. It explains that the functionality has not been lost by this PR. Facade docblocks should ideally be managed via a Continuous Integration process to ensure they don't get out of sync.

Facade docblocks should ideally be managed via a Continuous Integration process to ensure they don't get out of sync.

How would this work?

This may be something we could explore for 8.x.


General class in documentation still missing

I thought I'd fix that already, but it seems like the General class still refuses to show up in the doc.
https://github.com/symphonycms/symphony-2/blob/master/symphony/lib/toolkit/class.general.php
http://www.getsymphony.com/learn/api/2.5.0/toolkit/general/
http://www.getsymphony.com/learn/api/2.5.1/toolkit/general/
I do not know why....

Upon building the 2.6.0 documentation, both these quirks are fixed, the General and Lang documentation is generated.

AWESOME !!! :+1: Thanks!


TypeError when using sentry-sdk>=0.11.0 in Django

When I used sentry-sdk==0.10.1, everything was ok. But when I upgraded sentry-sdk to 0.11.0 and higher, there's a TypeError.
Traceback (most recent call last):
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/apscheduler/executors/base_py3.py", line 29, in run_coroutine_job
    retval = await job.func(*job.args, **job.kwargs)
  File "/var/www/pixiu.40huo.cn/pixiu/backend/scheduler.py", line 96, in refresh_task
    req = await fetch_resource_list(loop=loop)
  File "/var/www/pixiu.40huo.cn/pixiu/backend/scheduler.py", line 27, in fetch_resource_list
    req = await loop.run_in_executor(executor, send_req, "get", reverse(viewname="resource-list"))
  File "/usr/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/var/www/pixiu.40huo.cn/pixiu/utils/http_req.py", line 37, in send_req
    return client.get(url=abs_url, headers=headers)
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/requests/sessions.py", line 546, in get
    return self.request('GET', url, **kwargs)
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/rest_framework/test.py", line 115, in request
    return super().request(method, url, *args, **kwargs)
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/rest_framework/test.py", line 93, in send
    wsgi_response = self.app(environ, start_response)
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/sentry_sdk/integrations/django/__init__.py", line 101, in sentry_patched_wsgi_handler
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/sentry_sdk/integrations/wsgi.py", line 106, in __call__
    reraise(*_capture_exception(hub))
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/sentry_sdk/_compat.py", line 54, in reraise
    raise value
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/sentry_sdk/integrations/wsgi.py", line 101, in __call__
    rv = self.app(
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/sentry_sdk/integrations/django/__init__.py", line 101, in <lambda>
    return SentryWsgiMiddleware(lambda *a, **kw: old_app(self, *a, **kw))(
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/django/core/handlers/wsgi.py", line 142, in __call__
    start_response(status, response_headers)
  File "/var/www/pixiu.40huo.cn/pixiu/venv/lib/python3.8/site-packages/sentry_sdk/integrations/wsgi.py", line 121, in _sentry_start_response
    return old_start_response(status, response_headers, exc_info)
TypeError: start_response() takes 2 positional arguments but 3 were given

The related code https://github.com/40huo/pixiu/blob/develop/backend/scheduler.py .
Plus, I use gunicorn[gevent] starting wsgi.

Hi @40huo, sorry to hear that you're experiencing this issue. Could you create a minimal reproducible example that shows the issue? I do not speak chinese, so I do not know how to run your app.

Create an test project.
# Create project
django-admin startproject sentry-test

# Create APP
python manage.py startapp sentry_a

Modify settings of sentry and installed_apps.
Write a simple view.
from django.shortcuts import HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("hello")

Write a backend job using Django-REST-Framework test client.
from rest_framework.test import RequestsClient

def run():
    c = RequestsClient()
    resp = c.get(url='http://testserver/')
    print(resp.text)

Create Django custom command.
from django.core.management.base import BaseCommand, CommandError

import backend

class Command(BaseCommand):
    help = 'Run backend spider.'

    def handle(self, *args, **options):
        try:
            backend.run()
        except Exception as e:
            raise CommandError(f'Unhandled error occurred when running backend spider {e}')

And run the backend job.
python manage.py aaa                                                                                ⎈ minikube
CommandError: Unhandled error occurred when running backend spider start_response() takes 2 positional arguments but 3 were given
Sentry is attempting to send 0 pending error messages
Waiting up to 2 seconds
Press Ctrl-C to quit

@40huo could you give me a repo I can clone to repro this? I don't know what I would write in installed_apps to reproduce this. The Sentry SDK does not require you to modify that

@40huo could you give me a repo I can clone to repro this? I don't know what I would write in installed_apps to reproduce this. The Sentry SDK does not require you to modify that

Sorry for misunderstanding, I meant modify the django app name in installed_apps. Now you could use this repo https://github.com/40huo/sentry_test.git to reproduce. You may need to modify the sentry DSN in settings.py.

Thanks, this is a bug in DRF: https://github.com/encode/django-rest-framework/issues/7132. A workaround in the Sentry SDK will be added in #588.

Many thanks.


httpclient to 4.5.2 to mitigate CVE threats

Updating httpclient to 4.5.2 to mitigate CVE-2014-3577 & CVE-2015-5262.  v4.5.2 is not the latest version but chosen for popularity.

Reference:  https://github.com/swagger-api/swagger-parser/issues/391


Sign up and Login Pages

There should be a signup and a login page for users

@hkasera aren't we supposed to create a "user" table in the backend with appropriate fields like "username", "passwordhash", "email" etc that will store the login credentials of registered users or we can simply move on with creating just the basic html pages for login and signup ?

Yes, we do need a back end to this. As the project is in the initial stage, we do not have it yet. If you are confident, feel free to suggest back end schema along with the front end code. Mongoose is a good choice. :+1:

hey, as you asked we have created  a mock up of login and sign up pages. We have made 2 design structures, please comment on whichever is better or any changes required in either.
here is the link :
https://moqups.com/Nishtha-3006/B710C8yD/p:a16b2c2a4
Also about the tools and framework we are going to use jQuery(to switch between login and signup) and Bootstrap or Materialize CSS.
Thank You.


Nothing changed + calendar showing

Hi,
I'm raising an issue, maybe from my bad understanding of the doc ; but first of all: thank you for your work!
(Android)
I was very please by your example because I want to be able to choose the day - month - year in order to fill a "date of birth". And I want to fill it the same way as displayed in your example.
Unfortunately when I integrate your DatePicker into my react container the only thing displaying is the calendar and I can't even choose the year.
If I try to modify the buttons:
confirmBtnText="asfs" the confirm button under the calendar will always be "ok".
So, am I missing something? How can I have the same DatePicker as in your GIF? How can I change the confirmBtnText?
My code is just a copy past of your usage as I wanted to try it before "putting my hand in it".
    <DatePicker
        style={{width: 250}}
        placeholder="select date"
        format="DD-MM-YYYY"
        confirmBtnText="Confirm"
        cancelBtnText="Cancel"
        onDateChange={(userAge) => {this.setState({userAge})}}
    />

Many thanks!

In android, we just call native DatePickerAndroid component. The UI is defined by the system, so the confirmBtnText and cancelBtnText is used only in ios. Then you should give date property a param.

Is it android 7.0?


Sun Valley Support

nativesvttk doesn't work with tukaan

nativesvttk doesn't work with tukaan

I will remove it

By crossing the tcl of the Azure ttk theme and the assets of the Sun Valley ttk theme, I can make it callable from tukkan!

I'm doing some stuff locally.


PowerToys Run - Using Shortcut to open quickly will result in Start Menu opening (and gaining focus) as well as PowerToys Run

Environment
Windows build number: 10.0.18363.900
PowerToys version: v0.19.0
PowerToy module for which you are reporting the bug (if applicable): PowerToys Run

Steps to reproduce

Set PowerToys Run's Open PowerToys Run shortcut to something involving the Windows key (like Win + Space)
Trigger the shortcut by pressing the two keys simultaneously (sometimes multiple times to get the issue to occur)

Expected behavior
PowerToys Run dialog pops up
Actual behavior
Windows Start Menu will open and gain focus, while PowerToys Run dialog sits in the background
Screenshots

@4578

#4578

Closing as diplicate of https://github.com/microsoft/PowerToys/issues/4578
The fix will be available in 0.19.1
Thanks.


Is fine_tuning ever used as an option ?

Is it ever used in either Hifi-Gan or Ada training steps?

I think the "fine_tuning" you said here refers to the hifi-gan thesis. It mainly solves the problem of feature mismatch, that is to say, the mel spectrum generated by the acoustic model does not match the original mel spectrum, so it is necessary to use the mel spectrum generated by the acoustic model to "fine_tuning" the trained vocoder.
I did this when building the Custom Voice system.
I don't recommend training adavocoder when you have enough quality data, because it's good enough to train a robust enough vocoder.

Thanks


code cleanup

Signed-off-by: reiase<EMAIL_ADDRESS>

Codecov Report

Merging #1446 (d4375fd) into main (920ecb0) will increase coverage by 0.08%.
The diff coverage is 61.90%.

@@            Coverage Diff             @@
##             main    #1446      +/-   ##
==========================================
+ Coverage   68.79%   68.88%   +0.08%
==========================================
  Files         301      301
  Lines       16787    16771      -16
  Branches     2712     2707       -5
==========================================
+ Hits        11549    11552       +3
+ Misses       4490     4477      -13
+ Partials      748      742       -6

Impacted Files
Coverage Δ

towhee/functional/entity.py
76.47% <ø> (ø)

towhee/hub/builtin/operators/computer_vision.py
36.26% <ø> (+1.15%)
:arrow_up:

towhee/hub/builtin/operators/feature_engineer.py
36.17% <ø> (+2.17%)
:arrow_up:

towhee/hub/builtin/operators/milvus_search.py
13.88% <ø> (+1.06%)
:arrow_up:

towhee/hub/builtin/operators/runas_op.py
100.00% <ø> (+27.27%)
:arrow_up:

towhee/hub/builtin/operators/tensor_like.py
50.63% <ø> (+1.85%)
:arrow_up:

towhee/functional/mixins/computer_vision.py
12.28% <20.00%> (+1.56%)
:arrow_up:

towhee/__init__.py
66.66% <100.00%> (ø)

towhee/functional/__init__.py
93.75% <100.00%> (-0.19%)
:arrow_down:

towhee/functional/mixins/dataset.py
96.36% <100.00%> (-0.07%)
:arrow_down:

... and 1 more

Continue to review full report at Codecov.

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

/lgtm


chore: more issue templates

What
With #39 and #40, users can now create issues based on template. However, I'd like to have more template, in line to what is done in the numpy/numpy repository: https://github.com/numpy/numpy/issues/new/choose.
I would love to have templates for

[ ] Documentation
[ ] Question/Help/Support

You can get inspiration from the Numpy repository (see above), but I won't be using external links.
How to
Please, read already existing files in ISSUE_TEMPLATE, and get some inspiration from https://github.com/numpy/numpy/issues/new/choose too.

Sounds pretty straight forward, I can get this done. Can I be assigned for this ?

Yes, of course @harisaisundhar! Thank you for your interest!

@jeertmans Do we have a dedicated email to receive questions ?

@harisaisundhar Not for the moment, and it’s not planned. I prefer that people take contact via GitHub only.

Sure! In which case the questions will be tagged with the "question" tag and an issue would be created. Does that sound good to you ?

Looks good to me @harisaisundhar !

@jeertmans Have created a PR for the Support template. Pls do review them. Thnx


fix: update the manifest conditions last update time

Description of your changes
Fixes the applied condition last update time not updated.
I have:

[x] Read and followed Caravel's Code of conduct.
[x] Run make reviewable to ensure this PR is ready for review.

How has this code been tested
UT
Special notes for your reviewer
These changes are needed for the workload orchestration work.

Fixed in this PR:
https://github.com/Azure/k8s-work-api/pull/94
Due to this Branch not being updated.


Option to process serviceinformation.json

In my testing, ServiceInformation.json is always processed and results in my actual APIM instance being updated. I am not sure why this is the case. This takes more than 30 mins - and will be a big no no for many customers and especially prod environment. It also means the pipeline is sitting for 30 mins plus

serviceinformation.json is no longer parsed by the publisher


Revamping the Navbar and user login form

As a GSSoc'21 participant, I would like to revamp the navbar and user login form. Please allow me to work on this issue.

@shreya9301 For now, only work on the user login form.

Sure I'll work on that. Thank you @harshita2216 for assigning this issue to me :)

please assign me this


to_json mechanism easily breakable by implicit constructors

Out of the box types supported by the dump mechanism can cause overload resolution issues if other types that are implicitly constructible/convertible from the out of the box types are thrown into the to_json overload pool.
Consider the following code snippet:
struct jsonpp_breaker {
	jsonpp_breaker( nullptr_t ) {

	}
};

json::value to_json( jsonpp_breaker breaker ) {
	return json::value(1);
}

int main( int argc, const char* const argv[] ) {

	std::string s = json::dump_string( nullptr );

}

In Visual Studio 2015 (RC), this makes the internal call to json::dump fail due to ambiguous overloads. Upon inspection of the internals, it seems like the Enable/DisableIfs are too lenient when it comes to evaluating whether to_json is acceptable: things that collide with the core serialized types (like nullptr constructors and friends) will trigger ambigious overload errors.
One implementation idea is to use a more sophisticated overloading mechanism or use a templated enable-if-friendly struct dumper<T, ...> to capture appropriate types when considering which dump function to use (it's default case should use the has_to_json<T> enable_if and provide a clean static_assert when that fails, and otherwise call whatever to_json is available).

I can't reproduce this in GCC.

That fixes one case, but the same happens for double args and the like.
In order to get it to build in VS 2015 RC, I had to do...
EnableIf<has_to_json<T>, Not<Or<is_object<T>, is_string<T>, is_array<T>, is_null<T>, is_bool<T>, is_number<T>>>> = 0
... Gnarly, but it works!


ARM64 Image is not working

Recently we tried to migrate our ingress workloads to ARM64 as a result we tried to migrate our signalscience integrated ingress controllers to ARM64 as well. Seems like this image is not working on ARM64 as it keeps restarting i.e crashing throwing the error below.
Error : exec /usr/bin/dumb-init: exec format error
The same version's kubernetes/nginx-ingress-controller seems to be working fine in our ARM64 infrastructure. I feel like this has to be issue in the container image build pipeline where multi-arch images are not properly built.
Versions tried : v1.10.0, v1.9.5

Hey @lmad4832  - this should be fixed in #68 . We'll need to rebuild and push this, so we'll start off with latest and v1.10.1 just to unstick you, than do it for a wider set of images afterwards.

@jeremy-cxf Thank you new version is working on our ARM64 nodes. 🔥


merge package from arlac77/npm-package-template

.travis.yml

chore(travis): remove node versions 10
chore(travis): add node versions 10.1

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Non-corruption guarantees

What guarantees does goleveldb make regarding database corruption? Is it possible to corrupt a database if I kill a process while it is writing?

Killing process while writing should not cause corruption, in case of incomplete write, it should rolled back to previous stable state (this is default behavior, if you set StrictAll then incomplete write will throw error).

But When I take image of that running machine DB files are corrupted.

leveldb/storage: corrupted or incomplete meta file

@Vigneshr6 thanks for pointing this out, 69e19a4 hopefully fix this.


[ready] Correct %x command

%x has 2 variations:

%x(command)
%x["command"]

The one specified in the doc is none of the above, so I assume it's a mistake.

Nice catch, thanks!


Automated cherry pick of #4754: fix(region): Sync HostStorage in syncOnPremiseCloudProviderInfo

Cherry pick of #4754 on release/2.13.
#4754: fix(region): Sync HostStorage in syncOnPremiseCloudProviderInfo

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.13@09a660d). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.13   #4776   +/-   ##
==============================================
  Coverage                ?   6.86%
==============================================
  Files                   ?     523
  Lines                   ?   89107
  Branches                ?       0
==============================================
  Hits                    ?    6117
  Misses                  ?   82481
  Partials                ?     509

Flag
Coverage Δ

#aFlag
6.86% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/hosts.go
0.33% <0%> (ø)

pkg/compute/models/hoststorages.go
0.6% <0%> (ø)

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 09a660d...02b24d1. Read the comment docs.

/lgtm

/approve

/approve


Re-enable AI

PR Checklist

Please check if your PR fulfills the following requirements:

[x] All new classes have class-level documentation comments, if there are any at all
[x] Tests for the changes have been added (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation update
[ ] Other... Please describe:

What is the current behaviour?

AI is currently disabled
What is the new behaviour?
This behavior re-enables AI and also does some cleanup of other files

Resolves #683

Other information
Currently the fast forward speed crashes the client, this will be fixed by #704

This PR also fixes error correction on parties, the current implementation uses the client position as the true position rather than the server


Possible issue in RelationalTypeMappingExtensions.CloneWithFacetedName

While synchronizing the Npgsql EF Core provider with the latest dev branch, I ran into an issue. The BuiltInDataTypes tests have a MaxLengthDataTypes entity, with a byte[] property whose MaxLength is set via the fluent API. Now, PostgreSQL's byte[] type (called bytea) doesn't support max length - no parentheses - but the code generates bytea(5) etc.
In a nutshell, it seems that CloneWithFacetedName tacks on maxlength (and possible precision/scale) without really checking if the type actually supports them. So if a user happens to erroneously define them on a type, that will cause a bad type name to be generated - I think the desired behavior is to ignore them instead (at least that was the previous behavior). This should be easily reproducible in PostgreSQL by setting maxlength on some type that doesn't support it.
Hope I didn't miss anything...

/cc @ajcvickers

https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/issues/300 may also be a bit relevant here... If we need to allow extensibility, i.e. adding mappings not known to the TypeMappingSource, then we can't expect the TypeMappingSource to know everything about the mappings (which ones accept a length, a precision/scale)... It may be better to have that information on RelationalTypeMapping itself - just like a mapping specifies how to generate a literal, it can specify whether it accepts a length or not.
An alternative to this is to say that when mappings are added externally, it's also the user's responsibility to replace the TypeMappingSource with one that's aware of the mappings and their different properties. That would be more cumbersome and less object-oriented (it does seem better for the mappings themselves to contain all the information), but less impact on the type mapping API at this stage.

@roji The idea for this was to create a utility method that could be used by providers that need to do this but which does not need to be used by other providers. So, for example, SQL Server and Oracle use it, but SQLite does not. From our conversations I was assuming that Postgres probably wouldn't use it, but maybe it is needed for some types and not for others?
That being said, I like the idea of having this information in the type mapping itself and I will look into making that change.

Thanks @ajcvickers. But doesn't SQL Server and Oracle have this issue as well? In other words, if some user mistakenly sets .HasMaxLength(5) on a type that doesn't support it, I think the current behavior would be to append (5) to the type name and to send that to the database. It's not the end of the world (the model configuration can be said to be mistaken), but it seems better for EF Core to be aware that it's not supported and ignore instead (cross-database, probably also backwards compatibility).
(tried proving this in a test but running the latest EF Core doesn't seem to work on Linux/preview2 for some reason).


[bugfix] Add version checks for TMod and TMod4

Throw ConfigError for TMod4 versions older than 4.1.0.
Throw ConfigError for TMod versions older than 3.2.
Change the corresponding docs.

Fixes #781

@teojgo Can you also do the same for standard Tmod. There the minimum version is 3.2.

@jenkins-cscs retry none

Codecov Report

Merging #794 into master will decrease coverage by 0.12%.
The diff coverage is 14.28%.

@@            Coverage Diff             @@
##           master     #794      +/-   ##
==========================================
- Coverage   91.64%   91.51%   -0.13%
==========================================
  Files          78       78
  Lines        9775     9791      +16
==========================================
+ Hits         8958     8960       +2
- Misses        817      831      +14

Impacted Files
Coverage Δ

reframe/core/modules.py
65.39% <14.28%> (-2.61%)
:arrow_down:

Continue to review full report at Codecov.

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


HAWKULAR-374 - Upgrade the hawkular agent to work with the latest inv…

…entory rest api

@jmazzitelli could you please review? I may have forgotten to something.

@Jiri-Kremser I assume you built and ran this in kettle to see that it worked? I'll merge it if you say it worked. The code looks correct, but I haven't built and ran it to see it work.


Mega menu: Clean up body click listener

Click to close body click listener was not being removed so was throwing an error when the menu was closed. This PR fixes that.
Changes

Remove body click listener when a menu is closed.

Testing

Pull branch and gulp clean && gulp build
Turn on MEGA_MENU_VAR_1 flag if it is not on.
Open the menu and click elsewhere on the page to close it.
Click again elsewhere. There should NOT be an error in the dev console.

@contolini

Works great 👍
As an aside, we should prob break the cards into mobile sooner too:


Read from fifo.

There are a few significant caveats with this approach:

Error handling around failing to read from the fifo hasn't been fully
baked. 2. If farva isn't reading from the FIFO, nginx will block. 3. It
would be better if farva operated in a degraded mode without nginx logs
if we fail to create the fifo. We could unset the error and access log
configuration on the nginx object in this situation and omit setting
the two directives.

cc @bcwaldon


Allow Assume roles using AWS Official Credential Action

This adds support to assume a certain role prior to syncing the S3 bucket.
By using AWS's official Credentials it should reduce complexity and increase maintainability.

Please Squash and Merge if merging.

Please Squash and Merge if merging.

@jakejarvis Can we get this merged?

Any plans on merging this? I'd sure find it useful to be able to assume a prior to or as part of this Action.

"Only those with write access to this repository can merge pull requests"


x/sys/unix: PR_SET_PTRACER_ANY missing for linux_arm conditional compilation

The PR_SET_PTRACER_ANY system error number is missing from the // +build arm,linux version of zerror_${GOOS}_${GOARCH}.go, but is available for all other linux builds. This results in the compilation of code like https://github.com/backtrace-labs/go-bcd/blob/master/bcd_sys_linux.go to fail on 32-bit arm architectures.
I haven't been able to find any reason why this flag would be missing, so I'm curious if the correct approach would be to add something like:
#ifndef PR_SET_PTRACER_ANY
#define PR_SET_PTRACER_ANY  -0x1
#endif

directly after the other default error codes in the mkerrors.sh generation script.

This should be fixed by golang/sys@ea9bcade75cb975a0b9738936568ab388b845617.

Yes, fixed by https://golang.org/cl/37943.  Thanks for pointing that out.


So you know how theres no Linux support...

this is not another duplicate of #4 BTW
can someone recreate she sonds in this playlist in nbs format? i would if i could but i use linux cuz penguins and also, u dont have 2 but just for the meme, do this if u want

Okay. As simple as it may seem, recreating songs in NBS format is by no means a trivial thing. Depending on the length and complexity of the song, it can take from half a day to a whole month to recreate a song accurately, even for someone experienced in transcribing. While you may at times find someone generous enough to do it for you, requesting song transcriptions is something we usually frown upon – even more so for whole playlists. This is also not the appropriate place for it, as it's meant exclusively for submitting inquiries regarding the development of the program.
As stated in the very issue you mentioned, Linux support is coming soon and you'll be able to transcribe those songs yourself then. Meanwhile, I kindly ask for your patience with this matter.
Please leave a comment if you have any further questions.


Add snippets for embedded/local

📝 Changed routes:

…board/wallets/embedded
/dashboard/wallets/local

(view full size)
(view full size)

Commit 43a3672750825076f2229a9daed6f54c0e468314 (https://thirdweb-kjgc7y85p.thirdweb-preview.com).


scrape codeforces problem statements

Feature ✅
Description
Build a script to scrape Codeforces problem statements, as per the problem code provided by the user.
Save the result in a text file.
Checklist:

[X] I have read the project guidelines.
[X] I have checked all the existing projects, before submitting a new project issue.
[X] This issue will be meaningful for the project.
[X] I will contribute more in future

@tusharnankani I will work on this issue so please assign this to me.

@Blastoise This too will go under Projects directory

Just a query @pratik-choudhari that the by problem statement you mean which of the sections of a problem in codeforces.
Please answer this with precision

@tusharnankani Please answer.

Problem Name, Problem Code, Problem statement, Input, Output, Sample Testcase, Note (usually there, after sample test case)

@tusharnankani Thanks!


fixed CodeUri of Lambda function to reference the generated function.zip

I'm on windows and cannot directly use the node_modules folder by using a host volume. So I wondered why I couldn't get the example working. After trying out I found out that you don't specify the function.zip which was actually built for this.
So I think it would be best for all the windows guys (and all Lambda newbies) to use the zip from make dist

This seems reasonable. I have instructions on how to build the package using Docker but since the repo now has a zip file it makes sense to use it directly and save time. I'll test this out later today and merge it in. Thanks!

Thanks for your contribution!


CI: Use vswhere to query compiler path

Follow up to #1965. The nasm-rs crate requires link.exe on the path.

@1480c1 Thanks for the comments. I am happy with the resulting code.


DMN Runner enhancements and bug fixes: uniforms-patternfly and table

Spliting the #26 into two. This issue groups DMN Runner enhancements and bug fix.
Table

[ ] Scroll sync of Inputs and Outputs breaks for Table mode after updating Inputs from another tab

uniforms-patternfly

[ ] Checkboxes values are “undefined” if not clicked. This breaks the evaluation with JIT Executor.
[ ] KOGITO-5436 Custom components for DMN types on DMN forms
[ ] KOGITO-7516 DMN Runner inputs fail silently for Date Time parsing of input formatted as yyyy-MM-dd'T'HH:mm:ss

Persistence

[ ] KOGITO-8046 KIE Sandbox with Runner fails to recognize inputs from DMN model, but downloading and uploading the same DMN model no changes allows form to work

Enhancements

[ ] Share URL for importing the same project at the same place.

@ljmotta Can you please reassess this issue? Ideally we would close it and create one issue for each of the tasks listed here. Also, I think some of them might be resolved or already covered by an existing issue.
Also, I think we can drop "Share URL for importing the same project at the same place.". I don't see this as a requirement for the time being.

@tiagobento Sure. I'll check them.

These issues are not happening anymore:

"Scroll sync of Inputs and Outputs breaks for Table mode after updating Inputs from another tab"
"Checkboxes values are “undefined” if not clicked. This breaks the evaluation with JIT Executor."
"KOGITO-7516 DMN Runner inputs fail silently for Date Time parsing of input formatted as yyyy-MM-dd'T'HH:mm:ss"
"KOGITO-8046 KIE Sandbox with Runner fails to recognize inputs from DMN model, but downloading and uploading the same DMN model no changes allows form to work"

The "KOGITO-5436 Custom components for DMN types on DMN forms" is already covered in #19.
As the "Share URL for importing the same project at the same place" is not a requirement anymore I'm going to close this issue.


[Fixing Test-Cases] Pandas/Numpy use different stdev estimators (mean_std_column)

Pandas and numpy use different approximations for standard deviation. As such, this explains why this test gets such a low score. Related to #76 and one of the not-improving tests in #118
I think we should either specify the desired estimator in the prompt (unbiased or biased) or make the test flexible enough to accept either answer (the majority of the models use the builtin pandas stdev, but we only accept the numpy estimator).
This is our reference test function
def mean_std_column(dataframe, column:str):
    """
    Computes the mean average and standard deviation of a specified column
    in a given dataframe and returns these two values.
    """
    import numpy as np
    data = dataframe[column]
    return np.mean(data), np.std(data)

And this is what most models provide:
import pandas as pd

def mean_std_column(dataframe, column:str):
    """
    Computes the mean average and standard deviation of a specified column
    in a given dataframe and returns these two values.
    """
    mean_value = dataframe[column].mean()
    std_value = dataframe[column].std()
    return (mean_value, std_value)

make the test flexible enough to accept either answer (the majority of the models use the builtin pandas stdev, but we only accept the numpy estimator).

I vote for flexibility. Both solutions should be detected as correct.


DNN Client Resource Management - CookieConsent never shows up if enabled

This works fine when client resource management is disabled (development instances of DNN), but if you turn it on for production (as everybody should), the CookieConsent element stops showing up. Even if you leave CSS and JS minification unchecked, it still doesn't show up.
Using DNN 7.4.1 with the free Tiny responsive skin and your latest 2.0 version of CookieConsent. The 1.0.1 version does not exhibit such behaviour.

This plugin is trying to access this file...
Failed to load resource: the server responded with a status of 403 (Forbidden) - http://s3.amazonaws.com/cc.silktide.com/cookieconsent.1.0.2.min.js?cdv=57


Compiling error on latest commit e35ff9a788cbb19aa860b320e5e9fcce649338cf

> ant run
Buildfile: /Users/Dylan/Development/SourceCode/WhileyWeb/build.xml

compile:
    [javac] Compiling 3 source files
    [javac] Note: /Users/Dylan/Development/SourceCode/WhileyWeb/src/com/whileyweb/WhileyWebCompiler.java uses unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.

run:
     [java] Java Result: 1

BUILD SUCCESSFUL
Total time: 2 seconds

OK, that's odd.  What's happened ??!!

Argh, I know what it is.

Was related to the update I did yesterday.  I refactored the package name from com.whileylabs to com.whileyweb but didn't updated build.xml.  Fixed now.


Add transition and fade in/out to image slider

#8

can't see any effect in master

@joythecoder its a reminder that we need to do this next. when done issue will be closed:)
😄

lets do it, after exams. @iharsh234


UIImageView+AFNetworking setImageWithURL cause memory leaks

When I test setImageWithURL and setImageWithURLRequest:placeholderImage:success:failure in my controller, it leads memory leaks.
@property (weak, nonatomic) IBOutlet UIImageView *captchaImageView;
/**/
- (void)viewDidLoad {
    [super viewDidLoad];

    _captchaImageView.userInteractionEnabled = YES;
    [_captchaImageView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(refreshCaptcha)]];
    [self refreshCaptcha];
}

All of below codes lead memory leaks captured by Instruments Tool. I can not figure out if I have something wrong.
- (void)refreshCaptcha {
    [_captchaImageView setImageWithURL:[NSURL URLWithString:kCaptchaImageRequestUrl]];
}

- (void)refreshCaptcha {
    __weak UIImageView* weakImageView = self.captchaImageView;
    [weakImageView setImageWithURL:[NSURL URLWithString:kCaptchaImageRequestUrl]];
}

- (void)refreshCaptcha {
    [_captchaImageView setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:kCaptchaImageRequestUrl]
                                                           cachePolicy:NSURLRequestReloadIgnoringCacheData
                                                       timeoutInterval:kRefreshCaptchaTimeoutInterval]
                         placeholderImage:[UIImage imageNamed:@"RefreshCaptcha"]
                                  success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
                                  }
                                  failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
                                  }];
}

- (void)refreshCaptcha {
    __weak typeof(self) weakSelf = self;
    [weakSelf.captchaImageView setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:kCaptchaImageRequestUrl]
                                                           cachePolicy:NSURLRequestReloadIgnoringCacheData
                                                       timeoutInterval:kRefreshCaptchaTimeoutInterval]
                         placeholderImage:[UIImage imageNamed:@"RefreshCaptcha"]
                                  success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
                                  }
                                  failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
                                  }];
}

- (void)refreshCaptcha {
    [_captchaImageView setHidden:YES];
    __weak UIImageView* weakImageView = self.captchaImageView;
    [weakImageView setImageWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:kCaptchaImageRequestUrl]
                                                               cachePolicy:NSURLRequestReloadIgnoringCacheData
                                                           timeoutInterval:kRefreshCaptchaTimeoutInterval]
                             placeholderImage:[UIImage imageNamed:@"RefreshCaptcha"]
                                      success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
                                          __strong UIImageView* strongImageView = weakImageView;
                                          [strongImageView setHidden:NO];
                                          [strongImageView setImage:image];
                                      }
                                      failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
                                          [_captchaImageIndicator stopAnimating];
                                      }];
}

Actually, the leaks only appears once when I first push into the view controller. When recall refreshCaptcha or repush into view controller, no more leaks appear.
So, I guess whether UIImageView+AFNetworking setImageWithURL has a bug about this.
The below screenshot is what Instrument Tool shows.

Platform
Xcode Version 6.4 (6E35b)
IPhone6 8.4 Simulator
AFNetworking (2.5.4)
I also open a question on stackoverflow, but I can not figure out whether it is a bug and report it on this issue board.

I just verified the latest version of AFNetworking does not exhibit a memory leak when running the example app.
If you any other data showing the problem, please reopen this issue!
:beers:


util-linux: fix linking login and swap tools to bin output

Description of changes
Should fix the regression in initramfs builds introduced in #236463 (thanks @vcunat for finding it!)
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

A really large rebuild (~85k for the two platforms combined).  But certainly we can't merge the current staging-next iteration in this broken state, and I suspect it would be hard to avoid rebuilding all util-linux*.

The result coming from this build looks good to me.

I checked one of the initrd builds and one installer on x86_64-linux ✅

Maybe unrelated but not sure where to post it.
gauss | libtoolize: copying file 'config/lt~obsolete.m4'
gauss | error: build of '/nix/store/ii4zcx9mmdvqzlzhr8sg2jr95sv2w7gh-extra-utils.drv' on 'ssh://nix-abel@abel' failed: output '/nix/store/6pp2j68hs1maw704allmh6ilfv4dajwy-extra-utils' is not allowed to refer to the following paths:
gauss |          /nix/store/s4hissbnm8rymic4ifn24qdck5qk1f42-util-linux-2.39-mount
gauss | error: builder for '/nix/store/ii4zcx9mmdvqzlzhr8sg2jr95sv2w7gh-extra-utils.drv' failed with exit code 1;
gauss |        last 10 log lines:

Its probably related to zfs linking to util-linux as in:
substituteInPlace ./module/os/linux/zfs/zfs_ctldir.c \
  --replace '"/usr/bin/env", "umount"' '"${util-linux}/bin/umount", "-n"' \
  --replace '"/usr/bin/env", "mount"'  '"${util-linux}/bin/mount", "-n"'

Asked around but nobody had the problem so it mite be specific to my config. If that's the case, please ignore.

I have the same problem with the latest nixpkgs-unstable (from today). I used disko to set up/configure ZFS and have boot.kernelPackages set to pkgs.zfs.latestCompatibleLinuxPackages.
error: output '/nix/store/ibzgyvbn19ddwf40j49rsqxcyiy7bxzp-extra-utils' is not allowed to refer to the following paths:
         /nix/store/qhvwgvvm60s6df4samryixrrzblrlnha-util-linux-2.39-mount


Bad ARIA in footer that should be removed

The ul element for "Other FreeUK Genealogy Projects" has been given role="navigation" which is a mistake — it is bad ARIA and should be removed.
The navigation role robs the ul of its natural properties as a list container. The knock-on effects are: an automatic validator complains that there is no list container; a S-R will not understand; a S-R user will be misinformed about what is going on.
There is a nav element wrapping the list container anyway. (There might be an issue around using nav elements in the footer, but I need to find out more before we consider doing anything to improve those elements.)

Joseph could do this once he's in our code

This has already been fixed by @jayto581 as part of another issue, so closing.


do not run the triggers of a deactivated user

If WE disable a user from the admin panel, do not handle his triggers at all

In tasks.py add in reading and publishing :
user__is_activite=True


[SensCritique] is broken due to complete website revamp May 3rd

They completely revamped their html.
https://www.senscritique.com/series/actualite
@kranack

I think it's fixed by #3750


Fields with logical type as decimal displays unicode values instead of original numeric values.

Describe the bug

Fields with logical type as decimal are not showing correct numeric values from topics with schema registry. details for fields display value and schema registry definition is given below in addl context.
Set up

11.15.2022 07:05:35
(
5900f8e
)
Steps to Reproduce

Steps to reproduce the behavior:

Expected behavior

Screenshots

Additional context

Data
SchemaRegistry

"field1":   {      "bytes":   "#òoÁ\u0000\u0000"     },
{           "name":   "field1",           "type": [            "null",            {             "type":   "bytes",             "logicalType":   "decimal",             "precision":   24,             "scale": 16            }           ],           "doc": "this is   field1.",           "default": null          },

"field2":   {      "bytes":   "#òoÁ\u0000\u0000"     },
{           "name":   "field2",           "type": [            "null",            {             "type":   "bytes",             "logicalType":   "decimal",             "precision":   24,             "scale": 16            }           ],           "doc": "this is   field2.",           "default": null          },

"field3":   {      "string":   "L"     },

"field4":   {      "string":   "0"     },

"field5":   {      "boolean": false     },

"field6":   {      "com.avro.schema.common.BigAmount_30_10":   {       "amount":   "\u000e3â"\u0000",       "currency":   "USD"      }     },
{           "name":   "field6",           "type": [            "null",            {             "type":   "record",             "name":   "BigAmount_30_10",             "namespace":   "com.avro.schema.common",             "fields": [              {               "name":   "amount",               "type": {                "type": "bytes",                "logicalType":   "decimal",                "precision":   30,                "scale":   10               }              },              {               "name":   "currency",               "type": {                "type":   "string",                  "avro.java.string": "String"               }              }             ]            }           ],           "doc": "this is   field6.",           "default": null          },

"field7":   {      "com.avro.schema.common.BigAmount_20_8":   {       "amount":   "$[Ü",       "currency":   "USD"      }     },
{           "name":   "field7",           "type": [            "null",            {             "type":   "record",             "name":   "BigAmount_20_8",             "namespace":   "com.avro.schema.common",             "fields": [              {               "name":   "amount",               "type": {                "type": "bytes",                "logicalType":   "decimal",                "precision":   20,                "scale": 8               }              },              {               "name":   "currency",               "type": {                "type":   "string",                  "avro.java.string": "String"               }              }             ]            }           ],           "doc": "this is   field7.",           "default": null          },

"field8":   {      "com.avro.schema.common.BigAmount_30_10":   {       "amount":   "\u000e3â"\u0000",       "currency":   "USD"      }     },
{           "name":   "field8",           "type": [            "null",              "com.avro.schema.common.BigAmount_30_10"           ],           "doc": "this is   field8.",           "default": null          },

Thanks for raising an issue

You are missing config setting on the kafka avro deserializer.
Specifically AVRO_USE_LOGICAL_TYPE_CONVERTERS_CONFIG should be set to true
   protected void configure(KafkaAvroDeserializerConfig config) {     configureClientProperties(config, new AvroSchemaProvider());     useSpecificAvroReader = config         .getBoolean(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG);     avroReflectionAllowNull = config         .getBoolean(KafkaAvroDeserializerConfig.AVRO_REFLECTION_ALLOW_NULL_CONFIG);     avroUseLogicalTypeConverters = config             .getBoolean(KafkaAvroSerializerConfig.AVRO_USE_LOGICAL_TYPE_CONVERTERS_CONFIG);   }

@tkaszuba thank you for suggestion, but unfortunately it is not so simple (we know about that properties).

we need to implement json string -> avro record translation to support serialization. Currently we use  AvroSchemaUtils.toObject(json,  schema) , but that does not support logical types.
we need to support avro schema -> json schema translation (used for samples generation in UI). And that code is now written from scratch (AvroJsonSchemaConverter),  so it also need to support logical types.

So, there is some non-trivial things to be done 😃

ok, I have it working so I guess we'll just fork it for the time being
while we wait for a proper fix.
Either way I'm sending over my patch, perhaps it will come in handy.
btw: Thank you for this wonderful product! It's way better than confluent
control center! Congrats!
On Fri, 21 Apr 2023 at 18:54, Ilya Kuramshin @.***>
wrote:

@tkaszuba https://github.com/tkaszuba thank you for suggestion, but
unfortunately it is not so simple (we know about that properties).

we need to implement json string -> avro record translation to
support serialization. Currently we use AvroSchemaUtils.toObject(json,
schema) , but that does not support logical types.
we need to support avro schema -> json schema translation (used for
samples generation in UI). And that code is now written from scratch (
AvroJsonSchemaConverter), so it also need to support logical types.

So, there is some non-trivial things to be done 😃
—
Reply to this email directly, view it on GitHub
https://github.com/provectus/kafka-ui/issues/2943#issuecomment-1518097703,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG2T7OV3WW2X3PCXKDPKXP3XCK3UVANCNFSM6AAAAAASBGBLJE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Homebrew formula

Merged homebrew-core https://github.com/Homebrew/homebrew-core/pull/175397

Updated README. Close the issue.


[SSR] Client Rendering mismatch NODE_ENV=production

Hello,
I am having Client Rendering mismatch. However the Server Rendering Classnames works fine.
First of all it works fine during 2 seconds. When I load the page during the first seconds I am on SSR and then it switches on CSR.
I give you the code below just in case, I do like everybody does.
Server side
  const context = {};
  const html = ReactDOMServer.renderToString(
    sheets.collect(
      <Provider store={store}>
        <StaticRouter location={req.url} context={context}>
          <ThemeProvider theme={theme}>
            <App />
          </ThemeProvider>
        </StaticRouter>
      </Provider>
    )
  );
  const css = sheets.toString();

Client side
const render = Component => {
  const jssStyles = document.querySelector('#jss-server-side');
  if (jssStyles) {
    jssStyles.parentNode.removeChild(jssStyles);
  }

  ReactDOM.hydrate(
    <Provider store={store}>
      <ConnectedRouter history={history}>
        <ThemeProvider theme={theme}>
          <Component />
        </ThemeProvider>
      </ConnectedRouter>
    </Provider>,
    document.querySelector('#root')
  );
};

render(hot(App));

To not let you carry away, I give you a clue. I have already tried the <StylesProvider> solution. This is the same (Like I said my problem is not Server Side, but it's Client Side)
Server side with StylesProvider
  const generateClassName = createGenerateClassName({
    productionPrefix: 'TDR'
  });
  const html = ReactDOMServer.renderToString(
    sheets.collect(
      <Provider store={store}>
        <StaticRouter location={req.url} context={context}>
          <StylesProvider generateClassName={generateClassName}>
            <ThemeProvider theme={theme}>
              <App />
            </ThemeProvider>
          </StylesProvider>
        </StaticRouter>
      </Provider>
    )
  );
  const css = sheets.toString();

  "dependencies": {
    "@material-ui/core": "4.4.1",
    "@material-ui/icons": "4.4.1",
    "@material-ui/styles": "4.4.1",

When you open the website (Server side rendering is PERFECT !)

Then 2 seconds after we switch on the Client side (CSS is really bad)

Would you help me ?

@tomtom94 Do you have a reproduction?

Of course I have a repo for you https://github.com/tomtom94/landingpage
In production mode you have to do npm run build and then after npm start
Open your browser on http://localhost:3000

@tomtom94 Thanks, This part https://material-ui.com/getting-started/faq/#react-class-name-hydration-mismatch should help. The first problem I could see: the server runs in development mode. Consider using Next.js, CRA or Gatsby for the infrastructure.

@oliviertassinari YOU NAILED IT !!!!!

  "scripts": {
    "build": "node scripts/build.js",
    "start": "NODE_ENV=production node dist/server/server.js",

Change to
  "scripts": {
    "build": "node scripts/build.js",
    "start": "NODE_ENV=production node dist/server/server.js",

Just add NODE_ENV=production
Many thankssss Cheers


[BUG] Qwen 2.5 34B returns garbage at certain quantization levels, but not others

OS
Linux
GPU Library
CUDA 12.x
Python version
3.12
Pytorch version
2.3, 2.4, 2.6 nightly, flash-attn and xformers built from source, exllama built from master branch
Describe the bug
Qwen 2.5 34B returns garbage output with certain quantizations above 4bpw, but not ones below 4bpw.
Possibly related to #621 or #627
What's unusual is that lower quantizations work, but higher ones do not.
These two quants work for me:

https://huggingface.co/Downtown-Case/Qwen_Qwen2.5-32B-Base-exl2-3.92bpw

https://huggingface.co/Downtown-Case/Qwen_Qwen2.5-32B-Base-exl2-3.75bpw

While this one (and a 4.04 I had locally) return garbage:

https://huggingface.co/Downtown-Case/Qwen_Qwen2.5-32B-Base-exl2-4.1bpw

Here's an example command I used for quantization: python convert.py --in_dir "/home/down/Models/Raw/Qwen_Qwen2.5-32B" -o "/home/down/FastStorage/scratch2" -m "/home/down/Models/calibration/Q32-base.json" -b 4.0 -hb 6 -cf "/home/down/Models/exllama/Qwen_Qwen2.5-32B-exl2-4.0bpw" -nr --fast_safetensors
Re-doing the calibration from scratch doesn't seem to make a difference, and that same calibration was used for the sub 4bpw quantizations.
I tried quantizing at 4.1/4.04 bpw in multiple pytorch environments, with different versions of flash-attention installed, remaking the measurements json from scratch, and so on. My test is an 75K context story at Q4 cache quantization, simply continuing it in exui. Again, the sub 4bpw quantization continue it coherently while the ones over 4bpw return garbled english, with no errors in the console.
I'm running through more troubleshooting steps now (like trying different levels of cache quantization and making more quantizations), but figured I'd post early since others seem to be having issues with Qwen.
Acknowledgements

[X] I have looked for similar issues before submitting this one.
[X] I understand that the developers have lives and my issue will be answered when possible.
[X] I understand the developers of this program are human, and I will ask my questions politely.

Does not appear to be a quantized KV cache issue, FP16 cache returns the same garbled english.

Can you tell me more about how you're prompting the model to get garbage? If I try your 4.1bpw version, it seems to be working fine, both in 0.2.2 master and 0.2.2 dev, with FP16 or Q4 cache. Doesn't seem to break either way.

Is it possible you're running low on VRAM or something?

I have a few gigabyres of vram to spare.
If I load it into exui, even with the default prompt of "once upon a time" it just starts looping and looping garbled english with the 4.1 quant, but the 3.75 is fine.
...I know, lol. I'm currently trying to reproduce it with a super minimal exllama script, and working my way up from there.

... I overwrote an ancient test model in exui, and it turns out RoPE scale was set at 4.0.
I appreciate the quick response anyway!
For reference, Qwen 2.5 doesn't seem to mind Q4 cache like Qwen 2 does.

It actually does. Try 7B with Q4, start tokens fine then quickly outputting garbage. But Q6+ performance does not seems to matter Q6 Q8 F16 similar rate of answer correctly. 14B+ Q4 is (mostly) fine.

You're talking about weights quantization, not cache right?

Cache Q4

Qwen2.x 7B specifically is known to have issues with the Q4 cache mode in ExLlama due to oddly normalized key vectors. Q6 and Q8 should work fine, and 7B already has a very compact key/value cache to begin with (probably related to why it's harder to quantize.)


datapoints value returned on cache.log

Hello,
Using graphite_web-1.1.3-py2.7.egg-info
I am pushing data every one minute. I have a dashboard with a time period of the last 5 minutes in Grafana. The query inspector on Grafana shows only 5 data points returned when I refresh the dashboard.
Everytime I refresh the dashboard for the metrics on Grafana the count of  returned x datapoints increments the value by one in cache.log
CarbonLink cache-query request for xxxx.xxxx.xxx returned **27** datapoints
I am  setting up a big query and it's taking long time (which is expected), My concern if there is more data is being requested that's making the query taking more than it should.
Is this the intended behaviour ? it just doesnt make sense to me.

Not sure but I think that carbonlink returns all datapoints in the cache.
If the number increases that would mean your cache size is increasing.
Check if your cache size is increasing in the graphite carbon metrics. If
so, you could try to increase your max_updates in carbon conf.
On Mon, 4 Feb 2019, 20:35 JosephFY<EMAIL_ADDRESS>wrote:

Hello,
Using graphite_web-1.1.3-py2.7.egg-info
I am pushing data every one minute. I have a dashboard with a time period
of the last 5 minutes in Grafana. The query inspector on Grafana shows only
5 data points returned when I refresh the dashboard.
Everytime I refresh the dashboard for the metrics on Grafana the count of returned
x datapoints increments the value by one in cache.log
CarbonLink cache-query request for xxxx.xxxx.xxx returned 27 datapoints
I am setting up a big query and it's taking long time (which is expected),
My concern if there is more data is being requested that's making the query
taking more than it should.
Is this the intended behaviour ? it just doesnt make sense to me.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/graphite-project/graphite-web/issues/2423, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACxrWjO8uDkXCUXMH4GTe5OEjClHPM4_ks5vKItxgaJpZM4ah4yT
.

Is your carbon-cache able to flush data points to disk?  CarbonLink is responsible for returning points that have not yet been flushed to disk, so if that number is going up then it would indicate that there is a problem preventing carbon-cache from updating the whisper files.

I am actually doing some testing on this box before going to prod. So let me explained a little bit.
I am intentially lowering MAX_UPDATES_PER_SECOND = 50 so I can get the data from CarbonLink only thus from memory,  I wanted the results to get back to me as fast as possible.  I am sending around 2.2Mil metrics/Minute to this box and been steady with no issues for about 2 weeks.
I have 8 carbons [a-h], each has a cache size of ~12 Mil and  ~ 100 points per update.
This is the graph:

Query inspector on Grafana:

Results on cache.log
2019-02-04,13:09:10.619 :: CarbonLink cache-query request for xxxxxxxx returned 15 datapoints
2019-02-04,13:09:49.201 :: CarbonLink cache-query request for xxxxxxxx returned 16 datapoints
2019-02-04,13:10:11.215 :: CarbonLink cache-query request for xxxxxxxx returned 16 datapoints
2019-02-04,13:10:15.786 :: CarbonLink cache-query request for xxxxxxxx returned 16 datapoints
2019-02-04,13:10:23.640 :: CarbonLink cache-query request for xxxxxxxx returned 16 datapoints
2019-02-04,13:12:13.741 :: CarbonLink cache-query request for xxxxxxxx returned 18 datapoints
2019-02-04,13:12:31.016 :: CarbonLink cache-query request for xxxxxxxx returned 18 datapoints
2019-02-04,13:12:39.613 :: CarbonLink cache-query request for xxxxxxxx returned 19 datapoints
2019-02-04,13:12:48.084 :: CarbonLink cache-query request for xxxxxxxx returned 19 datapoints
2019-02-04,13:12:54.276 :: CarbonLink cache-query request for xxxxxxxx returned 19 datapoints
2019-02-04,13:13:18.224 :: CarbonLink cache-query request for xxxxxxxx returned 19 datapoints
2019-02-04,13:13:28.463 :: CarbonLink cache-query request for xxxxxxxx returned 19 datapoints
2019-02-04,13:18:28.642 :: CarbonLink cache-query request for xxxxxxxx returned 24 datapoints
2019-02-04,13:20:51.593 :: CarbonLink cache-query request for xxxxxxxx returned 27 datapoints
2019-02-04,13:29:19.423 :: CarbonLink cache-query request for xxxxxxxx returned 35 datapoints
2019-02-04,13:29:27.626 :: CarbonLink cache-query request for xxxxxxxx returned 35 datapoints
2019-02-04,13:29:39.134 :: CarbonLink cache-query request for xxxxxxxx returned 36 datapoints
2019-02-04,14:03:58.352 :: CarbonLink cache-query request for xxxxxxxx returned 70 datapoints
2019-02-04,14:04:08.129 :: CarbonLink cache-query request for xxxxxxxx returned 70 datapoints
2019-02-04,14:05:19.516 :: CarbonLink cache-query request for xxxxxxxx returned 71 datapoints

Multiple duplicate values (like returned 70 datapoints) occured when I refresh multiple times within the minute and no new metrics came yet.

Ok, so then you are seeing what you'd expect, carbonlink returning the points for the requested series that haven't been flushed to disk yet.

yea but my concern is, why showing 71 data points where the graph has only 5

I see, Thanks @DanCech  for clarifying, I was assuming that the number should match the exact number of datapoints I'm querying for, looks like it's returning all the values for series X in the cache as you described. It's clear now.
I know this should be in saperate question but the reason I dug through the cach.log is to enhance the queries time on our metrics. So we have ~10K servers and our metrics look like
servers.serverX.status  and it returns either 0 or 1 depending on servers availability.
Often we will need to apply different functions on those metrics (and other) if we do
servers.serverX.status|currentbelow(0.9)|countSeries()  the query is taking 10-15 seconds to finish and I'm almost sure all the data is actually getting queried from carbonLink thus from memory
We have a 16 cores and 32 Gb memory with SSD 5K IO vm
using WSGIDaemonProcess graphite processes=8 threads=16 display-name='%{GROUP}' inactivity-timeout=120 on graphite-vhost.conf
I know mialge may vary but what would you suggest to speed up these type of queries ?  especially that we need to list those currentBelow() results in a table in grafana or applying aggregate('count') for historical graphs. I turned on memcached and that helped when someone asking for the exact same query, but it's not helping when the query has to refresh for the first time on a Grafana dashboard.
Any advice?

How many caches are you running?

I have 8 carbons [a-h], each has a cache size of ~12 Mil and ~ 100 points per update.

I'd double that, to the same as the number of cores, they'll have more time responding to your queries. You now got 128 graphite-web threads querying 8 carbon threads (actually more but only one can run at the same time).
Or try out go-carbon.

I will try that and get back with results, so you think the bottlneck is on the carbon side not the graphite-web side ?
Is go-carbon ready for production environement  ? I take it it will only replace the carbon-cache not graphite-web and whisper ?

I will try doubling and get back with results, so you think the bottleneck is on the carbon side not the graphite-web side ?

I don't know, just run top and see how much cpu they use. due to Python's GIL they cannot use more than one core.

YOu think adding more process/workers for WSGIDaemonProcess would help ?

You only know when you try but my guess would be no. 128 seems a lot already.

Is go-carbon ready for production environment?

Booking is using it on production for some years already, they store a few million metrics/second.


SqlService cannot be used

Attempting to use the SqlService provided by SpongeCommon, specifically concerning H2, is not possible as it currently stands. The plugin available here (check releases for binaries, or use gradle runServer) will give something like the output here. This should be patched, as H2 is the recommended SQL implementation.

The sql service is working fine, although I think your plugin is broken:
org.h2.jdbc.JdbcSQLException: A file path that is implicitly relative to the current working directory is not allowed in the database URL "jdbc:h2:config/nosql/test.h2". Use an absolute path, ~/name, ./name, or the baseDir setting instead. [90011-191]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) ~[DbException.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.message.DbException.get(DbException.java:179) ~[DbException.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.message.DbException.get(DbException.java:155) ~[DbException.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.engine.ConnectionInfo.getName(ConnectionInfo.java:400) ~[ConnectionInfo.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.engine.Engine.openSession(Engine.java:50) ~[Engine.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.engine.Engine.openSession(Engine.java:175) ~[Engine.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.engine.Engine.createSessionAndValidate(Engine.java:153) ~[Engine.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.engine.Engine.createSession(Engine.java:136) ~[Engine.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.engine.Engine.createSession(Engine.java:28) ~[Engine.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349) ~[SessionRemote.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:107) ~[JdbcConnection.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:91) ~[JdbcConnection.class:1.8.9-1722-3.1.0-BETA-1114]
	at org.h2.Driver.connect(Driver.java:72) ~[Driver.class:1.8.9-1722-3.1.0-BETA-1114]
	at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:95) ~[DriverDataSource.class:1.8.9-1722-3.1.0-BETA-1114]
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:314) ~[PoolBase.class:1.8.9-1722-3.1.0-BETA-1114]
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:171) ~[PoolBase.class:1.8.9-1722-3.1.0-BETA-1114]
	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:436) [HikariPool.class:1.8.9-1722-3.1.0-BETA-1114]
	at com.zaxxer.hikari.pool.HikariPool.access$500(HikariPool.java:65) [HikariPool.class:1.8.9-1722-3.1.0-BETA-1114]
	at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:567) [HikariPool$PoolEntryCreator.class:1.8.9-1722-3.1.0-BETA-1114]
	at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:560) [HikariPool$PoolEntryCreator.class:1.8.9-1722-3.1.0-BETA-1114]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_72]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_72]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_72]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72]

The problem you're facing here is neither a SpongeCommon bug nor an actual SpongeForge bug, it is related to changes Forge made recently for the Eclipse dev environment probably to fix some issues with the Eclipse compiler. As you can see in the commit, the issue is in Forge, because the class that is failing to load is from a clearly marked optional dependency of HikariCP. The sql service is working fine with your plugin in SpongeVanilla, SpongeForge in IntelliJ IDEA as well as in production (except that it fails to open the connection to the database).
You have different options to solve this problem:

Add the dependency manually to your development environment.
Downgrade ForgeGradle to a version which doesn't have this option in Forge enabled or simply remove -DFORGE_FORCE_FRAME_RECALC=true from the VM options in your run configuration. This may break other things, I don't know.
Report this problem to Forge, as you can see in the comment I've linked above this is a kind of expected problem which just didn't happen yet in Forge itself or any mod.
Use an IDE without a broken compiler.

No, I want setup to be easy.
Don't think that's possible, especially if we switch to 1.9 later
Might do that
No, I have big reasons for using Eclipse.

Well in that case 3) is probably the best option for you.

Looks like disabling the launch flag is going to be my current option. I don't know what bug that flag fixes, but I haven't hit it.


Check for ,  and

From #1 and https://github.com/ffoodd/a11y.css/issues/374#issuecomment-780265496.

Hey, @KittyGiraudel, just wondering if these changes are still relevant while we're here.

I would say so, but we would need to test them. Which is why I’ve never merged them. 😅


UI for required connections is confusing

When creating a new Service Bus trigger, you see this:

We've had at least one report of a customer getting stuck there. I can understand why, because it at the same time says the field is required, but doesn't let you type in the field! And it's easy to miss the +new button.

Maybe simply changing the red text from 'field is required' to 'click +new to add a connection' would remove most of the confusion.

I think the word "new" is also a bit confusing there. Based on the report you've mentioned, there seemed to be some confusion about the fact that they wanted to use an existing SB namespace and likely thought that clicking new would create a new one. We may want to consider changing that to "select" or something along those lines.

Another thought: instead of changing the red text, we could change the 'ghost' text in the textbox, which currently just repeats what's above the text box. It could say 'Click select to choose a connection'.

More evidence that current UI is confusing: http://stackoverflow.com/questions/36583305/why-cant-i-enter-connection-string-for-blob-storage-account-in-my-azure-functio/36583475

Change wording for "+ new" & "change" to "select"
Change ghost text for connections to "Click select to choose a connection"


uriparser: 0.9.1 -> 0.9.3

Motivation for this change
https://github.com/uriparser/uriparser/blob/uriparser-0.9.2/ChangeLog
https://github.com/uriparser/uriparser/blob/uriparser-0.9.3/ChangeLog
Things done

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

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

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

Eep, abandoning until there's a reason to fight their build ;).