Rule: [function-signature] Function parameter wrapping behavior is overly aggressive and does not match documentation

To be clear up front as there were other issues closed without much investigation, there are two issues I am seeing.
Firstly, the behavior does not match the documentation.
Secondly, I believe the behavior itself is far too aggressive and should be curtailed to match the documentation.
Expected Behavior
According to the documentation for function-signature

Rewrites the function signature to a single line when possible (e.g. when not exceeding the max_line_length property) or a multiline signature otherwise.

The rule for parameter-list-wrapping isn't the issue in my case, but also mentions the same thing:

When class/function signature doesn't fit on a single line, each parameter must be on a separate line.

Given this, I would expect both of these functions to be formatted correctly based on a standard max_line_length:
fun foo(a: Int): Int {
    return a
}

fun bar(a: Int, b: Int): Int {
    return a - b
}

Observed Behavior
Any function with more than a single parameter is being reformatted to have multi-line parameters.
// This function is fine
fun foo(a: Int): Int {
    return a
}

// This function throws lint errors & reformats to multi-line
fun bar(a: Int, b: Int): Int {
    return a - b
}

// This is the expected formatting
fun bar2(
    a: Int,
    b: Int,
): Int {
    return a - b
}

IntelliJ Plugin:

Kotlinter output:
.../src/main/kotlin/Test.kt:1:9: Lint error > [standard:function-signature] Newline expected after opening parenthesis
.../src/main/kotlin/Test.kt:1:17: Lint error > [standard:function-signature] Parameter should start on a newline
.../src/main/kotlin/Test.kt:1:23: Lint error > [standard:function-signature] Newline expected before closing parenthesis

In this case, max_line_length is set to 140, the line length in question is 31 characters.
There are several other similar issues I noticed. This one was a similar (but not the same) documentation concern.
This next one seems to have been given a workaround, but this definitely seems like unexpected behavior and was closed without being investigated.
Steps to Reproduce
Using the KtLint IntelliJ plugin (0.20.1) or Kotlinter Gradle plugin (4.2.0, with gradle version 8.6), write the code as described:
fun bar(a: Int, b: Int): Int {
    return a - b
}

.editorconfig:
[*.{kt,kts}]
max_line_length = 140

According to the documentation for function-signature

Rewrites the function signature to a single line when possible (e.g. when not exceeding the max_line_length property) or a multiline signature otherwise.

The rule for parameter-list-wrapping isn't the issue in my case, but also mentions the same thing:

When class/function signature doesn't fit on a single line, each parameter must be on a separate line.

The documentation is more extensive than you have quoted above. The rule description is indeed short and can be misleading. The code sample and description of the configuration parameters however clearly indicate that there line length is not the only thing that is taken into account.

Any function with more than a single parameter is being reformatted to have multi-line parameters.

Intended behavior depending on the code style. If you have not configured the code style, you will use ktlint_official code style which indeed starts wrapping functions having 2 or more parameters. If you have been using ktlint 0.x before, you might have missed the announcement in the changelog and documentation.

There are several other similar issues I noticed. https://github.com/pinterest/ktlint/issues/2296 was a similar (but not the same) documentation concern.
https://github.com/pinterest/ktlint/issues/2424 seems to have been given a workaround, but this definitely seems like unexpected behavior and was closed without being investigated.

Each issue is investigated as careful as possible. If I see no further action to be taken on my side, I close the issue (which I also will do with this issue). If new information is provided, the investigation continues.
You're always welcome to submit a PR to improve the documentation or the code.

Contributions to make it more clear are always welcome. It is always a struggle to decide what should be in the description, and what in the code sample. Basically almost all unit test could be added to the documentation as they all test some specific details. Problematic is that we currently have 2600+ unit test ;-)


Update old shields to circleCI

This is a test to see if the notifier does it's thing.

It's not doing it's thing.


Feature flag location for Monitoring Service

Issue
I put the monitoring service feature flag in tools/dev/conf.json and I'm encountering an "issue" in the way reading the config file is handled (it's not wrong, it just doesn't suit my needs).
Really short version: the config (and thereby my flag) is only accessible at runtime as which config environment is chosen relies on command line args. Since all monitoring functions check the state of the flag this effectively precludes the use of unit tests for the monitoring service; I'd need a running Weaviate instance.
Options
I can't find another logical spot for config items in our codebase, so I see two options:

all my tests will be acceptance tests. At over 10 mins per test run this does not seem optimal.
I find a new place for the flag. I'd suggest putting the flag conf file in the monitoring folder.
This means deviating from the provided location (the json conf), which is why I don't want to just unilaterally decide.

The location will of course be documented.
Current solution
I'm using basic constants as an intermediate solution.
Thoughts @etiennedi @bobvanluijt?
Related to #699

all my tests will be acceptance tests. At over 10 mins per test run this does not seem optimal.
No, there has to be a better way :)

Most likely this can be solved with a fake for the config. Let's say you have a root type like this
type Monitoring struct {}

your type depends on the config being present so let's add it as a field
type Monitoring struct {
  config *config.WeaviateConfig
}

Let's say you also have a constructor function to assert that your Monitoring type can never be created without the required deps:
func New(cfg *config.WeaviateConfig) *Monitoring {
  return &Monitoring {
    config: cfg,
  }
}

Now you can use your constructur with the actual config object at runtime, i.e. somewhere in the restapi package, which is effectively our main package, you can simply do
monitoring := monitoring.New(serverConfig)

However, in the tests you can just create whatever config you want, like so:
testConfig := &config.WeaviateConfig{
  /* ignore the fields your type doesn't care about */
  Monitoring: &config.MontoringConfig{
    Enabled: true, // or false, whichever you want to test
    Endpoint: "http://foo.bar" // you could even create an *httptest.Server and use the .URL of it if you want to :)
  }
}

One special note about this line:
  Monitoring: &config.MontoringConfig{

I haven't looked at the current structure of the config package. It might be that that's the wrong place for your new config object. Maybe it should just be with the rest of your monitoring types. Not sure, feel free to place it where it makes sense.
Does this help?

This helps very much, thank you!

Some more background on how I got to the above solution: Effectively this is a classicist vs mockist problem (for testing there's always a suiting Martin Fowler article somewhere ;) )
By writing the stuff in the file you'd basically need the classicist way of unit testing, i.e. you'd need to process the file from disk, run part of the startup routine until you get to your Monitoring unit and then have access to the config.
By outlining the solution above, I've basically made an implicit decision to go for a Mockist approach. I.e. I want to test your new unit in isolation, I don't care how the config got from the file to your unit. I assume - because of Go's strong type system and other parts of the app which are tested - that by the time the config has made it to your unit it will be guaranteed to have a the desired format. This way we control the outcome of the "config reading process", but have abstracted the "how is the config being read" part completely away.

One more note:
This bit is oversimplified:
testConfig := &config.WeaviateConfig{
  Monitoring: &config.MontoringConfig{
    Enabled: true,
    Endpoint: "http://foo.bar"
  }
}

In real life the structure would be WeaviateConfig.Environment.Monitoring, instead of WeaviateConfig.Monitoring but the same principles apply. :)


54 model program

Implemented the new workflow.

@Castronova - This pull request still retains items that appear to be personal environment variables that should not be pulled into the main develop repository. Also some doc files that seem no relevant to committing to the primary develop branch. Are the 146 files listed in this pull request actually all required? or can some be eliminated due to either personal or demo info nature.

@mjstealey I didn't realize how many extra files I was committing. I cleaned up my branch and also reverted local changes to fig.yml, settings.py, and urls.py.  Please let me know if there is anything that I missed.


[stable/telegraf] Bump telegraf version from 1.10 to 1.12

What this PR does / why we need it:
Bumps the version of telegraf which provides multiple fixes. Save future chart users from day(s) debugging.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] DCO signed
[X] Chart Version bumped
[X] Variables are documented in the README.md
[X] Title of the PR starts with chart name (e.g. [stable/chart])

@naseemkullah

/assign @naseemkullah

/ok-to-test

/lgtm


Client trait to allow for generic wrappers

This is related to #671 though I didn't want to bump the old issue.
It would be really helpful if there were a common trait implemented by all tonic clients that contained functions like with_interceptor, with_origin, etc.
I think previous issues on this topic were for the purposes of mocking which is appropriately handled by the example in the repo, but this doesn't solve the issue of wanting to write generic client wrappers.
For example, I'd like to create a wrapper that adds a mandatory interceptor for all outgoing requests, regardless of which service it's to.
Something like
struct RpcWrapper<T: TonicClient> {
   client: T
}
impl<T: TonicClient> RpcWrapper<T> {
   fn new(channel: Channel) -> Self {
   		RpcWrapper {
            client: T::with_interceptor(channel, MyInterceptor)
        }
   }
}

and then with an appropriate Deref impl, this wrapper should otherwise act exactly like the concrete client type.

I was going to bump the other thread too, but I'm not sure this request is exactly what I'm looking for either.
I have a client that can I want to support either working offline OR integrating with a backend service depending on the user's preference. I was just looking to use the client interface as the interface itself, rather than wrapping, but I'm not sure it makes sense to have to write a full server implementation and then talk over a connection, even if it's local. I was hoping I could just do something like this
service MyService {
  rpc Echo (EchoRequest) returns (EchoReply) {}
}

struct LocalClient;

impl MyServiceClient for LocalClient {

        pub async fn echo(
            &mut self,
            request: impl tonic::IntoRequest<super::EchoRequest>,
        ) -> std::result::Result<tonic::Response<super::EchoReply>, tonic::Status> {
                Ok{
                    Response{
                        message: EchoReply{..}
                    }
                }
        }
}

or something like that. Maybe I'm polluting my APIs too much and I should wrap this in something, but it would seem reasonable to have the client interface be a trait, no?

Was looking around hoping to find a common solution for this as well. Would be nice to not have to manually add interceptors to every initialized client and instead have a common trait that allows for the sort of abstraction you're describing.


Fix sloth issues

Towards https://github.com/giantswarm/giantswarm/issues/29640
This PR fixes git-sync root path as it was changed when upgrading to git-sync 4.0.0.
This PR also changes the registry to the new giantswarm one

