don't jump-to-def for RBI files if there are multiple locations

Motivation

This comes up as a user request from time to time, and also makes more sense: the user wants to see the definition, which almost certainly doesn't live in an RBI file.
Test plan

See included automated tests.

We discussed this offline and decided that for the case of methods defined in .rb and .rbi files but having a sig in only the .rbi file, choosing the .rbi file would require heuristically parsing sigs in all the relevant files and would therefore be too slow.  (We can tell that the method has a sig, but from within the LSP code, we cannot tell the provenance of the sig without parsing.)  The same logic applies for fields.  Depending on how the relevant .rb and .rbi files are written, we already choose the .rb file for jump-to-def on a method from a send, since we prefer .rb files for canonical locs:
https://github.com/sorbet/sorbet/blob/1a7c3fcd71c93daf970f42ba35db07936ffeae6e/core/Symbols.cc#L2378-L2389
and we jump to the canonical loc for the associated method (not all the locs, as we do for other kinds of responses):
https://github.com/sorbet/sorbet/blob/1a7c3fcd71c93daf970f42ba35db07936ffeae6e/main/lsp/requests/definition.cc#L47-L56
In the end, we decided to limit this to just classes and methods, which makes the patch somewhat less invasive.
I tried writing testcases to show that e.g. jump-to-def on a send would choose the Ruby file, but our test harness is not expressive enough to say:

There is a definition in a .rb file
There is a definition in a .rbi file
Jump-to-def on this send should correspond to the single definition in the .rb file.

...or at least I couldn't figure out how to express that within the test harness.  (I did try symbol versions, which did not seem to be sufficient.  That behavior seems like a bug, but I was not willing to unravel the mess that is def/use/ref checking in lsp_test_runner.cc for this particular change.)
So given that this change only affects classes and modules, I felt that the testcase added that guarantees behavior for classes and modules was sufficient.


Class invariants not checked on autoproperty with public setter

The following code doesn't generate an unproven invariant:
using System.Diagnostics.Contracts;
public class ClassInvariants
{
    public object MySupervisor
    {
        get;
        set;//Does not uphold class invariants
    }
    public ClassInvariants()
    {
        MySupervisor = new object();
    }
    [ContractInvariantMethod]
    private void InvariantsOfThisClass()
    {
        Contract.Invariant(MySupervisor != null), "MySupervisor cannot be null");
    }
}

Version: v.1.10.20606.1-rc2
Visual studio: 2015 update 3
Project targets .NET 4.5.2

I don't believe it should. An invariant on the property gets translated into Ensures on the getter and Requires on the setter, IIRC.
There should only be a warning in code where you try set MySupervisor to null.


Problem on device_type after upgrade google assistant-ibrary

Hi all,
I was running the old version of Google AIY on my Raspi 3B+ without problems until now. After I used the command "pip install --upgrade google-assistant-library" I started to receive these message:
"Traceback (most recent call last):
File "src/assistant_library_demo.py", line 75, in
main()
File "src/assistant_library_demo.py", line 69, in main
with Assistant(credentials) as assistant:
TypeError: init() missing 1 required positional argument: 'device_model_id'"
Can someone help me in which file I need to add the device_model_id? I was looking at internet but couldn't find.
Regards,
Mauricio

You should be able to include the flag as a parameter in your command line. Device registration is something that was added at the end of last year.
You run the sample like:
googlesamples-assistant-hotword --project-id my-dev-project --device-model-id my-model


Propagate divisibility through tl.where for all types

This is needed to enable a workaround to circumvent a recent performance regression, reported in https://github.com/openai/triton/issues/1784.
The regression causes variables assigned inside if/else statements to lose their alignment hints, resulting in much slower unvectorized accesses.
This issue seems to have been introduced in a recent-ish upgrade to MLIR. The Triton version bundled with PyTorch 2.0 was not affected by this issue.
One workaround for this regression is to use tl.where instead of if/else. However, the analysis pass for tl.where only supports tensors, and not pointers or scalars.
This PR relaxes this condition and makes tl.where's analysis support all kind of types.

@ptillet Thanks for approving and launching the tests. The one that failed seems to be an infra issue rather than a bug with this PR:
Error: Input required and not supplied: github-token

Do you know what's up? Thanks!


Update loaders to support new gltf naming.

gltf has changed the naming of the files from json to gltf and I have no luck loading then with the Vizi.Loader.  Please update loader to support new gltf naming.
It also seems like the path property has changed to uri.
#old json format
>cat Duplex.json | grep path
            "path": "Duplex_A_20110907.bin",
            "path": "Duplex_A_201109070FS.glsl",
            "path": "Duplex_A_201109070VS.glsl",
            "path": "Duplex_A_201109071FS.glsl",
            "path": "Duplex_A_201109071VS.glsl",

#new gltf format
>cat Duplex.gltf | grep uri
            "uri": "Duplex_A_20110907.bin"
            "uri": "Duplex_A_201109070FS.glsl"
            "uri": "Duplex_A_201109070VS.glsl"
            "uri": "Duplex_A_201109071FS.glsl"
            "uri": "Duplex_A_201109071VS.glsl"

I am not quite sure if changes are needed in threejs also?

how to update loader to support new gltf naming?


Update extension to use Client/Server model

This extension follows the pattern set by the PHP extension but the VS Code team seems to be pushing a client/server model for new language extensions.
https://code.visualstudio.com/docs/extensions/example-language-server

See: https://github.com/Microsoft/vscode-docs/issues/92

Based on the issue referenced above I've decided NOT to modify the architecture of this extension for now.


Update jenkins-support

#1456 fixing update plugins in docker jenkins

Testing done

