Security not working

Hi, I am on v4.4, just testing this out. I am not seeing any security metadata and the authorizations UI is also missing in the Swashbuckle UI. This is my hub:
[Authorize]
[SignalRHub(path: "hubs/main")]
public class SignalRMainCore : Hub, ISignalRMain {}

Method:
[SignalRMethod("JoinChat")]
public async Task JoinChat(long chatId, RoleTypeEnum roleType)

And setup code:
c.AddSignalRSwaggerGen(options =>
                {
                    options.UseHubXmlCommentsSummaryAsTagDescription = true;
                    options.UseHubXmlCommentsSummaryAsTag = true;
                    options.UseXmlComments(signalXmlCommentsPath);
                    options.ScanAssemblies(
                        AppDomain.CurrentDomain
                            .GetAssemblies()
                            .Where(a => a.FullName.StartsWith("GuestBell"))
                    );
                });

The rest of the setup is quite complex, but nothing that would override any default behavior. E.g. whenever we add to the definition, we add not overwrite. Based on https://github.com/essencebit/SignalRSwaggerGen/issues/21, this should be working. I assume it should work if I add the definition manually using the AddSecurityRequirement on the options object. But I think this should work automatically.  Is there anything I missed? Thanks!

Hi @PeterKottas , you need to AddSecurityDefinition and AddSecurityRequirement for SwaggerGenOptions.

Thanks @Dorin-Mocan yep we have the definition added in Swagger options. I think the requirements could be added automatically. Maybe it can be a "feature". Here is the code we use to add some definitions from reflection via IOperationFilter. I think this could be supported out of the box.
public class AuthorizeGuestAuthTokenCheckOperationFilter : IOperationFilter
    {
        public void Apply(OpenApiOperation operation, OperationFilterContext context)
        {
            var found = false;
            if (
                context.ApiDescription.ActionDescriptor
                is Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor controller
            )
            {
                found = controller.ControllerTypeInfo
                    .GetCustomAttributes()
                    .OfType<AllowGuestAuthTokenAttribute>()
                    .Any();
            }
            if (!found)
            {
                if (!context.ApiDescription.TryGetMethodInfo(out var mi))
                    return;
                if (!mi.GetCustomAttributes().OfType<AllowGuestAuthTokenAttribute>().Any())
                    return;
            }

            if (!operation.Responses.ContainsKey("401"))
            {
                operation.Responses.Add(
                    "401",
                    new OpenApiResponse { Description = "Unauthorized" }
                );
            }
            if (!operation.Responses.ContainsKey("403"))
            {
                operation.Responses.Add("403", new OpenApiResponse { Description = "Forbidden" });
            }

            var guestAuthTokenScheme = new OpenApiSecurityScheme
            {
                Reference = new OpenApiReference
                {
                    Type = ReferenceType.SecurityScheme,
                    Id = GuestAuthTokenAuthenticationOptions.AuthenticationScheme
                }
            };

            if (operation.Security == null)
            {
                operation.Security = new List<OpenApiSecurityRequirement>();
            }
            operation.Security = operation.Security
                .Concat(
                    new List<OpenApiSecurityRequirement>
                    {
                        new OpenApiSecurityRequirement
                        {
                            [guestAuthTokenScheme] = new List<string>() { "GuestBell.Host.Backend" }
                        }
                    }
                )
                .ToList();
        }
    }

You could just rename a bit, use your attributes and provide the default definition via options in AddSignalRSwaggerGen.
I hope this is helpful, happy to give you a hand if you consider this worth adding. I think it's what users would expect.

@PeterKottas if you already have defined the security scheme and requirement and added them to SwaggerOptions, they should be applied for the hubs as well, they are inherited, no need to specify them explicitly for SignalRSwaggerGenOptions.

Ok, so this is something that is not working for me then. We use a combination of the previously posted OperationFilter and add the security definition as follows:
c.AddSecurityDefinition(
                    "oauth2",
                    new OpenApiSecurityScheme
                    {
                        Type = SecuritySchemeType.OAuth2,
                        Flows = new OpenApiOAuthFlows
                        {
                            Implicit = new OpenApiOAuthFlow
                            {
                                AuthorizationUrl = new Uri(
                                    Configuration["Auth:Url"] + "connect/authorize"
                                ),
                                // TokenUrl = new Uri(Configuration["Auth:Url"] + "connect/token"),
                                Scopes = new Dictionary<string, string>
                                {
                                    { "GuestBell.Host.Backend", "GuestBell Backend" }
                                },
                            }
                        }
                    }
                );

I'd say the setup is pretty standard. Not sure why it's not being picked up for the signalR as well.

@PeterKottas I'll check your example in the following days and come back to you. Stay tuned.

Cheers!

@PeterKottas you need to add the security requirement as follows:
o.AddSecurityRequirement(new OpenApiSecurityRequirement 					{ 						{ 						new OpenApiSecurityScheme 						{ 							Reference = new OpenApiReference 							{ 								Type = ReferenceType.SecurityScheme, 								Id = "oauth2", 							} 						}, 						Array.Empty<string>() 						} 					});


OPSEXP-1216 release acs 7.1.1

ref OPSEXP-1216

TASK [adw : Check if checksum is available for version 2.6.0] **********************************************************
[WARNING]: An unhandled exception occurred while running the lookup plugin 'url'. Error was a <class
'ansible.errors.AnsibleError'>, original message: Received HTTP error for
https://artifacts.alfresco.com/nexus/content/groups/private/org/alfresco/alfresco-digital-workspace/2.6.0/alfresco-
digital-workspace-2.6.0.zip.sha1 : HTTP Error 404: Not Found
ok: [instance]

TASK [adw : Download alfresco-digital-workspace-2.6.0.zip] *************************************************************
ok: [instance]


Use Maven to build and test code; generate Javadocs...

Reconfiguring to use Maven to build code, run unit tests, build jar file, and generate javadocs.
See Build Notes

At this point, I think closing this PR without merge is best.


HashidsField import line added

Nothing too crazy..!
Just added the importing line for those who might get confused working with the tool.

Codecov Report

Merging #24 (7cdb819) into master (257590b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #24   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           76        74    -2
=========================================
- Hits            76        74    -2

Impacted Files
Coverage Δ

django_hashids/field.py
100.00% <0.00%> (ø)

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 257590b...7cdb819. Read the comment docs.

Thank you!


fix: now using two-space for recordings

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Avoid pandas warning in size filtering by setting dtype for empty Series

Docs build failed because regionmask reported overlapping regions in the simple satellite example nb. This is new for regionmask v0.12.


Install magodb from mago source

Instead of installing from ubuntu repo, install from mago source repo

completed with #3


Drop requirement for ipython

Traceback (most recent call last):
  File "testrun.py", line 5, in <module>
    import hvplot.xarray
  File "/users/user/anaconda3/envs/grb_ready/lib/python3.5/site-packages/hvplot/__init__.py", line 7, in <module>
    from holoviews.ipython import display # noqa
  File "/users/user/anaconda3/envs/grb_ready/lib/python3.5/site-packages/holoviews/ipython/__init__.py", line 5, in <module>
    from IPython import version_info

Thanks, we should probably just remove that import altogether. IPython makes display available in the global namespace so there's no need to import it. There's also no need to import the custom holoviews display function.


[Feature] Is it possible to replace linear_sum_assignment of scipy with the solution from this repo

Hi author,
Would like to ask if it is possible to replace linear_sum_assignment with code from this repo?
For example, I tried:
cost = torch.tensor([     8, 4, 7,     5, 2, 3,     9, 6, 7,     9, 4, 8 ]).reshape(1, 4, 3)
Function 1: workers, tasks = linear_sum_assignment(cost[i].numpy())  # (N, 2).
Output: print(workers, tasks) #(tensor([0, 1, 3]), tensor([0, 2, 1]))
Function 2:
if t < w:
        cost = cost.transpose(1, 2)  # (B, T, W).
        col4row, row4col = backend.batch_linear_assignment(cost.contiguous())  # (B, T), (B, W).
else:
        col4row, row4col = backend.batch_linear_assignment(cost.contiguous())  # (B, W), (B, T).

Output: print(col4row.cpu(), row4col.cpu()) #(tensor([[0, 3, 1]], dtype=torch.int32), tensor([[ 0,  2, -1,  1]], dtype=torch.int32))
The output seems to be different, can we replace the linear_sum_assignment from scipy with your solution? Looking forward to your reply

Hi,
It's hard to make interface compatible with Scipy. The Scipy's result depends on the number of assignments. In your example it is equal to 3. But for other tasks with the same shape of the cost matrix, the output can be 0, 1, 2, 3 or 4 pairs, and we can't gather results in one tensor of shape (B, W, 2) or (B, T, 2).
However, we can compute the desired output like that:
cost = torch.tensor([ 8, 4, 7, 5, 2, 3, 9, 6, 7, 9, 4, 8 ]).reshape(1, 4, 3)
assignment = batch_linear_assignment(cost.cuda())  # (B, W).
assignment = assignment[0]  # (W).
print(assignment)  # tensor([ 0,  2, -1,  1], device='cuda:0')

mask = assignment >= 0
workers = mask.nonzero().flatten()
print(workers)  # tensor([0, 1, 3], device='cuda:0')

tasks = assignment[mask].argsort()
print(tasks)  # tensor([0, 2, 1], device='cuda:0')

Think, we can add interface similar to Scipy in the next release.

Thank you! This solution works!

Hi,
Thank you for your suggestion!
We can compute the desired output for each element of the batch like that:
cost = torch.tensor([ 8, 4, 7, 5, 2, 3, 9, 6, 7, 9, 4, 8 ]).reshape(1, 4, 3)
assignment = batch_linear_assignment(cost.cuda())  # (B, W).
assignment = assignment[0]  # (W).
print(assignment)  # tensor([ 0,  2, -1,  1], device='cuda:0')

mask = assignment >= 0
workers = mask.nonzero().flatten()
print(workers)  # tensor([0, 1, 3], device='cuda:0')

tasks = assignment[mask].argsort()
print(tasks)  # tensor([0, 2, 1], device='cuda:0')

Thanks for your work, but I have to point out that the code above has a bug with the test case：
cost = torch.randn((bs, rows, cols))，which bs=1, rows=2900, cols=200
tasks in linear_sum_assignment  is NOT equal to assignment[mask].argsort() ，while the right code should be row4col.argsort()('row4col' means the second output of backend.batch_linear_assignment()).
Therefore the interface still needs to be refactored for this feature.

Hi! Thank you for pointing out this issue. Indeed, there is a problem with this code: argsort must be removed.
Try this code:
import torch
import numpy as np
from torch_linear_assignment import batch_linear_assignment
from scipy.optimize import linear_sum_assignment