Status update:
The app went from:
k logs -n monitoring sloth-6769fdb4c9-ksrj8  git-sync-plugins
INFO: detected pid 1, running init handler
Flag --branch has been deprecated, use --ref instead
Flag --wait has been deprecated, use --period instead
{"logger":"","ts":"2024-01-29 11:33:10.622732","caller":{"file":"main.go","line":361},"level":0,"msg":"setting --ref from deprecated --branch"}
{"logger":"","ts":"2024-01-29 11:33:10.622843","caller":{"file":"main.go","line":403},"level":0,"msg":"setting --period from deprecated --wait"}
{"logger":"","ts":"2024-01-29 11:33:10.622892","caller":{"file":"main.go","line":528},"level":0,"msg":"starting up","pid":11,"uid":65534,"gid":65534,"home":"/tmp","flags":["--branch=main","--repo=https://github.com/slok/sloth-common-sli-plugins","--wait=30","--webhook-url=http://localhost:8082/-/reload"]}
{"logger":"","ts":"2024-01-29 11:33:10.921526","caller":{"file":"main.go","line":1101},"level":0,"msg":"repo directory was empty or failed checks","path":"/git"}
{"logger":"","ts":"2024-01-29 11:33:10.921609","caller":{"file":"main.go","line":1111},"level":0,"msg":"initializing repo directory","path":"/git"}
{"logger":"","ts":"2024-01-29 11:33:10.923124","caller":{"file":"main.go","line":804},"msg":"too many failures, aborting","error":"Run(git init -b git-sync): exit status 1: { stdout: \"\", stderr: \"/git/.git: Permission denied\" }","failCount":1}

to
k logs -n monitoring sloth-66977b65-xdnwl -c git-sync-plugins
INFO: detected pid 1, running init handler
{"logger":"","ts":"2024-01-29 12:36:20.162810","caller":{"file":"main.go","line":528},"level":0,"msg":"starting up","pid":12,"uid":65534,"gid":65534,"home":"/tmp","flags":["--period=30s","--ref=main","--repo=https://github.com/slok/sloth-common-sli-plugins","--webhook-url=http://localhost:8082/-/reload"]}
{"logger":"","ts":"2024-01-29 12:36:20.464878","caller":{"file":"main.go","line":1101},"level":0,"msg":"repo directory was empty or failed checks","path":"/git"}
{"logger":"","ts":"2024-01-29 12:36:20.465031","caller":{"file":"main.go","line":1111},"level":0,"msg":"initializing repo directory","path":"/git"}
{"logger":"","ts":"2024-01-29 12:36:22.660093","caller":{"file":"main.go","line":1615},"level":0,"msg":"update required","ref":"main","local":"","remote":"72c0c00d93d8b6ebe8e68b9fb99f29ae66c8ecdf","syncCount":0}
{"logger":"","ts":"2024-01-29 12:36:23.962283","caller":{"file":"main.go","line":1661},"level":0,"msg":"updated successfully","ref":"main","remote":"72c0c00d93d8b6ebe8e68b9fb99f29ae66c8ecdf","syncCount":1}
{"logger":"webhook","ts":"2024-01-29 12:36:23.963479","caller":{"file":"webhook.go","line":70},"level":0,"msg":"sending webhook","hash":"72c0c00d93d8b6ebe8e68b9fb99f29ae66c8ecdf","url":"http://localhost:8082/-/reload","method":"POST","timeout":"1s"}

Pod is now running

@giantswarm/team-atlas I'd appreciate some eyes <3


Moves behavior dom check to utility

Changes

Removes unneeded constant exports from FlyoutMenu.
Moves behavior DOM check to utility method.
Removes TODO for atomic-helper, as behavior shouldn't use that for clarity.

Testing

gulp build && gulp test:unit && gulp test:acceptance --sauce=false

Review

@sebworks
@jimmynotjim

Notes

Adds to /util/behavior.js created in https://github.com/cfpb/cfgov-refresh/pull/2118

👍

👍


Support for French Definitions

Hi,
My manager wants me to describe the tests in French. We have some tests in French that we've done with cucumber and selenium js
#language: fr

Fonctionnalité: Filtrer la liste de contenus par type de contenu

  Scénario: L'option du filtre Type de contenu est présent
    Etant donné qu'on est dans la liste de contenus
    Alors le filtre Type de contenu est visible
    Et les valeurs disponibles du filtres Type de contenu sont sélectionnable

It works fine in seleniumjs. This is a step_definition that we have
this.Given(/^le service de contenus est disponible$/, function () {
        return driver.get(shared.env.baseUrl);
    });

However, when I use this .feature file and create the definition steps, cypress does not recognize the tests. I get Error: Step implementation missing for: on est dans la liste de contenus
If I change the French keywords to English it works fine. Is there something I can do to have the step definitions in French?
Thanks

Can you try with French language but without any special characters?

Hi @lgandecki,
First of all, I want to wish you a happy New Year :)
I'd like to know if there's anything here that we'd need to do? Would we need to translate the keywords in French? If so, I could help with that.
Thank you