### Submitter checklist
- [ ] Make sure you are opening from a **topic/feature/bugfix branch** (right side) and not your main branch!
- [ ] Ensure that the pull request title represents the desired changelog entry
- [ ] Please describe what you did
- [ ] Link to relevant issues in GitHub or Jira
- [ ] Link to relevant pull requests, esp. upstream and downstream changes
- [ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue

@Shubhdeep02 this does not address the problem mentioned in the pull request description ( #1456 ) .  It does not include a description of the testing that was done to assure that it runs correctly.  It makes breaking changes to the existing script and fails the tests because of the breaking changes.
Do you plan to resolve those problems in this pull request or should the pull request be closed?

Thanks for the guidance @MarkEWaite please consider closing the PR ,i will take a look into it later.


[FLINK-28519][network] Fix the bug that SortMergeResultPartitionReadScheduler may not read data sequentially

What is the purpose of the change
Currently, the SortMergeResultPartitionReadScheduler always gets all active subpartition readers and read at most one data region for them. It is common that some subpartitions are requested before others and their region indexes are ahead of others.
If all region data of a subpartition can be read in one round, some subpartition readers will always be ahead of others which will cause random IO.
This patch fixes this case by polling one subpartition reader at a time.
Brief change log

Fix the bug that SortMergeResultPartitionReadScheduler may not read data sequentially.

Verifying this change
This change is already covered by existing tests, such as SortMergeResultPartitionReadSchedulerTest.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@flinkbot run azure

@TanYuxin-tyx, thanks for your contribution, this bug-fix looks good to me overall. I left some comments, please take a look~

@reswqa Thanks a lot for reviewing the PR, I have updated the code and fixed the comments.

@flinkbot run azure

@flinkbot run azure

@flinkbot run azure

@flinkbot run azure

@TanYuxin-tyx Thanks for the change and review from @reswqa . LGTM.


[5.3] Support custom build path in elixir helper function

Hi,
I found an issue that if you choose a custom build path in the version method in elixir:
elixir(function(mix) {
    mix.version(['css/default.css', 'js/default.js']);
    mix.version(['css/first.css', 'js/first.js'], 'public/first-path');
    mix.version(['css/second.css', 'js/second.js'], 'public/second-path');
});

You will not be able to use elixir helper function for first-path & second-path
I added an optional $buildPath parameter to elixir helper function
Now we can use elixir helper function in a view like:
<link href="{{ elixir('css/default.css') }}" rel="stylesheet" type="text/css">
<link href="{{ elixir('css/first.css', 'first-path') }}" rel="stylesheet" type="text/css">
<link href="{{ elixir('css/second.css', 'second-path') }}" rel="stylesheet" type="text/css">

Thanks

I thought @taylorotwell already rejected this?

Sorry, I didn't see the earlier proposals.
I hope 5.3 will provide a new convention that supports multiple custom build paths.
Thank you.

Is this a breaking change?

Is this a breaking change?

I've been asking for this functionality before, but I don't think passing it in as a second argument makes much sense.
If we want to support this use-case, it should be a global config.

I've been asking for this functionality before, but I don't think passing it in as a second argument makes much sense.
If we want to support this use-case, it should be a global config.

I agree.

I agree.

I don't think passing as a second argument is that bad since typically
you would call Elixir maybe twice in your entire application.
On Fri, Jan 1, 2016 at 9:37 AM, Graham Campbell<EMAIL_ADDRESS>wrote:

I agree.
—
Reply to this email directly or view it on GitHub
https://github.com/laravel/framework/pull/11628#issuecomment-168313376.

I don't think passing as a second argument is that bad since typically
you would call Elixir maybe twice in your entire application.
On Fri, Jan 1, 2016 at 9:37 AM, Graham Campbell<EMAIL_ADDRESS>wrote:

I agree.
—
Reply to this email directly or view it on GitHub
https://github.com/laravel/framework/pull/11628#issuecomment-168313376.

I think supporting multiple paths will provide more flexibility, where an optional second argument makes sense
But if you prefer to stick with one path for all versioned files, the global config will make sense

@abdelraoof is this a breaking change? Does elixir already generated a keyed manifest like that?

Closing pending more info required.


Replaced Python extraction script with JS

node-gyp already depends on tar, so nothing new here.
This should at least reduce some problems related to Python.

Thanks @xPaw! 🙂

@daniellockyer should this be a devDepencency though?


vmware_video: handle ioctl requests with user_*() functions

I didn't check if this compiles, to be tested.

At least in x86_64 it builds fine.

Pushed to upstream in https://github.com/HaikuArchives/VMwareAddons/commit/b98019e7b9798a967cc5ec0cf2721455b1fb216c.


Dragos C2C (Source)

Purpose of this pull request
This pull request is to create a new doc on Dragos.
Select the type of change

[ ] Minor Changes - Typos, formatting, slight revisions
[ ] Update Content - Revisions, updating sections
[x] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - .clabot, version updates, maintenance, dependencies, new packages for the site (Docusaurus, Gatsby, React, etc.)

Ticket (if applicable)
https://sumologic.atlassian.net/browse/DOCS-593

@amee-sumo, I changed the name of the release note file to 2024-12-13-collection.md so it wouldn't result in a merge conflict. You'll have to change the file name again to the date it will actually be published.

Dragos 1.0.0 is being GAed today


Wrong SQL query generation

Steps to reproduce
I have code
IQueryable<Series> query = GetSeriesQuery();
IQueryable<SeriesData> seriesDataQuery = query.Select(x => new SeriesData
{
    Series = x,
    Subscribed = x.Subscriptions.Any(y => y.UserId == userId),
    CurrentSeasonNumber = x.Episodes.Where(z => z.ReleaseDate < date).Max(y => y.SeasonNumber),
    Channel = x.Channel,
    Country = x.Channel.Country,
    ReleaseGroups = x.Episodes.SelectMany(z => z.Releases)
                                .Select(y => y.ReleaseGroup)
                                .Select(r => new ReleaseGroupData
                                {
                                    ReleaseGroup = r,
                                    Subscribed = x.Subscriptions.Any(y => y.UserId == userId && y.ReleaseGroupId == r.Id)
                                }).ToList()
});

The issue
When i call SingleOrDefaultAsync() i get an exception
Exception message: SqlException: The multi-part identifier "x.ID" could not be bound.
Stack trace:

System.Data.SqlClient.SqlException: The multi-part identifier "x.ID" could not be bound.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, String executeMethod, IReadOnlyDictionary`2 parameterValues, Boolean closeConnection)
   at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteReader(IRelationalConnection connection, IReadOnlyDictionary`2 parameterValues)
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable.Enumerator.BufferlessMoveNext(Boolean buffer)
   at Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](Func`2 operation, Func`2 verifySucceeded, TState state)
   at Microsoft.EntityFrameworkCore.Query.QueryMethodProvider.<_ShapedQuery>d__3`1.MoveNext()
   at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at lambda_method(Closure , TransparentIdentifier`2 )
   at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
   at lambda_method(Closure , QueryContext )
   at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.<>c__DisplayClass20_0`1.<CompileQueryCore>b__0(QueryContext qc)
   at System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source)
   at MySeries.Core.Services.SeriesService.<Get>d__9.MoveNext() in D:\Sources\myseries-2\MySeries.Core\Services\SeriesService.cs:line 179
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at MySeries.Web.Controllers.SeriesController.<Details>d__5.MoveNext() in D:\Sources\myseries-2\MySeries.Web\Controllers\SeriesController.cs:line 63
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeActionMethodAsync>d__27.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextActionFilterAsync>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextResourceFilter>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ResourceExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeAsync>d__20.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.<Invoke>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.<Invoke>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.<Invoke>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware`1.<Invoke>d__18.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.<Invoke>d__7.MoveNext()
ClientConnectionId:197cdf22-f50b-41f3-81c0-7fc3a0568045
Error Number:4104,State:1,Class:16

Further technical details
Generated SQL query:
SELECT [z.Releases.ReleaseGroup].[ID], [z.Releases.ReleaseGroup].[KEY], [z.Releases.ReleaseGroup].[LOGO_URL], [z.Releases.ReleaseGroup].[NAME], [z.Releases.ReleaseGroup].[RSS], [z.Releases.ReleaseGroup].[WEB_SITE], (
  SELECT CASE
	  WHEN EXISTS (
		  SELECT 1
		  FROM [SUBSCRIPTION] AS [y0]
		  WHERE (([y0].[USER_ID] = @__userId_3) AND ([y0].[RELEASE_GROUP_ID] = [z.Releases].[RELEASE_GROUP_ID])) AND ([x].[ID] = [y0].[SERIES_ID]))
	  THEN CAST(1 AS BIT) ELSE CAST(0 AS BIT)
  END
)
FROM [EPISODE] AS [z0]
INNER JOIN [RELEASE] AS [z.Releases] ON [z0].[ID] = [z.Releases].[EPISODE_ID]
INNER JOIN [RELEASE_GROUP] AS [z.Releases.ReleaseGroup] ON [z.Releases].[RELEASE_GROUP_ID] = [z.Releases.ReleaseGroup].[ID]
WHERE @_outer_Id = [z0].[SERIES_ID]

([x].[ID] = [y0].[SERIES_ID]) should be (@_outer_Id = [y0].[SERIES_ID])
EF Core version: 1.1.0

Can you also post your model? Specifically code listings for all the entities and contents of OnModelCreating method on your DbContext

okay, i do it later.
This problem appeared after updating to EF Core version: 1.1.0