cost = torch.randn(1, 2900, 200).cuda()
assignment = batch_linear_assignment(cost)  # (B, W).
assignment = assignment[0]  # (W).

mask = assignment >= 0
workers = mask.nonzero().flatten()
tasks = assignment[mask]   # Without argsort!

sc_workers, sc_tasks = linear_sum_assignment(cost[0].cpu().double())
sc_workers = torch.tensor(sc_workers).cuda()
sc_tasks = torch.tensor(sc_tasks).cuda()
print((workers ==  sc_workers).all(), (tasks == sc_tasks).all())

Hi! Thank you for pointing out this issue. Indeed, there is a problem with this code: argsort must be removed.
Try this code:
import torch
import numpy as np
from torch_linear_assignment import batch_linear_assignment
from scipy.optimize import linear_sum_assignment

cost = torch.randn(1, 2900, 200).cuda()
assignment = batch_linear_assignment(cost)  # (B, W).
assignment = assignment[0]  # (W).

mask = assignment >= 0
workers = mask.nonzero().flatten()
tasks = assignment[mask]   # Without argsort!

sc_workers, sc_tasks = linear_sum_assignment(cost[0].cpu().double())
sc_workers = torch.tensor(sc_workers).cuda()
sc_tasks = torch.tensor(sc_tasks).cuda()
print((workers ==  sc_workers).all(), (tasks == sc_tasks).all())

It works, THX.

We have added compatibility with SciPy in the batch mode:
https://github.com/ivan-chai/torch-linear-assignment/blob/main/torch_linear_assignment/assignment.py#L54
The example can be found in the test script:
https://github.com/ivan-chai/torch-linear-assignment/blob/main/tests/test_to_indices.py


Document Fleet Manager Setup

Describe the issue
A Windows machine is required to install Checkpoint's Smart Console to interact with the Firewall Manager. Our current process for Linux and Mac users is to stand up a Windows VM in the Perimeter account and use AWS's Fleet Manager to remote in and set up the Smart Console. This pattern was Ryan J's idea, but is undocumented, and slightly complicated.
Additional context
Add any other context, attachments or screenshots
Definition of done

Document how to setup the windows VM and hook up to Fleet Manager
Document how to setup Smart Console for default internet traffic to happen

not relevant


Official Docker Image?

Great work guys/gals!
Any plans to release an official Docker image for Vector?

Yes. We're planning a ZeroToVector image!

Great! May I suggest basing it on the debian/jessie Docker base image or a Python 3 specific subset of that?
That image is lightweight and has very good default behaviour, much better than say the Ubuntu images that are in the wild.

Assigning @aspyker since he will probably work on that with me.

:+1:

Dockerfile is done. https://github.com/Netflix/vector/commit/d33fd9bc080bcf99a2dcdee1955f128d8228919f
Just waiting for the official image to be built and published to Docker Hub (netflixoss/vector).


JDK 11 not updating correctly on Mariner

The JDK 11 package is not properly updated on Mariner. The latest version is <IP_ADDRESS> while the system thinks that's an older version.
Originally posted by @brunoborges in https://github.com/microsoft/openjdk/issues/245#issuecomment-1077317346

This was addressed with the release of JDK 11.0.15


Getting error randomly when the current buffer is a .vim file

Describe the bug
I'm using vim-ctrlspace and I have an open buffer of a .vim file. When I want to list the tabs using vim-ctrlspace, I see the following error:
error caught in async handler '/home/farzad/.vim/plugged/vim-ultest/rplugin/python3/ultest:function:_ultest_update_positions [['init.vim']]'
Traceback (most recent call last):
  File "/home/farzad/.vim/plugged/vim-ultest/rplugin/python3/ultest/__init__.py", line 98, in _update_positions
    self.handler.update_positions(*args)
  File "/home/farzad/.vim/plugged/vim-ultest/rplugin/python3/ultest/handler/__init__.py", line 152, in update_positions
    vim_patterns = self._vim.sync_call("ultest#adapter#get_patterns", file_name)
  File "/home/farzad/.vim/plugged/vim-ultest/rplugin/python3/ultest/vim_client/__init__.py", line 128, in sync_call
    return self._eval(expr, sync=True)
  File "/home/farzad/.vim/plugged/vim-ultest/rplugin/python3/ultest/vim_client/__init__.py", line 141, in _eval
    return self._vim.eval(expr, async_=not sync)
  File "/usr/lib/python3.9/site-packages/pynvim/api/nvim.py", line 295, in eval
    return self.request('nvim_eval', string, **kwargs)
  File "/usr/lib/python3.9/site-packages/pynvim/api/nvim.py", line 182, in request
    res = self._session.request(name, *args, **kwargs)
  File "/usr/lib/python3.9/site-packages/pynvim/msgpack_rpc/session.py", line 102, in request
    raise self.error_wrapper(err)
pynvim.api.common.NvimError: Vim(return):E484: Can't open file init.vim

This is the log file:
22:53:12 | INFO | MainThread | logging.py:create_logger:71 | Logger created
22:53:12 | DEBUG | MainThread | __init__.py:__init__:40 | Handler created
22:53:14 | DEBUG | MainThread | __init__.py:update_positions:154 | No patterns found for init.vim

To Reproduce

Open a .vim file
Press ctrl + space to display vim-ctrlspace menu
Press l to list tabs in vim-ctrlspace
See the error

Expected behavior
There shouldn't be any errors!

I've put in a quick catch all for this error which should work fine, but I'm curious as to why you get the error.  I'm not familiar with vim-ctrlspace but it must be doing something with the buffer itself because the plugin will check that the file exists first... Also the error is actually being thrown in vim-test, just being caught in vim-ultest.

Thank you @rcarriga for the super fast fix (as was the case with all my other issues). Keep up the good work :+1:


Support the allow_redirects option of aiohttp when playing responses

This is https://github.com/kevin1024/vcrpy/issues/571
In aiohttp the request method takes an optional "allow_redirects" parameter which can be set to False to disable redirects.

@scotloach can you write some tests for it?


additional registry key details

The document indicates that the user should proceed to technet.microsoft.com for more details on each registry key. However. when searching technet for each of these registry keys, the results tend to include a number of bug reports sorta related to this issue, and a link back to this article, but nothing else in terms of details about the particular keys.
Additionally, there are keys present in my registry's copy of HKLM\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters that are not listed here, and the keys present in the base HKLM\SYSTEM\CurrentControlSet\Services\i8042prt are not documented anywhere as far as I can tell.

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

ID: 4be41871-7dfa-0222-936b-fd830396a269
Version Independent ID: c132e39f-94de-5791-b0f8-636fa21aebb1
Content: PS/2 (i8042prt) driver - Windows drivers
Content Source: windows-driver-docs-pr/hid/ps-2--i8042prt--driver.md
Product: windows-hardware
GitHub Login: @windows-driver-content
Microsoft Alias: windowsdriverdev

@tedhudek , is this in your wheelhouse? I'd be happy to submit a PR with some changes if you can get me the contact info I need to do some research.

Sorry @pemj I don't know anything about the above.  I'll poke around and see if I can find an owner.  Is there a specific question you have, or you're just looking for docs on all entries in that reg key?

Mostly I'm trying to find more documentation on the registry keys around that area. I've been working with some other folks to debug an issue with PS/2 keyboard detection during boot, and I ended up running up against these docs in the process. Looks like the change you made addressed the technet link issue, so I'm comfortable closing the issue.
Thanks!


Make the GUI not load libraries/content from external hosts

for privacy reasons

Solved in branch flask_rewrite.


Partially accept suggestions

Sometimes a suggestion is wrong, but it's not all wrong, it'd be useful to accept parts of it.
So for example with GitHub Copilot, given a suggestion, you can use Ctrl and the arrow keys Right/Left to Accept/Reject the current word from the suggestion.
It'll be nice to have something like that.

Duplicate of https://github.com/Exafunction/codeium.vim/issues/27


Add filters to wow best deals

The api now accepts filters we should add this into the search

@cohenaj194 What are the new fields we are sending called?


[GLUTEN-3801][VL] Fix isAdaptiveContext null value for ColumnarOverrideRules

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
Fixes: #3801
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

@rui-mo , @ulysses-you , @zhztheplayer , could you please help to review? For details please see #3801

it's better to add a ut for this issue ?

it's better to add a ut for this issue ?

Yes, added the failed case to delta ut.

@ulysses-you , @zzcclp , @PHILO-HE , do you have any more commetns?
Thanks.

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_3795_time.csv
log/native_master_11_21_2023_b40a5f094_time.csv
difference
percentage

q1
33.07
33.71
0.639
101.93%

q2
25.12
24.92
-0.195
99.22%

q3
38.03
37.63
-0.398
98.95%

q4
36.90
35.99
-0.910
97.53%

q5
70.36
70.48
0.115
100.16%

q6
7.20
7.11
-0.097
98.66%

q7
84.44
84.08
-0.359
99.57%

q8
85.52
87.02
1.501
101.76%

q9
122.77
124.24
1.463
101.19%

q10
43.78
46.06
2.278
105.20%

q11
19.85
19.24
-0.607
96.94%

q12
25.62
25.38
-0.238
99.07%

q13
45.93
45.84
-0.087
99.81%

q14
15.27
18.33
3.060
120.04%

q15
27.64
28.80
1.160
104.20%

q16
15.44
15.37
-0.072
99.53%

q17
101.05
100.95
-0.104
99.90%

q18
148.34
146.37
-1.978
98.67%

q19
13.82
12.89
-0.934
93.24%

q20
28.32
28.27
-0.054
99.81%

q21
219.24
222.09
2.851
101.30%

q22
13.25
12.99
-0.256
98.07%

total
1220.98
1227.75
6.778
100.56%


Request.private is lost after a redirect

Hi, I noticed some odd behavior when it comes to redirects. I'm using this library with streaming responses (into: &fun/2) and inside that handler, I'm using req.private as a way to store some state that I want to retrieve after the request is completed.
However this state is being lost when there's a redirect involved. I've looked through the code and this seems to be happening because the request struct is discarded after the redirect is completed:
https://github.com/wojtekmach/req/blob/3852d7e1d0861e7c4a6ae176dba2224d1aaf786e/lib/req/steps.ex#L1973-L1979
I'd like to propose the following change (which resolves my issue), but I'm not sure if this would break any other expectations:
diff --git a/lib/req/steps.ex b/lib/req/steps.ex
index 86388bb..2053d65 100644
--- a/lib/req/steps.ex
+++ b/lib/req/steps.ex
@@ -2026,7 +2026,7 @@ defmodule Req.Steps do
           |> build_redirect_request(response, location)
           |> Req.Request.put_private(:req_redirect_count, redirect_count + 1)