Hello
Thanks, you too.
I won't be able to look at this till the next week.
Maybe @sawasawasawa or @lucetius will be able to help you, or at least diagnoze the problem.
What would help to start with would be a simple reproduction (yes, it's easy for us to make it, but if you can just push something that you have it will save us some time)

That's not a viable solution, we need to simply use this language without cutting our files like this... :disappointed:

I guess I missed what the problem is, @yeppao could you please create a reproduction and push it to github?

Actually, our tests are in French too, and everything is working like a charm.
Do you want me to test some syntax from yours on my codebase?

@mathieutu can you share an example ?

Sure.
I don't know an example of what, but here is a part of a feature, with the corresponding simplified selectors :
#language: fr
Fonctionnalité: Appel téléphonique

  Lorsqu'un client appel à l'agence, le téléphone ouvre automatiquement une page dans le navigateur avec le numéro de la
  personne qui appelle. Ce numéro doit ensuite servir à identifier si le client existe déjà et afficher le contact.

  Scénario: Client connu

    Lorsque je visite la page "/contacts?telephone=0123456789"
    Alors je dois lire "01 23 45 67 89" dans le "téléphone du contact"
    Et je dois lire "M. Doe John" dans le "nom complet du contact"
    Et je dois lire<EMAIL_ADDRESS>dans l'"email du contact"

When(/^je visite la page "(.*)"$/, pageUrl => {
  cy.visit(pageUrl);
});

Then(/^je dois lire "(.*)" dans (?:le |la |l'|les )"(.*)"$/, (text, name) => {
  cy.get(getSelector(name)).should('contain', text)
});

Great, thanks a lot Mathieu, I'm gonna use this in our vue/cypress/cucumber stack at work.
I'm wondering, do you use other testing tool beside these E2E tests ? like unit tests (Jest, Ava, ...), component catalogue (StoryBook for example) or someting else ?

I am actually looking wfor writing test in french but I have the same error.
I can't use french words.
How to use french words?

the #language:  in a feature file will break the test when in a cypress/webpack project. Have no clue on how to fix it a.t.m. hoped to find a config file to set the language.

Due to personal reasons, the previous maintainers of this package are stepping down and handing the reigns over to me, a long-time contributor to the project and a user of it myself. This is a responsibility I'm very excited about. Furthermore, I'd like to thank @lgandecki ++ for all the work that they've done so far.
Read more about the transfer of ownership here.
The repository has however moved and all outstanding issues are being closed. This is not a reflection of the perceived importance of your reported issue. However, if after upgrading to the new version, you still find there to be an issue, feel free to open up another ticket or comment below. Please make sure to read CONTRIBUTING.md before doing so.


chore: scripts and dumps to help investigate staking issue

still work in progress
Resolves: https://github.com/ubiquity/ubiquity-dollar/issues/752

Should this be merged or discarded?

@0x4007 this PR was just for debugging, but I will not delete this branch.

It seems like a good idea to merge to make a copy of the work because if anything happens to the repo on your end, then we lose this information!

@0x4007 indeed. The target repository is archived though and we cannot merge:
This repository has been archived by the owner on May 10, 2022. It is now read-only.
Perhaps you or @rndquu could fork my repository with all branches into your private repo or org repo ?

Okay so let's merge then to archive the data?

Okay so let's merge then to archive the data?

I can only merge to my fork, https://github.com/ubiquity/uad-contracts is read only and throws an error message. I will think this over and let's finish this tomorrow as it's indeed late today.

Ok I found the solution at https://docs.github.com/en/repositories/archiving-a-github-repository/archiving-repositories#unarchiving-a-repository
The https://github.com/ubiquity/uad-contracts needs to be unarchived using the instructions in the link above, then we can merge and mark the repository as archived again.

@gitcoindev https://github.com/ubiquity/uad-contracts is unarchived, could you open a PR to that repo?

@rndquu I opened https://github.com/ubiquity/uad-contracts/pull/96 , I will still clean it up a bit today.


Items are duplicated

Searching for an SSID returns two results, and the total count is twice what it should be

Apparently last build fixed this


Fix discoverd leader election

In the rewrite we dropped the workaround for coreos/etcd#407, which is still not fixed in etcd.
Original fix: f7a99cbe10cf3408c02ee7d9f016a4687e974fdf
This fixes issues adding hosts to an existing cluster, which was presenting intermittently on CI.

ping @flynn/devs please take a look at this.

LGTM


Updated free-courses-en.md in Courses

This is a #hacktoberfest event pull request for supporting open source contributing.
What does this PR do?
Add resource(s)
For resources
Description
Created new subtopic 'google cloud' and Added Google Cloud certification courses.
Why is this valuable (or not)?
It's a free course on Google Cloud.
How do we know it's really free?
There's a free courses from Coursera, provided from Google
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines.
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction).
[ ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

The Google Cloud courses are limited-time; we don't list those, See  docs/CONTRIBUTING.md guidelines!


[Bug]: Nested ItemsControl crashes entire app

Describe the bug 🐞
I am using ReactiveUI version 20.1.1 in WinUI
I have a layout something like this:
   <ScrollViewer>
       <ItemsRepeater ItemsSource="{x:Bind ViewModel.Groups}">
           <ItemsRepeater.ItemTemplate>
               <DataTemplate x:DataType="home:HomeItemGroup">
                       <ItemsRepeater ItemsSource="{x:Bind Items}"/>
               </DataTemplate>
           </ItemsRepeater.ItemTemplate>
       </ItemsRepeater>
   </ScrollViewer

With:
    _items
        .Connect()
        .DisposeMany()
        .Group(s => s.Group)
        .Transform(group => new HomeItemGroup(group.Key.Id,
            group.Key.Title,
            group.Key.Pinned,
            group.Cache.Connect()))
        //.AutoRefresh(x => x.Pinned)
        .Sort(SortExpressionComparer<HomeItemGroup>.Ascending(x => x.Title))
        .Bind(out _groups)
        .DisposeMany()
        .ObserveOn(RxApp.MainThreadScheduler)
        .Subscribe();

If I reload the sourceCache (_items) with new data, the app crashes in its entirety without a meaningful message.
I cloned the repo to try and find out what goes wrong, and it seems that the DispatcherQueueScheduler.cs class is to blame, specifically the function on line 78:
d.Disposable = action(this, state);
This throws an exception: COMException, which upon inspecting the stacktrace, contains the following:
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
   at WinRT.ExceptionHelpers.ThrowExceptionForHR(Int32 hr)
   at ABI.Microsoft.UI.Xaml.Interop.WinRTNotifyCollectionChangedEventArgsRuntimeClassFactory.CreateInstanceWithAllParameters(NotifyCollectionChangedAction action, IList newItems, IList oldItems, Int32 newIndex, Int32 oldIndex)
   at ABI.System.Collections.Specialized.NotifyCollectionChangedEventArgs.CreateMarshaler2(NotifyCollectionChangedEventArgs value)
   at ABI.System.Collections.Specialized.NotifyCollectionChangedEventHandler.NativeDelegateWrapper.Invoke(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ReadOnlyObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs args)
   at System.Collections.ObjectModel.ReadOnlyObservableCollection`1.HandleCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at DynamicData.Binding.ObservableCollectionExtended`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)
   at System.Collections.ObjectModel.ObservableCollection`1.RemoveItem(Int32 index)
   at System.Collections.ObjectModel.Collection`1.RemoveAt(Int32 index)
   at DynamicData.Binding.SortedObservableCollectionAdaptor`2.DoUpdate(ISortedChangeSet`2 updates, IObservableCollection`1 list)
   at DynamicData.Binding.SortedObservableCollectionAdaptor`2.Adapt(ISortedChangeSet`2 changes, IObservableCollection`1 collection)
   at DynamicData.ObservableCacheEx.<>c__DisplayClass33_0`2.<Bind>b__1(ISortedChangeSet`2 changes)
   at System.Reactive.Linq.ObservableImpl.Select`2.Selector._.OnNext(TSource value)
--- End of stack trace from previous location ---
   at System.Reactive.PlatformServices.ExceptionServicesImpl.Rethrow(Exception exception)
   at System.Reactive.ExceptionHelpers.Throw(Exception exception)
   at System.Reactive.Stubs.<>c.<.cctor>b__2_1(Exception ex)
   at System.Reactive.AnonymousSafeObserver`1.OnError(Exception error)
   at System.Reactive.Sink`1.ForwardOnError(Exception error)
   at System.Reactive.ObserveOnObserverNew`1.DrainStep(ConcurrentQueue`1 q)
   at System.Reactive.ObserveOnObserverNew`1.DrainShortRunning(IScheduler recursiveScheduler)
   at System.Reactive.ObserveOnObserverNew`1.<>c.<.cctor>b__17_0(IScheduler scheduler, ObserveOnObserverNew`1 self)
   at System.Reactive.Concurrency.DispatcherQueueScheduler.<>c__DisplayClass10_0`1.<Schedule>b__0() in C:\Users\chris\Documents\Personal\ReactiveUI\src\ReactiveUI.Maui\WinUI\DispatcherQueueScheduler.cs:line 94

Is this an issue with:

WinUI
ReactiveUI
DynamicData

All help/thoughts are appreciated
Step to reproduce

Go to '...'
Click on '....'
Scroll down to '....'
See error

Reproduction repository
No response
Expected behavior
No crash !
Screenshots 🖼
No response
IDE
No response
Operating system
No response
Version
No response
Device
No response
ReactiveUI Version
No response
Additional information ℹ
No response

It throws a COMException with HRESULT: -2147417842(0x8001010E) which is:
RPC_E_WRONG_THREAD

I was able to clone DynamicData and point it down to:

Ok so basically what went wrong is, I was editing the list from a non UI thread which I guess caused this issue..
Wrapping the Edit function in a UI synchronization block fixed it for now. I would love to see a better error message tho !


Separate server resource ownership from Config data

Right now the Config struct in zebra/config.rs holds various configuration data, but it also owns server resources, like the database, the network, etc.  This means that it's not possible to treat the "config for a server" separately from "the server itself".
Instead, the server resources could be split into a Zebra type (naming?), leaving only the config options in the Config struct. The server type can then own a config object, as well as all the other resources (and the event loop, cf. #65). This way the config can be constructed / mutated / swapped out / etc., independently of the other server resources.
Also, we'd like to be able to load configs from a file.  Probably we want to have some kind of cascading config system, with a source-encoded config with default values (probably impl Default), a way to load config data from a file, and a way to specify command-line options for specific config values, with each of these steps overriding the values specified in the previous steps.  Probably there are already crates that support config handling and parsing, so we should consider using one of them.

Let's try using https://github.com/mehcode/config-rs .
Bikeshed: which file format for the config file?

Or: https://twitter.com/bascule/status/1144760314908401664

Looks like we're going to try using Abscissa to start, in which case the work for this issue is probably to go through the fields of the existing Config struct, extract the ones that are genuine config options, and add them to the Abscissa config framework.


Edge post filter issue

The edge detection post filter creates lines on characters' faces in cutscenes close-ups or when you zoom in the camera too close.

Edge detection filter is a game feature that works by default, this hack only allows to disable it.
I think you are talking about HBAO instead, which on higher profiles will make edges more visible (since it seems to consider surface normals and now just depth). There is not much that can be done about it, due to how low-poly these character models are (and badly rigged as well).

The lines only appear for me with the edge detection filter on. HBAO work just fine.

Ok, this is certainly Edge detection filter. But I don't exactly see what could be causing it. I have RTX 3070 (driver 516.59, but without Nvidia's GeForce Experience) and 2K screen - no issues like this. I even played around with some Nvidia settings seeing if I could break it.
I have seen things like that happening in the game I work on, but that was due to some buffers that were used in post-process being scaled incorrectly and that's not exactly something that anyone expect game developers should have access to.

Hi Sui suit just solved the issue magically with a restart and another complete clean install of the mod and game (?¿).
Which is even weirder because it's not the first reinstall I've done to see if it fixes it...
The only thing I can think of is that I previously had a 4k DSR option checked in the Nvidia panel but I wasn't using it, my desktop was at native resolution and the game too in theory.

I already know where the problem is. Touching the far clip option up causes the issue.

Thanks for letting me know. To an extend it does make sense - I will see if something can be done with it (although probably it will have to be next month).

Right. I played around a bit with it and there is Edge Detection Depth setting in the filter, which I exposed. If you extend camera's far clip distance above 800 units, an slider will be displayed under edge filter now telling you why it's there.


Some ollama cli instructions: specially stop

What are you trying to do?

Stop
Restart
Probably change  OLLAMA_MODELS, OLLAMA_HOST AND OLLAMA_PORT

Also would be nice to change ollama serve to ollama start for reasoning of other services or similar things.
How should we solve this?

Creating a CLI instructions to make it possible

ex: $ ollama stop serve
$ollama setdirectory /media/eduardo/ollama_models
$ollama sethost <IP_ADDRESS>
$ollama restart serve
What is the impact of not solving this?
Improve usability and give more tools to users/developers.
Anything else?
No response

@ejgutierrez74 thanks for the issue.
You can stop serving with standard unix commands (depending on your flavour of unix) or just use Ctrl-C. You can see the  OLLAMA_HOST and OLLAMA_MODELS documentation if you run ollama serve --help.

I still think that ollama sethost and setdirectory would be nice.
I also opened a bug months ago, because it doesnt work in ubuntu / linux.


Huawei has achieved the same function. Is there any difference?

https://b23.tv/av63102276

I have no idea. If you can test both, please tell us 😉

@rom1v   bro scrcpy with my huawei keyboard donr work with pubg just work to go  and back and left and right but i cant fire or change aim

Currently I found two difference between scrcpy and Huawei:

Huawei can use desktop input method to type Chinese.
Current drag & drop in scrcpy would push file to /sdcard/ on the device, but Huawei use multi window drag and drop mechanism to copy text to EditView, send file to that app.
(like https://www.androidauthority.com/drag-and-drop-text-multi-window-android-n-679164/ and https://9to5google.com/2019/03/14/android-files-app-drag-and-drop-windows/)

@floating-cat Thank you for your feedbacks.

Huawei can use desktop input method to type Chinese.

OK. Definitely that's something missing in scrcpy. It requires to install an app on the device.
https://github.com/Genymobile/scrcpy/issues?q=is%3Aissue+is%3Aopen+label%3Aunicode

Huawei use multi window drag and drop mechanism to copy text to EditView, send file to that app. (like https://www.androidauthority.com/drag-and-drop-text-multi-window-android-n-679164/ and https://9to5google.com/2019/03/14/android-files-app-drag-and-drop-windows/)

It seems it's internal to the device, so if you drag&drop from one window to the other with a Huawei device supporting this feature, it should work too.


[BUG] Generate without yml extension does not raise exception

Describe the bug
Trying to generate job file using odin cli without yml extension just terminates without any error messages.
To Reproduce
./odin generate -f ./example -l go

Expected behavior
If extension is required, the command should return an error so users know what to expect.

Yes, I believe there are a few commands which may exhibit this behaviour. Will take a look!


Fixing local parameter usage

The argument should be used instead of the property.

What's the bug?

It's using a mix of the argument parameter and the class one. In this case I assume the goal is to use the argument, or there is no point in passing it. I'll show you tomorrow if you don't understand, look closely at the case of the variable.

I understand the change you made to the code. Is there a bug here?
The change should probably refactor the code further.

The parameter is passed only because the single caller needs that parameter to determine whether or not _ViewStart.cshtml files are relevant. I.e. the method isn't called unless ViewStartPages == viewStartPages.
Could certainly change the calling method to instead have a invokeViewStarts parameter and use ViewStartPages (the property) everywhere. But there's no bug here.

@sebastienros @rynowak @dougbu can you guys figure out what the full fix is for this and update the PR?

My suggestion is (in a bit more detail):

use ViewStartPages throughout RazorView e.g. remove viewStartPages parameter from RenderViewStartsAsync().
change RenderPageAsync() to instead have a bool invokeViewStarts parameter
call RenderPageAsync() with invokeViewStarts: true from RenderAsync() and invokeViewStarts: false from RenderLayoutAsync()

Nothing to add on this PR, I just wanted to point out that the wrong variable name was used. Feel free to close this PR and open a new issue if there is a more general problem with this class.

@dougbu can you do the deed?

:ok:


Procedural Animation

Example (Animation Bootcamp: An Indie Approach to Procedural Animation GDC):
https://youtu.be/LNidsMesxSE

I thought about it, I won't make procedural animation like overgrowth , because it won't work well with distance matching and motion matching, but if you need it the video above explains it .
and this is a tutorial for how to do it in Godot :
https://youtu.be/nukrnzU-DOg
it is not made by me


APNs will no longer support the legacy binary protocol as of November 2020

If I understand correctly, Houston still uses the binary protocol instead of HTTP/2. Apple announced it will stop supporting this protocol as of November 2020.
Are there any plans for updating Houston to using the HTTP/2-based APNs provider API?

Does this mean Houston, if not updated, will be unable to send push notifications when Apple stops supporting the protocol in November 2020?

@jmajonis that is my assumption, yes. @mattt / @dankimio can you give us something, even if it is a statement that Houston won't be developed further?

@toineheuvelmans Sorry for the radio silence. I'm no longer the maintainer of this project, but I'm asking around to get a consensus about what the plans are going forward. That may be a new version using the new HTTP/2 API, or archiving the project and pointing folks to another library. Because time is of the essence, I'd hope for this decision to be made sooner rather than later (ideally by the end of next month).

Thanks @mattt, 🤞

Hi, is there any update ?

Update: I've discussed this with @dankimio, and he indicated that he may have availability this month.

@dankimio Can you give an update?

As the deadline for the protocol change is now right around the corner (~1 month) it seems time to look for other solutions - unless any contributors could come to the rescue at this point?

@jwhiting Thus far, we have had a good experience with the Apnotic gem. It uses the latest HTTP/2 protocol, was simple to implement, and remained fairly lean versus some of the other options we evaluated.
See https://github.com/ostinelli/apnotic
While the Houston gem has been great over the years, the imposing deadline forced us to look at other options. Hope this helps other teams!

Deadline pushed to March 2021, but sooner the change is implemented, the better:
https://developer.apple.com/news/?id=c88acm2b
FYI: https://www.pubnub.com/docs/platform/messages/push/apns2-migration-guide

Hey everyone. I sincerely apologize for my failure to communicate timely about the state of this project. At this point, I've decided to archive Houston, along with the rest of the projects in this org. Anyone who's still using Houston is encouraged to migrate to an alternative as soon as possible to support the APNs2. In the case of Houston, @mgornick's recommendation of Apnotic looks like a good option.
For some additional context: I handed off Houston and the rest of the Nomad repos in 2015, and haven't had an occasion to use or work on them since. My only involvement has been occasionally having notifications come up in my feed, which brought me to this issue last March (https://github.com/nomad/houston/issues/171#issuecomment-602903317). Unfortunately, I was unable to secure a commitment from the current maintainer to resolve this issue. Given the timely nature of this issue, I decided that the best option would be to step in and archive the project.
Again, I apologize for any inconvenience I caused by not addressing this issue sooner. Thank you for your patience and understanding.


[run error] process_adc_bin2np.py

When I run
python process_adc_bin2np.py --raw_data radar_bin/ --output radar_numpy/
it occurs:
(393216,)    # print(adc_data.shape)
Traceback (most recent call last):
File "process_adc_bin2np.py", line 78, in
adc_data2frame = dca.organize(
File "/home/ubuntu/miniconda3/envs/pitt_SR/lib/python3.8/site-packages/mmwave/dataloader/adc.py", line 280, in organize
return ret.reshape((num_chirps, num_rx, num_samples))
ValueError: cannot reshape array of size 196608 into shape (384,4,256)
dataset is your open source
"[March 2023] We release the first version of 5k frames of our dataset at the link in the resolution of 128 samples in range. Other parts of the dataset will be released later. Stay tuned."
I don't know where the problem lies。
Looking forward to your early reply!

Do these parameters need to be modified？

numADCSamples = 128
numTxAntennas = 3
numRxAntennas = 4
numLoopsPerFrame = 128
numChirpsPerFrame = numTxAntennas * numLoopsPerFrame
num_angle_bins = 128
numADCSamples = 256
num_angle_bins = 256

Sorry for the late reply.
You will need to change
numADCSamples = 128
num_angle_bins = 128
or comment last two lines


Add Cloudformation Functions

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html


Support for dingit.tv

Would it be possible to add support for dingit.tv?

Thank you in advance.

Support for this website was already requested some time ago (#974).

@0880 Sorry, did not see that previous issue, my apologies.


Webworker target builds should work for module workers

Feature request
When setting webpack config target to 'webworkers', the bundled code references importScripts. If we then want to run the code as a worker per se, it'd fail for {type:'module'} workers.

What is the expected behavior?
Webpack output code targeting webworkers should be able to run in both classic and module workers.
What is motivation or use case for adding/changing the behavior?
The original intention is to insert compiled+bundled code from a project or script into another worker-specific script (from another project). Right now, you can stitch the raw contents together, and they may run in a classic worker but not a module worker since the latter references importScripts.
How should this be implemented in your opinion?
Not too sure about the internals but ESM workers should follow ESM import behavior such as loading asynchronously and allowing dynamic imports.
Are you willing to work on this yourself?
no

Webpack output code targeting webworkers should be able to run in both classic and module workers.

Sorry, it is impossible, you can't use importScripts for ESM modules
You should build two workers and load them based on ESM supporting, you can use multi compiler mode, feel free to feedback

@alexander-akait May I ask how do you build for the ESM worker if using target: webworkers => build with importScripts by default?

You can use library.type: "module" to build ESM webworkers


Update build scripts to add arm64 to Mac builds

The xcframework now contains a universal framework on the macOS side for arm64 and x86_64. The two are stitched together using lipo.

Hmm, I might need to update this to disable the pushing to GitHub and all that, since I don't think it should be needed when wanting to build it locally (as in my case).

Thanks for the patch - I am struggling with this line, and need to sort it out:
xcodebuild -scheme SwiftGodot -destination platform=generic/macOS,arch=arm64

It produces:
xcodebuild: error: Unable to find a device matching the provided destination specifier:
		{ platform:generic/macOS, arch:arm64 }

My Xcode shows that macOS builds are built-in.
I'll set up an M1 to do the builds and see if that can sort it out.

That is particularly odd, though I suspect that it only shows up for Apple Silicon Macs.

I'm closing this PR to have this in a dedicated brance


Assign mac address to multple nics

Hi,
I just started using knife-vsphere gem and I say that this is a life saver. So thanks for working on it!   Since I am new to to this, I wanted to know how to assign mac addresses to clone vm with multiple nics?  Is that even possible with knife vsphere clone command?
Thanks,
Robert

Hi, this issue has sat here for a long time and I'm sorry that no one has helped you with it. I'm closing old issues, but if you're still having a problem please re-open or start a new thread.


Add timestamp to L2Block object and expose via RPC Server interface

There's currently no way to know the time for a block, whether it is the timestamp used as a global variable, or the timestamp of the L1 block in which the L2 block was rolled up. We should add a timestamp to the L2Block object with this info.
Also, while the Aztec node exposes a getBlock method, and the Aztec RPC server implementation also has one, it is not defined on the RPC Server interface. We should add it there, which requires adding serialisation (string or json) to the L2Block object and adding it on the class converter for the http client and server.

Blocks now have a timestamp in the header global variables


Off by one error allows invalid nonce usage

Per the spec, the maximum usable nonce value is 2^64 - 2 and not 2^64 - 1.

The maximum n value (2^64 - 1) is reserved for other use. If incrementing n results in 2^64 - 1, then any further EncryptWithAd() or DecryptWithAd() calls will signal an error to the caller.

http://www.noiseprotocol.org/noise.html#the-cipherstate-object
These two usages should be slightly re-written:
+        if self.n == u64::MAX { return Err(StateProblem::Exhausted); }
         let len = self.cipher.encrypt(self.n, authtext, plaintext, out);
+        self.n += 1;
-        self.n = self.n.checked_add(1).ok_or(StateProblem::Exhausted)?;

https://github.com/mcginty/snow/blob/077bb35e840f8899d7038e4bfd569e49aeb98f9c/src/cipherstate.rs#L39
https://github.com/mcginty/snow/blob/077bb35e840f8899d7038e4bfd569e49aeb98f9c/src/cipherstate.rs#L59

Oh great catch. Thank you, I'll fix this and push a patch release.


Android build fixes (build with -fPIC)

Build with -fPIC on Android as it is not the default, and is necessary if swift-crypto is to be embedded into a shared library.

Ah, yes, right you are.
@finagolfin is there a way to ensure the Android SDK is always compiling PIC even when not building shared libraries?

I'm going to close this because it needs to be fixed in the Android SDK.

is there a way to ensure the Android SDK is always compiling PIC even when not building shared libraries?

We used to set it in the destination config until Swift 6, but I thought it was made the default now, so I didn't bother setting it in the new Swift 6 SDK bundle.
If that's not the case, you can always pass in -Xcc -fPIC on the command-line, or we can change the default for the Android SDK bundle.

Thanks. Actually I just removed the swift-crypto dependency from my app, was the simplest solution for now :)


Update Komplexity.netkan

updated to license
requires either CBK or CBK-RO
thank you.

https://forum.kerbalspaceprogram.com/index.php?/topic/202749-1123-komplexity-kplx-1000-release-edition-07-apr-2022/
https://github.com/zer0Kerbal/Komplexity
https://spacedock.info/mod/2805/Komplexity

Thanks for the update, will merge it shortly.
A question regarding the license: Is this a change (GPL-3.0 was correct for older versions), or a correction (GPL-3.0 was incorrect for older versions)? If the latter then we will need to do some updates of the historical metadata.

Thanks for the update, will merge it shortly.
A question regarding the license: Is this a change (GPL-3.0 was correct for older versions), or a correction (GPL-3.0 was incorrect for older versions)? If the latter then we will need to do some updates of the historical metadata.

excellent query - <IP_ADDRESS>-prerelease on changed to the CC from GPL2. No historical changes should be needing to be made. thank you.


[Typo] Fixes typo in Parse/Internal/Json.cs

Found another typo of the word support.  Surprised I missed it last time!

Thanks!


add SQL support for tinyint and all unsigned INTs

Which issue does this PR close?

Closes #3307 .
Rationale for this change

What changes are included in this PR?

Per the issue, this adds the following SQL datatype support:

TINYINT
UNSIGNED {TINYINT, SMALLINT, INT, BIGINT}

so now you can use this in create external table (c1 tinyint, c2 bigint unsigned) ... etc. Also available in cast() SQL:
select 1::smallint unsigned;
select 1::tinyint;
-- etc

Are there any user-facing changes?

@alamb @andygrove what do you think about adding unsigned int support per #3307 here vs. a separate PR? Also, in general is unsigned int support via SQL desired?
Also, note that I removed what was almost a duplicate function in planner.rs -- now it will use the same function to convert SQL datatypes to Arrow datatypes for both SQL CAST() function and for the schema that can be specified for CREATE EXTERNAL TABLE. I'd just like to verify with someone more knowledgeable than me that this is a good change.

Codecov Report

Merging #3309 (71db4bd) into master (312a7dd) will increase coverage by 0.04%.
The diff coverage is 89.18%.

:exclamation: Current head 71db4bd differs from pull request most recent head f6d28c6. Consider uploading reports for the commit f6d28c6 to get more accurate results

@@            Coverage Diff             @@
##           master    #3309      +/-   ##
==========================================
+ Coverage   85.74%   85.79%   +0.04%
==========================================
  Files         294      294
  Lines       53749    53731      -18
==========================================
+ Hits        46089    46098       +9
+ Misses       7660     7633      -27

Impacted Files
Coverage Δ

datafusion/core/tests/sql/mod.rs
97.77% <ø> (ø)

datafusion/expr/src/logical_plan/plan.rs
78.22% <64.28%> (-0.17%)
:arrow_down:

datafusion/sql/src/planner.rs
81.70% <80.00%> (+1.08%)
:arrow_up:

datafusion/expr/src/utils.rs
90.74% <81.81%> (-0.37%)
:arrow_down:

datafusion/core/src/execution/context.rs
78.24% <100.00%> (ø)

datafusion/core/src/physical_plan/planner.rs
79.44% <100.00%> (ø)

datafusion/core/tests/sql/explain_analyze.rs
83.39% <100.00%> (ø)

datafusion/expr/src/logical_plan/builder.rs
90.35% <100.00%> (ø)

...tafusion/optimizer/src/common_subexpr_eliminate.rs
92.85% <100.00%> (ø)

datafusion/optimizer/src/projection_push_down.rs
98.06% <100.00%> (ø)

... and 7 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I've added the unsigned ints to this PR as well, matching what's in the issue

Please hold this pr, I want to review it and has concern about the data type supported in the SQL level.
@alamb

I think the signed value  is ok for me like small int, but the unsigned value make me concern about the compatibility and consistent behavior with other database system like spark https://spark.apache.org/docs/latest/sql-ref-datatypes.html#data-types

I've added the unsigned ints to this PR as well, matching what's in the issue

I have the opposite opinion for supporting the unsigned value in SQL Level now.
You can fill a new issue to discuss about this, I think this is big change for API and interface which is not compatible with other database or SQL system.

Hi @liukun4515  -- thank you for the review. I will mark this PR as a draft while we discuss.
So that I can file the correct issue for discussion, can you help me understand what the concern is?  Do you think:

DataFusion should not support UNSIGNED INT
DataFusion should treat SQL UNSIGNED INT as Int64
Something else?

Thanks!

I've added the unsigned ints to this PR as well, matching what's in the issue

I have the opposite opinion for supporting the unsigned value in SQL Level now.
You can fill a new issue to discuss about this, I think this is big change for API and interface which is not compatible with other database or SQL system.

Sure thing -- it's in #3325.

I've really messed up this branch. Going to come back to this when brain works.


experience cloud help pages

Issue in help/using/features/destinations/create-url-destination.md
hi
i recommend you improve the navigation and content for these pages e.g. https://docs.adobe.com/content/help/en/audience-manager/user-guide/features/destinations/custom-destinations/create-url-destination.html
when i navigate from left menu frame to topics; i get content but the left menu goes back to the topic of the topics menu; so have to scroll down to return to the topic i was reading.
This is so frustrating and poor in terms of design; you need links to stay where people were exploring instead of going up and down to pages.
This applies for all help pages using https://docs.adobe.com/
Can you rectify this navigation problem?
Also your content on some pages is vague and not always accurate
ravinder basra

Hi @ravinderangelmaya ,
I wanted to come back to you with some updates. Our pages will get a new look&feel in a few months, so hopefully that should solve the navigation issue you mentioned.
I am still interested in finding out which pages you think are vague and inaccurate. Please signal those and we'll do our best to update them asap.
Victor

Hi Victor
thank you.
example of vague pages :

creating a mobile property in official launch help -
https://docs.adobe.com/content/help/en/launch/using/overview.html - none
existence; I had to visit
https://aep-sdks.gitbook.io/docs/getting-started/create-a-mobile-property
instead;
this should be in our official launch help

there are other examples; I think help pages need reauditing with new
release generally.
thank you
ravinder
On Wed, Feb 12, 2020 at 5:51 PM Victor Giurgiu<EMAIL_ADDRESS>wrote:

Hi @ravinderangelmaya https://github.com/ravinderangelmaya ,
I wanted to come back to you with some updates. Our pages will get a new
look&feel in a few months, so hopefully that should solve the navigation
issue you mentioned.
I am still interested in finding out which pages you think are vague and
inaccurate. Please signal those and we'll do our best to update them asap.
Victor
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AdobeDocs/audience-manager.en/issues/29?email_source=notifications&email_token=AKR7WZZBASO4COVAUSFUVHTRCQZJXA5CNFSM4KLHYOSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELRXL3Q#issuecomment-585332206,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKR7WZ6POPC4KG7YP3AYHQLRCQZJXANCNFSM4KLHYOSA
.

@ravinderangelmaya  - I'll be closing this issue. We're still on track to migrate to a new platform for documentation, which will give the pages a new look&feel.
As for the Launch documentation suggestion, can you please open an issue directly on that page for the Launch team to look into it - https://docs.adobe.com/content/help/en/launch/using/overview.html ?
Thanks for contributing!
Victor


fix(scanv4): Check if bundle contains Scanner V4 manifests

Description
In the launch_central function in k8sbased.sh we try to apply manifests for Scanner V4 unconditionally. But it is not guaranteed that these manifests exist in a deployment bundle in all environments. For example, when an old roxctl (which does not have Scanner V4 support built in) is used to generate a central deployment bundle, no Scanner V4 manifests are contained in that bundle.
Therefore, what this PR does is adding an existence check for Scanner V4 manifests before trying to apply them.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
Here I tell how I validated my change
TODO(replace-me)
Use this space to explain how you validated that your change functions exactly how you expect it.
Feel free to attach JSON snippets, curl commands, screenshots, etc. Apply a simple benchmark: would the information you
provided convince any reviewer or any external reader that you did enough to validate your change.
It is acceptable to assume trust and keep this section light, e.g. as a bullet-point list.
It is acceptable to skip testing in cases when CI is sufficient, or it's a markdown or code comment change only.
It is also acceptable to skip testing for changes that are too taxing to test before merging. In such case you are
responsible for the change after it gets merged which includes reverting, fixing, etc. Make sure you validate the change
ASAP after it gets merged or explain in PR when the validation will be performed.
Explain here why you skipped testing in case you did so.
Have you created automated tests for your change? Explain here which validation activities you did manually and why so.
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

/test

/retest

/retest


Bug: Worldserver.exe crashed if the MOD is enabled

Current Behaviour
Worldserver.exe closed instandly if I have enabled the SOLO LFG Mod. If I disabled the mod, all works fine. My LOG shows no error message or an other info about that. I have checked with step by step activated one by one module.
Expected Behaviour
worldserver.exe have to start with activated Solo LFG Mod
Steps to reproduce the problem
start worldserver.exe with enabled MOD
Extra Notes
No response
AC rev. hash/commit
fccfe51594b4+ 2024-07-29 23:49:58 -0300 (master branch)
Operating system
Windows 11 x64
Custom changes or Modules
No response

I'm thinking maybe this is a problem with the azerothcore server because I tried to the original milestorm mod and the worldserver also restarts.

OK. I will try the original MOD. Thx

I've made this module work with the following changes:
File LFGMgr.cpp:
[1742] if (true || !m_Testing)
[1837] if ((true || !m_Testing) && !allAnswered)
File LFGMgr.h:
[579] [[nodiscard]] bool IsTesting() const { return true || m_Testing; }

Thank for your message. I will try that asap.

Hi @gabrielveras, with your changes the solo-lfg works. I hope that will be fixed for futured updates


Error after update

Getting an error with the new update, <IP_ADDRESS>31.
Redbox OMG!! error. The enable/disable button is there, can be toggled. Other than the button being there, no indication that the mod is doing anything.
DSP_Drone_Clearing  version 1.4.1
Using r2modman. I clear out everything, then installed one mod at a time until I found the one giving errors. Here's the log output (~/AppData/LocalLow/Youthcat Studio/Dyson Sphere Program/output_log.txt)
(Filename: <815d916ff03d4e4489ea2acc662045fc> Line: 0)
MissingFieldException: Field 'PrebuildData.upEntity' not found.
at MechaDroneLogic.UpdateTargets () [0x00005] in <815d916ff03d4e4489ea2acc662045fc>:0
at MechaDroneLogic.GameTick (System.Int64 time, System.Single dt) [0x00047] in <815d916ff03d4e4489ea2acc662045fc>:0
at Mecha.GameTick (System.Int64 time, System.Single dt) [0x00006] in <815d916ff03d4e4489ea2acc662045fc>:0
at Player.GameTick (System.Int64 time) [0x00043] in <815d916ff03d4e4489ea2acc662045fc>:0
at GameData.GameTick (System.Int64 time) [0x0006a] in <815d916ff03d4e4489ea2acc662045fc>:0
at GameMain.FixedUpdate () [0x000ec] in <815d916ff03d4e4489ea2acc662045fc>:0
(Filename: <815d916ff03d4e4489ea2acc662045fc> Line: 0)
The config is whatever is generated  by default. I haven't changed it.
r2modman's LogOutput.Log"
[Message:   BepInEx] BepInEx <IP_ADDRESS> - DSPGAME
[Info   :   BepInEx] Running under Unity v2<IP_ADDRESS>89476
[Info   :   BepInEx] CLR runtime version: 4.0.30319.17020
[Info   :   BepInEx] Supports SRE: False
[Info   :   BepInEx] System platform: Bits64, Windows
[Message:   BepInEx] Preloader started
[Info   :   BepInEx] 1 patcher plugin loaded
[Info   :   BepInEx] Patching [UnityEngine.CoreModule] with [BepInEx.Chainloader]
[Message:   BepInEx] Preloader finished
[Message:   BepInEx] Chainloader ready
[Message:   BepInEx] Chainloader started
[Info   :   BepInEx] 5 plugins to load
[Warning:   BepInEx] Plugin [Distribute Space Warper <IP_ADDRESS>] targets a wrong version of BepInEx (<IP_ADDRESS>) and might not work until you update
[Info   :   BepInEx] Loading [LDBTool 1.8.0]
[Info   :   BepInEx] Loading [RecyclableFuelRod 1.1]
[Info   :   BepInEx] Loading [DSP Drone Clearing 1.4.1]
[Info   :DSP Drone Clearing] Configuration loaded.
[Info   :DSP Drone Clearing] Initialization complete.
[Info   :   BepInEx] Loading [RecycleAccumulator 0.0.1]
[Info   :   BepInEx] Loading [Distribute Space Warper <IP_ADDRESS>]
[Message:   BepInEx] Chainloader startup complete
[Info   :Distribute Space Warper] Loaded!
[Info   :DSP Drone Clearing] Configuration loaded.
[Info   :DSP Drone Clearing] Configuration loaded.
Any other logs or settings that would be helpful, I'll be happy to provide.  Haven't changed any settings manually.

Been trying to fix this. Got it to compile, but all the drones go to one object, clear it, then all go to another. Trying to figure out the quagmire of how the jobs get distributed, but my brain hurts. Hopefully the project dev can update it!

Thank you for the report @dnabre and @FlexibleGames .  The issue has been fixed in v1.4.2.


Empty tasks makes another task, not empty, rendered empty

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
This note content:
- Hello
	- [ ]

- World
	- [x] Done task
	- [ ] Task not done

should render three tasks in reading view, one of them empty.
Current behaviour
The first two tasks are rendered empty in readin view

Steps to reproduce
This bug does not show in the sandbox, because the bug happens only after enabling the plugin and then restarting Obsidian. Also, it does not disappear when the Tasks plugin is disabled, it needs another restart for it to disappear.
Which Operating Systems are you using?

[ ] Android
[ ] iPhone/iPad
[X] Linux
[ ] macOS
[ ] Windows

Obsidian Version
1.6.7
Tasks Plugin Version
7.7.0
Checks

[X] I have tried it with all other plugins disabled and the error still occurs

Possible solution
No response

Also notice the ordering of tasks rendered.

Hi @schnittchen, please can you check the following to see if it is the same issue:

https://github.com/obsidian-tasks-group/obsidian-tasks/issues/2177

Thanks in advance.

While that's not always easy to tell, two observations which match #2177:

If I remove these two lines, effectively joining the task items, the bug persists:

- World

the bug does not show in live preview mode

And does it persist if your tasks look like this:
- [ ]
- [x] Done task
- [ ] Task not done

Renders as

(empty)
(empty)
Done Task

Thanks for the replies @schnittchen.
OK, so I am pretty confident that this is a duplicate of of #2177, so I'll close this for now.
I've added a note to that ticket to confirm that when it is fixed, this is fixed too.
For reasons described in the first paragraph of the following boiler-plate text, I'm going to close this as a duplicate for now....

In view of this size of the backlog for this project, and the demotivating effect of a very long backlog on volunteer energy levels, I'm going through a slow process of reviewing tasks for things that are one or more of the following:

unlikely to be realistically achievable, from the design of the current code, and the planned future refactorings
not sufficiently high priority to a broad community of users, based on the feedback I receive from a variety of sources
do not fit the core purpose of the Tasks plugin
are better covered by a different plugin - to share the development and maintenance effort

So I'm marking this one as 'not planned'. This doesn't mean 'won't fix' - it means not likely to be done in the foreseeable future.


[mini-chart] init

Motivation and Context
Resolved #850

How has this been tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue).
[X] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).
[ ] Nice improve.

Checklist:

[X] My code follows the code style of this project.
[x] I have updated the documentation accordingly or it's not required.
[X] Unit tests are not broken.
[x] I have added changelog note to corresponding CHANGELOG.md file with planned publish date.
[x] I have added new unit tests on added of fixed functionality.

Probably we can find a better place for mini charts in navigation tree? Probably higher level of first position of section

I also was concerned if this component should be somewhere between our D3 charts components, so I can get your point.
But also I was thinking it will be easy to find it by the alphabet order between other charts, because our users usually search for how they can visualize their data among the other components related to data visualization (D3 charts for our case).

I've fixed component display name in playground and added one example with full options.


Failure obtaining db row lock: Lock wait timeout exceeded; try restarting transaction

I'm using quartz on my java project with version 2.2.3 and getting This Error
org.quartz.impl.jdbcjobstore.LockException: Failure obtaining db row lock: Lock wait timeout exceeded; try restarting transaction
| at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:157)
  | at org.quartz.impl.jdbcjobstore.DBSemaphore.obtainLock(DBSemaphore.java:113)
  | at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3796)
  | at org.quartz.impl.jdbcjobstore.JobStoreSupport.triggersFired(JobStoreSupport.java:2916)
  | at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:336)
  | Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
  | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  | at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
  | at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
  | at com.mysql.jdbc.Util.getInstance(Util.java:408)
  | at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:951)
  | at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
  | at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
  | at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
  | at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
  | at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2487)
  | at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
  | at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1966)
  | at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
  | at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
  | at org.quartz.impl.jdbcjobstore.StdRowLockSemaphore.executeSQL(StdRowLockSemaphore.java:96)
  | ... 4 common frames omitted
Anyone have solution for this?

This issue was moved to OpenQuartz/quartz-scheduler#8

Can you share your quartz.properties and is there any special DB configuration you used?

Hi @ariawanzero
This means your DB is not able to acquire the proper lock using the QRTZ_LOCKS table.
Can you try to enable DEBUG level on in your scheduler and check the output by org.quartz.impl.jdbcjobstore.StdRowLockSemaphore class logger? This would tell you which lock
name and how many times it retried and failed.

I also noticed you have a custom jobStore class com.btpn.common.util.quartz.CustomJobStore. We won't able to debug what's in there. Please use a one quartz provided (eg: org.quartz.impl.jdbcjobstore.JobStoreTX) and reproduce the problem.

It seems like this failure error will occur only when the load is too heavy and the DB is not able to acquire the DB lock within the time allowed to handle the work. I have added a PR #363 as improvement that allow you to configure the maxRetry and retryTimeout (in millis) parameters to avoid this error message. To use it, you need to get latest code and add the following to quartz configuration:
org.quartz.jobStore.lockHandler.class=org.quartz.impl.jdbcjobstore.StdRowLockSemaphore
org.quartz.jobStore.lockHandler.maxRetry=7
org.quartz.jobStore.lockHandler.retryPeriod=3000


demasquer

Type: Feature Request
comment demasquer ma bar de menu lateral gauche?
VS Code version: Code 1.87.2 (863d2581ecda6849923a2118d93a088b0745d9d6, 2024-03-08T15:20:17.278Z)
OS version: Windows_NT x64 10.0.19045
Modes:

I don't know French, so I don't exactly know what you're asking for... but here are two ideas:

Right click where the view was and see if you can ✔ to unhide it
Run the command "View: Reset View Locations"

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Access DNS provider API

This initial version will assume CloudFlare as the provider, but other providers can be added in the future by adding to app/providers


resources in kube-system and kube-public are being ignored

Describe the bug
In a case that ingress resource and its corresponding secret with SSL certificate are deployed into namespace kube-system or kube-public, they are ignore.
This is caused by code in pkg/k8scontext/context.go
var namespacesToIgnore = map[string]interface{}{
        //      "kube-system": nil,
        //      "kube-public": nil,
        "do-not-ingnore-any-ns": nil,
}

I am wondering what is the reason for setting ignore flag on those namespaces.

I was checking and I cannot see a reason why some arbitrary namespaces should be ignored.
Would be considered an acceptable alternative keeping those two ignored namespaces as default setting, but introducing and environment variable KUBERNETES_IGNORED_NAMESPACES that could override the setting? The variable could be either empty, resulting in no namespace being ignored, or comma separated list of namespaces.
If so, I am happy to create PR for it.

@polasekr This was done to avoid the churn in events that happen in these namespaces.

Sure, it should be okay to make this as a flag.
How does kubernetes.allowSystemNamespaces: true sound ?

PR https://github.com/Azure/application-gateway-kubernetes-ingress/pull/1088 submitted for the same. Thank you for supporting the motion.


docs: Adds .github folder

docs: Adds .github folder

Creates a .github folder to keep the root directory clean.
Moves the CONTRIBUTING.md file to a .github folder.
Adds a standard ISSUE_TEMPLATE.md
Adds a simple, single PULL_REQUEST_TEMPLATE.md

@willnorris What are your thoughts on this PR?  (I know you often have strong opinions about GitHub use.)
I think we need to leave the CONTRIBUTING.md in the top level, to keep it consistent with the long history of requiring it there.  I understand why you want to do it, but moving one file doesn't help much.  I'm also concerned about "out of sight, out of mind" with that file.  I might not notice that the file exists in the .github directory from a local checkout.  (i.e. it won't show up with ls)
Regarding the issue templates, I'm torn.  They're slightly opinionated in a way that I'm not sure applies to all projects, and I'm not sure people will notice them to modify them.  An alternative would be to add them to the boilerplate README.md that people have to modify anyway.  On the other hand, they're harmless.

issue and PR template totally make sense in the .github folder... they are not really useful outside the context of being used as a template, and are very GitHub specific.  Hiding them away is no problem.
I'm similarly torn on the contributing file, however.  Ideally, it is useful as a standalone file, so having it discoverable is helpful.  One interesting alternative, is that you can also place it in a "docs" folder, and GitHub will still find it.  I really like that in the sense that it encourages writing additional documentation.
Regardless of what we do in this repo, we should definitely update cross to accept putting the contributing file in all the places that GitHub supports.

I'm similarly torn on the contributing file, however. Ideally, it is useful as a standalone file, so having it discoverable is helpful. One interesting alternative, is that you can also place it in a "docs" folder, and GitHub will still find it. I really like that in the sense that it encourages writing additional documentation.

I'm concerned that the docs directory might not get noticed by someone.  It's hard to miss things at the top level.  We can't assume people are going to read the docs.

issue and PR template totally make sense in the .github folder... they are not really useful outside the context of being used as a template, and are very GitHub specific. Hiding them away is no problem.

Since we all seem to agree about this, in order to move forward, do you want to remove the CONTRIBUTING.md move, and maybe add a note to the README.md that these files exist?  (It's not that a CONTRIBUTIMG.md move is off the table, but that I don't want to block everything on our ruminations.)

I'm concerned that the docs directory might not get noticed by someone. It's hard to miss things at the top level. We can't assume people are going to read the docs.

The whole point of us following GitHub's conventions is that they display them prominently in their UI.  For example, there used to be a butter bar whenever you open a new issue or PR.  It looks like that has moved to the sidebar, though it is made much more prominent on your first contribution to a given repo:

So honestly, I'm not that beholden to keeping the contributing file in the top-level directory.  If we really cared about making it prominent, we would enforce mentioning it in the README as well, but I don't think we really want to do that.
But if we were going to move the default location of the contributing file, we certainly couldn't do it before we updated cross to look in the new location.

I've filed an internal FR.  You're both CCed.

I'm not able to make progress on this PR. I don't use this template repo since it doesn't provide a useful template that I can't copy/paste.
As a result, I'll close this PR.

reopening, since this is still a good change to make. We just need to update cross before we can merge this in.

The CL to cross landed two weeks ago.  Thanks @gauntface.
I'd still like to leave the default location of CONTRIBUTING.md at the top level, but we could tell pepole that it's ok to move it into .github if they don't want it there?

Talked with Robert, let's move the default contributing.md file into the docs directory.  First, we just need to make one more minor change to cross to allow lowercase "contributing.md".

Let me know when you would like me to change the contents of this PR.

you can go ahead and make the change now (just move contributing into a docs folder).  We'll just need to wait to merge it until we have the change in cross.  Thanks!

Renamed contributing.md
Created new folder docs
Moved contributing.md to docs

okay, cl/267682432 is submitted.  It should autopush on Monday of next week, at which point we can merge this in.

Will let you merge when ready.

Verified that cross passes with these changes.


Add CI backstop timeout to limit hanging jobs

This job failed after six hours or so. CI should have a backstop timeout in place so hanging jobs fail much earlier than that. Say one hour or so.

Ok, used this on mac-it-1-of-2.log.txt above:
#!/usr/bin/env python3

import os
import re
import sys
from pathlib import Path
from typing import Any

def analyze(log: Path) -> Any:
    tests: dict[str, bool] = {}
    with log.open() as fp:
        for line in fp:
            # E.G.: 2024-11-13T06:29:33.3456360Z tests/integration/test_issue_1018.py::test_execute_module_alter_sys[ep-function-zipapp-VENV]
            match = re.match(r"^.*\d+Z (?P<test>tests/\S+(?:\[[^\]]+\])?).*", line)
            if match:
                test = match.group("test")
                if test not in tests:
                    tests[test] = False
                continue

            # E.G.: 2024-11-13T06:29:33.3478200Z [gw3] PASSED tests/integration/venv_ITs/test_issue_1745.py::test_interpreter_mode_python_options[-c <code>-VENV]
            match = re.match(r"^.*\d+Z \[gw\d+\] [A-Z]+ (?P<test>tests/\S+(?:\[[^\]]+\])?).*", line)
            if match:
                tests[match.group("test")] = True
                continue

    hung_tests = sorted(test for test, complete in tests.items() if not complete)
    if hung_tests:
        return f"The following tests never finished:\n{os.linesep.join(hung_tests)}"

def main() -> Any:
    if len(sys.argv) != 2:
        return f"Usage: {sys.argv[0]} <CI log file>"

    log = Path(sys.argv[1])
    if not log.exists():
        return f"The log specified at {sys.argv[0]} does not exist."

    return analyze(Path(sys.argv[1]))

if __name__ == "__main__":
    sys.exit(main())

And it yielded:
:; ./detect-hung.py mac-it-1-of-2.log.txt
The following tests never finished:
tests/integration/test_issue_2186.py::test_incompatible_resolve_error

Ok, that's just 1 data-point. I'd like to get a few 6 hour timeouts on mac shards analyzed to see if its the same test hanging (looking at that test, it seems super unlikely that test in particular is hangy, but). I'll get this script checked in.

Ok, available on main here: https://github.com/pex-tool/pex/commit/7e3c248b700732a4259122be46c01d5017115b89


Add null check for NodejsFileNode.Analyze

Fix for #393

lgtm, though did you actually manage to reproduce this issue? Or is this just based on the comment in #393?

I don't have a repro. It is mainly based on how null reference exception could possibly happen within that function.


Parse date with ordinal

For my project I need to be able to parse arbitrary dates as found on the internet. One such example that I haven't been able to work out how to parse with time uses this format:
 WARN  rsspls > unable to parse date 'Sunday, April 18th, 2021'
 WARN  rsspls > unable to parse date 'Friday, January 8th, 2021'
 WARN  rsspls > unable to parse date 'Tuesday, September 15th, 2020'
 WARN  rsspls > unable to parse date 'Monday, April 6th, 2020'
 WARN  rsspls > unable to parse date 'Friday, March 13th, 2020'
 WARN  rsspls > unable to parse date 'Sunday, June 2nd, 2019'
 WARN  rsspls > unable to parse date 'Wednesday, May 29th, 2019'
 WARN  rsspls > unable to parse date 'Saturday, May 25th, 2019'
 WARN  rsspls > unable to parse date 'Thursday, May 16th, 2019'
 WARN  rsspls > unable to parse date 'Tuesday, May 7th, 2019'
 WARN  rsspls > unable to parse date 'Friday, April 26th, 2019'
 WARN  rsspls > unable to parse date 'Tuesday, April 23rd, 2019'
 WARN  rsspls > unable to parse date 'Wednesday, April 17th, 2019'

It's the ordinals (th, rd, st) that are the challenge. It would be great if format description either supported parsing/formatting these or had a mechanism to specify characters to ignore, like: [weekday], [month repr:long] [day][ignore count:2], [year].
I can probably work around this for now by detecting digits followed by an ordinal and deleting the ordinal, happy to hear if there are other ideas.

Having a way to outright ignore characters could certainly be useful. In the meantime, once I get around to documenting the following, I will put out a release that includes it.
[weekday], [month repr:long] [day][first [st][nd][rd][th]], [year]
This would effectively do the same thing, taking the first of "st", "nd", "rd", and "th". In reality, which one is matched is irrelevant, as they're all literals.

This would effectively do the same thing, taking the first of "st", "nd", "rd", and "th". In reality, which one is matched is irrelevant, as they're all literals.

Cool, yes that would work well.

My previous suggestion was released a few days ago, so you should be able to use it now. I've also pushed up an implementation of [ignore count:X], though that's not yet released.

Thanks. I published a release using the git version, will be good to get back on a proper release.


Included cudnn_backend.h when using cudnn 8

cudnn 8 requires cudnn_backend.h during tensorflow compilation.
This pull request adds it to the required headers when cudnn >= 8

Thanks for your help! Sorry for missing this. In the meantime, the same fix is already in review internally. It should be fixed soon.


Make a new release

Would be lovely to be able to pin dependencies to the latest em-synchrony release without having to deal with git-based installations :)

We're overdue for a release... pushed 1.0.4 to rubygems!

<3


LIT Node Connect

Hello,
I have problems with Lightning Terminal Node Connect. After copy pairing phrase and copy into the field on terminal.lightning.engineering there happens nothing.
Looking into the logs shows me the connection tried to complete but there may be an issue.
torsocks[1757173]: 2022-07-08 12:31:26.556 [WRN] GRPC: [core] grpc: Server.Serve failed to create ServerTransport:  connection error: desc = "transport: http2Server.HandleStreams failed to receive the preface from client: error decrypting payload: error reading from go-back-n: EOF"
WRN] GRPC: [core] grpc: Server.Serve failed to complete security handshake from "mailbox:Xxxxxxxxxxxxxxx@mailbox.terminal.lightning.today:443": error reading from go-back-n: receive timeout
torsocks[1757173]: 2022-07-08 12:36:17.627 [DBG] MBOX: Server: got failure on receive socket, re-trying: rpc error: code = Canceled desc = context canceled
I have reinstalled it and also updated to 0.6.7-alpha. I didn’t know where to look for the problem.

Yeah I’m already updated Tor to <IP_ADDRESS> one or two weeks ago. That’s because I had massive problems with peer-connections. But after I switched from Umbrel to raspiblitz I haven’t connected with lit yet.

testing with the new version and getting the error:

need to trigger the creation of lit macaroons

@guggero could you please suggest how can we have the lit.macaroon created?

We did change a few things in LiT recently related to macaroons and LNC. So my answer would've been to update LiT as well (which you already did now).
Good to hear things are working now!


⚠ PostgreSQL has degraded performance

In aa6c7ac, PostgreSQL (https://news.ycombinator.com) experienced degraded performance:

HTTP code: 200
Response time: 2339 ms

Resolved: PostgreSQL performance has improved in 08bd20e after 6 minutes.


Dark mode

@jiec137 it looks like you used some new dependencies, but you didn't add them to package.json. As a result, I can't simply npm i them. Please add the dependencies you used to package.json.

@jiec137 it looks like you used some new dependencies, but you didn't add them to package.json. As a result, I can't simply npm i them. Please add the dependencies you used to package.json.

I've updated the package.json, however i just noticed create event modal isn't working correctly in dark mode, working on a fix now.

yeah it looks like all the modal(forms) seems a bit off. Also would it be possible to have dark mode off as a default? Right now, it's dark mode is on by default. We can work on designing the specific color scheme we want for dark mode next week, but it looks good so far.

yeah it looks like all the modal(forms) seems a bit off(could be due to some fonts having same/similar color to the background). Also would it be possible to have dark mode off as a default? Right now, it's dark mode is on by default. We can work on designing the specific color scheme we want for dark mode next week, but it looks good so far.

I've made it so that light theme is on default and "remembers" user's preference based on their last chosen theme. For the forms, do you think I should integrate dark mode into forms or just fix the font color so that it doesn't change when it's dark mode.

I think it might be better to integrate dark mode into forms. But you can try out both method and take a screenshot of how they look.

Hi Mei, I've fixed the forms and the home page text. There is one more thing I need to fix is that the website automatically reset to light theme when the page is refreshed, and I can't find a way to fix that. Can you take a look on that?

Hi Mei, I've fixed the forms and the home page text. There is one more thing I need to fix is that the website automatically reset to light theme when the page is refreshed, and I can't find a way to fix that. Can you take a look on that?

Yeah we can definitely take a look at that tmr. It might have something to do with colorScheme not being stored correctly or fetched correctly from localstorage.
One more thing, I noticed when the site first loads(fresh, brand new tab), the toggle is at dark mode, but the page is in light mode. I had to click on the toggle twice to reset it to normal.

Yes it was the colorScheme issue, turns out I accidentally deleted useColorScheme when I was editing ThemeContext. I've fixed it, the toggle and page refreshing should work now.

Great job! I think we still need to fix a few font color(like the I accept the , the sort by, order, all the tags. But these should be easy.


Issue 36 part 2

Hopefully completes the case insensitive comparison of hostnames when using an EXPECT with WITH-ALL-HOSTNAMES

The whitespace changes make it really hard to see what was actually changed... :/
Trying a local diff...

OK, so with a local diff tool I can see the scope of the changes...
Aside from from reporting changes (to show the URI components in the EXPECTED report), this change uses strcasecmp (not _cups_strcasecmp) to compare the entire URI, however only the scheme and host are actually case-insensitive according to RFC 7230 which registers the "http" and "https" URI schemes. Section 2.7.3 says the following:

The scheme and host are case-insensitive and normally provided in lowercase; all other components are compared in a case-sensitive manner.

I'll look into why the compare_uris function is not performing its function correctly and come up with an alternate fix.

Also, doing a strcasecmp of the whole string doesn't work for comparing just the scheme, host, resource, etc. components.

OK, I've pushed a fix for Issue #36, please test and let me know if there are still issues...

The compare_uris() function was called using get_string(), which was providing it with the hostname string fragments for a and b because it was picking those bits out based on the flags. The compare_uris() function was failing on line 780 with this:
if (httpSeparateURI(HTTP_URI_CODING_ALL, a, ascheme, sizeof(ascheme), auserpass, sizeof(auserpass), ahost, sizeof(ahost), &aport, aresource, sizeof(aresource)) < HTTP_URI_STATUS_OK)
    return (-1);

I don't care who does the coding - I just wanted it to be fixed. 😊


Can't use removeObserver:forKeyPath: during observeValueForKeyPath:

Realm crashes with EXC_BAD_ACCESS if you attempt to call removeObserver:forKeyPath: while using observeValueForKeyPath:ofObject:change:context:.  This is in contrast with normal KVO where this is possible.
It seems like this might be avoidable, since the next/prev pointers in RLMObservationInfo are being changed, but not to valid (null) values.  They are always 0xN000000000000000 (where N is not 0) when the crash occurs.  Perhaps that is intentional?
The documentation page states:

Because properties can change in value when not in a write transaction or even as part of beginning a write transaction, trying to modify persisted Realm objects from within -observeValueForKeyPath:ofObject:change:context: is not recommended.

But it reads to me as though you shouldn't try to update the persisted properties.  If this is intentional behavior, maybe the wording could be updated to make this situation more clear.

@timothycosta Thank you for reporting! Could you provide us with more code that leads up to this? Could you share the code around crash and start observing?  If you could send a small reproducible project or the actual project privately to<EMAIL_ADDRESS>it will help us look into this.

Removing observers from within the observation handler should work correctly, and in a fairly minimal test of adding observers to a few persisted objects, triggering changes on them, and removing the observer from within the notification seems to work. Are you maybe also deallocating the object from within observeValueForKeyPath:ofObject:change:context?

@timothycosta we weren't able to reproduce the issues you reported. Would you be able to come up with a failing unit test or sample project that can trigger the issue so we can investigate?

@tgoyne @jpsim @kishikawakatsumi I wasn't able to exactly replicate what was happening in my app in a sample.  It is possible the object was getting deallocated.  I was able to get a crash to occur by deleting the object during observerValueForKeyPath: though.  I verified that deallocating a regular NSObject does not cause a crash.
Here's a gist, and I will email the full project to<EMAIL_ADDRESS> Revision one and revision three show two different ways of generating two different exceptions.
https://gist.github.com/timothycosta/829df1ae35deeb93eaed
You can test a normal NSObject by uncommenting line 35 (observe UILabel), and commenting out line 63/64 (observe a realm object).

In that code it is the call to beginWriteTransaction within updateProfile that's throwing, because the Realm is still in the write transaction began in changeLanguage: and we do not support nested transactions. Changing updateProfile to only begin a write transaction if it is not already in one (and only commit it if it began it) makes that code run without errors for me.

@tgoyne That makes sense, and I thought about doing something like that as well.  However, wouldn't it make more sense to just delay all KVO updates until after commitTransaction is called, even on the same thread?  Otherwise, theoretically any code that could ever be touched via KVO would need to be peppered with checks for whether you are already in a writeTransaction.  Should I already be doing that?  It would be simple enough to create a category with a block which would do that, but it seems a little dirty to me.
By the way, this section of the documentation is a little bit confusing.  "When you directly assign to it" to me reads like "when you assign outside of a write transaction" (which you shouldn't be doing anyway, unless I'm mistaken).  Something like "as soon as you assign to it during a write transaction on the same thread" might be clearer.
With persisted objects, there are three times when the value of a property may change: when you directly assign to it; when you call [realm refresh] or the Realm is automatically refreshed after a write transaction is committed on a different thread; and when you call [realm beginWriteTransaction] after changes on a different thread which have not been picked up by a refresh on the current thread.

Foundation's implementation of KVO isn't really flexible enough to support delayed notifications. It's fundamentally designed around the idea of synchronous notifications that are delivered before the setter returns.In theory delaying the call to didChangeValueForKey:until the transaction is committed could work, but in practice it broke horribly, and would result in observers on RLMObject working weirdly differently from observers on normal objects. One of the goals of KVO support was to support the pre-existing ecosystem of things built on top of KVO rather than requiring Realm-specific code for watching for object updates, so drifting too far from the normal behavior is counter-productive.
I don't think it's possible to write fully-correct code which modifies an RLMObject from code called by a KVO observer on another RLMObject if you're making writes on multiple threads. Checking if you're already in a write transaction before beginning one handles the simple cases (but as you say, is ugly), but in the case of a notification being sent due to starting a write transaction (if there was a write made on another thread, beginning a write transaction will always advance to the most recent version of the data first), the change being observed happens at a point where you aren't yet in a write transaction, but you also can't begin one.

reads like "when you assign outside of a write transaction" (which you shouldn't be doing anyway, unless I'm mistaken)

It's not that you shouldn't be doing that; you can't, and if you try it'll throw an exception.

@tgoyne Thank you very much for the detailed explanation.  It really helps my understanding of realm and KVO.  I'll close this.  I wasn't able to duplicate my original problem in a sample project.  The problem there wasn't (as far as I could determine!) trying to write anything during the notification.  Nevertheless the workaround I found was simple enough anyway.


chore: fix build for upstream-fef2098

What :computer:

Fixes build for fef2098

autoclosed due to wrong branch name


Long delay in Bottleneck.schedule execution in a distributed env

I have been using Bottleneck to rate-limit external API calls from the system in a distributed environment.
This was perfect till now but once the number of servers increased I see a considerable delay in API calls.
API Rate limit -> 500 requests/min per tenant or account with max concurrent 10 requests
For each tenant/account we make ~1.5k requests
During testing, we were pulling data for 30 tenants/accounts
Total API call -> 45k(30*1500)
When running 50 servers ->
It took ~5 mins to make 45k API calls
When running 100 servers ->
It took ~15 mins to make 45k API calls
My code looks like
const reqsPerMin= 500;
const params = {
      id:'some_unique_id',
      datastore: 'ioredis',
      maxConcurrent: 10,
      minTime: Math.ceil((60 * 1000) / reqsPerMin),
      clientOptions: redisConfig,
      reservoir: reqsPerMin,
      reservoirRefreshInterval: 60 * 1000,
      reservoirRefreshAmount: reqsPerMin,
      highWater: reqsPerMin,
      strategy: 'OVERFLOW',
    };
 const limiterGroup = new Bottleneck.Group(params);

 const requests = [...]; // requests to make to external service
await Promise.all((request) => {
const limiter = limiterGroup.key(request.tenantId);
  return limiter.schedule({ priority: 1 }, () => {
    // make API call
    return sendRequest(request);
  });
});

@SGrondin Can you please help figure out why it's happing?


Potentially make matplotlib an optional dependency

Apologies in advance for quoting, nearly verbatim, this issue from the ott-jax package but the issue is largely identical.
matplotlib is a fairly "heavy" dependency in that it pulls in lots of extra packages. Unsurprisingly, it's not truly required to use the bulk of jaxopt outside of running some examples / benchmarks. I'm wondering whether the team would consider making matplotlib an optional dependency to minimize the number of packages pulled in by downstream projects.

+1, see #397 for a fix

Fixed by #397


Add Programming Language starting with C

Provide file name hell.file extension
Hello, World!
Remember to add a short description

On it

Done1


migration mas_sso to sso and add dynamic token_url

https://issues.redhat.com/browse/MGDX-102
Dependent PR for new property tokenEndPointUrl
https://github.com/redhat-developer/app-services-ui-shared/pull/126

Looks good! Thank you so much

@riccardo-forina @wtrocki MAS_SSO migration work is done from my side. Please merge this PR when you will feel ok.
I'll be on PTO from Monday 13th June to 8th July 2022.


Make the format of log messages consistent

Which issue(s) this PR fixes:
Issue #
What this PR does / why we need it:
Make the format of log messages consistent
Special notes for your reviewer:
Additional documentation or context

Suggest using gRPC errors exclusively within the gRPC server layer. For internal operations, let's continue using the usual error mechanism. This way will ensure clarity regarding when and where to use gRPC errors. WDYT?

I thought the method before. There are many checks in the engine.go, replica.go and so on. The checks are related to different gRPC error codes, so using gRPC errors in server layer is not enough.

I see. Let's do this change first, but we should adopt the suggestion later, or the error handling code would become hard to maintain eventually.

Have a todo.

Make it as a draft. Handle it in v1.7.0.

👍

Handle this later.


isPlainObject helper returns true for all objects

Vue.js version
2.0.0-rc.1
Reproduction Link
https://jsfiddle.net/ngzxjsxo/
Steps to reproduce
See assertion failure in console
What is Expected?
The object should not be converted to an observable object since it is not a plain object
What is actually happening?
Any object is deeply converted to an observable object. There seems to be existing code trying to guard against this, however the helper function isPlainObject is not returning the correct result, This implementation is broken because Object.prototype.toString.call(value) will return [object Object] no matter what value is.
For reference, it looks like lodash's isPlainObject function does some addition checks, and returns the expected value.
This is problematic for me as I am attempting to store a large Immutable.js object on my Vue instance, which is freezing the browser when trying to recursively make the object observable.

Any user created object is considered a plain object. The check only guards against native objects, e.g. window.
The proper way to explicitly avoid observation is by freezing the object with Object.freeze.

@yyx990803 Object.freeze doesn't seem to prevent the entire object from being walked

Object.freeze doesn't seem to prevent the entire object from being walked

It freezes the entire object. It is not, however, recursive.

@fenduru the observation system will stop the walk whenever it detects a frozen object. If that's not happening, please provide a proper reproduction.