Note for Triage looks like a regression, 1.1.1?

Similar to #7033

@maumar @smitpatel do you know if this is a duplicate of #7033?

duplicate of #7033


Figure out the exact world hop limits and add them to the world hopper and world switcher

Both the world hopper and the world switcher haven't been merged yet, but it would be nice if they could optionally not hop worlds if the login limit is exceeded. It is currently unknown (according to a quick Google search) what these login limits are.

From what I understand its not a static delay. I would assume its probably some sort of sliding window, so predicting it accurately may be difficult/impossible.

@Abextm
A solution could be to have sort of a "status bar" of danger, based of a bit of sample collection.
"red: Your at high risk of hitting the log in limit"
"Yellow: Your at medium risk of hitting the log in limit".
I'm guessing collecting a semi-small samplebase would atleast give a bunch of probabilities you can base these warnings off

Looks like wontfix as it is not possible to determine this


interesting features to add

Hi Martino,
as parameter, it would be nice if we were able to set the confidence level.

Hi Angelo,
Thank you for the suggestion! With version 0.2.1 you can control the confidence level. You can set it when you create the pipeline stage, or also change it afterwards.
import spacy
# load your spacy pipeline
nlp = spacy.blank('en')
# add the pipeline stage with the configuration options:
nlp.add_pipe('dbpedia_spotlight', config={'confidence': 0.4})
# use it
text = 'US bought a lot of vaccines'
doc = nlp(text)
# this will print: [(US, 'http://dbpedia.org/resource/United_States')]
print([(ent, ent.kb_id_) for ent in doc.ents])

# you can change the confidence if you have already instantiated the pipeline stage
nlp.get_pipe('dbpedia_spotlight').confidence=0.5
# now recompute the document
doc = nlp(text)
# this now won't have any results
print([(ent, ent.kb_id_) for ent in doc.ents])

You can also change the other parameters of the REST API can be changed: confidence, support, types, sparql and policy. As for the confidence, you can change them in the config dict or by accessing the attribute of the pipe stage. I will expand a bit the documentation as at the moment it is only detailed in #3.
With the current situation, you cannot change the configuration (e.g. confidence) on single docs, you have to do it at the nlp level.
Let me know if this works for you.
Best,
Martino

Very nice,
Angelo


[PrettyDiff] Fixed Indent Tabs configuration ignored (issue: #910: ht…

What does this implement/fix? Explain your changes.
Fixes: PrettyDiff configuration: Indent Tab getting ignored
Does this close any currently open issues?
Closes issue #910
Any other comments?
No

Just to keep everybody informed after this next week I will be offline for 6 weeks while at the Army Warrant Officer Candidate School.

@ayoubdev could you also run npm run docs to generate the updated documentation for these option changes? Besides that, it looks good to merge! Thanks!

@Glavin001 Done.

Thanks for contributing!

Published to v0.29.7


pyre setup

We are excluding inference/datasets/models for now (will add in follow-ups).
Moved CopyableMixin to distributed.utils (where it should be as it relies on distributed.utils. copy_to_device call).
We should also add examples/contrib/benchmarks eventually (they are not even checked by FB internal typechecker).
I'm not sure why we fix version of pyre-extensions. We definitely should fix version of pyre-check though (as we get different  errors w/ newer pyre versions).
pyre-check:0.9.17 requires pyre-extensions>=0.0.29
only older version
pyre-check:0.9.15 requires any version of pyre-extensions

@divchenko can you add a section to README for external development and how to run pyre

oh yeah, I'll do in the follow-up + will add github action

changes were merged in separate PR


es2018 syntax in build.js for v2.7.x breaks webpack builds

Configuration:

PDF.js version: 2.7.x (next)

Steps to reproduce the problem:

import "pdfjs-dist"
observe that nullish coalescing operators (and other new syntax) prevent webpack from building the project.

What is the expected behavior? (add screenshot)
That there be a build file that is supported by the default JS loader in webpack.
What went wrong? (add screenshot)
The new syntax is not parse-able by Webpack's default JS loader and so throws an error suggesting a different loader.
The workaround for this is explained here, or you can include all of the /node_modules folder in your babel or Typescript (or whatever) loader.
Neither of these workarounds work in the case of most Angular builds, however. No such control over loaders is available without "ejecting" the build configuration, meaning essentially that you now have to manage the webpack configuration yourself and manually apply complicated update steps whenever Angular itself bumps versions.
Custom Builders may hold a solution but I have yet to figure it out. The undefined regeneratorRuntime issue is stopping me despite recommendations here. And nothing is defined when I import from "pdfjs-dist" anymore.

import "pdfjs-dist"

If you need to support older environments, you may want to look into https://github.com/mozilla/pdfjs-dist/tree/master/es5; please also note the pdfjs-dist README: https://github.com/mozilla/pdfjs-dist#pdfjs

observe that nullish coalescing operators (and other new syntax) prevent webpack from building the project.

What version of Webpack is that?
When we updated our build scripts to use Webpack 5, that removed the need for handling e.g. nullish coalescing specially.

import "pdfjs-dist"

If you need to support older environments, you may want to look into https://github.com/mozilla/pdfjs-dist/tree/master/es5; please also note the pdfjs-dist README: https://github.com/mozilla/pdfjs-dist#pdfjs

observe that nullish coalescing operators (and other new syntax) prevent webpack from building the project.

What version of Webpack is that?
When we updated our build scripts to use Webpack 5, that removed the need for handling e.g. nullish coalescing specially.

Thanks for the prompt reply!

If you need to support older environments, you may want to look into mozilla/pdfjs-dist@master/es5; please also note the pdfjs-dist README: mozilla/pdfjs-dist#pdfjs

Thank you. It does appear to resolve my issue completely!
In my case, I do need to support older browsers, so this works better than what I was attempting before anyway. And I don't need the hack described here either :) I only needed to change the import path.

What version of Webpack is that?
When we updated our build scripts to use Webpack 5, that removed the need for handling e.g. nullish coalescing specially.

It's Webpack 4.4, the latest that Angular with npm as the package manager will support (until v12, I think). I tried using yarn instead to use webpack 5, but I must have missed some step because everything broke.
Regardless, my issue is resolved. The README had the necessary information. I just didn't read it before.

Thanks for the prompt reply!

If you need to support older environments, you may want to look into mozilla/pdfjs-dist@master/es5; please also note the pdfjs-dist README: mozilla/pdfjs-dist#pdfjs

Thank you. It does appear to resolve my issue completely!
In my case, I do need to support older browsers, so this works better than what I was attempting before anyway. And I don't need the hack described here either :) I only needed to change the import path.

What version of Webpack is that?
When we updated our build scripts to use Webpack 5, that removed the need for handling e.g. nullish coalescing specially.

It's Webpack 4.4, the latest that Angular with npm as the package manager will support (until v12, I think). I tried using yarn instead to use webpack 5, but I must have missed some step because everything broke.
Regardless, my issue is resolved. The README had the necessary information. I just didn't read it before.

Hi I'm currently running into issues with running Webpack 4.4.

If you need to support older environments, you may want to look into https://github.com/mozilla/pdfjs-dist/tree/master/es5; please also note the pdfjs-dist README: https://github.com/mozilla/pdfjs-dist#pdfjs

Where can I find the right place to run on the older webpack version?

The link is dead already.

https://github.com/mozilla/pdfjs-dist#pdfjs still work just fine, and that README explicitly tells you what to do:

For usage with older browsers or environments, without support for modern features such as e.g. async/await, ReadableStream, optional chaining, and nullish coalescing; please see the legacy folder.

This should not be closed

solution for those on old build systems here:
I have Angular 11, so I had to patch-package like so:
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 54b5b63..a348ab2 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -91,6 +91,21 @@ function default_1(api, options) {
},
}));
}