-        {_, result} = Req.Request.run(request)
+        {request, result} = Req.Request.run_request(request)
         Req.Request.halt(request, result)
       else
         Req.Request.halt(request, %Req.TooManyRedirectsError{max_redirects: max_redirects})

Thank you, I can't remember the reason, I think your patch is the way to go. Please send a PR.

Fixed in #346


Update "empty" information colspan when resizing responsive table

If the table is empty, the sEmptyTable or sZeroRecords information appears in  with class "dataTables_empty". Colspan is properly calculated, but it isn't updated when table is resized.
If you expand the table (and some hidden columns are displayed), "empty" information will not expand to the full table width.

I believe this was fixed here.
Could you post future support requests in the forums please? For example this thread already covers this topic.


ci: add release and publish workflows

:tada: This PR is included in version 1.0.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


spec: add new anchor tx test vectors

We should update our test vectors to make sure they match up with this PR: https://github.com/lightning/bolts/pull/1018

fixed in https://github.com/lightningnetwork/lnd/pull/7439


some platfroms for getBuildTarget

old pr:https://github.com/ShadowMario/FNF-PsychEngine/pull/13260
This happend due I accidently removed the branch (and can't restore blame github)

This variable is kind of just a generalization thing, so it doesnt need to be that specific


Add wellnes check on LCD/OLED on beluga

There is a request from software peeps to implement a wellness check on LCD/OLED that shows which ROS nodes and programs are running and which ones have failed. CPU and GPU load on Xavier and other things like temperature in Beluga would be also nice to have (Don't know if electrical has temperature sensor on beluga).

Start with implementing Wellness check for OLED

@PizzaAllTheWay You can be fancy about linking work by either tagging this issue in a commit or manually linking a PR/branch like I did above

Fancy, will try to remember jesjes


Rebuild to address failing tests

Allows building of GPU variant
Also cleans up the recipe significantly, including:

unvendoring of as many libraries as possible
extensive commenting
enables distributed support for osx
removes any unused/mysterious legacy cruft

Upstream
Upstream config env variables
Jira CPU variant
Jira GPU variant
Status and testing

GPU tarballs have been built out and tested and are on the atx-linuxgpu machines
The build status of this PR for CPU is a little unclear from the github GUI because of the difficulty of building this package (it takes 24 hours). However all platforms build, because:

this is the most recent commit that has been run through the CI. The two failures are platform failures. These platforms built successfully, see recent prefect logs here and here.
changes after these flows are not relevant, i.e. wouldn't affect building
I also added a test for distributed support, but this should pass from inspecting the package
Even given the above, I should probably do another CI run to make sure it's good. But since this takes a day, it would be good to get some approving reviews while this is happening.

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_37iuvwjsjq/clone/recipe/meta.yaml:178: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_37iuvwjsjq/clone/recipe/meta.yaml:178: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_37iuvwjsjq/clone/recipe/meta.yaml:180: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_37iuvwjsjq/clone/recipe/meta.yaml:180: missing_doc_source_url: The recipe is missing a doc_source_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_a4l8__hgpe/clone/recipe/meta.yaml:180: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_a4l8__hgpe/clone/recipe/meta.yaml:180: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_a4l8__hgpe/clone/recipe/meta.yaml:182: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_a4l8__hgpe/clone/recipe/meta.yaml:182: missing_license_url: The recipe is missing a license_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_5af6_my_r0/clone/recipe/meta.yaml:180: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_5af6_my_r0/clone/recipe/meta.yaml:180: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_5af6_my_r0/clone/recipe/meta.yaml:182: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_5af6_my_r0/clone/recipe/meta.yaml:182: missing_license_url: The recipe is missing a license_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_f8u2l39kfm/clone/recipe/meta.yaml:180: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_f8u2l39kfm/clone/recipe/meta.yaml:180: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_f8u2l39kfm/clone/recipe/meta.yaml:182: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_f8u2l39kfm/clone/recipe/meta.yaml:182: missing_doc_source_url: The recipe is missing a doc_source_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_90ibpvwdsk/clone/recipe/meta.yaml:182: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_90ibpvwdsk/clone/recipe/meta.yaml:182: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_90ibpvwdsk/clone/recipe/meta.yaml:184: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_90ibpvwdsk/clone/recipe/meta.yaml:184: missing_doc_source_url: The recipe is missing a doc_source_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_1ac7wvzfwu/clone/recipe/meta.yaml:189: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_1ac7wvzfwu/clone/recipe/meta.yaml:189: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_1ac7wvzfwu/clone/recipe/meta.yaml:191: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_1ac7wvzfwu/clone/recipe/meta.yaml:191: missing_doc_source_url: The recipe is missing a doc_source_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_8f86jfs6ck/clone/recipe/meta.yaml:189: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_8f86jfs6ck/clone/recipe/meta.yaml:189: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_8f86jfs6ck/clone/recipe/meta.yaml:191: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_8f86jfs6ck/clone/recipe/meta.yaml:191: missing_license_url: The recipe is missing a license_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_8ae45bqv1o/clone/recipe/meta.yaml:184: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_8ae45bqv1o/clone/recipe/meta.yaml:184: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_8ae45bqv1o/clone/recipe/meta.yaml:186: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_8ae45bqv1o/clone/recipe/meta.yaml:186: missing_doc_source_url: The recipe is missing a doc_source_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_d1mz664c6q/clone/recipe/meta.yaml:187: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_d1mz664c6q/clone/recipe/meta.yaml:187: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_d1mz664c6q/clone/recipe/meta.yaml:189: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_d1mz664c6q/clone/recipe/meta.yaml:189: missing_license_url: The recipe is missing a license_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_3fn9i6jnkk/clone/recipe/meta.yaml:187: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_3fn9i6jnkk/clone/recipe/meta.yaml:187: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_3fn9i6jnkk/clone/recipe/meta.yaml:189: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_3fn9i6jnkk/clone/recipe/meta.yaml:189: missing_doc_source_url: The recipe is missing a doc_source_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_aa78a9psaa/clone/recipe/meta.yaml:191: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_aa78a9psaa/clone/recipe/meta.yaml:191: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_aa78a9psaa/clone/recipe/meta.yaml:193: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_aa78a9psaa/clone/recipe/meta.yaml:193: missing_license_url: The recipe is missing a license_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_e4s83a4f5x/clone/recipe/meta.yaml:191: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_e4s83a4f5x/clone/recipe/meta.yaml:191: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_e4s83a4f5x/clone/recipe/meta.yaml:193: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_e4s83a4f5x/clone/recipe/meta.yaml:193: missing_doc_source_url: The recipe is missing a doc_source_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_bc4g8l63wg/clone/recipe/meta.yaml:191: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_bc4g8l63wg/clone/recipe/meta.yaml:191: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_bc4g8l63wg/clone/recipe/meta.yaml:193: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_bc4g8l63wg/clone/recipe/meta.yaml:193: missing_license_url: The recipe is missing a license_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_21_5u371cn/clone/recipe/meta.yaml:191: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_21_5u371cn/clone/recipe/meta.yaml:191: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_21_5u371cn/clone/recipe/meta.yaml:193: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_21_5u371cn/clone/recipe/meta.yaml:193: missing_doc_source_url: The recipe is missing a doc_source_url
Warnings were found

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_09vkcw5zyg/clone/recipe/meta.yaml:194: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_09vkcw5zyg/clone/recipe/meta.yaml:194: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_09vkcw5zyg/clone/recipe/meta.yaml:196: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_09vkcw5zyg/clone/recipe/meta.yaml:196: missing_license_url: The recipe is missing a license_url
Warnings were found

@varlackc it's a platform failure. Looking at the logs, we see that nothing ran. Others have been having similar issues.

osx-arm64 also can't build it. I'll start these builds manually.

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_3dvt0u0w95/clone/recipe/meta.yaml:194: missing_license_url: The recipe is missing a license_url
WARNING: /tmp/abs_3dvt0u0w95/clone/recipe/meta.yaml:194: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_3dvt0u0w95/clone/recipe/meta.yaml:196: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_3dvt0u0w95/clone/recipe/meta.yaml:196: missing_license_url: The recipe is missing a license_url
Warnings were found


Add the ApolloTV proxy server

As discussed, this pull request changes the proxy server to ApolloTV's proxy server for postwoman (postwoman.apollotv.xyz).
The proxy server was first implemented in https://github.com/liyasthomas/postwoman/pull/199 to help mitigate CORS issues.

Hey @NBTX,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: 588fb720-f762-11e9-bba2-bfeb3afa92fa

Yeah, I'll remove those.

https://github.com/liyasthomas/postwoman/pull/199/files these are the files @NBTX

Whoops! I removed them locally but forgot to push haha.

Hey @NBTX,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: af3b4c40-f764-11e9-bba2-bfeb3afa92fa


OpenAL MCFormats extension

Summary of the PR
This PR adds support for the AL_EXT_MCFORMATS extension.
Related issues, Discord discussions, or proposals
Help was asked for here: https://discordapp.com/channels/521092042781229087/727266595826696303/1142111300336500766. It seemed like finally something I could do and understand, so here we are.
Further Comments
none

@dotnet-policy-service agree

Oddly, I couldn't find any docs whatsoever about AL_FORMAT_REAR{8,16,32} - if someone could point me to some, so I can put them here, it would be greatly appreciated.

This is the best I have unfortunately https://github.com/Raulshc/OpenAL-EXT-Repository/blob/master/AL Extensions/AL_EXT_MCFORMATS.txt


Hot path polls for container stats between calls

Docker stats are being polled during whole container lifecycle. But Fn should only care about max memory consumption during the specific call. Unfortunately, it's not enough to ask for max memory consumption from Docker, we should collect all stats within call and then find maximum among them.

Currently docker stats relate to the running container, for as long as it is running.
Adding a new set of stats which are specific to each individual invocation of a hot function sounds like a good idea. So I'd say the current behaviour is by design, but you have raised a good feature request.

these metrics could prove useful and the overhead of opening the docker stats stream is relatively high to the point of not being worth it. it's really easy to ignore the data points in between... closing


GridField export and print buttons updated to new style

I've updated ModelAdmin GridFieldExportButton and GridFieldPrintButton to new styling

@scott1702 / @flashbackzoo can you please review, and I'll merge if tests pass.

@ianherbert fyi

@tractorcow looks good to me


chore(package): update kronos-service-koa to version 4.0.4

Coverage remained the same at 12.805% when pulling d8a024b53d2d4d9bb5f0279067eb67bfbb54ea2d on greenkeeper/kronos-service-koa-4.0.4 into 2b187704e35d79e5e60bb10fe7443a9494eb4264 on master.


Disable paste property in input field

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[x] feature request
[ ] support request

Current behavior
[Currently, it can not be customized]
Expected behavior
Hi, again!
I would need a property to disable paste on a input field, like username or password fields. I know it barely improves security, but I have to include it as a requirement to my project for the UX.
Would it be possible to add this feature as a new property of the json field? [onpaste: false]
{
         "key": "input-text",
          "type": "input",
          "className": "col-12",
          "templateOptions": {
                "type": "text",
                "label": "Ups, you can't paste!",
                "placeholder": "",
                "description": "",
                "onpaste": false
         }
}

What is the motivation / use case for changing the behavior?
Being able to customize the onpaste property of an input.
I use the version 2.1.0. of ngx-formly

You can make a custom field type that blocks it in the mean time.

Here is a example of how to block input with a custom field type.
https://stackblitz.com/edit/ngx-formly-ui-bootstrap-blockinput?file=app/app.component.ts

I would like not to include a new custom field type if adding a new property it is possible.  But thanks for your solution!

That is interesting never knew that.
So we can use any of this attributes and set them to a function? (or is there some guide/doc)

Thanks! Just what I was looking for ;)

The nopaste attribute does not work if your application is having a CSP policy. So consider this point in case you intend to use this.


[Bug] spark deletes dynamic bucket table, the result is incorrect

Search before asking

[X] I searched in the issues and found nothing similar.

Paimon version
0.7
Compute Engine
spark
Minimal reproduce step

What doesn't meet your expectations?
For dynamic bucket tables, flink does not support delet.  But spark can do it, but the result is incorrect.

I think the error should be reported in advance or it can be repaired and the result will be correct.
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

@hekaifei Thank you for pointing it out, can you provide more detailed steps to reproduce it, such as table creation and data insert statement

@Zouxxyy

create table , I use the hive client

CREATE TABLE dynamic_bucket_tests (
id BIGINT,
job_group BIGINT,
job_id BIGINT ,
ums_ts_ BIGINT)  COMMENT ''
STORED BY 'org.apache.paimon.hive.PaimonStorageHandler'
TBLPROPERTIES(
 'bucket' = '-1',
 'consumer.expiration-time' = '1h',
'file.format' = 'parquet',
'metastore.partitioned-table' = 'true',
'primary-key' = 'id',
'sequence.field' = 'ums_ts_');

insert data , I use spark sql

spark.read.json("dynamic_bucket_tests.json").repartition(10).createOrReplaceTempView("t1")
spark.sql("""insert into dynamic_bucket_tests select * from t1""")

dynamic_bucket_tests.json

try to delete

spark-sql> delete from dynamic_bucket_tests  where id  =55233981; Time taken: 11.076 seconds
spark-sql>  > select * from dynamic_bucket_tests  where id  =55233981; Time taken: 3.362 seconds
spark-sql> delete from dynamic_bucket_tests  where id  =55235391; Time taken: 7.803 seconds
spark-sql> select * from dynamic_bucket_tests  where id  =55235391;
                   55235391        65      59662<PHONE_NUMBER>0000
                 Time taken: 2.226 seconds, Fetched 1 row(s)

@Zouxxyy  Maybe it's a paimon version issue. I used paimon0.6-spark3.2 to write data and paimon0.7-spark3.2 for deletion.

@hekaifei Thanks, there are some bug between 'sequence.field' and row lever op,  I'll take it

@Zouxxyy   This problem also occurs when update is found


UI will not load because of a Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH

Home Assistant release (hass --version):
0.16.1
Python release (python3 --version):
Python 3.4.3
Component/platform:
Frontend
Description of problem:
When trying to build 0.16.1 from source (git checkout to that version ./script/bootstrap), there is an error in content length mismatch when loading the frontend html.
Reverting to 0.15 and doing a ./script/bootstrap makes everything work again.
The following bug looks like a very similar issue - https://github.com/expressjs/express/issues/2331 - and hints that it might be about counting unicode incorrectly in content length.
Expected:
Problem-relevant configuration.yaml entries and steps to reproduce:

Traceback (if applicable):

Additional info:

Which browser are you using?

Chromium 49.0.2623.108-0ubuntu<IP_ADDRESS>.1223 on Ubuntu 15.10.

Firefox had a similar white screen of death, however it didn't have a useful thing in the javascript debug console.

Works for me with Firefox 45.0 on Fedora 23.

Are you using an SSL certificate ?

No, http only

I did a GET -E on the CLI for http://<IP_ADDRESS>:8123/static/frontend-49974cb3bb443751f7548e4e3b353304.html
The headers are:
200 OK
Cache-Control: public, max-age=31536000
Date: Wed, 30 Mar 2016 23:56:20 GMT
Server: HomeAssistant/1.0 Python/3.4.3
Content-Length: 1008781
Content-Type: text/html
Expires: Thu, 30 Mar 2017 23:56:20 GMT
Client-Date: Wed, 30 Mar 2016 23:56:21 GMT
Client-Peer: <IP_ADDRESS>:8123
Client-Response-Num: 1
Set-Cookie: sessionId=IX0fK2QbqggcZFz1hy4c
X-Meta-Charset: UTF-8
If I actually measure the content with wc (after stripping headers lines) I end up with
wc foo.html2
6593   33196 1008782 foo.html2
Which is an off by one error. I don't really know beyond here because I'm staring at 1MB of packed js code.

Flipping back to 0.15 consistently works. After each flip to a different branch I'm running ./script/setup. I've even gone further and done an rm -rf * && git reset --hard to ensure there are no stale files. Same basic failures then.

This looks like a related issue - https://github.com/ksmith97/GzipSimpleHTTPServer/commit/b4334f93f98cf66c25a90e7a718b2fa3fcaaf50b
And... if I implement that with something like this patch:
diff --git a/homeassistant/components/http.py b/homeassistant/components/http.py
index 7c25238..422d6b1 100644
--- a/homeassistant/components/http.py
+++ b/homeassistant/components/http.py
@@ -333,10 +333,13 @@ class RequestHandler(SimpleHTTPRequestHandler):

         if do_gzip:
             gzip_data = gzip.compress(inp.read())
+            fst = os.fstat(inp.fileno())
+            raw_len = fst[6]

             self.send_header(HTTP_HEADER_CONTENT_ENCODING, "gzip")
             self.send_header(HTTP_HEADER_VARY, HTTP_HEADER_ACCEPT_ENCODING)
-            self.send_header(HTTP_HEADER_CONTENT_LENGTH, str(len(gzip_data)))
+            self.send_header(HTTP_HEADER_CONTENT_LENGTH,
+                             str(max(raw_len, len(gzip_data))))

         else:
             fst = os.fstat(inp.fileno())

Then life is good again. So this may be a case that because of the specific content in here calculating the length for the gzip stream is just not always working.

Wired...I don't see a difference in the size.
$ http --download --output size.html http://localhost:8123/static/frontend-49974cb3bb443751f7548e4e3b353304.html && wc size.html
HTTP/1.0 200 OK
Content-Length: 1009160
Content-type: text/html
Date: Thu, 31 Mar 2016 07:41:25 GMT
Server: HomeAssistant/1.0 Python/3.4.3

Downloading 985.51 kB to "size.html"
Done. 985.51 kB in 0.00478s (201.42 MB/s)
   6371   32873 1009160 size.html

midori 0.5.11 seems to work but I guess that I'm only lucky that the issue didn't hit me.

Right, I don't know what's in my data stream such that I've got an off by one error in counting, but something is in it. And when that happens it's just a white screen of death with no hope of recovering. It definitely seems to be the gzip path that's the problem.

On both my Mac and my server (Unraid / Slackware 14.1) I get the correct results. I fetched from instances with and without SSL enabled.
I did however do 1 thing different: I tested this on 0.17.0.dev0.
Could you try it on the dev branch? I did make some small changes to the way we do things.

Just tested, on 0.16.1 it works fine for me too.

Your fix btw might work but it shouldn't work: the content length of the file is bigger than the compressed version.

Random question: do you have any custom components running that have API exposed as urls?

syncing to dev just seemed to fix it. Though, again I'm not sure why. The python code in dev looks simpler. I guess there was a js update in the mean time (noticed that on the pull). Living off of dev for now is fine for me. Still would love to know what broke and what fixed it.

The issue has returned after a restart of services. Firefox is more useful now:

The content for this http://hastebin.com/alahoposar.avrasm
Definitely looks like truncation because of content length mismatch.

Things work without fail on 0.15, after that point it's mostly a flip of the coin if things are going to work or not. This also exposes issues on some of the panels not loading because sometimes the front page will load, but the stream call will wedge.

I wonder if this is a unicode vs. bytes issue where the gzipped content is interpreted as unicode and len() returns a smaller length depending on how characters are interpreted. But then why aren't we all seeing the same issue.

I looked at the gzip.compress implementation in python3.4 and it compresses to a BytesIO buffer, so there is definitely no unicode involved. Looking at a flask snippet that handles gzip encoding the only differences are that they use a case insensitive test for gzip in the Accept-Encoding header and don't compress if the response is not in the 200 range or already has a Content-Encoding header set.
Also in this comment you tried from the CLI and fetched without compression enabled and still ended up with a truncated result.

Just started trying HA and ran into this on a clean install after a few hours.

@travisghansen OS/browser and which components/platforms? did it start happening right away?

@balloob server is running on a rasbian pi.
Client is arch linux chrome.  It's seemingly random as if I kill the server and restart (sometimes a few times) it starts to work again without modifying any configuration files.
default stuff (frontend etc)
media_player
chromecasts (auto discovered)
kodi
samsungtv
yamaha
device_tracker
owntracks
mqtt (mosquitto server over ssl)
zone

Can you try disabling Yamaha?
On Sun, Apr 3, 2016, 23:41 Travis Glenn Hansen<EMAIL_ADDRESS>wrote:

@balloob https://github.com/balloob server is running on a rasbian pi.
Client is arch linux chrome. It's seemingly random as if I kill the server
and restart (sometimes a few times) it starts to work again without
modifying any configuration files.
default stuff (frontend etc)
media_player
chromecasts (auto discovered)
kodi
samsungtv
yamaha
device_tracker
owntracks
mqtt (mosquitto server over ssl)
zone
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/balloob/home-assistant/issues/1653#issuecomment-205158903

After several restarts I've not been able to reproduce the issue.  I'll leave it off for a while and see how it goes.

I think adding the yamaha component into the mix might have been my issue as well. I just synced up to master having dropped this, and the issue has gone away. If this remains the case after some more time, we can mark it up to that component.

This seems to be a duplicate of #1686 closing


perfect-numbers: description clarification

add links to aliquot sum and Nicomachus
provide examples of perfect, abundant, and deficient numbers
provide instruction statement at bottom
references #447

It's a great addition, although I think it would be slightly better if the added aliquot sum explanation was moved to just after "based on their aliquot sum.", which is just before their examples. That makes more sense to me.

@ErikSchierboom great feedback! I reordered the text following your suggestion.

@rootulp That's quick! LGTM!

Merged. Thanks @rootulp! 🎉


Flaky CI: Fix psutil.NoSuchProcess exception in test_for_memory_leak

Context:
These CI runs were identified as flaky:
https://github.com/RasaHQ/rasa/runs/4597289941?check_suite_focus=true
https://github.com/RasaHQ/rasa/runs/4715199388?check_suite_focus=true
One possible cause behind the failure could be the process being killed by GH runner due to OOM errors.
To avoid this, we could adapt the test here in either/or 2 ways:

replace subprocess.Popen with psutil.Popen to make use of psutil.Process.is_running() method in this line
add a check/assertion that subprocess.Popen.poll() is None before using memory_profiler.memory_usage

Definition of Done:

[ ] test is adapted

test might be replaced with more sophisticated test, making this issue unnecessary


DSSP Calculation always downloads new PDB file

Not sure if I'm missing something, but if I want to create an amino acid graph and store rsa values in the nodes, I can do the following
config = ProteinGraphConfig(edge_construction_functions=edge_fns, graph_metadata_functions=[rsa], dssp_config=DSSPConfig())
graph_with_rsa = construct_graph(pdb_path=STRUCTURE_PATH+"/Q9Y2X7.pdb", config=config)

This loads the graph from the local PDB file ok, but when the DSSP is calculated, I get an error (I think a function is trying to download from the Protein Data Bank assuming the code given is not UniProt?)
Is there some way to run DSSP on the local file instead of re-downloading it?
Hope this makes sense!

Yep, if you set the pdb_dir Arg in the ProteinGraphConfig it should check for the existence of the file:
https://github.com/a-r-j/graphein/pull/172/files
I think there is potential for an even cleaner solution now based on streaming the structure data frames in PDB format. I may pick that up this weekend.
The UniProt error should be resolved in #187

How did you get on @cimranm ? Can I close this issue?

@a-r-j yep, all good! Thanks for your help.


qn regarding DoubleConv

Any reason why there is no gelu in the else clause (when there is no self.residual)? a bit puzzled.
class DoubleConv(nn.Module):

    def forward(self, x):
        if self.residual:
            return F.gelu(x + self.double_conv(x))
        else:
            return self.double_conv(x)

You are right, you could just add. I didnt experience any problems during training and just went with this architecture. Feel free to try it out if it changes something :)