plugins.push(...[

       require("@babel/plugin-proposal-async-generator-functions").default,

       require("@babel/plugin-proposal-class-properties").default,

       require("@babel/plugin-proposal-export-namespace-from").default,

       require("@babel/plugin-proposal-json-strings").default,

       require("@babel/plugin-proposal-logical-assignment-operators").default,

       require("@babel/plugin-proposal-nullish-coalescing-operator").default,

       require("@babel/plugin-proposal-numeric-separator").default,

       require("@babel/plugin-proposal-object-rest-spread").default,

       require("@babel/plugin-proposal-optional-catch-binding").default,

       require("@babel/plugin-proposal-optional-chaining").default,

       require("@babel/plugin-proposal-private-methods").default,

       require("@babel/plugin-proposal-unicode-property-regex").default

   ]);

if (options.forceES5) {
presets.push([
require('@babel/preset-env').default,
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 9a8cee0..87553f0 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -54,7 +54,7 @@ exports.default = babel_loader_1.custom(() => {
return {
async customOptions({ i18n, scriptTarget, ...rawOptions }, { source }) {
// Must process file if plugins are added

       let shouldProcess = Array.isArray(rawOptions.plugins) && rawOptions.plugins.length > 0;

       let shouldProcess = true;
       const customOptions = {
           forceAsyncTransformation: false,
           forceES5: false,


Account for uncertainty: CI

Account for the uncertainty in gamma/delta.
Have pi() return an est, lower and upper values, default argument should be ci_level = 0.95
Adapt the gamma function ? or use as lapply?

All get_* functions (get_pi, get_gamma, get_delta) now return a data.frame with group, est,  lwr and upr values.


UNet in Experiments

Hi there, is the architecture of UNet you reported in your paper similar to blind spot UNet in High-Quality Self-Supervised Deep Image Denoising paper or just a simple UNet in medical image segmentation?

Yes, the U-Net we used is similar to https://github.com/NVlabs/selfsupervised-denoising without blind-spot design.

The rotation method has been also in your implement yet?

My implementation is without rotation which is used in blind-spot design.


HPA Targets an invalid object query is wrong

The KICS scan with Kubernetes type enabled displays an issue with my HPA when it is a fully valid HPA.
You can validate with the following file taken from the official Kubernetes HPA walkthrough:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: php-apache
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: php-apache
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 50

I have checked the rego policy for this query and it specifically requires a - type: Object whereas - type: Resource is perfectly valid.
Here is the link to the rego file: https://github.com/Checkmarx/kics/blob/master/assets/queries/k8s/hpa_targets_invalid_object/query.rego
I think the test cases should include the example from the official walkthrough.
Expected Behavior
No issue should be found on this file.
Actual Behavior
HPA Targets Invalid Object
https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/

The Horizontal Pod Autoscale must target a valid object

Platform: Kubernetes
Category: Availability
Query ID: 2f652c42-619d-4361-b361-9f599688f8ca

Results (1)
/helm/templates/hpa.yaml
Line: 13
Expected: spec.metrics[0] is a valid object

Steps to Reproduce the Problem
Simply run KICS with the Kubernetes type enabled on a folder that contains the file pasted above.
Specifications

Version: Latest
Platform: Linux

Hey thanks for the quick resolution! I just tested it with the new version and it seems to work fine!
Have a great day :)


Cassandra support

A Cassandra driver would would be super useful. I’m going to try and work on this in the next couple of weeks to get back in the swing 😀

See here for an idea a had lately: https://datastax-oss.atlassian.net/browse/PHP-208
If that works, you don't have to implement the whole client. The existing one is pretty sophisticated when it comes to loadbalancing / routing strategies and supports all the latest CS features.
Also it is really fast and already supports async operations (even though not optimal).
Fast: I managed to scan a table with 100k rows / sec on a modern server with a single PHP process.


feat: Unify sso status & remove deprecated .spec.sso & .spec.dex fields

What type of PR is this?
/kind enhancement
What does this PR do / why we need it:
This PR removes .status.dex and .status.ssoConfig & unifies them under .status.sso to reflect the workload status of whichever SSO provider is configured (dex/keycloak). It also removes the deprecated .spec.dex, .spec.sso.image, .spec.sso.resources, .spec.sso.verifyTLS, .spec.sso.version fields & back backward compatibility code added in #646.
Have you updated the necessary documentation?

[x] Documentation update is required by this PR.
[ ] Documentation has been updated.

How to test changes / Special notes to the reviewer:
NOTE: This PR introduces breaking changes to ArgoCD CRD

Run the operator locally using make install run
Create empty argo-cd instance

apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
  name: argocd
spec: {}

Observe argocd .status.sso: Unknown
Set .spec.sso.provider=dex
Observe argocd .status.sso: Failed due to dex configuration failure
Set .spec.sso.dex.Config="test"
Observe argocd .status.sso: Running(Pending if deployment creation is in progress), dex configured successfully
Set .spec.sso.provider=keycloak
Observe argocd .status.sso: Failed due to invalid sso configurations
Remove .spec.sso.dex
Observe argocd .status.sso: Running(Pending if deployment creation is in progress), keycloak configured successfully
Verify failure scenarios due to old fields in ArgoCD CR

Creation of argocd fails with strict decoding error: unknown field "spec.dex"

apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
  name: argocd-old
spec:
  dex:
    config: test-config

Creation of argocd fails with strict decoding error: unknown field "spec.sso.verifyTLS"

apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
  name: argocd-old
spec:
  sso:
    provider: keycloak
    verifyTLS: false

e2e test for the PR.
kubectl kuttl test ./tests/k8s --config ./tests/kuttl-tests.yaml --test 1-015_validate_sso_status

Thanks for the PR @svghadi
Looks pretty good so far, nice work!
Just a couple things that occurred to me that we missed last time but can probably address now through this PR:

Can we convert strings to lower case during direct string comparisons? There are a lot of places we do this, like comparing .spec.sso.provider to dex or keycloak, lets make sure we do strings.ToLower(cr.spec.sso.provider) wherever that happens
I think we should stop returning an error here after reconcileSSO since SSO is ultimately a non-critical component and we shouldn't block reconciliation just because of that. I think logging the error should be good enough

Will the docs updates be made in a separate PR?

Thanks @svghadi
There are a lot of unit tests that have a setEnvVarFunc field that was required for DISABLE_DEX testing. This field is not required in these tests anymore, I think we should get rid of it as well

/hold
Do not merge until we are clear on upgrading Argo CD CRD to v1beta1

The PR is ready for merge. We will upgrade Argo CD CRD to v1beta1 in upcoming v0.8 release.
cc: @iam-veeramalla


btstest: allow specifying custom path for client binary

I do all my builds out-of-source so my client is not in programs/client. Maybe an environment variable or command line argument to specify the path?

Yeah, btstest has tons of little features like this where I've been planning on adding them from day one, so the extension points are there, but I just haven't needed them personally so they haven't gotten done.


Update dns_v2beta1.dnsKeys.html

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[x] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[x] Ensure the tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

This should be updated with #981


log statements are a noop when bound at the top-level

I'm running Deno 2 and I tried to do the following
const levelMethods = {
  [log.levels.TRACE]: log.trace,
  [log.levels.DEBUG]: log.debug,
  [log.levels.INFO]: log.info,
  [log.levels.WARN]: log.warn,
  [log.levels.ERROR]: log.error,
} as const;

function doLog(
    level: keyof typeof levelMethods,
    ...msg: unknown[]
): void {
    levelMethods[level](...msg);
}

However, this prints nothing to the console. If I try and look at the result of levelMethods[level], the type is [Function: noop] which seems to be the default type before things are initialized (see here)
This seems like an initialization order issue though, because if I do
function doLog(
    level: typeof log.levels[keyof typeof log.levels],
    ...msg: unknown[]
): void {
  const levelMethods = {
    [log.levels.TRACE]: log.trace,
    [log.levels.DEBUG]: log.debug,
    [log.levels.INFO]: log.info,
    [log.levels.WARN]: log.warn,
    [log.levels.ERROR]: log.error,
    [log.levels.SILENT]: () => {},
  } as const;

  levelMethods[level](...msg);
}

then everything works

Can you give a more complete picture of your project? Your first example seems to print just fine for me.
My setup: Using Deno 2.1.2, with…
// file: deno.json
{
  "imports": {
    "loglevel": "npm:loglevel"
  }
}

…and:
// file: main.ts
import log from 'loglevel';

const levelMethods = {
  [log.levels.TRACE]: log.trace,
  [log.levels.DEBUG]: log.debug,
  [log.levels.INFO]: log.info,
  [log.levels.WARN]: log.warn,
  [log.levels.ERROR]: log.error,
} as const;

function doLog(
  level: keyof typeof levelMethods,
  ...msg: unknown[]
): void {
  levelMethods[level](...msg);
}

doLog(log.levels.WARN, 'Hello from loglevel!');

…then running deno run main.ts prints out Hello from loglevel! exactly as you’d expect.


Date Range

Hello, there is an option to make a range? I mean that I will press on a date and then on other date and in the input will be the range? like here: http://t1m0n.name/air-datepicker/docs/ (search Range of dates).
In addition, I'm looking for the option to add predefined dates. for example today, yesterday, last 7 days, last 30 days etc.
I really like your component, especially on the mobile. Good job! 👍
Thank you!

See https://github.com/amsul/pickadate.js/issues/446


Generate guids for fixtures

Right now the fixtures do not have guid's when loaded into the database and trying to determine one at load time results in them all haveing the same guid.
The solution is to give guids to all guid lacking objects fixtures and re-export them to the fixture directory

Fixed in bridge hash branch


Does not show any projects with Multibranch pipeline Jobs

Plugin Version : 1.12
I am having one issue with this plugin. For normal Job type the Jobs are shown in branch monitor view but for multibranch pipeline, Jobs are not seen in the monitor view.

@SudeepParajuli found workaround, or it's been implemented by design, so to be able to display jobs for Multibranch pipeline job you should set to true Recurse in subfolders flag and pick any job (branch) that you need from the list of Jobs (see picture below).

Thank you for your response @sshepel . But the thing is I could no find Recurse in subfolders option in my configuration part. I am using 1.11 version of the plugin .

@SudeepParajuli but you mentioned that you are using 1.12 version of the plugin. Did you downgrade the plugin version? Why?

@sshepel  Sorry my bad . Actually I am using version 1.11 of the plugin . Just a query , Do we have Recurse in subfolders option available in version 1.12  ?

@SudeepParajuli yeap, it's there, actually you should see it from my screenshot above. It has been done for 1.12 version.

@sshepel Thank you

@SudeepParajuli sure, np.
I think, this issue can be closed now.

yah we can @sshepel


Date in commit overview is showing wrong date

I have the following git log:
$ git log --pretty=format:"%h%x09%an%x09%ad"
4b9ec5b Jorrit Klein Bramel     Fri Nov 20 14:36:44 2015 +0100
e5c0569 Jorrit Klein Bramel     Fri Nov 20 14:36:11 2015 +0100
7d2f92a Jorrit Klein Bramel     Fri Nov 20 09:33:05 2015 +0100
b9176d5 Jorrit Klein Bramel     Fri Nov 20 09:32:53 2015 +0100
e4a43d3 Jorrit Klein Bramel     Thu Nov 19 13:04:32 2015 +0100
ec6a1ab Jorrit Klein Bramel     Thu Nov 19 13:03:48 2015 +0100
91913f7 Jorrit Klein Bramel     Thu Nov 19 13:01:50 2015 +0100
5426019 Jorrit Klein Bramel     Thu Nov 19 13:00:37 2015 +0100
6fb65a6 Jorrit Klein Bramel     Thu Nov 19 13:00:20 2015 +0100
e51312b Jorrit Klein Bramel     Thu Nov 19 13:00:04 2015 +0100
f04b9f9 Jorrit Klein Bramel     Wed Nov 18 22:04:05 2015 +0100
a0cce39 Jorrit Klein Bramel     Wed Nov 18 20:52:28 2015 +0100
65d815c Jorrit Klein Bramel     Wed Nov 18 18:29:10 2015 +0100
1f9cafa Jorrit Klein Bramel     Wed Nov 18 18:27:51 2015 +0100
e52d6b7 Jorrit Klein Bramel     Wed Nov 18 18:27:29 2015 +0100
b4b0c24 Jorrit Klein Bramel     Wed Nov 18 18:27:15 2015 +0100
938b396 Jorrit Klein Bramel     Wed Nov 18 18:26:46 2015 +0100
f072422 Jorrit Klein Bramel     Wed Nov 18 18:26:24 2015 +0100
e958129 Jorrit Klein Bramel     Wed Nov 18 18:25:36 2015 +0100
e224a2c Jorrit Klein Bramel     Fri Nov 13 14:51:53 2015 +0100

The date is not showing correctly; I presume this is a bug? (the commit messages are removed from view)

Thanks your feedback!
But obviously I can't compare a absolute time with a relative time.

That is exactly the problem! :+1: It should display more x days ago then everything 1 day?

Can you hover the time so I know the real difference?

Wait I think it is correct... my fault: Wed Nov 18 18:25 2015 is 1 day and 20 hours ago. My bad..

......... :trollface: so.... what's now?


nav spacing

spacing updates

This change is

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


Is your feature request related to a problem? Please describe.
Currently, we use function call signature to identify a function call based on the persisted proto files.
When we have a new implementation on a function call, if the new impl does not changed it signature, the new function call will be triggered with old proto files.
One example, assume we have a function f(a int) -> int. The old implementation was f(a) = a + 1. After a fix/change, the new implementation is f(a) = a + 2. The same input will produce different output before and after the fix, which cause potential inconsistent state.
Now, when we have a fix on function calls, we need to tag the PR as a break change, which means users should recreate the MV containing the function call after cluster upgradation. But this a loose constraint. The user may not realize that and will not recreate and ask our engineer to fix the caused inconsistency.
So we need to find a way to provide back compatibility mechanism for expression or function calls fixes.
Describe the solution you'd like
Maybe add a version field in the function macro and it works like the existing AggVersion. Will provide a detailed design later.
Describe alternatives you've considered
No response
Additional context
No response

Just FYI: It should be noted that a breaking change on the expression can be introduced accidentally by developers, e.g., a bug. So I guess any mechanism that let the developer to bump the version field manually is unsound. On the contrary, always recording a (release) version may help.
See also https://github.com/risingwavelabs/risingwave/pull/14221#pullrequestreview-1796703852.

always recording a (release) version may help.

Yeah. Make sense. 👍


Fixes #1032. Downgrade concurrent-ruby to 1.1.7

Thank you for opening a pull request and contributing to AsciidoctorJ!
Please take a bit of time giving some details about your pull request:
Kind of change

[x] Bug fix
[ ] New non-breaking feature
[ ] New breaking feature
[ ] Documentation update
[ ] Build improvement

Description
What is the goal of this pull request?
The upgrade of concurrent-ruby to 1.1.8 in AsciidoctorJ 2.5.0 resulted in the initialisation of asciidoctor-pdf taking an additional ~10 seconds.
This PR reduces that again to the previous time taken.
How does it achieve that?
Downgrade concurrent-ruby to 1.1.7 which doesn't seem to expose this behavior.
Are there any alternative ways to implement this?
Not from AsciidoctorJ's point of view.
Are there any implications of this pull request? Anything a user must know?
Issue
If this PR fixes an open issue, please add a line of the form:
Fixes #Issue
Release notes
Please add a corresponding entry to the file CHANGELOG.adoc

We should do a patch release with this probably.

Yes, agree.
Then we can also release the new asciidoctor core version.


Admin UI security: use a cookie?

Currently the API is strictly stateless, and authentication has to be done on each call (basic or certificate).
However, this is very costly - on a powerful test computer, basic authentication takes about 100ms. While most calls without authentication actually take <10ms. This is due password security: they are (currently) hashed 100k times by the SHA-512 method.
This is hardly a showstopper, but we may want to add a "session" marker, probably a cookie, in addition to the existing mechanisms. This would save CPU time on the server, as well as showcase the speed of our APIs.

Session (cookie-based) was implemented for interactive use only in 333bdfb333c77c387914fe489da49645f59733de Non interactive users continue to authenticate on each call, preventing the creation of too many sessions.


Inconsistent result of isPossibleNumber() for too short French number

Steps to reproduce:

https://rawgit.com/googlei18n/libphonenumber/master/javascript/i18n/phonenumbers/demo-compiled.html
Enter +3312345678 as phone number and press "Submit"

Result from isPossibleNumber(): false
Result from isPossibleNumberWithReason(): TOO_SHORT

Enter 012345678 as phone number and FR as country, then press "Submit"

Result from isPossibleNumber(): true
Result from isValidNumber(): false
Phone Number region: FR
Result from getNumberType(): UNKNOWN

Expected result:

Results from step 3 should be the same as from step 2.
012345678 is not a possible French number as it is too short (missing 1 digit)

This happens because when deciding whether to strip a national prefix or not, we look at what valid lengths are for this country, and if stripping the national prefix (0) would cause the number length to be wrong, we don't do so.
This means the first one is parsed as:
country_code	33
national_number	12345678
while the second one is parsed as:
country_code	33
national_number	12345678
italian_leading_zero	true
While this may seem a bit odd, you could compare to the US where the national prefix and country code is 1: people felt it was more intuitive for "1234567890" to be "possible" even though the 1 could be stripped, rather than stripping it and saying it was too short.
Note how we parse or interpret invalid numbers is less important to us than how we handle valid numbers: we just do a best guess.
What problem is this causing you?

@lararennie It's not a big deal as I am able to notify the user that the number he typed is wrong (isValidNumber() returns false for both) but the error message is not as accurate as possible.
I'm don't understand the parameter italian_leading_zero as my exemple is a French number.
In France, ten digits phone number must starts with a leading zero, nobody removes this zero as you may do in the US :-)

2017-02-01 9:56 GMT+01:00 Sylvain<EMAIL_ADDRESS>
@lararennie https://github.com/lararennie It's not a big deal as I am
able to notify the user that the number he typed is wrong (isValidNumber()
returns false for both) but the error message is not as accurate as
possible.
I'm don't understand the parameter italian_leading_zero as my exemple is
a French number.
Yeah, it's badly named. Ignore "italian" and just think "leading_zero".

In France, ten digits phone number must starts with a leading zero, nobody
removes this zero as you may do in the US :-)

Well you do remove it in international format :)
Maybe we can make this more fine-tuned and see if the national prefix is
optional for a particular country. However there are short-codes in many
countries that start with the national prefix and to parse those correctly
we don't want to strip it. For example, in Australia you also have a 0 as a
national prefix, which is removed in international format. But the
emergency number is "000" so in this case we can't strip the first 0 and
say it is "00".

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/googlei18n/libphonenumber/issues/1539#issuecomment-276604730,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIjis7N9vVUI87DpwdbxUdSt--HLr2X4ks5rYEjagaJpZM4LwedN
.

@lararennie I bet it's not that easy, we are already very lucky to have this library.
At least isValidNumber() works well, so fine-tuning would be nice if not too difficult to do!

@sylfabre ,
Thanks for your kind words :)
We will check this internally and get back to you.

Okay, we've added a FAQ now explaining this, closing this as we aren't going to do anything more about this at this time.


Request Name is wrong in RequestTelemetry in case of unhandled errors.

This causes Test - TestBasicRequestPropertiesAfterRequestingControllerThatThrows to fail.

Fixed in https://github.com/Microsoft/ApplicationInsights-aspnetcore/pull/145


VLAN Test

Add Basic TestCase for VLANs via Napalm.
Checks if:

Do the Switches have the VLANS which they are supposed to have (and nothing else)?
Trunk: Are only the VLANS allowed which are supposed to be allowed?

implemented here: https://github.com/marcom4rtinez/nuts/tree/1-test-bundle-prototyp-vlan-test

Done by @marcom4tinez and @sevigrimm for Release 3.1.0


chore: fix dependabot alerts

What type of PR is this?

Which issue does this PR fix:
What does this PR do / Why do we need it:
If an issue # is not available please add repro steps and logs showing the issue:
Testing done on this change:

Automation added to e2e:

Will this break upgrades or downgrades?
Does this PR introduce any user-facing change?:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@rchincha looks like there's some errors in the blackbox tests, they may need an update too.


GDExtension "RandomNumberGenerator rng;" crashes editor in 4.3 but not in 4.2

Tested versions
Tested in Godot 4.3 official and Godot 4.2.2 official
System information
Windows 10 - Vulkan (Forward+) - RTX 3060 laptop - AMD Ryzen 5 5600H - 24GB RAM
Issue description
That's it, I'm migrating my project and I had to change RandomNumberGenerator rng; to RandomNumberGenerator* rng; and now it doesn't crash anymore. I don't know if the bug here is from 4.2 or 4.3 because I don't know what's the expected behaviour😅. Here's the console output when the crash occurs:
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
Vulkan 1.3.278 - Forward+ - Using Device #0: NVIDIA - NVIDIA GeForce RTX 3060 Laptop GPU

ERROR: BUG: Godot Object created without binding callbacks. Did you forget to use memnew()?
   at: (src\classes\wrapped.cpp:87)

================================================================
CrashHandlerException: Program crashed with signal 4
Engine version: Godot Engine v4.3.stable.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] error(-1): no debug info in PE/COFF executable
[2] error(-1): no debug info in PE/COFF executable
[3] error(-1): no debug info in PE/COFF executable
[4] error(-1): no debug info in PE/COFF executable
[5] error(-1): no debug info in PE/COFF executable
[6] error(-1): no debug info in PE/COFF executable
[7] error(-1): no debug info in PE/COFF executable
[8] error(-1): no debug info in PE/COFF executable
[9] error(-1): no debug info in PE/COFF executable
[10] error(-1): no debug info in PE/COFF executable
[11] error(-1): no debug info in PE/COFF executable
[12] error(-1): no debug info in PE/COFF executable
[13] error(-1): no debug info in PE/COFF executable
[14] error(-1): no debug info in PE/COFF executable
[15] error(-1): no debug info in PE/COFF executable
[16] error(-1): no debug info in PE/COFF executable
[17] error(-1): no debug info in PE/COFF executable
[18] error(-1): no debug info in PE/COFF executable
[19] error(-1): no debug info in PE/COFF executable
[20] error(-1): no debug info in PE/COFF executable
[21] error(-1): no debug info in PE/COFF executable
[22] error(-1): no debug info in PE/COFF executable
[23] error(-1): no debug info in PE/COFF executable
-- END OF BACKTRACE --
================================================================

Another line of code that causes exactly the same error/crash is this one:
RID cachedSphereRID = SphereShape3D().get_rid();

I fixed it by using this expression instead:
SphereShape3D* sphere = memnew(SphereShape3D);
RID cachedSphereRID = sphere->get_rid();

I believe they crash for the same reason.
Steps to reproduce
Scenario 1:
Define a variable from RandomNumberGenerator class in your .h file, compile GDExtension and open editor
Scenario 2:
Try to get the RID of a SphereShape3D() using the following line of code in your header:
RID cachedSphereRID = SphereShape3D().get_rid();
Minimal reproduction project (MRP)
N/A

I found out that the line of code below makes the game crash as well in 4.3 but not 4.2:
MultiMesh* tempMultimesh = new MultiMesh();
To solve it I replaced it by:
MultiMesh* tempMultimesh = memnew(MultiMesh());
Looks like I was creating variables in the wrong way, but only now with this update Godot complained...

This is intentional, see https://github.com/godotengine/godot-cpp/pull/1446#issuecomment-2200663712:

Well, creating bound Godot classes in godot-cpp without memnew() really shouldn't ever have worked; doing so would mean not using the GDExtension API as intended. So, if it worked in the past, it was entirely accidental. I suspect there are cases where that would lead to unexpected behavior that you just didn't manage to encounter.

And if you read the the crash message you got, it tells you to use memnew() (this note was added in https://github.com/godotengine/godot-cpp/pull/1510):

ERROR: BUG: Godot Object created without binding callbacks. Did you forget to use memnew()?

Also, specifically for RandomNumberGenerator:

If a Godot module wanted to use that class, it should also use Ref<>, and if it isn't, I suspect that could also lead to unexpected behavior in some cases. Those uses in the tests should probably be fixed!

So it should be created like this:
Ref<RandomNumberGenerator> rng;
rng.instantiate();

Ok, thank you @raulsntos. Just to finalize, do you think using RandomNumberGenerator* rng; can create unexpected behaviour? And one more thing, I think this change should be in Upgrading from Godot 4.2 to Godot 4.3 since this can be considered a breaking compatibility change! Thanks for the clarification

RandomNumberGenerator is a RefCounted object, but if you don't use the Ref<> template then it won't actually be reference counted.

I think this change should be in Upgrading from Godot 4.2 to Godot 4.3 since this can be considered a breaking compatibility change

Considering how this should never have worked, I have mixed feelings about documenting it. But if there's a lot of users that were relying on the bug then maybe we could at least mention it. I'll leave the decision to the @godotengine/gdextension team.

I'm also not crazy about documenting this on the "Upgrading..." page.
However, I do think it would be really good to mention on a GDExtension page related to godot-cpp that Ref<T> needs to be used for all RefCounted objects, and memnew() for all other objects descending from Object. Now that we have the error message, that'll probably do a lot to help developers learn about this, but it'd be nice to have it called out somewhere in the docs as well.


Add bancor metadata & icon

@mintheredonethat I don't know how you found such good images so fast, but interested in doing this one?

PRed

Did you forget to submit the PR @mintheredonethat?


Added Dockerfile

Fixes issue #2
Maybe add to registry?
EDIT: Added to registry under tdias/docker-replay for now
You can test it out with something like docker run -v /var/run/docker.sock:/var/run/docker.sock tiagoad/docker-replay -p <some container>
I changed the README.md file with my own registry entry. If you merge please add the main repo to the registry and modify the file.

thanks! I'll get the registry build updated shortly.


Build a proof of concept test pipeline on GCP

Implement the legacy test server functionality on GCP and complete a sample crawl with a small set of URLs

[ ] @giancarloaf Dataflow pipeline generates summary tables from HARs #16
[x] WPT agents generate HARs locally which are uploaded unmodified from the server to GCS
[ ] WPT server tee's HAR uploads to post Pub/Sub messages to HAR pipeline topic
[ ] @giancarloaf Streaming Dataflow pipeline subscribes to Pub/Sub messages to process HARs

Map the HARs into rows for each BigQuery table
Write each row to tables in a test BigQuery dataset

[ ] WPT agent work queue moved to use cloud queue with reserve/retry/complete support
[ ] GCP server initiates a sample crawl with a small set of URLs

@pmeenan @giancarloaf I've updated the initial comment with a checklist of tasks for this issue. Is there any more granularity that would be helpful for issue tracking?

I added some more tasks and granularity and roughly ordered it in the way it will likely need to be turned on.

Started working on small POC for dataflow and sample port of logic from existing PHP.
https://github.com/HTTPArchive/data-pipeline/tree/m0_5/pipeline-poc

@rviscomi @pmeenan could you please assist in granting me access to create pub/sub topics and subscriptions? Otherwise could you please run the below commands?
gcloud pubsub topics create har-gcs
gcloud pubsub subscriptions create har-gcs-pipeline --topic=har-gcs

@giancarloaf I gave you "Pub/Sub Editor" permissions. Let me know if that unblocks you.

@rviscomi Getting permissions errors when attempting to create a notification config on the httparchive GCS bucket. I will need storage.buckets.update for IAM or OWNER for ACL. Looks like the httparchive bucket is using ACLs, is that right?
Please grant one of the following legacy IAM roles:

Storage Legacy Bucket Owner
Storage Object Admin

Alternatively, ACLs can be updated instead (doc) to grant the OWNER permission.

@giancarloaf hmm I see you've already got the Storage Object Admin IAM role and there is no option for Legacy Bucket Owner in IAM. The httparchive bucket permissions shows your access under the Storage Object Admin role. We had the ACLs set to fine-grained object-level access, and I've just switched it to uniform access. Try again and let me know if that works.

This didn't seem to work on my account after updates🤷
Battled permissions issues IRL with @rviscomi. Ultimately, he was able to run commands successfully in my place.

The agents are now generating the HAR result files entirely at the edge. They are still flowing through the server to upload into GCS since the test state is being managed on the server but that was the big dev step on my side to unlocking the increased capacity.
Once the summary tables are generated from the HAR files directly I'll be able to remove the main bottleneck (the PHP processing of the summary stats) and ramp up the thruput.  We should be able to run ~2-4 times the current speed (and without a capacity ceiling which would get us to 4-8x overall) while I do the next step of moving the actual crawl management off of the central server.

@giancarloaf could you give an update on your progress with the summary generation? Last we spoke there was a bit more work to do on some of the fields, and some like rank and client weren't directly accessible in the HAR. Do you still feel like the summary pipeline will be ready for a full-scale test in the April crawl starting next Friday?
@pmeenan could you look into passing the rank/client fields through the HAR for the summary pipeline?

while I do the next step of moving the actual crawl management off of the central server

SGTM. To confirm does this include the start-of-crawl work like initializing the list of URLs from CrUX and scheduling to start on the first of the month?

@rviscomi  What is "client"?  Is that "Desktop" or "Mobile" literally or something else?

@rviscomi @giancarloaf FYY, the rank data is available in the _metadata blob in the har.
SELECT JSON_EXTRACT(payload, '$._metadata.rank') FROM `httparchive.pages.2022_03_01_desktop` LIMIT 10

Row
f0_

1
"10000000"

2
"10000000"

3
"10000000"

4
"10000000"

5
"1000000"

6
"10000000"

7
"10000000"

8
"10000000"

9
"10000000"

10
"10000000"

Looks like it is coming through as strings right now but I can change that to integers if it helps.
I can pass the client through as well once I know what that is.

@rviscomi

SGTM. To confirm does this include the start-of-crawl work like initializing the list of URLs from CrUX and scheduling to start on the first of the month?

No, this does not include any of the test queuing or management since that is still all handled within the mysql database.  Once we are off of the summary tables then that can be changed.

What is "client"? Is that "Desktop" or "Mobile" literally or something else?

Yeah just desktop/mobile so we know which BQ table to add the record to. That info is available indirectly through the GCS path and WPT test location but it'd be good to explicitly include it in the HAR.

FYI, the rank data is available in the _metadata blob in the har.

Thanks, confirmed. I had been looking at a January 2022 HAR file and I guess it was added later.

Looks like it is coming through as strings right now but I can change that to integers if it helps.

Int is preferable but not important since we can do the type casting in the pipeline. No one else should be directly parsing the rank from the HAR anyway.

No, this does not include any of the test queuing or management since that is still all handled within the mysql database. Once we are off of the summary tables then that can be changed.

Ok thanks. Is that something you'll work on or should we assign it to @giancarloaf?

@giancarloaf @pmeenan for the April crawl starting on Friday the hope is to run the experimental summary pipeline with Pub/Sub and Dataflow in parallel with the legacy MySQL-based pipeline. This will give us a better idea of the crawl capacity when resources are being shared with Dataflow and ensure that it doesn't create any major bottlenecks.
IIUC all but the last two items in the checklist in https://github.com/HTTPArchive/data-pipeline/issues/1#issue-1120253438 are required for this test, but only one item is completed. Could you both update the checklist with anything that's completed and give an update when the rest are expected to be ready?

If there's already a pub/sub queue set up for the HAR notifications, if someone can let me know what it is I can post the messages while the crawl is running.

If there's already a pub/sub queue set up for the HAR notifications, if someone can let me know what it is I can post the messages while the crawl is running.

Spoke with @giancarloaf about this. Adding anything to the GCS bucket automatically triggers a Pub/Sub event, so no additional action is needed after uploading the HAR. However, this event is also triggered for all of the non-HAR files we upload, which creates a lot of noise for the Dataflow pipeline to cut through. All of the new crawls' HAR directories are added to the top-level of the bucket, so there is no root directory that only contains HARs for us to hook the event to. We may want to look into adding an extra layer like gs://httparchive/crawls/ in which we add each crawl directory like chrome-Mar_1_2021.

I suppose it's more semantic to hook Pub/Sub up to GCS as a file-watcher, but we may want to also consider manually triggering our own messages as @pmeenan was suggesting, so that we don't have to change the directory structure. I'm ok with either approach, so I'll leave that decision to @pmeenan and @giancarloaf.

If we can do it through a file watcher, that would be even easier.  Changing the directory structure is trivial on my end, even with the current pipeline.  Literally this one line of code. If the same watcher also picks up the "done" files then we should be golden.

Worth checking to see if we can set up notifications on a path or if they are bucket-level (in which case we'd need a different bucket)

We just chatted and made the change to put them into gs://httparchive/crawls/

Closing 🎉


Use core-js instead of @babel/polyfill

@babel/polyfill is deprecated.

@jtiala can I try to handle that? Hacktoberfest)

Sure! Thanks.


AutoSuggestBox Bug

Which version of the app?
WinUI 3 Gallery
Description
The second AutoSuggestBox may bug.
Control: Text -> AutoSuggestBox -> SearchBox
Bug Operations:

Input Text;
Press 'up' or 'down' key to select item;
Press 'enter' key to select.
App will be down.

Using mouse to select item is safe.
版本	Windows 11 家庭中文版
版本号	24H2
安装日期	2024/10/17
操作系统版本	26100.2033
体验	Windows Feature Experience Pack 1000.26100.23.0
Screenshots

Windows version
Windows 11 24H2 (26052)
Additional context
No response

Duplicate of #1581 which was closed with #1582.


search in foreign tables

The work item expression compiler now supports fields that reference fields from tables other than the work_items table itself.
If a field starts with one of the prefixes from the table below we provide access to another table (through a SQL LEFT JOIN).
NOTE: On that other table we have a pretty limited set of columns (see right most column) allowed for now. This is done only to make sure we open up this API too broadly in the start. We can always open up later, but limiting the API later is hard because we might synchronize with all users of the API.

possible prefixes
example field in query language
referenced table
allowed fields (for now) to query on the referenced  table

creator.,  author.
author.full_name
users
full_name

iteration.
iteration.name
iterations
name, created_at

area.
area.name
areas
name

codebase.
codebase.url
codebases
url

wit., work_item_type., workitemtype., type.
wit.name
work_item_types
name

space.
space.name
spaces
name

We have the ability to explicitly allow or disallow access to certain columns on the referenced table (see right most column in table above).
In addition to explicitly allowing or disallowing columns we also make sure that each field referenced in another table does exist. That means if you're query looks like this iteration.foo = 42 we double check that the iterations table has a column called foo.
If you would like to know how a JOIN looks like when executed, here's an example for just querying for an iteration name using this query: {"iteration.name": "foo"}
SELECT count(*) over () as cnt2 , *
FROM "work_items"
LEFT JOIN iterations iter
  ON fields@> concat('{"system.iteration": "', iter.id, '"}')::jsonb
WHERE
  "work_items"."deleted_at" IS NULL
  AND (((iter.name = 'foo')))
ORDER BY execution_order desc;

This change is equipped with tests on all levels.

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1912-9

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1912-14

Codecov Report

Merging #1912 into master will increase coverage by 0.28%.
The diff coverage is 88.26%.

@@            Coverage Diff             @@
##           master    #1912      +/-   ##
==========================================
+ Coverage   60.69%   60.97%   +0.28%
==========================================
  Files         143      144       +1
  Lines       13183    13335     +152
==========================================
+ Hits         8001     8131     +130
- Misses       4465     4482      +17
- Partials      717      722       +5

Impacted Files
Coverage Δ

workitem/table_join.go
100% <100%> (ø)

search/search_repository.go
77.01% <100%> (-0.05%)
:arrow_down:

workitem/workitem_repository.go
70% <22.22%> (-1.33%)
:arrow_down:

workitem/expression_compiler.go
79.39% <93.57%> (+7.21%)
:arrow_up:

Continue to review full report at Codecov.

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


Use debug (or something) instead of console.log to have more control over logging

Using a logging module like debug makes it easier to control when logging messages show up and can add a timestamp to the log messages. This is nice for running tests (since there's not a lot of log output unless you want there to be) and for writing logs to a file (because you can see when things happen).
Maybe you're already using another logging solution and this isn't useful though. I'm not sure what it's like when it's running for reals.

I'm sure also there are a gazillion other logging modules, I only mention debug because that's the one I'm familiar with and the one that express uses.


Connect Twitter

Hi! I have a problem when i try on function connect.
The app init well, no problem with credentials.
No modification from my side, just put all the files in a server and try it.
this is the response:
{"success":false,"message":"JSON.parse: unexpected character at line 1 column 1 of the JSON data"}
Hope we can help and use this aproach.
Thanks!

Sure, I'll check it. In the mean time, if you have a pull request for the same, feel free to send it through.

@IsaacMiguel Can you elaborate more in-detail about the steps you had taken, to the point you faced the problem.