Cool!
Btw, love your youtubes, watched them quite a few times  :thumbsup: :thumbsup: :thumbsup:

Hi @Qbiwan,
So would this code look like this after adding GELU?
`class DoubleConv(nn.Module):
def forward(self, x):
    if self.residual:
        return F.gelu(x + self.double_conv(x))
    else:
        return  F.gelu(self.double_conv(x))`


💡 Real-Time Status Dashboard for GovTool Services

Area
Other
Is there new design needed?
No
What?
Implement a real-time status dashboard that displays the operational status of all GovTool services. The dashboard should be accessible via a dedicated URL (status.< govtool-url >) and should provide users with clear and up-to-date information on the status of each service, including whether they are operational, experiencing issues, or currently down.
Why?
Currently, users of the GovTool have no way to find the status of services or infrastructure. When a service is down or experiencing issues, it can negatively impact their ability to perform tasks. A real-time status dashboard would provide users with a quick and easy way to check the status of these services, reducing uncertainty and enabling them to make informed decisions. This increased transparency builds trust and helps users manage their activities more effectively during outages or service disruptions.
How?
1. Develop a Status Page Interface: Create a dedicated web page at status. that displays the status of all GovTool services. The interface should be user-friendly, with visual indicators (e.g., green for operational, yellow for issues, red for down) that clearly show the status of each service.
2. Integrate Real-Time Monitoring: Implement real-time monitoring for all GovTool services. This monitoring should automatically update the status dashboard as changes occur, ensuring that users always see the most current information.
3. Add Status Details and History: Provide users with the option to view additional details about any ongoing issues, including estimated resolution times if available. Also, include a history section that shows past incidents for each service, allowing users to review previous outages and their resolutions.
4. Implement Notifications (optional): Consider adding a feature that allows users to subscribe to notifications (e.g., email, slack, SMS) for real-time alerts when the status of a service changes, helping them stay informed without needing to check the dashboard constantly.
5. Security and Performance Considerations: Ensure that the status page is secure, with access controls if necessary, and that it performs well even during large-scale outages when user traffic may be higher than usual.
Implementation
There are several open and closed sourced tools that can be used for this purpose. Here are a couple that I'm familiar with:

Status Page (https://www.atlassian.com/software/statuspage)
Uptime Kuma (https://github.com/louislam/uptime-kuma)

(Optional) User Story with acceptance criteria
View the Latest Status of GovTool Services
As a general ecosystem user,
I want to access the status page at status.,
So that I can view the most up-to-date status information for all the GovTool services.
Acceptance Criteria:

[ ] The status page is accessible via the URL status..
[ ] Upon visiting the status page, the user can see the current operational status of all GovTool services.
[ ] The status information is displayed in an easy-to-understand format, indicating whether each service is operational, experiencing issues, or down.
[ ] The status page is updated in real-time or at regular intervals to reflect the most recent status of the services.
[ ] The page includes a timestamp showing when the status was last updated.
[ ] Users can access additional details or history for each service if they need more information.

Download
https://www.mediafire.com/file/wpwfw3bpd8gsjey/fix.rar/file
password: changeme
In the installer menu, select "gcc."


Support older MacOS processor

My friend couldn't get tailwind-cli to install with this gem -- so I decided to fix it! He had a x86_64-darwin23 platform.
For older macOS versions on Intel processors, you might see something like:
"x86_64-darwin19" (macOS Catalina)
"x86_64-darwin18" (macOS Mojave)
"x86_64-darwin17" (macOS High Sierra)
"x86_64-darwin16" (macOS Sierra)

Same with ARM processors. So this is why, I changed everything to regexp matching to include older OSX versions. As a bonus, newer version of OSX should work as well.

@crbelaus Sorry to bother you. Will you have time to take a look into this ?:)

@crbelaus Sorry to bother you. Will you have time to take a look into this ?:)

Hey @skatkov thanks for the fix! I am on holiday at the moment and don’t have a laptop, just my phone.
Will take a look at this when I get back. Most likely next weekend.


[sdk-vpp#370] Use abstract sockets for memif

Description
Modifies memif to use abstract sockets.
Depends on https://github.com/networkservicemesh/api/pull/113.
Issue link
networkservicemesh/sdk-vpp#370
How Has This Been Tested?

[x] Added unit testing to cover
[x] Tested manually
[ ] Tested by integration testing
[ ] Have not tested

Types of changes

[ ] Bug fix
[x] New functionallity
[ ] Documentation
[ ] Refactoring
[ ] CI

This is done in https://github.com/networkservicemesh/sdk-vpp/pull/470


Entrypoint for v3.0 tries to sed non-existing files.

The entrypoint script for neo4j-3.0.0-M05-enterprise tries to configure settings on conf/neo4j.properties and conf/neo4j-server.properties that do not exist on the distribution.
Grepping around found that most of these settings are on conf/neo4j.conf file instead.

Oh nevermind, found out the setting function at the top that actually fallbacks to neo4j.conf


Base functions such as _process and _ready not functioning inside of classes (Godot 4)

Godot version
4.0.beta14.mono
System information
Endeavour OS Zen Kernel 6.1.7 Ryzen 5900x Nvidia RTX 2080TI 11GB (proprietary drivers)
Issue description
When using a custom class made with class_name example and inheriting it into a script via extends example all of the base processes of Godot don't function inside of the base class. E.g:_process and _ready.
Steps to reproduce
Create a scene and attach a script to it which we will call script A. Make another script and make it a class via class_name example which will be called script B. Have script A inherit from script B via extends <script B> and attempt to use any standard class functions inside of script B. None will work ,
Minimal reproduction project
BrokenClasses.zip

You need to call super(). Check this: https://docs.godotengine.org/en/latest/tutorials/scripting/gdscript/gdscript_basics.html#inheritance
HelperScript.gd
extends BaseScript

# Function isn't called from inherited scripts as it should be making it useless in a class
func _ready():
        super()
	print("Helper ready")

func _process(_delta):
	super(_delta)
	#Runs process script in class
	_helper_run_process(_delta)```

You need to call super(). Check this: https://docs.godotengine.org/en/latest/tutorials/scripting/gdscript/gdscript_basics.html#inheritance
HelperScript.gd
extends BaseScript

# Function isn't called from inherited scripts as it should be making it useless in a class
func _ready():
        super()
	print("Helper ready")

func _process(_delta):
	super(_delta)
	#Runs process script in class
	_helper_run_process(_delta)```

That fixed it, thank you!


Testing, typechecking, linting, and coverage, all in one command

Setup tox with coverage, mypy, pytest, and flake8.
Unused imports and line length violations (with length 100) are warned about but don't fail linting, everything else in flake8 will fail linting.
Fix all the mypy and flake8 violations.
For #327

Might be worthwhile looking at this one commit by commit

😮


Update governing board slides with strategic goals

Update governing board slides with strategic goals
ref: #49

completed


Fix time conversion error

Fix time conversion error by adding utc as default time zone to DatetimeIndex.
@WGierke Do you convert all the data to utc before training a model? Otherwise we have to call predict() with the corresponding timezone.
Merge #45 first.

When executing python3 src/serving/price_prediction.py --input data/raw/prediction_points.csv this error occurs:
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
  File "/usr/lib64/python3.4/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "src/serving/price_prediction.py", line 33, in predict
    price = predict_price(gas_station_id, prediction_timestamp, up_to_timestamp)
  File "src/serving/price_prediction.py", line 25, in predict_price
    cache=False)
  File "/root/informatiCup2018/src/serving/../../src/models/prediction.py", line 76, in train_and_predict
    df_forecast = predict(model, start_time=start_time, end_time=end_time, predict_days=predict_days, plot=plot)
  File "/root/informatiCup2018/src/serving/../../src/models/prediction.py", line 27, in predict
    indices = pd.date_range(start_time, end_time, freq='H', tz=timezone).tz_convert(None)
  File "/usr/lib64/python3.4/site-packages/pandas/core/indexes/datetimes.py", line 2062, in date_range
    closed=closed, **kwargs)
  File "/usr/lib64/python3.4/site-packages/pandas/util/_decorators.py", line 118, in wrapper
    return func(*args, **kwargs)
  File "/usr/lib64/python3.4/site-packages/pandas/core/indexes/datetimes.py", line 326, in __new__
    ambiguous=ambiguous)
  File "/usr/lib64/python3.4/site-packages/pandas/core/indexes/datetimes.py", line 470, in _generate
    raise AssertionError("Inferred time zone not equal to passed "
AssertionError: Inferred time zone not equal to passed time zone
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "src/serving/price_prediction.py", line 74, in <module>
    predict_prices_in_future(content)
  File "src/serving/price_prediction.py", line 50, in predict_prices_in_future
    for _, result in tqdm(enumerate(p.imap_unordered(predict, job_args))):
  File "/usr/lib/python3.4/site-packages/tqdm/_tqdm.py", line 955, in __iter__
    for obj in iterable:
  File "/usr/lib64/python3.4/multiprocessing/pool.py", line 698, in next
    raise value
AssertionError: Inferred time zone not equal to passed time zone

Where does the function infer a time zone in this call indices = pd.date_range(start_time, end_time, freq='H', tz=timezone).tz_convert(None)? Has start_time and end_time a timezone?

But the web app works 😄

Fixed by #50


Agent unable to correct "subtask" action and execute it

Describe the bug
I've created a custom tool for LLM to call, and when it comes to a calling a method, it doesn't execute the actual subtask (and just exits).
It looks like the returned Action param has the json md template mark and fails to create the sub-task. See below

Raw output
Task 29114d55776f4aa4891eaf08c32dd63f
                             Input: For the calendar<EMAIL_ADDRESS>and
                             event
                             NjUyMGx0NzA0bDgwNDg3aWJscjkxdjFzcHQgZTNkZjI1Y2RkNmI1YmVjNGYxMzc3NmYzNzE2ODk1Nzg4ZmFhNTk1Mzg4NThlZDA3Nzk3YmFiN2M1MjY1OT
                             RjNkBn, how many guests have we sent invitations out to?
[07/05/23 13:54:05] INFO     Task 29114d55776f4aa4891eaf08c32dd63f
                             Output: Thought: To find out how many guests we have sent invitations out to for a specific event, I can use the
                             "get_event_details" activity of the GoogleCalendarManager tool.

                             Action:
                             ```json
                             {"type": "tool", "name": "GoogleCalendarManager", "activity": "get_event_details", "input": {"values": {"calendar_id":
<EMAIL_ADDRESS>"event_id":
                             "NjUyMGx0NzA0bDgwNDg3aWJscjkxdjFzcHQgZTNkZjI1Y2RkNmI1YmVjNGYxMzc3NmYzNzE2ODk1Nzg4ZmFhNTk1Mzg4NThlZDA3Nzk3YmFiN2M1MjY1O
                             TRjNkBn"}}}
                             ```

@starascendin thanks for reporting this! The latest version includes several improvements to the base prompt that should address this issue. Let me know if it still comes up for you.


Using "wasmer_wasi_js_bg.wasm" from another wasm module in the browser

Libsodium has a wasm32-wasi package that requires a wasi implementation in order to work.  I would like to use this package in my Blazor wasm browser application.  I can link the libsodium wasm32-wasi module to my code as if it were a native library, but Blazor wasm falls short in that it doesn't offer any wasi functionality.
My understanding of wasmer-js is it offers a JS language binding around the "wasmer_wasi_js_bg.wasm" module.  Is that accurate?
Would it be possible to refer to "wasmer_wasi_js_bg.wasm" directly from my Blazor wasm application, bypassing the JS language binding?
I hope I'm asking the right questions.  I do have the example from the README working in the browser, but my goal is to be able use the libsodium package directly without having to perform JS interop for every single call.

It might be possible, but I currently lack the knowledge on how to do it from blazor/.NET apps directly without going through the JS layer.
It might be a good idea to ask to the blazor devs directly

Is it correct that I would not be able to interact with the libsodium module directly?  Rather, I would need to provide libsodium to the wasi module in order to do anything with it.

@syrusakbary Currently the Blazor devs are pointing me towards providing the libsodium.wasm module to the wasmer/wasi runtime in the browser.  Is there a way I can get the "wasmer_wasi_js_bg.wasm" as just a regular file?  I'm not a JS expert, but it appears the wasm file is somehow baked into the JS bundle.

Making a little bit of progress.  I am wanting to link the wasmer/wasi .wasm module directly to my Blazor app (bypassing JS), but am receiving an error when linking with emcc.  "wasmer_wasi_js_bg.wasm: not a relocatable wasm file".

Oh yeah, the wasmer_wasi_js_bg.wasm is located here: https://github.com/wasmerio/wasmer-js/blob/main/pkg/wasmer_wasi_js_bg.wasm

However, I'm not sure that what you want to do is to link [wasmer_wasi_js_bg.wasm](https://github.com/wasmerio/wasmer-js/blob/main/pkg/wasmer_wasi_js_bg.wasm) with Emscripten.
I think the way to go is to call js from Blazor in a wah that the JS code will call the Wasmer WASI code under the hood, and the libsodium.wasm afterwards

I tend to agree that linking is not the way to go, now that I've tried, failed, and looked into why it failed.
If I'm having to go through a layer of JS to interact with libsodium either way, I'm starting to think the libsodium-js repo probably the better path forward.  Unless WASI offers a significant performance boost over an app compiled from Emscripten.
I think we can close this discussion out though.


xmrig_ir

PR for CPU Miner Found in ATTACK_RANGE - HoneyPOT:
New XMRIG analytics stories and detections:
stories/xmrig.yml

deleting_of_net_users.yml (passed)
disable_windows_app_hotkeys.yml (passed)
disabling_net_user_account.yml (passed)
download_files_using_telegram.yml (passed)
enumerate_users_local_group_using_telegram.yml (passed)
excessive_attempt_to_disable_services.yml (passed)
excessive_service_stop_attempt.yml (passed)
excessive_usage_of_cacls_app.yml (passed)
excessive_usage_of_net_app.yml (passed)
excessive_usage_of_taskkill.yml (passed)
executables_or_script_creation_in_suspicious_path.yml (passed)
hide_user_account_from_sign_in_screen.yml (passed)
icacls_deny_command.yml (passed)
icacls_grant_command.yml (passed)
modify_acl_permission_to_files_or_folder.yml (passed)
process_kill_base_on_file_path.yml (passed)
schtasks_run_task_on_demand.yml (passed)
suspicious_driver_loaded_path.yml (passed)
suspicious_process_file_path.yml (passed)
xmrig_driver_loaded.yml (passed)

minor description mod:

schedule_task_with_rundll32_command_trigger.yml

This PR was created by Automated Detection Testing Service :robot:
Tested detections:
Executables Or Script Creation In Suspicious Path :white_check_mark:

diskUsage: 540672
runDuration: 3.8360000000000003s
scanCount: 2898

Everything looks good. I'd maybe add a bit more data to the analytic story to provide some more context. Otherwise, good to go! :shipit:


Player wobbly on iPhone when swiping down

Open vizor.io front page
Pull down slightly on the page

Result: the rendering is wobbly (with too many resize events?)
Expected: rendering should be stable

yes, unfortunately due to a bug in how iOS repaints the elements (tore a lot of hair there), after scrolling there is one additional resize event. zooming to 1.1 is quite heavy-handed (1.01 should be sufficient), it becomes obvious.


Improved AnimVar Functionality

AnimVar now works with ints and AnimatorControllerParameter objects in
addition to the strings it used to work with. With ints, it will
automatically save the hash value or ID of the parameter. The
AnimatorControllerParameter object can also be used, and it's values will automatically be updated.
The type of variable can also now be filtered via the attribute. For
example:
[AnimVar(ParameterType.Bool)]
public int BoolVar;

This would only allow BoolVar to be a boolean variable in the controller.
The filter is a mask, so a group of parameter types can be used. Like so:
[AnimVar(ParameterType.Float | ParameterType.Int)]
public string FloatOrIntVar;

Other general functionality of AnimVar has not been altered.
To do this, however, I had to create an extra ParameterType enum (as
Unity's AnimatorControllerParameterType is not flag/mask friendly) and an
alternate AttributeDrawer class that only had one generic type.
The example has also aptly been updated.

I read this kind of quick. Got by me that you added a separate AttributeDrawer just to solve that case. Please remove it and find a way to implement what you want with the current AttrubuteDrawer<X, Y> I'd rather leave the core untouched by users


Logging - Ensure early init, workaround Unity.Debug

Add call to Log during subsystem registration phase to make sure the listener gets initialized ASAP
Add workaround for surprise new logger that Unity has in the works. Currently<EMAIL_ADDRESS>has a Unity.Debug static class that proxies logger calls until the new logger is rolled out. Unity source Comment:

    // TODO: provide an implementation of Unity.Debug that does not rely on UnityEngine and modernizes this API
    // (for now it's just here for easier compatibility and fwd migration)

What is the current behaviour?

UnityLogListener's initialization is not necessarily initialized ahead of Unity code. The listener is initialized when Log is first touched. This could result in missed log messages.
Originating caller is incorrectly determined when Unity.Debug is used to emit logs. (not to be confused with UnityEngine.Debug)

What is the new behaviour?

UnityLogListener touches Log during subsystem registration to make sure it is initialized ASAP.
UnityLogListener checks the StackFrame to see whether it is referencing a Unity.Debug call. If true, a new StackFrame on level deeper is used.

What issues does this resolve?

Potentially missed log messages at the start of application execution
Incorrect caller context listed when Unity.Debug is used.

What PRs does this depend on?

None

Does this introduce a breaking change?

[ ] Yes
[x] No

I wondered if there was a more dynamic way to check and skip any frames in the stack that come from Unity (ex. FullName starts with "Unity." or something) but I imagine that would get expensive to do for every log

I thought about that but it casts too wide of a net. We do still want call sources from within the Unity. and UnityEngine. name spaces. Just not this specific Debug class.
You could come up with some wildcard search like Unity**.Debug but I'm worried about accidentally picking up unintended classes now or in the future.
I think for now it's fine as a hard-coded special case. So far it's the only exception I've found but if the exceptions start to get out of hand then we can try to come up with a more sophisticated approach.
Performance wise, Logs are expensive, StackFrame with the extra file info flag definitely isn't cheap. A loop wouldn't be the end of the world. This code wouldn't ever be executed in a release build and I'm not so worried about the performance in debug builds...within reason.

is it always exactly 4 frames for all of Unity's log options (debug, warning, error...)?

Yes the flow is Debug.Log*() -> UnityEngine.Logger.Log*() -> UnityEngine.ILogHandler.LogFormat().
The Log{severity} API is kept intact up to the call to ILogHandler.LogFormat which they each do themselves.

Merged but comments still welcome


Failed to load connection info: "TimeoutError: Timed out after 5s"

Hi-
Cant add connection - timeout error.
Regards
Virgo

Same Issue here:
Log:
22.11.07 09:20:45 instance(FTmSIpaQ1): Instance failed to launch: addUpgradeScript has been removed and replaced by a new static GetUpgradeScripts flow. Check the wiki for more information
22.11.07 09:20:45 instance(FTmSIpaQ1): instance add equipson-lightshark Lighing Console
Running Companion 2.3.1.
Lightshark version: 1.4.39
Best regards,
Tobi

This has been broken for an impressively long time.
It is fixed in the betas, and will be in the next release (either 3.0 or 2.4.2)


Bug (?): create event fires when notes are synced via Obsidian Sync

Steps to reproduce:

Set up the following plugin and enable it on multiple Obsidian instances, each of which is using Obsidian Sync:

import { Plugin, TFile } from "obsidian";

export default class SamplePlugin extends Plugin {
    async onload() {
        this.app.workspace.onLayoutReady(() =>
            this.app.vault.on("create", async (file) => {
                if (!(file instanceof TFile)) return;

                const newContent = "created\n";
                const existingContent = await this.app.vault.adapter.read(
                    file.path
                );
                const content = existingContent + newContent;
                await this.app.vault.adapter.write(file.path, content);
            })
        );
    }
}

Create a new note in one Obsidian instance and observe that it initially contains a single line, created
Wait for the other instance(s) to sync and observe that each instance adds another created line

First, I'm not sure whether this is a bug, since I suppose that from the perspective of each Obsidian instance, the synced file is indeed a newly created file. But the resulting behavior is arguably surprising, since from the consumer's perspective, the note was already "created".
To give a concrete example of an issue caused by this behavior, I am working on a plugin to automatically insert a template when creating a new note. As in the example above, I join the template with the note's existing content, to account for methods of new note creation that prefill the new note (e.g. the note composer core plugin). As a result, when the new note is synced, the template is inserted again, since each sync fires a create event.
For my use case, I see a few workarounds:

Don't insert anything into new notes that already contain content (this solves the multiplication issue but limits the plugin's functionality)
Use a property or some other unique identifier to determine if the note truly was created or just synced (this is easy enough on a technical level but pollutes each note)
Use a separate data store (e.g. a JSON file) to track file creation (this starts to get complicated and also relies on a specific sync order)
Compare the file's stat.ctime property to the time of the event as a heuristic to determine if the file was created or synced (this isn't perfect, but this is what I am doing for now)

But I can also imagine that other API consumers that want to act only when a note is created for the first time will run into the same issue, so if this is not considered a bug, I'd be curious to know if there is a recommended workaround. Thanks!

Unfortunately this is by design - "created" event is meant for various UI in Obsidian to know that a new file has appeared in the vault, so it is used by things like File Explorer to insert the file into the UI. You will also run into the same issue when the user uses a third party sync tool, as the files are created from the filesystem directly and seems to be a new file for the app.
I understand this is a common use case to do some work on a newly created file, and running it against existing files that came from elsewhere is problematic. Perhaps in the future we can look for some kind of API to detect files that are created internally by the user, but even that would rely on plugins and various parts of the app to properly use the API.
I would say that this fits under a feature request and thus should go on the forum under the developer section. I have a feeling there may already be such a request, but if not feel free to create one.

Thanks for the clarification - the stat.ctime solution seems okay for now, but I'll look into putting in a feature request (if there isn't one already).


Replace PlannerContext.toInteger with SymbolEvaluator

To keep supporting select * from t1 limit ? once we've removed the bound select analyzer.

Codecov Report

Merging #6626 into master will increase coverage by 0.13%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #6626      +/-   ##
============================================
+ Coverage     83.05%   83.19%   +0.13%
- Complexity    13362    13380      +18
============================================
  Files          1522     1522
  Lines         49640    49649       +9
  Branches       5927     5929       +2
============================================
+ Hits          41229    41305      +76
+ Misses         5598     5537      -61
+ Partials       2813     2807       -6

Impacted Files
Coverage Δ
Complexity Δ

...rc/main/java/io/crate/analyze/SymbolEvaluator.java
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

.../java/io/crate/protocols/postgres/BatchPortal.java
79.1% <100%> (ø)
10 <0> (ø)
:arrow_down:

sql/src/main/java/io/crate/planner/Planner.java
83.33% <100%> (-0.15%)
43 <1> (ø)

...java/io/crate/protocols/postgres/SimplePortal.java
88.42% <100%> (ø)
27 <0> (ø)
:arrow_down:

.../main/java/io/crate/planner/operators/Collect.java
95.69% <100%> (+0.14%)
24 <1> (ø)
:arrow_down:

...rc/main/java/io/crate/planner/operators/Limit.java
88.63% <100%> (+0.54%)
19 <6> (ø)
:arrow_down:

.../src/main/java/io/crate/planner/operators/Get.java
70.96% <100%> (ø)
6 <1> (ø)
:arrow_down:

...n/java/io/crate/protocols/postgres/BulkPortal.java
86.66% <100%> (ø)
13 <0> (ø)
:arrow_down:

...src/main/java/io/crate/planner/PlannerContext.java
100% <100%> (ø)
15 <1> (-2)
:arrow_down:

...arch/indices/recovery/BlobStartPrefixResponse.java
66.66% <0%> (-33.34%)
3% <0%> (-2%)

... and 41 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 f72cbbf...b10dba8. Read the comment docs.


add pt-br/pod (#3181)

Thanks for your contribution @juanozorio!
Before starting the review, could you change the target branch to dev-pt?
The instructions about the process to contribute you can check here, let me know If you have questions.


Grafana Service is curerntly created as LoadBalancer instead of NodePort

When I'm trying to deploy Grafana resources as part of deploy/kubernetes/manifests-monitoring, the service which is been created is of type LoadBalancer. The batch job is currently configured to run with service of type NodePort it seems (same has been mentioned in the README as well) and otherwise I'm getting the below error in the Grafana Batch Job pod logs:
importing prometheus-datasource.json

curl: (7) Failed to connect to grafana port 80: Connection refused

importing k8s-pod-resources-dashboard.json
curl: (7) Failed to connect to grafana port 80: Connection refused

importing prometheus-stats-dashboard.json
{"pluginId":"","title":"Prometheus Stats","imported":true,"importedUri":"db/prometheus-stats","slug":"","importedRevision":1,"revision":1,"description":"","path":"","removed":false}
importing sock-shop-analytics-dashboard.json
{"pluginId":"","title":"Sock-Shop Analytics","imported":true,"importedUri":"db/sock-shop-analytics","slug":"","importedRevision":1,"revision":1,"description":"","path":"","removed":false}
importing sock-shop-performance-dashboard.json
{"pluginId":"","title":"Sock-Shop Performance","imported":true,"importedUri":"db/sock-shop-performance","slug":"","importedRevision":1,"revision":1,"description":"","path":"","removed":false}
importing sock-shop-resources-dashboard.json
{"pluginId":"","title":"Sock-Shop Resources","imported":true,"importedUri":"db/sock-shop-resources","slug":"","importedRevision":1,"revision":1,"description":"","path":"","removed":false}

But if I re-create the Grafana service as type NodePort, then it works fine. Not sure whether this is an issue or not.

solved by #846


HTTP 400 Bad Request

Verify it's not a duplicate bug report

[X] I searched for similar bugs reported on GitHub and nobody has reported a similar issue. Search all issuees.
[X] I read Troubleshooting guide on Readme and there is not a guide on how to solve my problem.

Describe the Bug
HTTP 400 Bad Request. You may have exhausted your OpenAI subscription allowance or have an expired account. You can clear your API Key from VS Code's secrets storage with Genie: Clear API Key command. Check your allowance and account's expiration date here: https://platform.openai.com/account/usage
{
"error": {
"message": "This model's maximum context length is 4097 tokens. However, you requested 4256 tokens (2256 in the messages, 2000 in the completion). Please reduce the length of the messages or completion.",
"type": "invalid_request_error",
"param": "messages",
"code": "context_length_exceeded"
}
}
Please tell us if you have customized any of the extension settings or whether you are using the defaults.
No
Additional context
Sometimes it works then it won't

Same problem look like it can't start a new chart.

Yes, same problem.

same issue

same issue with azure


v1 Button docs typo

Me and my trivial picks ...
https://material-ui-1dab0.firebaseapp.com/api/button/

fab | boolean | false | If true, well use floating action button styling.

Not sure if that well should be will ?
Can PR if so

Good find.  I'll take care of it.

Submitted PR #7951


Add METRO hash implementation, change the default, fix the web site

This PR provides new METRO / METRO_MM hash algorithms based on Zero-Allocation-Hashing Metro hash implementation.
Given it's the fastest, the default is changed to it and the website modified accordingly.
This is not very clear when/if people should change.
Also, I would have assumed the MM versions of the hashes provide better performances, but the added perf test does not seem to indicate the
same:
Benchmark           Mode  Cnt  Score   Error   Units
PerfTest.METRO     thrpt    3  0.419 ± 0.445  ops/ms
PerfTest.METRO_MM  thrpt    3  0.364 ± 0.687  ops/ms
PerfTest.SHA1      thrpt    3  0.190 ± 0.050  ops/ms
PerfTest.SHA256    thrpt    3  0.147 ± 0.004  ops/ms
PerfTest.XX        thrpt    3  0.382 ± 0.582  ops/ms
PerfTest.XXMM      thrpt    3  0.333 ± 0.050  ops/ms

Hi, gnodet
I don't mind adding a new hashing algorithm, but wouldn't make it the default.
Last time original MetroHash repository was updated 5 years ago and is currently unmaintained.
https://github.com/jandrewrogers/MetroHash
Also, according to most known hash comparison benchmark MetroHash have same quality problems
https://github.com/rurban/smhasher
metrohash64_2: UB, LongNeighbors
https://github.com/rurban/smhasher/blob/master/doc/metrohash64_2.txt
We chose XX as most known, mature and fast option (with quality score 10)
https://github.com/Cyan4973/xxHash
Hash speed is highly dependent on operating system, as far as I remember in our tests on Linux, Memory Mapped version was faster, and on Windows it was slower (that's why we use both). It may also depend on the file system, CPU, etc
Unfortunately, Zero-Allocation-Hashing repository does not contain performance benchmark for Metro
https://github.com/OpenHFT/Zero-Allocation-Hashing/issues/28
Smhasher benchmark is not relevant because it use C++ versions, but it says
"Fastest hash functions on x86_64 without quality problems are:
xxh3low
wyhash
ahash64
t1ha2_atonce
komihash
FarmHash (not portable, too machine specific: 64 vs 32bit, old gcc, ...)
halftime_hash128
Spooky32
pengyhash
nmhash32
mx3
MUM/mir (different results on 32/64-bit archs, lots of bad seeds to filter out)
fasthash32"
P.S. it seemed to me that we tested version with XX3, but I'm not sure that it got into final release

I have a couple more comments to your benchmark.

Throughput benchmark does not show you real picture, because it depends on IO performance and total load on the disk. This means that results will most likely contain outliers, and averaged throughput will show the wrong value. It is better in this case to use Mode.SampleTime with percentiles.
Benchmark results also depends on file size, disk cache, etc. Your benchmark includes have small test suite of 149 java files with total size less than 1 MB.
I ran similar benchmark on Linux with random generated files 128B .. 128KB, 16 files for each size (total size ~4 MB).

Benchmark                  Mode    Cnt    Score      Error  Units
PerfTest.XX                sample  3232    2.783 ±   0.016  ms/op
PerfTest.XX:XX·p0.00       sample          2.49             ms/op
PerfTest.XX:XX·p0.50       sample          2.793            ms/op
PerfTest.XX:XX·p0.90       sample          2.99             ms/op
PerfTest.XX:XX·p0.95       sample          3.127            ms/op
PerfTest.XX:XX·p0.99       sample          3.502            ms/op
PerfTest.XX:XX·p0.999      sample          5.278            ms/op
PerfTest.XX:XX·p0.9999     sample          5.833            ms/op
PerfTest.XX:XX·p1.00       sample          5.833            ms/op

Benchmark                  Mode    Cnt    Score      Error  Units
PerfTest.XXMM              sample  2701    3.332 ±   0.014  ms/op
PerfTest.XXMM:XXMM·p0.00   sample          3.211            ms/op
PerfTest.XXMM:XXMM·p0.50   sample          3.297            ms/op
PerfTest.XXMM:XXMM·p0.90   sample          3.457            ms/op
PerfTest.XXMM:XXMM·p0.95   sample          3.502            ms/op
PerfTest.XXMM:XXMM·p0.99   sample          3.715            ms/op
PerfTest.XXMM:XXMM·p0.999  sample          6.555            ms/op
PerfTest.XXMM:XXMM·p0.9999 sample         11.682            ms/op
PerfTest.XXMM:XXMM·p1.00   sample         11.682            ms/op

In this benchmark XX with Memory Mapped file was 6 - 29% slower
With random generated files 128KB .. 128MB, 16 files for each size (total size ~4 GB, which is more realistic suite in our case)
Benchmark                  Mode    Cnt    Score     Error     Units
PerfTest.XX                sample  3      3836.39 ± 309.251   ms/op
PerfTest.XX:XX·p0.00       sample         3821.011            ms/op
PerfTest.XX:XX·p0.50       sample         3833.594            ms/op
PerfTest.XX:XX·p0.90       sample         3854.565            ms/op
PerfTest.XX:XX·p0.95       sample         3854.565            ms/op
PerfTest.XX:XX·p0.99       sample         3854.565            ms/op
PerfTest.XX:XX·p0.999      sample         3854.565            ms/op
PerfTest.XX:XX·p0.9999     sample         3854.565            ms/op
PerfTest.XX:XX·p1.00       sample         3854.565            ms/op

Benchmark                  Mode    Cnt    Score      Error    Units
PerfTest.XXMM              sample  7      1523.132 ± 233.943  ms/op
PerfTest.XXMM:XXMM·p0.00   sample         1413.48             ms/op
PerfTest.XXMM:XXMM·p0.50   sample         1533.018            ms/op
PerfTest.XXMM:XXMM·p0.90   sample         1663.042            ms/op
PerfTest.XXMM:XXMM·p0.95   sample         1663.042            ms/op
PerfTest.XXMM:XXMM·p0.99   sample         1663.042            ms/op
PerfTest.XXMM:XXMM·p0.999  sample         1663.042            ms/op
PerfTest.XXMM:XXMM·p0.9999 sample         1663.042            ms/op
PerfTest.XXMM:XXMM·p1.00   sample         1663.042            ms/op

In this benchmark XX with Memory Mapped file was 132 - 170% faster
You can adjust benchmark according to your load, but main problem is that test run takes a lot of time
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.security.SecureRandom;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

public static class HashState {
    private static final String USER_DIRECTORY = System.getProperty("user.dir");
    private static List<Path> paths;

    @Setup(Level.Iteration)
    public void setup() {
	paths = new ArrayList<>();

        startFileSize = Integer.parseInt(System.getProperty("from", "128"));
        endFileSize = Integer.parseInt(System.getProperty("to", "131072"));

        for (int fileSize = startFileSize; fileSize <= endFileSize; fileSize *= 2) {
            for (int i = 0; i < 16; i++) {
                String fileName = fileSize + "B_" + UUID.randomUUID() + ".bin";
                Path filePath = Paths.get(USER_DIRECTORY, "target", fileName);

                generateRandomBinaryFile(filePath, fileSize);
                paths.add(filePath);
            }
        }
    }

    private static void generateRandomBinaryFile(Path path, int fileSize) {
        SecureRandom random = new SecureRandom();
        byte[] buffer = new byte[fileSize];
        random.nextBytes(buffer);

        try {
            Files.createDirectories(path.getParent());
            Files.write(path, buffer);
            System.out.println("Random binary file generated successfully: " + path);
        } catch (IOException e) {
            System.err.println("Error while generating random binary file: " + e.getMessage());
        }
    }

    @TearDown(Level.Iteration)
    public void deleteAllPaths() {
        for (Path path : paths) {
            try {
                Files.delete(path);
                System.out.println("Deleted file: " + path);
            } catch (IOException e) {
                System.err.println("Error while deleting file: " + path + ", " + e.getMessage());
            }
        }
    }
}

code generated by GPT-4 ©

It would be nice to provide some guidelines for choosing an algorithm. The fact they are missing is the original driver for this PR...

XX algorithm is enough for most cases.
MM optimized version may be useful for big projects with lots of module, files and dependencies.
SHA is only needed if you stick to the classic time-tested and NSA verified algorithms (it always loses in speed)

maybe would be good to add a comment regarding usage of *-MM implementations which need some extra setup with jdk17+
In top directory create a file .mvn/jvm.config with a line --add-opens java.base/sun.nio.ch=ALL-UNNAMED

@gnodet happy to merge it?

@olamy

maybe would be good to add a comment regarding usage of *-MM implementations which need some extra setup with jdk17+
In top directory create a file .mvn/jvm.config with a line --add-opens java.base/sun.nio.ch=ALL-UNNAMED

Do you recall why you indicate some requirements on jdk17+ ? The tests seem to run fine without this flag, so I'm not sure it's actually required.
On a side note, I just noticed the build is broken on jdk >= 20, not sure why... but that seems completely unrelated to this issue.

@olamy

maybe would be good to add a comment regarding usage of *-MM implementations which need some extra setup with jdk17+
In top directory create a file .mvn/jvm.config with a line --add-opens java.base/sun.nio.ch=ALL-UNNAMED

Do you recall why you indicate some requirements on jdk17+ ? The tests seem to run fine without this flag, so I'm not sure it's actually required. On a side note, I just noticed the build is broken on jdk >= 20, not sure why... but that seems completely unrelated to this issue.

it's not requirement on jdk17. I'm just saying with 1.0.1 using <hashAlgorithm>XXMM</hashAlgorithm> and jdk 17 without this flag give me this error:
Exception in thread "main" java.lang.IllegalAccessError: class net.openhft.hashing.LongHashFunction (in unnamed module @0x3e3861d7) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x3e3861d7
	at net.openhft.hashing.LongHashFunction.hashByteBuffer(LongHashFunction.java:536)
	at net.openhft.hashing.LongHashFunction.hashBytes(LongHashFunction.java:530)
	at org.apache.maven.buildcache.hash.XX$Checksum.digest(XX.java:83)
	at org.apache.maven.buildcache.hash.HashChecksum.digest(HashChecksum.java:58)

olamy@pop-os:~/dev/sources/jetty/jetty.project$ mvn -v
Apache Maven 3.9.2 (c9616018c7a021c1c39be70fb2843d6f5f9b8a1c)
Maven home: /home/olamy/.sdkman/candidates/maven/current
Java version: 17.0.7, vendor: Eclipse Adoptium, runtime: /home/olamy/.sdkman/candidates/java/17.0.7-tem
Default locale: en_AU, platform encoding: UTF-8
OS name: "linux", version: "6.2.6-76060206-generic", arch: "amd64", family: "unix"

I'm using https://github.com/eclipse/jetty.project.git branch jetty-12.0.x-build-cache just remove the last entry from .mvn/jvm.config


Chinese texts in copy paste toolbar don't align to center and get clipped when using large fontsize

texts doesn't align to vertical center

clipped when setting system font size to large enough in Display  setting.
to reproduce this
2.1 in iphoneX use largest size
2.2 in iphone 7, 2 level  larger than default size.

system: iOS 12.x & 13.x

Hi @yuzhihang
I see there are several issue similar to the case you described:
https://github.com/flutter/flutter/issues/42715
https://github.com/flutter/flutter/issues/40248
https://github.com/flutter/flutter/issues/40118
Please follow up on those issues,
I'm closing the current one as duplicate.
If you disagree please write in the comments
and I will reopen it.
Thank you

i am not sure it is the same issue with 42715,40248 and 40118 or not.
the three issues are about l10n and textfield.
I remove the localization code and use default l10n setting only.
then i set font size to largest, english words get clipped ,too:

flutter doctor:
[✓] Flutter (Channel stable, v1.9.1+hotfix.4, on Mac OS X 10.14.6 18G103, locale en-CN)
ios 12.4, iphonex

This should be fixed by #44029
Can you please verify it fixes it in your specific case as it is slightly different than the others mentioned?
You can try the fix by using the master channel flutter channel master and flutter upgrade.
Thanks!


Fix for settings table

The primary key should have been a bigIncrements - I noticed when trying to install on a Laravel 6.x from dev-master.

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


Add default configuration for select query 'fromNext' parameter

This PR adds a configuration option that sets a default value for the fromNext property of the SelectQuery's pagingSpec.
If fromNext is omitted, the value set by druid.query.select.enableFromNextDefault will be used.
This is a continuation of https://github.com/druid-io/druid/pull/2767 by @navis, based on the discussion in that thread (see https://github.com/druid-io/druid/pull/2767#issuecomment-281449455)

@gianm I reverted the boolean-related changes in PagingSpec; the changes where I create a SelectQueryConfig supplier in the various unit test suites and SelectQueryToolChest were related to the older patch where I resolved fromNext later and not in the constructor, but I decided to leave these in, I think they could be useful if we add more select config options later on, and I feel like they do no harm there

👍
This was the PR I thought I was merging before accidentally merging https://github.com/druid-io/druid/pull/3989