New rule to ensure immutability

This is a continuation for https://github.com/detekt/detekt/issues/2857#issuecomment-658150495 (Thanks @Whathecode to mention it)
The immutability is usually a good thing but it's easy to create an "immutable" class with mutable properties by mistake. So we could have a rule that ensure that our immutable classes are really immutable.
How to implement it: Ensure that ALL the classes are immutable is probably not worth it and few people will want that. So maybe a rule that ensures that all data classes are immutables. Another option is to have an annotation and only check those classes with that annotation. That last one would be nice if we find any "standard" annotation.
We can implement all of those behaviours in a rule and enable/disable them using flags. But I'm not sure which should be the "default" configuration.

I don't think I'd want all data classes to be immutable, or even all immutable classes to be data classes.
See for example this issue in my current implementation of an Immutable base class in which I expect extending classes from an immutable base class to be data classes: Immutable base class does not allow immutable objects and enums

In my case, I want all the data classes to be immutables. But, for sure, I want other classes to be immutable too. It's not an easy topic.

We can make such a rule to be triggered by a custom defined annotation.
Or only trigger when include is set like LibraryCodeMustSpecifyReturnType works.
We have DataClassShouldBeImmutable @BraisGabin , can you check if it works for you?

For me this is definitely a custom rule.

We have DataClassShouldBeImmutable @BraisGabin , can you check if it works for you?

I didn't realiced that this rule existed already. But this rule just check for val properties. It doesn't complain about data class A(foo: MutableList<Int>). Should we extend it?
Anyway I'm going to enable it tomorrow at work, for sure.

For me this is definitely a custom rule.

I think that it would be great to have this rule but I don't know how can we really implement it. It's a common case so it have sense as an standard rule... So I really don't know 😂
More problems that I see implementing this rule:

We need a configuration so the user can say OkHttp and Retrofit are immutable classes. There's no way that we can know that.
What happen if the type of a property is an interface?

What happen if the type of a property is an interface?

The interface (or a base interface thereof) would need to be annotated as Immutable for the class having a member field using that interface to be considered immutable.
But, in the general case there might need to be an additional annotation to skip recursive analysis of external sources. Or, exceptions specified in the detekt rule, or both. :)
I'll continue work on this tomorrow and keep you posted!

Here is my current implementation and unit tests.
Things left to do:

Verify whether the specified immutable annotation class can be resolved.
I don't think all immutable classes should be data classes; this could be a parameter of the annotation.
Report mutable types 'in context' of the immutable types within which they are used. This information is currently lost in recursion.
Deal with common immutable base types. Right now I only check for Int. Collections are another consideration.
Rule configuration.

Some observations:

The rule should likely have a configuration to pass classes which are assumed immutable. This could shortcut trying to do type resolution on unavailable sources. But, I'm still not 100% certain how bindingContext works.
I previously used an Immutable base class to do runtime verification using reflection. By using an annotation I can no longer constrain types on this base class. The example use case: I adopt Domain-Driven Design in which 'events' of an aggregate root need to be immutable which I define as class AggregateRoot<TRoot, TSnapshot : Snapshot<TRoot>, TEvent : Immutable>. Of course, I can just add a base class which is annotated with the immutable annotation. Just thought it was interesting to mention.

While trying to apply this rule to my codebase, I run into issues trying to enable type resolutions. Is this the best documentation that is currently available?

https://github.com/detekt/detekt/issues/2259
https://github.com/detekt/detekt/issues/2292

At first glance, it didn't help me out. I have a multiproject configuration using Gradle written in Groovy. classpath is readonly, and I am not certain what parameter classpath.setFrom expects.

That looks like a cool 3rd party domain specific rule. 👍🚀
BindingContext is an internal API of the Kotlin compiler. An AST (a kotlin psi) is generated while parsing the source code file. Then it’s analyzed and the BindingContext is created. The binding context contains semantic information including the types that have been resolved. How would you know for instance, if the correct Foo class is referenced and the right constructor is called.
Have you tried also the configuration for here?
https://github.com/detekt/detekt/issues/2038#issuecomment-574347664

I have now ported all the functionality I had before, checked at runtime, to two static checkers:

VerifyImmutable
VerifyDataClass

I have applied these rules to my codebase, and after some bug hunting now got them fully to work.
Some unit tests to show expected behavior for immutability: VerifyImmutableTest.
The current configuration looks as follows:
carp:
  VerifyDataClass:
    active: true
    includes: ['**/domain/**']
  VerifyImmutable:
    active: true
    includes: ['**/domain/**']
    assumeImmutable: [
      'dk.cachet.carp.common.DateTime',
      'Json'
    ]

There are some minor things left to do, such as loading the annotation to look for through the configuration file, refactoring, and continue adding more features. But, given that it does now what I had before, I want to target a first release and start doing issue tracking in a separate repo.
Do you still feel this belongs in a 3rd party rule, or should I do a PR instead?
I'm trying to come up for a proper rule category name. I think common to both is they verify a correct implementation of extending classes, so the rule provider is maybe verify-implementation with an Immutable and DataClass rule.

Thanks for sharing your experience! The implemented rules look good. Those two rules are fine. For me, however, this belongs to a 3rd party rule, because of the custom annotations.

Makes sense. :) I will start setting up the repo at: https://github.com/cph-cachet/detekt-verify-implementation
I will post here after a first release.

Cool 😎
I think we should link it in the readme. @arturbosch maybe we can setup the repo we discussed somewhere here containing or linking 3rd party rules.

Let's attribute the great work of the detekt community and 3rd party contributors!

Cool
I think we should link it in the readme. @arturbosch maybe we can setup the repo we discussed somewhere here containing or linking 3rd party rules.

Sure, lets link them in the readme (### Community extensions?) for most users to find. Imo an additional repo is overkill for now.

Agreed!

I just published 1.0.0 to Maven: https://github.com/cph-cachet/detekt-verify-implementation
Release notes: https://github.com/cph-cachet/detekt-verify-implementation/releases/tag/v1.0.0
Of course, issue reporting/suggestions/PRs are more than welcome!

Thanks! Looks great! I added it to the readme.


PlexAPI update

Updated to work with the latest version of PlexAPI. Was getting error "Fetched active media session of unknown type: <class 'plexapi.video.MovieSession'>" because of a breaking change introduced in 4.12.0 (https://github.com/pkkid/python-plexapi/pull/931)

Fixed in https://github.com/EthanC/Perplex/commit/e7e506866a649661ff7e731ba703da8f6a51e726


uninstall: delete CephCluster at the start of uninstall

To properly trigger the new uninstallation logic in Rook-Ceph for a
"graceful" uninstall, we need to mark the CephCluster for deletion
towards the start of the process. This is how we inform Rook-Ceph that a
cluster deletion is in progress.
Signed-off-by: Jose A. Rivera<EMAIL_ADDRESS>

@jarrpa Do we know how this will affect external mode / provider-consumer mode?
In provider consumer mode strict ordering is important, let's make sure we are not breaking it
@iamniting Can you please review the code and give your opnion

@jarrpa Do we know how this will affect external mode / provider-consumer mode? In provider consumer mode strict ordering is important, let's make sure we are not breaking it
@iamniting Can you please review the code and give your opinion

@nb-ohad This change should not break our provider/consumer uninstall.
@jarrpa The ensureDeleted func will always return an error until the cephcluster is present and we won't be able to proceed further at all. If we just want to mark it for deletion we should change the func too.

I verified the above comments, it just took me a while to get a testing cluster up and running.
I reverted the move of the ensureDeleted call and updated the annotating function instead. @travisn's suggestion is ideal, but that's a larger refactor than we really want to do right now.
PTAL

/test ocs-operator-bundle-e2e-aws

/override ci/prow/red-hat-storage-ocs-ci-e2e-aws

/override ci/prow/red-hat-storage-ocs-ci-e2e-aws

/override ci/prow/red-hat-storage-ocs-ci-e2e-aws

/cherry-pick release-4.10


[Event Request] table 5902 "Service Line"–  OnBeforeValidateLineAmount

Describe the request
[Event Request] table 5902 "Service Line"???  OnBeforeValidateLineAmount
Could we please have a publisher OnBeforeValidateLineAmount in trigger OnValidate of the field ???Line Amount??? at table 5902 "Service Line"?
        field(103; "Line Amount"; Decimal)
        {
            AutoFormatExpression = Rec."Currency Code";
            AutoFormatType = 1;
            CaptionClass = GetCaptionClass(FieldNo("Line Amount"));
            Caption = 'Line Amount';

            trigger OnValidate()
            var
                ServAmountsMgt: Codeunit "Serv-Amounts Mgt.";
                LineDiscountAmountExpected: Decimal;
                // >>>>>>>>
                IsHandled: Boolean;
                // <<<<<<<<
            begin
               // >>>>>>>>
               IsHandled := false;
               OnBeforeValidateLineAmount(Rec, xRec, CurrFieldNo, IsHandled);
               if IsHandled then
                   exit;
               // <<<<<<<<

                TestField(Type);
                TestQtyFromLineAmount();
                TestField("Unit Price");
                Currency.Initialize("Currency Code");

 // >>>>>>>>
    [IntegrationEvent(false, false)]
    local procedure OnBeforeValidateLineAmount(var ServiceLine: Record "Service Line"; xServiceLine: Record "Service Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)
    begin
    end;
// <<<<<<<<

Additional context
We want to calculate bundle sums, the new sum must be entered on the bundle line and then the amount is distributed to other lines.
The event is also available for sale in this way.
Internal work item: AB#556644

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 26525.


Basic information in the Aux Monitor Window

The information is incorrect.

Correct information:
min= 306     max= 64571
mean= 403  rms= 623  sigma= 8
fwhm= 3.4

Why can't I add assignees and labels?

There is too much information for quick look at the quality.
It should be just:
mode      fwhm
359         3.4

The image is completely invisible because of white circles.

The file is here: aux:/home/observer/Desktop/fits_zb08/0094/zb08c_0094_81308.fits
The information is incorrect on most (maybe all) of the files.

ok, I identified the bug. I will fix the toi version and add option to display or not stars in the FITS window tomorrow.

fixed


Documentation - Kerberos authentication

Version: 2.2-feature
CUPS.org User: glauche
I have set up CUPS to use Kerberos authentication. Although Kerberos setup is site-specific, CUPS documentation could be improved by being more specific in describing the necessary principals for command line and web interface access:
Principal "host/cupsserver.mydomain.com" is used for command line access. This is vaguely mentioned as "host principal", but could be renamed as above to use kerberos terminology.
Another principal "HTTP/cupsserver.mydomain.com" (HTTP in capital letters) is required for kerberos authentication to the web interface. I did not find any document mentioning this, and it took me some time to get this information from the log files on my kerberos KDC.
It would make kerberos setup much easier, if both principals were listed in the documentation.

[master 47386fc10] Update the Kerberos help file (Issue #4580)


Mistake on example

https://github.com/spotify/redux-location-state#isflags
where is:
the url will be ?p=bazz-bar
should be:
the url will be ?p=bazz-bin

Yes, I thought the same :)
if the url will be ?p=bazz-bar
the object resultant should be this (or not?):
{
  '/': {
    foo: {
      bazz: true,
      bar: true,
      bin: false,
    }
  }
}

@LucasCaixeta the original use case I built it for didn't need to track false values (which it probably should), I'll open another issue for that


util-linux: 2.39 -> 2.39.1

Changes: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.1-ChangeLog
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

This is going to rebuild lots of packages, it should probably go into staging, right?


Hub page title and description update

Internal Review

Changed title to "ASP.NET Core documentation"
Added link to ASP.NET 4.x content in description.

@Rick-Anderson.  The Hub page design does not allow us to put links in the summary text.  The only option for the ASP.NET Documentation link I have is to create a card for it.    I dropped one in, see if you like it there.  If I make it too prominent new folks will just see "documentation" if they are looking for docs and head there I think without realizing they are leaving ASP.NET Core Docs.  Does this example seem good?


Ios build error

Hello @evilrat.
While running on ios there are two issues:
On unzipping to dev and running on simulator I am getting this error:

On running on real device:

looking to reproduce the issue and will fix as soon as possible😁

Thank you..Here is the doctor report in case you need it.
Doctor sum mary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.8.1, on macOS 12.1 21C52 darwin-x64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.63.2)
[✓] Connected device (2 available)
• No issues found!

Path has been release please check and verify

Sure I will do it asap.

@evilrat Ios dev(simulator) has the same issue...but working perfectly on the device.
However viewOptions: "true" is not working for ios..It is still showing the meeting information.
I will close the issue after knowing ( viewOptions: "true") is a bug or not configured correctly.. since I dont need to test on simulator.

Another issue when trying to start meeting by login user :
  zoom.startMeetingNormal(                           ZoomMeetingOptions(                             userId: emailController.text,                             userPassword: passwordController.text,                             meetingId: classInfo.meetingId.toString(),                             disableDialIn: "true",                             disableDrive: "true",                             disableInvite: "true",                             disableShare: "true",                             noAudio: "false",                             disableTitlebar: "false",                             viewOptions: "false",                             noDisconnectAudio: "false",                           ),                         )
It throws following error.
MissingPluginException(No implementation found for method startNormal on channel com.evilratt/zoom_sdk)

another patch added...you need to call startMeeting as of now startMeetingNormal will not work for ios

Sure I will update it..will there be fix for view option also. That would be great as of now.

yes

@evilrat meetingid is still visible..but I am closing this issue since that is not related to this thread.

@evilrat reopening the issue..I forgot to mention the issue is in joinMeeting. The meeting Id is not hidden.

Start meeting still gives this error:
MissingPluginException(No implementation found for method login on channel com.evilratt/zoom_sdk) But I can manage it for now from my side. So currently hiding meetingId is necessary for my app.

please share the solution here....

`[LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x282930500 'assistantHeight' TUISystemInputAssistantView:0x125f44d80.height == 45   (active)>",
"<NSLayoutConstraint:0x2829e3610 'assistantView.bottom' TUISystemInputAssistantView:0x125f44d80.bottom == _UIKBCompatInputView:0x12729a480.top   (active)>",
"<NSLayoutConstraint:0x2829fb1b0 'assistantView.top' V:|-(0)-[TUISystemInputAssistantView:0x125f44d80]   (active, names: '|':UIInputSetHostView:0x1394bf790 )>",
"<NSLayoutConstraint:0x2829cfe80 'inputView.top' V:|-(0)-[_UIKBCompatInputView:0x12729a480]   (active, names: '|':UIInputSetHostView:0x1394bf790 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x2829e3610 'assistantView.bottom' TUISystemInputAssistantView:0x125f44d80.bottom == _UIKBCompatInputView:0x12729a480.top   (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
[Snapshotting] Snapshotting a view (0x125f762b0, _UIReplicantView) that has not been rendered at least once requires afterScreenUpdates:YES.
flutter: e ->MissingPluginException(No implementation found for method startNormal on channel com.evilratt/zoom_sdk)`
This is complete error log

Start meeting still gives this error:
MissingPluginException(No implementation found for method login on channel com.evilratt/zoom_sdk) But I can manage it for now from my side. So currently hiding meetingId is necessary for my app.

please share the solution here....

My solution is redirecting to web for now 🤣

You can verify now.....everything is working as expected

Ok I will verify the changes

You can verify now.....everything is working as expected

ok and please let me know.....and also verify it it returns meeting id and password on start meeting

Ok sure...I might take some time to respond since it is already night here..but no more than 12 hours.

Ok sure...I might take some time to respond since it is already night here..but no more than 12 hours.

ok sure

@evilrat didn't want to keep work pending so I did the testing.
Works perfectly now.
Can you give me some date about when startmeetingwithNormal and meetingId hide while joining class will be released?.  So that I can do the planning.
Right now I am getting this while doing startMeetingNormal.
e ->type 'bool' is not a subtype of type 'List?' in type cast
Thank you.

Hello @evilrat, Seems the issue still persists in 1.0.0+5.
while startingMeetingNormal I still get the error.
`[Snapshotting] Snapshotting a view (0x13268e940, _UIReplicantView) that has not been rendered at least once requires afterScreenUpdates:YES.
[Snapshotting] Snapshotting a view (0x13268e940, _UIReplicantView) that has not been rendered at least once requires afterScreenUpdates:YES.
[LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x282eca7b0 'assistantHeight' TUISystemInputAssistantView:0x10d2bf2a0.height == 45   (active)>",
"<NSLayoutConstraint:0x282e67cf0 'assistantView.bottom' TUISystemInputAssistantView:0x10d2bf2a0.bottom == _UIKBCompatInputView:0x132630530.top   (active)>",
"<NSLayoutConstraint:0x282e67d90 'assistantView.top' V:|-(0)-[TUISystemInputAssistantView:0x10d2bf2a0]   (active, names: '|':UIInputSetHostView:0x10d0e9b90 )>",
"<NSLayoutConstraint:0x282ecabc0 'inputView.top' V:|-(0)-[_UIKBCompatInputView:0x132630530]   (active, names: '|':UIInputSetHostView:0x10d0e9b90 )>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x282e67cf0 'assistantView.bottom' TUISystemInputAssistantView:0x10d2bf2a0.bottom == _UIKBCompatInputView:0x132630530.top   (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
[Snapshotting] Snapshotting a view (0x13639af40, _UIReplicantView) that has not been rendered at least once requires afterScreenUpdates:YES.
Got response from start: MobileRTCMeetError
flutter: e ->type 'bool' is not a subtype of type 'List?' in type cast`
Did flutter clean and reinstallation of package.
Thank you.

ok will fix it as soon as possible

@evilrat could also fix hide meetingId for join meeting. I would be really grateful. Since that is very important in my app.

ok.....i fixed it

Thank you so much

@evilrat there seems to be some issue while building.

@evilrat there seems to be some issue while building.

ok working on it to fix it

@evilrat there seems to be some issue while building.

I am creating another branch for ios fixes....you can test that...and after successful verification can push the code to pub.dev 'ios-fixes' will be branch name

ok sure I need to clone the repo right ?

ok sure I need to clone the repo right ?

yes

ok sure I need to clone the repo right ?

check ios-fixes branch.....just add it to your package.json else everything same

@evilrat latest code has not been updated right? because the latest commit is 10 hr ago. It has the following error

https://github.com/evilrat/flutter_zoom_sdk/tree/ios-fixes

@evilrat I tried this but this

but it me this error

and I tried cloning from this -> https://github.com/evilrat/flutter_zoom_sdk/tree/ios-fixes
and this gave me this error

@evilrat I tried this but this
but it me this error
and I tried cloning from this -> https://github.com/evilrat/flutter_zoom_sdk/tree/ios-fixes
and this gave me this error

This also didnot work flutter_zoom_sdk: git: url: https://github.com/evilrat/flutter_zoom_sdk.git ref: ios-fixes

try to add it to your project's pubspec.yaml
flutter_zoom_sdk:
git:
url: https://github.com/evilrat/flutter_zoom_sdk.git
ref: ios-fixes

@evilrat I tried this but this
but it me this error
and I tried cloning from this -> https://github.com/evilrat/flutter_zoom_sdk/tree/ios-fixes
and this gave me this error

This also didnot work flutter_zoom_sdk: git: url: https://github.com/evilrat/flutter_zoom_sdk.git ref: ios-fixes

flutter_zoom_sdk: ^1.0.0+7
Please try this

Hello @evilrat,
Everything works well with the build. Archived is also successfully build. I am closing this issue. However there is login issue in startMeetingNormal which will be posted on another thread.
Thank you.

Anyone facing Pods issue after adding "flutter_zoom_sdk" dependencies ?


[openldap] Update to 2.5.18

Also fixes a port build error.

All features passed with following triplet:
x64-linux


Nice to have - neon markers during manual sync scene to mark borders of projection

Projection corners can be difficult to spot in gym and failure to sync well here messes up classification alignment.

#136


[WIP] v2.0.0

It's been 8 years, time to clean this old thing up. This PR is being done as a kinda of "live blog" of development. Feel free (and please do!) to comment or offer suggestions on visual and code design. Everything here can and probably will change several times.

Attempt one at a better dashboard.

Big internal changes. Hooks are now implemented as Providers, which can be whatever you want them to be. They can be webhooks, or periodic tasks, and take advantage of Notifico handling most of the logic for you. Or you can create advanced external providers that do whatever they need to via the API.
Networks and Channels are now just Channels, which can be API-based (IRC, Matrix) or simple webhooks (Slack, Discord).
Cleaner default project details page:

Better screen for choosing new providers:

When the provider is a webhook provider, a separate screen is presented to the user to make it obvious a hook has been created. Need to add a copy-to-clipboard button, and the ability for providers to add to this template (so they can provided instructions specific to say, Github, or links to instructions).

A bit more style simplification this evening. More obvious provider health indicators (green bar at the top).

Updated dashboard to match styling, and show overall project health:

Styling is definitely still a work-in-progress and will likely see significant changes before release.

Start adding Log events so users can get insights into what's going on without poking me:

Today adds support for groups, permissions (can or cannot), limits (<1000 projects, 5 requests/s, etc), the start of an admin dashboard, a group editor.

Basic user editing, currently just delete and group management:

Basic log detail view:

Basic runtime source management:

Source details screen, including group management. Right off the bat this feature is going to be used to only allow beta testers to try very new/iffy providers.

To-Be-Continued


Spanish translation updated

Description
An update for the spanish translation
List of changes in this PR:

es.json5

Checklist

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
[x] My PR passes ESLint validation using yarn lint
[x] My PR doesn't introduce circular dependencies (verified via yarn check-circ-deps)
[x] My PR includes TypeDoc comments for all new (or modified) public methods and classes. It also includes TypeDoc for large or complex private methods.
[x] My PR passes all specs/tests and includes new/updated specs or tests based on the Code Testing Guide.
[ ] If my PR includes new libraries/dependencies (in package.json), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[ ] If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself.
[ ] If my PR fixes an issue ticket, I've linked them together.

@sergius02 : Thanks for the contribution.  Unfortunately though, it looks like we had two people updating Spanish translations at the same time. I just merged #2052 which appears to have some of the same fixes that you made in this PR.  Could you check and see if this PR is still needed?

Hi @tdonohue
No, the pr #2052 has all the new/modified translations so this pr is not needed. I will close it.


TypeError: 'NoneType' object is not iterable

Hi,
Why do I get the error when running the following code?
`phrases = ["Can you recommend some upscale restaurants in Newyork?",
"What are the famous places we should not miss in Russia?"
]
for phrase in phrases:
print("-"*100)
print("Input_phrase: ", phrase)
print("-"*100)
para_phrases = parrot.augment(input_phrase=phrase, use_gpu=False, do_diverse=True, diversity_ranker="levenshtein")
for para_phrase in para_phrases:
print(para_phrase)`
Error:
`TypeError                                 Traceback (most recent call last)
/home/user/Code/Parrot/main.ipynb Cell 4 in <cell line: 5>()
8 print("-"*100)
9 para_phrases = parrot.augment(input_phrase=phrase, use_gpu=False, do_diverse=True, diversity_ranker="levenshtein")
---> 10 for para_phrase in para_phrases:
11  print(para_phrase)
TypeError: 'NoneType' object is not iterable`

Same here.

You could do something like this:
if not para_phrases:
continue
for para_phrase in para_phrases:
print("[INFO] Generated: {}".format(para_phrase[0]))

@rahulpr-kore Thank you. But this only ignores the issue without any fix.

Same here. This is so frustrating!!
what the parrot paraphraser usually returns: a list of tuples
each tuple consists of two things :
paraphrased string
token_count
if we give max_return_phrases = 3, then it will return a list of 3 such tuples.
but it is randomly returning None for sentences and there is no definite pattern, if I rerun the cell for the same sentence, it then sometimes returns the paraphrases.

If you look at the code, there are limits that could lead to None if not good candidates are found:
https://github.com/PrithivirajDamodaran/Parrot_Paraphraser/blob/2cffbe911341e52dc73b77f9b0154c18d570603f/parrot/parrot.py#L130
You can bypass this by lowering those limits. For example:
```
para_phrases = None
fluency_threshold = 0.90
adequacy_threshold = 0.99
iter = 0
while para_phrases == None:
para_phrases = parrot.augment(input_phrase=paraphrase_sent,
diversity_ranker="levenshtein",
do_diverse=False,
max_return_phrases = 1,
max_length=1000,
adequacy_threshold = adequacy_threshold,
fluency_threshold = fluency_threshold)
fluency_threshold -= 0.10
adequacy_threshold -= 0.10
iter += 1
print(iter)
return para_phrases[0][0]


Dt 7256 ignored razor expressions environment variable only works from command line

This pull request includes various changes to improve documentation, correct typos, and enhance functionality in several files. The most important changes include adding a new ignore words list to the .cspell.json file, fixing typos across multiple files, and enhancing the applyRazor function for better regex handling.
Documentation and Comments:

.cspell.json: Added a comprehensive list of words to ignore for spell checking.
template/doc.go: Added a detailed package-level comment to describe the functionalities provided by the template package.

Typo Fixes:

collections/implementation/generic_test.go: Corrected "Non existant" to "Non existent" in multiple test cases. [1] [2] [3]
hcl/generated_test.go: Corrected "Non existant" to "Non existent" in multiple test cases. [1] [2] [3]
json/generated_test.go: Corrected "Non existant" to "Non existent" in multiple test cases. [1] [2] [3]
template/extra_math.go: Corrected "substraction" to "subtraction".
template/extra_runtime.go: Corrected multiple instances of "formated" to "formatted". [1] [2] [3]
template/extra_utils.go: Corrected "forgeround" to "foreground".
template/func_table.go: Corrected "detailled" to "detailed".

Functionality Enhancements:

template/razor.go: Improved the applyRazor function to ensure regex is not greedy and stops at the end of the expression.
template/razor_test.go: Added new test cases for applyRazor function to handle strict error checking and various scenarios.

Miscellaneous:

README.md: Added a link to the library usage documentation.
main.go: Updated the documentation URL.
render-doc: Modified the script to exclude specific lines from the README.

Mon idea me montre des warnings un peu partout:

C'est discutable, mais je l'ai changé.


Bug: Devices_Midi: Midi(In|Out)Port::FromIdAsync return inconsistent types (MidiInPort vs IMidiOutPort)

Which crate is this about?
windows
Crate version
version = "0.43.0"
Summary
MidiInPort::FromIdAsync returns a result-wrapped MidiInport, whereas MidiOutPort returns a result-wrapped IMidiOutPort.
Is this just an annoying inconsistency (I* vs. no I prefix), or is there something more subtle/meaningful in that I'm missing?
// MidiInPort::
pub fn FromIdAsync(deviceid: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<MidiInPort>>

// MidiOutPort::
pub fn FromIdAsync(deviceid: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<IMidiOutPort>> {

Toolchain version/configuration
stable-x86_64-pc-windows-msvc (default)
rustc 1.65.0 (897e37553 2022-11-02)
Reproducible example
No response
Crate manifest
[dependencies.windows]
version = "0.43.0"
features = [
    "Devices_Midi",
    "Devices_Enumeration",
    "Foundation_Collections",
    "Win32_Foundation",
    "Win32_UI_WindowsAndMessaging",
    "Win32_Devices_Enumeration",
]

Expected behavior
Consistent naming of objects/interfaces.
Actual behavior
No response
Additional comments
No response

The bindings are generated from metadata, and I can confirm the discrepancy between these two methods in the metadata. I'm not familiar with this API, so I can't comment on why it is the way it is. Have you read the docs? Perhaps there's a clue. Anyway, here's a more appropriate forum for API questions:
https://docs.microsoft.com/en-us/answers/topics/windows-api.html

Thanks! - I was wondering where there's a better place for Q&A. I'll post a suggestion that this should be mentioned as a resource on the https://learn.microsoft.com/en-us/windows/dev-environment/rust/rust-for-windows or pages.  (although I've never found the Answers site to be terribly accurate or useful). I have been reading the docs, but since they don't cover Rust and all the samples are C# UWP apps using XAML, which has been abandoned for Rust, it's challenging to figure out usage.


missed from PMID:29432178

increased cytoplasmic translation

increased cytoplasmic translation FYPO:0006520
edit file: 624241bb5ea36d807028f32008966c4537678811
release: 0a472de1ef2061633019526ba2aab2df216964fb


Challenge: Implement a cool custom monitor

<DevTools> accepts a monitor prop. The monitor that ships with react-devtools is called LogMonitor but it's just a React component. You can build your own instead.
I challenge you to implement a really different monitor than what we ship with. Some crazy ideas:

A slider that lets you jump between computed states just by dragging it
An in-app layer that shows the last N states right in the app (e.g. for animation)
A time machine like interface where the last N states of your app reside on different Z layers

LogMonitor propTypes should give you some ideas about the stuff injected by DevTools:
static propTypes = {
  // Stuff you can use
  computedStates: PropTypes.array.isRequired,
  currentStateIndex: PropTypes.number.isRequired,
  stagedActions: PropTypes.array.isRequired,
  skippedActions: PropTypes.object.isRequired,

  // Stuff you can do
  reset: PropTypes.func.isRequired,
  commit: PropTypes.func.isRequired,
  rollback: PropTypes.func.isRequired,
  sweep: PropTypes.func.isRequired,
  toggleAction: PropTypes.func.isRequired, // ({ index })
  jumpToState: PropTypes.func.isRequired // ({ index })
}

This data (and functions) will be injected into your monitor by the dev tools. Feel free to use (or ignore) any of them, and let me know if something important you need for a custom monitor is missing.

This example commit is a good starting point for adding DevTools to your React project: https://github.com/gaearon/redux-devtools/commit/0a2a97556e252bfad822ca438923774bc8b932a4. (Nevermind the Webpack config changes.)
To work on a custom monitor, you can remove DebugPanel and LogMonitor completely and instead use <DevTools store={store} monitor={MyCustomMonitor}>.

To make it easier to build a slider-like monitor, I added two new props to the monitor contract: jumpToState({ index }) and currentStateIndex. Use them to implement slider time travel interface without extra hassle.

One thing I would find really helpful in the default LogMonitor is a shortcut to show/hide the dev tools. Something like ctrl+opt+h maybe. If you like the idea, I can make a PR.

@pburtchaell I think that would be cool! Since chrome's is f12 - maybe there's a shorter keyboard shortcut? (or there's some kind of config for it)

@pburtchaell +1 I think PR would be great, this must have feature

I am sure that it is more important not to enhance this monitor, rather than make an interface for plugins to "rule them all"(hiding with some hot key should be a part of it of coarce). I have struggled with some style issues when I add another panel [here] (https://github.com/lapanoid/redux-devtools-gentest-plugin/blob/master/examples/counter/containers/App.js) so I implemented some really dirty hack component. But it should not be like that, and this is not plugin responsibility. Devs should be able to add new plugins transparently to redux-devtools. If it will be like that there will be a boost of growth. I also wrote about it here.

I create something similar to this over here: http://jorin.me/miniflux/#update-time-travel
Unfortunately it's not Redux but maybe it helps as inspiration with the preview on hover feature.
Should be pretty simple to port.

I'm going to be busy in the next couple of weeks with shipping Redux 1.0 so feel free to experiment while I'm away!

@jorin-vogel really nice thing! :+1: for porting.

Oh that's very neat! I'd love to see that ported!

Stealing the gif for inspiration:

Alright, I have it setup to show/hide when you press crl+h. I'll send in a PR this morning.

PR sent in #12.

@gaearon I wanted to create a slider for Atom-React but never had the time to work on that.
Anyway, just wondering if you record timestamps of action publication time? This would be useful to implement user session recording like I did here: https://www.youtube.com/watch?v=zxN8FYYBcrI
Having a slider is already nice, but I thought it would be even cooler to have a VLC like player :)

Anyway, just wondering if you record timestamps of action publication time? This would be useful to implement user session recording like I did here: https://www.youtube.com/watch?v=zxN8FYYBcrI

Not currently but it's a neat idea. Happy to add it (should be easy by tweaking PERFORM_ACTION handler in devTools.js).

I think this is a good example of monitor stillI I did not found any sources of it http://www.youtube.com/watch?v=OZGgVxFxSIs

Took a quick stab at the slider here, using react-slider. I just shoved the slider into the existing LogMonitor and tried it out in the examples. It's very very rough, but already feels magical jumping between states. I'll try to break it out into its own repo if anyone's interested.

Please make it into a repo!!

Done! redux-slider-monitor. I thought it'd be fun to make it kind of look like a video player. If you get timestamps into actions we can make it replay actions in real time! 😃

cool :)
@calesce once @gaearon add timestamps, maybe you can take a look at my code here:
https://github.com/stample/atom-react/blob/master/src/atomReactContext.js#L447
It's the very basic implementation of "replay" in my own framework as shawn in the video (https://www.youtube.com/watch?v=zxN8FYYBcrI). Not sure at all it's a good solution, just showing you what I did as a poc :)

@calesce great work! =)

@slorber nice! Why did you use tickPlace = 10? I guess 1 would be overkill?
I imagined I would eventually use something like requestAnimationFrame and just use the difference in timestamps between actions to get the time to jump to the next state (if that makes sense, not sure if it's proper use of requestAnimationFrame). Your solution definitely works, though.

@calesce this is just a random tick value for my poc but I guess requestAnimationFrame could work very well too.
Yes using time from start or time from previous action, both will work fine. I had to choose one but I think time from start is better as anyway to have to compute it if you want to tell the user how much time is elapsed/remaining in the video.
Once the video is recorded, does working with the original timestamp really matter? What the user wants is to see the video and I think it does not make much sense to keep the burden of working with timestamps because nobody cares so much of the time at which a video frame was taken while watching a video, it does not bring us any useful information imho.

Since then, the API has changed. Take a look at LogMonitor props to get a better idea. Monitors also have to export an update static property which should be a function (monitorProps, monitorState, monitorAction) => monitorState. It must exist even if it always returns undefined.
I'll close the issue for inactivity.


Design update for ftcolor.cgi Web Interface

Hey there,
first of all thanks a lot for your awesome work on this hardware.
I made some changes to the ftcolor.cgi to look (in my eyes) now a bit better.
Be aware of making a backup from the factory values if you didn't like the new design otherwise look in the comments there is a screenshot from the old values :)
Values for the new colors in ftcolor.cgi:

Preview:

Here are the factory values if someone forgot or messed it up :D

Here are the factory values if something goes wrong:

Thank you 👍🏻 I created a Barbie theme when the movie came out for the LUL but sadly never posted a screenshot.


adding missing command and nesting all quick start guides together

Description

Motivation and Context

Types of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation fix (typos, incorrect content, missing content, etc.)

@mikedon I fixed the broken links and merged your changes 🚀 Thank you!


Attaching CORS filter by default to Yiisoft\Yii\Rest\Controller #44

It's too early. This repository will be hugely modified...


fix: when use regex with flags in module.test property (such as i), the flags don't work nice

Summary
修复了在 rspack.config.js 中，module.rules.x.test 属性使用带flags的正则表达式不生效。例如最常见的i(gnore)。
Fixed the issue in rspack.config.js where the module.rules.x.test attribute using regular expressions with flags did not take effect. For example, the most common i(gnore).

issue ref：#4767

Test Plan
在rspack.test.build目录添加测试(issue-4767)，测试以PNG、SVG等大写字符结尾的文件引用能力。
Add a test in the rspack.test.build directory to test the ability to reference files ending with uppercase characters such as PNG and SVG.

import PNG from "./rspress-icon.PNG";
import SVG from "./react.SVG";

console.log("png", PNG);
console.log("SVG", SVG);

Require Documentation?

[x] No
[ ] Yes, the corresponding rspack-website PR is __

Thanks for your PR! But more prefer https://github.com/web-infra-dev/rspack/pull/4781, test should be added under packages/rspack/tests instead of packages/rspack-cli/, contribution welcome in the future!


02_pytorch_classification.ipynb

02: pytorch classification
https://www.learnpytorch.io/02_pytorch_classification/
a photo of is of food -> a photo is of food
philosohpy -> philosophy
coverd -> covered
trained an evaluated -> trained and evaluated
to gets -> to get
How many values of each class is there? -> How many values of each class are there?
with result -> will result
to making -> to make
ouputs -> outputs
classificiation -> classification
Try create -> Try creating
So if you'd something -> So if you'd like something
Hmm, it seems there's the same amount of predictions as there is test labels but the predictions don't look like they're in the same form or shape as the test labels. -> Hmm, it seems there are the same amount of predictions as there are test labels but the predictions don't look like they're in the same form or shape as the test labels.
might used -> might use
these some -> these are some
probabilities in prediction labels -> probabilities into prediction labels
models predictions to the test labels to see how well it's going -> model's predictions to the test labels to see how well it's performing
predicition -> prediction
data, more layers is often ->  data. More layers are often
model, more hidden units is often -> model. More hidden units are often
predicition -> prediction
increasing the amount data -> increasing the amount of data
similiar -> similar
classificiation -> classification
Try create -> Try creating
meantine -> meantime
our models predictions look now the model's been trained -> our model's predictions look now that the model has been trained
mutli -> multi
this still capable -> this is still capable
probablities -> probabilities
performaning -> performing
by by -> by

Incredible. Thank you thank you thank you.


upgrade client go version to 0.22.2 and fix int type error

fix client-go v0.19.8 vuln

fix job  int type error

my submitted pr https://github.com/loggie-io/loggie/pull/99

//merged


Fix package metadata

@lodejard @BrennanConroy @kichalla

Looks like :shipit: to me

:shipit:

Thanks thanks!

:shipit: :trollface:


Drop 'not evaluated' placeholder from dask.py

Summary
Drop 'not evaluated' placeholder string used for when the rank 0 Dask worker happens to have not received data for particular components of eval_set.
Motivation
This is a request for an improvement to the handling of multiple workers' eval_set data attributes (e.g. evals_result_) once #4392 is resolved, as opposed to using not evaluated as a placeholder for unevaluated eval_sets' missing training history.
Description
When a user is evaluating model training progress on multiple validation sets (meaning, len(eval_set) > 1) and those validation sets each comprise dask datasets with varying number of components, then it is possible for some worker(s) to be distributed only chunks of particular eval_sets. Put another way, when individual eval_sets are not the same size, there is no guarantee that every worker will be allocated parts from all individual eval_sets contained within eval_set.
The implementation of eval_set support in #4101 breaks up eval_set into smaller eval_sets that each worker reconstructs from its allocated list_of_parts. To ensure that each worker is aware that there are len(eval_set)-many original individual eval_sets, we use the None-padding technique. Here is an illustration:

Therefore, when there is variance in the list [X[0].npartitions for X, y in eval_set], it is possible that an individual eval_set is missing on a particular worker. When a worker receives all Nones for a particular component of eval_set, the corresponding value for this eval_set within best_score_ and evals_result_ is the string 'not evaluated'.
This informs the user that the "rank 0" worker that has their LightGBM estimator selected during _train was not distributed any chunks of the corresponding to the particular eval_set. In the illustration, mdl.best_score_['valid_0'] == 'not evaluated'.
This issue is closely related to #4392; if #4392 is resolved, then 'not resolved' may no longer apply (depending on the path of resolution), and in which case it can (and should!) be dropped from both dask.py and test_dask.py.
References
#4101
#4392

Closed in favor of being in #2302. We decided to keep all feature requests in one place.
Welcome to contribute this feature! Please re-open this issue (or post a comment if you are not a topic starter) if you are actively working on implementing this feature.


Can't I-frame from site made from panel.

I'm unable to find the web server options to allow the sites I've created to be I-framed. Very possible I missed it, but if you could assist me with this I'd be grateful.

@AminYabut Could you provide some examples of what is not working and describe the steps to reproduce the problem?

Okay, I'll take some screenshots and explain a bit what I'm doing. I've made a mod for Grand theft auto which is an HTML tablet that can use web pages. Now when I try to access a site I've made with your panel (https://test.darkprojectcommunity.com) thru an iframe I get the x frame error stating this site doesn't allow framing cross-origin. I get this is for security reasons but I'm only trying to make these pages work to increase the roleplaying factor in GTA FiveM servers.
Usually, this would be a simple task by adding a couple lines to the web server config but I am unable to find it. I have gotten other sites to work fine especially self-hosted. You can view this link to see more photos of web pages working: https://forum.fivem.net/t/in-game-tablet-with-web-based-cad-mdt-support/108769
(Note the opencad photo is the same opencad I'm trying to get to show up that I've launched thru your panel)

Also, I've tried the bootstrap demo site as well in an iframe and got the same result. That address is https://chat.darkprojectcommunity.com ( I already had that subdomain set up so that's why I used it). I really hope we can fix this because your panel is perfect for launching gaming community websites and CAD/MDT systems for GTA FiveM mod.
Here is a copy of the page I'm using on a self-hosted site of mine set to allow iframe of the same opencad system. If I enter any site I made from Daspanel I am unable to iframe the whole site. Thanks for your time in this matter.


Replaced slashesh by DIRECTORY_SEPARATOR constant

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
-

I will create a new PR one without extra commits


Design and implement service APIs

This tracks the work to design the APIs for the document Service APIs endpoint.
This includes:

Service APIs

Fixed by #10568


Multigroup

Changes
Forked from qbot/multi-group.

Some sections have been entirely re-written such as deprecation/phase of previous addon & primary group for a better config & clean code.
Code issue fixes
Multi-group support
queryString param "groupId" is required to be passed on API endpoints which touch a group. Example: promote, xp, etc.
few more i prob forgo

[!CAUTION]
In this new version of qbot, previous data of XP & suspensions will be lost due to new DB structure.

Tests
Legend

✅ = PASS BUG FREE/FULLY OPERATIONAL
🐛 = BUGGY
❌ = FAIL

Test results

/joinrequest - ✅
/acceptjoin - ✅
/denyjoin - ✅
/shout - ✅
/promote - ✅
/setrank - ✅
/fire - ✅
/roles - ✅
/revertranks - ✅
/groupban - ✅
/ungroupban - ✅
/exile - ✅
Info commands - ✅

[!CAUTION]
XP & Suspension system un-tested.

Status
STABLE: YES
Contributors:

vq9o
yogurtsyum

Can you document what these changes actually do?

I'm not sure what the first two bullet points under Changes mean. The third is not new--at least, it shouldn't be. This PR should be merged into my multigroup branch with just what you intended to make different, not be the PR for all of multi-group support into master in the first place.
As for the last bullet point, everything that changes needs to be mentioned in the PR so I know exactly what it is I am accepting--for both documentation purposes and quality assurance.
I think what you should do is resubmit this PR to LengoLabs:multigroup with a title that accurately describes what is different that you added (like permissions, if that's the main goal here). You should write a description that exhaustively covers everything changed, and document how it changes how people should use the bot. (It looks like there was a lot of stylistic changes to my code... why?)
That was a lot, so let me (Lengo) know if you have any questions on the Discord.


Cannot reproduce WRN experiments

The wide-resnet experiments provided in the repository does not appear to replicate the results in the paper.
Upon running the experiment, neither the expected L0 norm or the expected flops changes at all

This is corroborated by the following excerpt from the paper The State of Sparsity in Deep Neural Networks (https://arxiv.org/pdf/1902.09574.pdf).

Would greatly appreciate any feedback on how to utilize this repository to replicate L0 regularization on Wide Resnets for the CIFAR datasets.

Hi,
Apologies for the late reply, I am not at the university anymore and I don't check this repo. Did you make sure to play around with the lamba hyperparameter that controls the regularization strength? It is that one which dictates whether pruning actually happens. As for the issue from https://arxiv.org/pdf/1902.09574.pdf; this was a different thing and was referring to how the counting of FLOPs for convolutional layers was actually happening in this branch, which was incorrect, and not about whether the model was pruning during training. From a quick check the probabilities of activating the gates do decrease after a couple of iterations with, e.g., a lamba of 1 so the expected FLOPs do decrease. As this branch is provided as is and is not maintained, feel free to use the one from https://github.com/google-research/google-research/tree/master/state_of_sparsity.
Hope this helped! I will be closing this issue.


Move to Python 3.4.2?

I think we should start testing Python 3.4.2 and if it behaves well make that a system requirement.
Or maybe 3.4.3 (currently rc1) so that we don't have to revisit this again.
https://docs.python.org/3/whatsnew/changelog.html

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

at least using the build system when we create the virtual environment for cpd, we use the system python version. in ubuntu 14.04, this is 3.4.0 (see http://packages.ubuntu.com/trusty/python3). I'd rather keep with this unless there is a need/strong reason to move forward, as it would require us using a backport repo or compiling python from tarball, and using that, and add extra complexity


[refl-cpp] Update to 0.12.2

Describe the pull request

What does your PR fix?
Updates refl-cpp to 0.12.2

Which triplets are supported/not supported? Have you updated the CI baseline?
Unchanged, Yes

Does your PR follow the maintainer guide?

Yes

LGTM, thanks!


U ≠ V

Is your feature request related to a problem? Please describe.
In the current implementation, it's not possible to treat the spin up and spin down subsystems differently.
Describe the solution you'd like
Breaking the U=V symmetry so that U ≠ V.
Additional context
This will be made possible after the new expectation values primitive is merged into qiskit terra.

A small baby-step towards U != V could be taking the counts object returned from the backend (if that is available for now), and randomly assigning half the shots to one half of the subsystem and the other half to the other subsystem. This may be a little computationally heavy but should eliminate the spurious noise-correlation introduced by using the same shots for both subsystems, which I think is good to fix asap (assuming it’s still done that way in the latest code). It also would move the analysis code towards being ready for U != V. Later as you generalize the circuit-building part of the code for U!=V, you will have separate sets of circuits for the two subsystems, and will no longer need the random resampling of the counts object.
The spurious noise correlation between the subsystems can IIRC lead to a systematic bias in obtained expectation values (though I think it goes to zero for many shots), so it would be nice to fix this relatively soon.


Refactor tests

I suggested refactoring tests and you (@baianat) added some input. I've done some initial setup and would like feedback if that is what you envisioned. The tests I came up with are not extensive yet, but they are much more sensible than the mess that are the current tests. It uses vue-test-utils and imitates actual usage with mock Vue instances.
Click here to look at the code.
If you want to see it in action you can clone my repo and checkout refactor/tests. Run yarn after switching to the new branch and use npm test as normal.
Is this what you had in mind?

Pretty much that what we had in mind, great work!


Pause app when user lock phone

I used the Webview to insert a Game when i lock the phone in Android the background game is still executing on the WebView.
Could you add an parameter to decide if you want to pause the application when the app state it is paused?

import {AppState} from 'react-native';
....
gameStartStop(status) {
if (status === 'active') {
// send message to WebView to start game
} else {
// send message to WebView to pause game
}
}
componentDidMount() {
....
AppState.addEventListener('change', gameStartStop);
}
componentWillUnmount() {
....
AppState.removeEventListener('change', gameStartStop);
}


server: remove balancer concept

Rename LeaderBalancer to BalanceLeaderScheduler,
Rename StorageBalancer to BalanceStorageScheduler.
Close https://github.com/pingcap/pd/issues/467.

LGTM


Commenting doesn't work in R Markdown chunks for Python etc.

Commenting works nicely in

YAML frontmatter, markdown content
Rmd R code chunk (```{r})
Rmd C++ code chunk (```{cpp})
Markdown R code chunk (```r)
Markdown C++ code chunk (```cpp)

but does not work with python code chunks (treating it like markdown content)

Rmd Python code chunk (```{python})

Originally posted by @renkun-ken in https://github.com/Ikuyadeu/vscode-R/pull/269#issuecomment-605624580
Each language we want to support in Rmd code chunks will need to be added to syntax/Markdown Redcarpet.tmLanguage.

@andycraig I think it's included in https://github.com/Ikuyadeu/vscode-R/pull/460 if that's what you meant.

@kar9222 I tested it and it works. Thank you!


Geometry packages cleanup

On overview has been made in geometry.uml. From this it follows that:

It is logical that SpatialObject, OtsLocatable and OtsShape, and related classes, are in ots-base in the geometry package, as this is used by simulation objects and animation. Note that ots-draw does not depend on ots-core.
It is logical that ContinuousLine, OtsLine2d and Flattener, and related classes, are in ots-core in the geometry package, as these are used to generate shapes of simulation objects either in setup code or parsers.
OtsRenderable should be moved to ots-draw. Method OtsRenderable.toBoundTransform() can be moved to OtsLocatable.
There is a division between geometry related interfaces, and when extensions become simulation object related. This is reflected in the packages that classes are in. For example, LocatedObject is an interface in org.opentrafficsim.core.object. The division is logical when interfaces or classes add non-geometry properties. And LocatedObject adds a getFullId() method.
OtsGeometryException should move to ots-base, as there are geometry classes there.
Detector and DetectorType are not lane-specific and should be moved to ots-core.

The above has been changed.


github: Add no-response bot

Another nice github feature, will help us close stale issues

Merging to help me triage issues


Maintainership of this crate

There's currently multiple open PRs ranging from 2016 to midway through this year that have remained unmerged, and multiple issues in the same timescale without any response.
Is it possible to expand the maintainer group of this library? There are many operations that could be optimized for, benchmarks to expand coverage, etc.
This crate currently has 33 million all time downloads on crates.io, nearly 2x the next competitor in this niche, and is being actively used in multiple high profile projects like petgraph and bevy_ecs. It'd be a shame to need to fork this library to provide the Rust ecosystem with these improvements.

@james7132 would you like to become a maintainer?

Would be more than happy to help maintain the crate.

@james7132 this can likely be resolved.

I think I still need access to publish new versions of the crate to crates.io.

This has been done.


Time Parse Friendly + Tests

@iambmelt this should patch up #29, could you give it a quick try to make sure everything is running well on your device?

@peternied Yep! I'll try it out and let you know what I find :)

@peternied LGTM!

@peternied Thanks!


fix(preset_tw): fix minus(-) modifier that nagativify number or numbe…

…r with unit only
close #30

:tada: This PR is included in version 1.0.0-beta.46 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


hacktoberfest TODO: Kaworu Assets

Need assets for Kaworu
These will be the assets the app will render to the terminal after timer is up. keep in mind do to the nature of terminals we a limited to 80x80 (characters spaces), large images will be shrunk. The image will also appear pixelated due to the same factors previously indicated.
Specifications for asset

jpg format
at least 2 images, and less than 6
must be SFW
file size must be less than 10kb(each)
dimensions should be 80x80 or 160x160 depending on if you can meet the required < 10kb
If you are having trouble getting it below 10kb without ruining the image try sqoosh
create a branch, with a name appropriate to the feature you are working on
place them in the directory /images/Kaworu (you have to make the kaworu directory)
create a pull request

I can work on that

Can you give more details or sample of kaworu asset, I would like to work on this

The details of both Kaworu and Asuka can be found by googling "Evangelion Characters" examples of what the project target asset should resemble can be found in the images/ directory of the project.

thanks for the assing, I will work on in tonight


Adjust references to Activity Tracker events to Cloud Object storage

Description
The references to Activity Tracker Cloud Object Storage need to be corrected here:
https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/blob/main/reference-architectures/deploy-arch-ibm-slz-ocp.md
https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/blob/main/reference-architectures/deploy-arch-ibm-slz-vpc-standard.md
https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/blob/main/reference-architectures/deploy-arch-ibm-slz-vsi-standard.md
https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/blob/main/reference-architectures/roks.drawio.svg
https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/blob/main/reference-architectures/vpc.drawio.svg
https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/blob/main/reference-architectures/vsi-vsi.drawio.svg
The service used to send Activity Tracker events to Cloud Object storage is Activity Tracker event routing.
One issue is Activity Tracker event routing icon is not yet in https://github.ibm.com/ibmcloud/ibm-cloud-stencils
<EMAIL_ADDRESS>is working on the icon for Activity Tracker event routing and should be able to provide an official icon.
New or affected modules
N/A
By submitting this issue, you agree to follow our Code of Conduct

See information from<EMAIL_ADDRESS>in internal Slack

Work to update the diagrams to v2 standard: https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone/pull/468

Spoke with Jose, the generic icon AT uses for event routing is not yet in our library.

@cmore231 I think we addressed the issues here a while ago. Take a look at the reference architectures in the description. Let me know if this needs to be reopened.


Can't create address for wallet when using POSTMAN

I try to use POSTMAN to perform REST API for easy to look. Everything went fine, but still stuck at Create a new address for wallet step. When I use POST and set body to raw (application/json) and send this form:
{
"password" : "a b c d e",
"walletId" : "5084e3f06f665f62aa71aca3f06393c72dc071fc5d669df392144715301793d0"
}
It doesn't create a new address for this wallet. I'm stuck at this step, please!

ya, let me detail the problem so you can understand it. I use POSTMAN and created a new wallet with walletId like below:
{
"id": "4da78db787d4504bafa18592d5f7940e507235154c01fa2bc8faf7cee9110857",
"addresses": []
}
Next, I want to give it a address so that I can use for transaction. I open new tab in POSTMAN and use POST method, with URL:
localhost:3001/operator/wallets/4da78db787d4504bafa18592d5f7940e507235154c01fa2bc8faf7cee9110857/addresses
and I set "body" to raw with JSON(application/json) and the content I set:
{
"password": "a b c d e f", //password of wallet I created before
"walletId": "4da78db787d4504bafa18592d5f7940e507235154c01fa2bc8faf7cee9110857"
}
When I hit Send button, the results return "Wallet's password is missing." in the output. I don't know how to fix it or the correct body either URL. Please.

I see. The password should be in the header: "password: a b c d e f". The password only goes in the body when creating a wallet. Everything else, if you use that wallet, the password goes in the header.

So how to fix it?

Set the header in the POSTMAN request

Oh, you saved me! Thanks @conradoqg <3


Add Fraisse Law ?

Created by Paul Fraisse
https://en.wikipedia.org/wiki/Paul_Fraisse

Our psychological perception of time varies depending on the interest we feel in what we’re doing.

Quite not enough in the «tech» scope, I reckon


DSA:<IP_ADDRESS> Difference between searching and sorting algorithms #5346

Description 📜
Add Documentation
Fixes #5346

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[ ] Android Dev #(Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[ ] C/#CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[x] DSA
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[ ] Frontend Dev #HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[ ] Interview #Prep
[ ] Java_#Domain
[ ] JavaScript_#Domain
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[ ] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@Muskan-creator  Please Review...!!

@Muskan-creator  Please check...!!


[BUG]:"mysql2" is not a valid driver. Available drivers:  "pg", "mysql2", "better-sqlite", "libsql", "turso"

What version of drizzle-orm are you using?
^0.26.5
What version of drizzle-kit are you using?
^0.19.3
Describe the Bug
import type { Config } from "drizzle-kit";
export default {   schema: "./src/db/schema/schema.ts",   out: "./src/db/drizzle",   driver: "mysql2",   dbCredentials: {     connectionString: process.env.DATABASE_URL!,   }, } satisfies Config;
Above is my config file and following is main file for db
import { drizzle } from "drizzle-orm/planetscale-serverless";
import { connect } from "@planetscale/database";
import { migrate } from "drizzle-orm/planetscale-serverless/migrator";
import * as schema from "./schema/schema";
const connection = connect({   url: process.env["DATABASE_URL"], });
export const db = drizzle(connection, { schema }); migrate(db, { migrationsFolder: "./src/db/drizzle" })
Expected behavior
When I try to run pnpm drizzle-kit studio I get this error.
"mysql2" is not a valid driver. Available drivers:
"pg", "mysql2", "better-sqlite", "libsql", "turso".
No response
Environment & setup
No response

getting same bug

Same issue here. Just like @John-Dennehy using drizzle-orm 0.27.0. However, 'DATABASE_URL' is present in my .env file, but still getting that error

Ok, stupid mistake, forgot to actually read the .env file 🤦♂
@MuhammadBilal1234 From the code that you provided I see you made the same mistake. To fix that, place these lines under the import statement in your 'drizzle.config.ts' file (make sure to point to the correct .env file. For me that is '.env.local', for you it can be just '.env')
import dotenv from 'dotenv'
dotenv.config({ path: '.env.local' })

I'm facing a same error but I'm using user and password instead
const username = process.env.DATABASE_USERNAME;
const password = process.env.DATABASE_PASSWORD;

if (!username || !password) {
	throw new Error('Please set DATABASE_USERNAME and DATABASE_PASSWORD');
}

/** @satisfies { import("drizzle-kit").Config } */
export default {
	schema: './schema/*.@(js|ts)',
	out: './drizzle',
	driver: 'mysql2',
	dbCredentials: {
		host: 'aws.connect.psdb.cloud',
		user: username,
		password
	}
};

And I got the same error
 Invalid input  "mysql2" is not a valid driver. Available drivers: "pg", "mysql2", "better-sqlite", "libsql", "turso". You can read more about drizzle.config: https://orm.drizzle.team/kit-docs/config-reference
 ELIFECYCLE  Command failed with exit code 1.

I was suffering with same error for pretty long, and the answer was so silly: I had accidentally moved my .env file from root to /src. Hope, that might be helpful for someone

i also got this silly error when i changed .env file to .env.local
i was using:
import 'dotenv/config'

& it was working when i had an .env
now i have to use:
import * as dotenv from 'dotenv'
dotenv.config({ path: '.env.local' })

my question is do i need to change the path during production?


Support absolute reference of assets from templates

Given I have a assets folder in my src folder, with some images inside, like this:
src/assets/
.. img01.png
.. img02.png

It would be very nice to reference these resources with a absolute path, rather than a relative path. It is very bad for coupling to reference a image in such path as:  when the absolute path is known.

That's what webpack aliases can be used for. The template already comes with one, @/ is an alias for the srcn/src directory.
So you can simply do this<EMAIL_ADDRESS>

Notw that you would have to prepend that with a tilde (~) when used in a template or css


Review/nav 87 include refactorings from nav 83 review

This pull request replicates the pull request in NAV-83 but takes all changes and potential conflicts in NAV-87 into account.

Now, some tests are failing:

@clukas1 Please run the formatter on the complete project so we avoid conflicts due to formatting in future PRs:
(right-click on the project, public-transit-service -> then reformat code)

Sorry for all the comments, I tried to review from intellj, but somehow it doesn't synchronize properly...

Thanks for reviewing. I'll check the failing tests over lunch.


Feature table: column width

        Summary: [beta] feature table.
            Key: PATRIC-556
            URL: https://jira.cels.anl.gov/browse/PATRIC-556
        Project: PATRIC
     Issue Type: Bug
       Reporter: PATRIC
       Assignee: Rebecca Wattam

Version: 3.2.9 beta
URL:
https://www.beta.patricbrc.org/view/Taxonomy/1491#view_tab=features&filter=and(eq(feature_type,"CDS"),eq(annotation,"PATRIC"))
User ID: KPNs_4_Houston
If you search for say, "clostridium botulinum" and click on the feature
table, it renders a huge column for the check boxes and small columns for
everything else.  Unfortunately I can't send a screenshot.

I haven't been able to reproduce this.

I can't either!


(maint) Require vcr 6.1 - 6.x

Specs generated a warning due to an issue with vcr < 6.1 on Ruby 3.1+. See https://github.com/vcr/vcr/commit/98cc00b57369dfd671c227be6aa3f03d7475cb6c

This is blocked on dropping Ruby 2.5/6


reconfiguring istio 1.8 throws a context deadline exceeded

Bug description
Installed istio-1.8 using an operator file. changed some values in the files and trying to reconfigure the mesh, i get a context deadline exceeded
[ ] Docs
[x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
Reconfiguring the cluster work
Steps to reproduce the bug
Install istio-1.8 on GKE v1.16.15 using istioctl and an IstioOperator File (see content below)
Update something in the file (updated the outboundTrafficPolicy mode)
Re-run istioctl install.
Output should be
➜  istio-1.8-install istioctl-1.8 install -f operator.yaml -y
✔ Istio core installed
2020-11-25T15:12:12.893981Z     error   installer       context deadline exceeded
2020-11-25T15:12:43.063478Z     error   installer       context deadline exceeded
2020-11-25T15:13:13.261757Z     error   installer       context deadline exceeded
2020-11-25T15:13:43.442333Z     error   installer       context deadline exceeded
2020-11-25T15:14:13.695130Z     error   installer       context deadline exceeded
2020-11-25T15:14:43.895995Z     error   installer       context deadline exceeded
2020-11-25T15:15:14.111574Z     error   installer       context deadline exceeded
2020-11-25T15:15:44.292530Z     error   installer       context deadline exceeded
2020-11-25T15:16:14.498627Z     error   installer       context deadline exceeded
2020-11-25T15:16:44.692515Z     error   installer       context deadline exceeded
2020-11-25T15:17:14.876044Z     error   installer       context deadline exceeded
2020-11-25T15:17:45.063228Z     error   installer       context deadline exceeded
✘ Istiod encountered an error: context deadline exceeded (repeated 12 times)
✔ Ingress gateways installed

Pruning removed resources                                                                                Error: failed to install manifests: errors occurred during operation

Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
How was Istio installed?
istioctl
Environment where bug was observed (cloud vendor, OS, etc)
GKE on GCP
Additionally, please consider running istioctl bug-report and attach the generated
cluster-state tarball to this issue.
Refer cluster state archive
for more details.

Running an istioctl verify-install  after the first install returns good results
➜  istio-1.8-install istioctl-1.8 verify-install
ClusterRole: istiod-istio-system.default checked successfully
ClusterRole: istio-reader-istio-system.default checked successfully
ClusterRoleBinding: istio-reader-istio-system.default checked successfully
ClusterRoleBinding: istiod-istio-system.default checked successfully
Role: istiod-istio-system.istio-system checked successfully
RoleBinding: istiod-istio-system.istio-system checked successfully
ServiceAccount: istio-reader-service-account.istio-system checked successfully
ServiceAccount: istiod-service-account.istio-system checked successfully
ValidatingWebhookConfiguration: istiod-istio-system.default checked successfully
CustomResourceDefinition: destinationrules.networking.istio.io.default checked successfully
CustomResourceDefinition: envoyfilters.networking.istio.io.default checked successfully
CustomResourceDefinition: gateways.networking.istio.io.default checked successfully
CustomResourceDefinition: serviceentries.networking.istio.io.default checked successfully
CustomResourceDefinition: sidecars.networking.istio.io.default checked successfully
CustomResourceDefinition: virtualservices.networking.istio.io.default checked successfully
CustomResourceDefinition: workloadentries.networking.istio.io.default checked successfully
CustomResourceDefinition: workloadgroups.networking.istio.io.default checked successfully
CustomResourceDefinition: authorizationpolicies.security.istio.io.default checked successfully
CustomResourceDefinition: peerauthentications.security.istio.io.default checked successfully
CustomResourceDefinition: requestauthentications.security.istio.io.default checked successfully
CustomResourceDefinition: istiooperators.install.istio.io.default checked successfully
HorizontalPodAutoscaler: istiod.istio-system checked successfully
ConfigMap: istio.istio-system checked successfully
Deployment: istiod.istio-system checked successfully
ConfigMap: istio-sidecar-injector.istio-system checked successfully
MutatingWebhookConfiguration: istio-sidecar-injector.default checked successfully
PodDisruptionBudget: istiod.istio-system checked successfully
Service: istiod.istio-system checked successfully
EnvoyFilter: metadata-exchange-1.6.istio-system checked successfully
EnvoyFilter: tcp-metadata-exchange-1.6.istio-system checked successfully
EnvoyFilter: stats-filter-1.6.istio-system checked successfully
EnvoyFilter: tcp-stats-filter-1.6.istio-system checked successfully
EnvoyFilter: metadata-exchange-1.7.istio-system checked successfully
EnvoyFilter: tcp-metadata-exchange-1.7.istio-system checked successfully
EnvoyFilter: stats-filter-1.7.istio-system checked successfully
EnvoyFilter: tcp-stats-filter-1.7.istio-system checked successfully
EnvoyFilter: metadata-exchange-1.8.istio-system checked successfully
EnvoyFilter: tcp-metadata-exchange-1.8.istio-system checked successfully
EnvoyFilter: stats-filter-1.8.istio-system checked successfully
EnvoyFilter: tcp-stats-filter-1.8.istio-system checked successfully
HorizontalPodAutoscaler: istio-ingressgateway.istio-system checked successfully
Deployment: istio-ingressgateway.istio-system checked successfully
PodDisruptionBudget: istio-ingressgateway.istio-system checked successfully
Role: istio-ingressgateway-sds.istio-system checked successfully
RoleBinding: istio-ingressgateway-sds.istio-system checked successfully
Service: istio-ingressgateway.istio-system checked successfully
ServiceAccount: istio-ingressgateway-service-account.istio-system checked successfully
Checked 12 custom resource definitions
Checked 1 Istio Deployments

istioctl version
➜  istio-1.8-install istioctl-1.8 version
client version: 1.8.0
control plane version: 1.8.0
data plane version: 1.8.0 (1 proxies)

Oh never mind my bad, i had a missing firewall rule for pilot webhooks toward the master. Just saw it in the doc.


Run subsystem schema tests by default

https://issues.jboss.org/browse/WFLY-5658
This and https://github.com/wildfly/wildfly/pull/8396 will need to be merged before https://github.com/wildfly/wildfly-core/pull/1250 is in a core release

Linux with security manager Build 3605 outcome was FAILURE using a merge of ff1cd6ed2c3dc7468f06726c6c1262cf5e924302
Summary: Exit code 1 (new) Build time: 00:00:14

Windows Build 3806 outcome was FAILURE using a merge of ff1cd6ed2c3dc7468f06726c6c1262cf5e924302
Summary: Tests failed: 1 (1 new), passed: 3274, ignored: 371 Build time: 01:01:34
Failed tests
org.jboss.as.test.integration.security.loginmodules.LdapExtPasswordCachingTestCase.test3: java.lang.AssertionError: Password from cache 1 expected:<1> but was:<2>
	at org.jboss.as.test.integration.security.loginmodules.LdapExtPasswordCachingTestCase.test3(LdapExtPasswordCachingTestCase.java:182)
------- Stdout: -------
reseting file writer
counterFile = C:\BuildAgent\work\a31d203e70e89f90\testsuite\integration\basic\target\tmp.password
callsCounter = -1
reading counter file: C:\BuildAgent\work\a31d203e70e89f90\testsuite\integration\basic\target\tmp.password
00:06:37,308 INFO  [org.jboss.as.test.integration.security.common.Utils] (main) Requesting URL http://[::1]:8080/test-DEP3/printPrincipal
00:06:48,044 WARN  [org.apache.directory.server.ldap.LdapSession] (pool-28-thread-1) AbandonableRequest with messageId 2 not found in outstandingRequests.
callsCounter = -1
reading counter file: C:\BuildAgent\work\a31d203e70e89f90\testsuite\integration\basic\target\tmp.password
00:06:49,343 INFO  [org.jboss.as.test.integration.security.common.Utils] (main) Requesting URL http://[::1]:8080/test-DEP3/printPrincipal
callsCounter = -1
reading counter file: C:\BuildAgent\work\a31d203e70e89f90\testsuite\integration\basic\target\tmp.password

Looks good. Thanks.
I've put the 11.x label on this as I don't thinks it's needed for 10.
Last week there were some discussions around this general topic on the EAP side. If those lead to a desire to get this in the EAP branch for 7.0, then we can do a JBEAP and port this and the core PR.

@kabir Is this still wanted? I forget where we came out re: running these tests.

@kabir Is this still wanted? I forget where we came out re: running these tests.


[ottf] Print test file name at the start and end of tests

This PR adds a new field called file to test_config_t and modifies OTTF to print this information at the start and end of each test.
This information will hopefully make test logs clearer by providing more context and will make debugging cases like this, where the output of an earlier test pollutes the logs of another test, easier:
Starting interactive console
[CTRL+C] to exit.

I00000 test_rom.c:81] Version: earlgrey_silver_release_v5-5951-g85122aa32, Build Date: 2022-06-16 03:46:03
I00001 test_rom.c:87] TestROM:832c53c1
I00002 test_rom.c:118] Test ROM complete, jumping to flash!
I00000 status.c:28] PASS!   <<< A test passed but which test is it?
MaskROM:832c53c1

Exiting interactive console.

Looking at the output it appears to announce it's starting the test multiple times as it reboots. I think I can clean this up but if you find you're editing the message you might want to say something like starting "main()" in file.

LGTM, this looks like a good first step in checking that the test we just loaded is the one that's actually passing and keeping us from debugging the wrong tests when we're looking at logs.

What will also help is having opentitantool assert POR, flush the host's UART buffer, then release POR, so the test has a clean start.

LGTM, this looks like a good first step in checking that the test we just loaded is the one that's actually passing and keeping us from debugging the wrong tests when we're looking at logs.

What will also help is having opentitantool assert POR, flush the host's UART buffer, then release POR, so the test has a clean start.

Exactly, I've been putting it off to let the CI stabilize a bit but I already have a draft here: #13277. cw310 console outputs looked pretty clean to me. I need to implement the same for other transports though.

The failures are due to some tests that don't define kTestConfig and the way we handle with and without OTTF cases. I'll push an update that fixes this and improves the overall setup a bit shortly.

Done, I've split my changes to multiple commits to make reviewing easier. The last update simplifies the way concurrency is handled in ISRs and adds kOttfTestConfig to tests that were missing it.

@tjaychen I'll announce this change more widely before merging it but it would be nice to have some feedback from folks that currently work on chip-level tests and OTTF.

I'll rebase and re-run tests locally before merging this. I'll also announce this change over chat.


J2objc script since 2.0.2 fails if path contains spaces

Hello,
since version 2.0.2, the j2objc script contains this variable:
ANNOTATIONS_ARG="-Xannotations-jar ${LIB_DIR}/j2objc_annotations.jar"

used as-is in the command line:
java ${JAVA_ARGS[*]} -jar "${JAR}" "${BOOT_PATH}" ${ANNOTATIONS_ARG} "${J2OBJC_ARGS[@]}"

If ${LIB_DIR} contains spaces, the command line fails.
A simple fix is removing the variable and adding the -Xannotations-jar flag directly on the command line, with ${LIB_DIR} appropriately quoted. E.g.:
java ${JAVA_ARGS[*]} -jar "${JAR}" "${BOOT_PATH}" -Xannotations-jar "${LIB_DIR}"/j2objc_annotations.jar "${J2OBJC_ARGS[@]}"

Hope this is of help.
Best regards.

Fixed in current source.


Hyperparameter optimization

Add estimator hyperparameter optimization capability; misc. performance improvements and bug fixes. Fixes #103

Still need to improve the web UI, but this works for now.

http://nipy.bic.berkeley.edu:8080/github.com/acrellin/mltsp/hyperparameter_optimization/5a5e0a30c3c181c27168930add729f417c44525c

Sphinx is suddenly failing in the Drone build... All tests passing locally though.

:japanese_ogre:
Did you rebase everything after the latest merge of doc stuff? The error I see in Drone shouldn't be happening with the new import trickery.

I agree - but only the last few commits are failing and I definitely didn't
change anything Sphinx or Drone-related... Take a look at
http://nipy.bic.berkeley.edu:8080/github.com/mltsp/mltsp/hyperparameter_optimization/5a5e0a30c3c181c27168930add729f417c44525c
Then after that it started failing.
On Tue, Dec 22, 2015 at 2:30 PM, Brett Naul<EMAIL_ADDRESS>wrote:

[image: :japanese_ogre:]
Did you rebase everything after the latest merge of doc stuff? The error I
see in Drone shouldn't be happening with the new import trickery.
—
Reply to this email directly or view it on GitHub
https://github.com/mltsp/mltsp/pull/128#issuecomment-166751644.

 Something with this branch being out-of-date seems by far the most likely culprit.

Ok, just rebased again and pushed - looks happy now.

What do you all think of the idea of the optimize-hyperparameters-and-fit-to-training-data function returning the the best-fitting estimator only, as opposed to the GridSearchCV object, which contains the estimator as an attribute and implements the predict and predict_proba methods? I can see arguments for both sides, like easier access to the classes_, etc. attributes vs. retaining potentially useful info like grid_scores.

This looks good to me :+1:; wanna rebase so we can see that sweet green :dollar:?

This failed for the first time some reason (said RethinkDB wasn't running) but re-building fixed it.

I've seen that before, too... A bit troubling

All tests are passing on my machine (both with Python 3.5 and a clean 2.7 virtual env), and none of the relevant data files have changes between http://nipy.bic.berkeley.edu:8080/github.com/mltsp/mltsp/hyperparameter_optimization/6761809af2e20bafe7c3ec7b9b415047382f7134 and http://nipy.bic.berkeley.edu:8080/github.com/mltsp/mltsp/hyperparameter_optimization/fa3c460e84b35c9f2c28f80f80110efc2595a3af. Anyone have any ideas re: the sudden xray errors?

@stefanv @bnaul Please take a look and let me know what you think when you have a chance.

http://nipy.bic.berkeley.edu:8080/github.com/acrellin/mltsp/hyperparameter_optimization/240726d4cfab818e58eaa19008b2bc77ce73bcd5

:+1: @stefanv ?

:+1: looks really good--thanks for your patience with us, Ari :)


SSE example broken

To reproduce

create a demo using pnpm create solid,
select with-websockets,
hit enter a few times,
run pnpm install,
run pnpm add solid-start-node
run pnpm dev,
open the browser and go to /sse and
observe the console and/or network tab: the response from /_m/src/routes/sse.tsx/0/Page has type text/html instead of text/event-stream failing the opening of the EventSource.

On node there is an issue with SSE anyway https://github.com/solidjs/solid-start/issues/654 though that can be worked around:

Bare bones example https://github.com/peerreynders/solid-start-sse-counter
Basic example with long polling alternative https://github.com/peerreynders/solid-start-sse-chat
If you're feeling adventurous https://github.com/peerreynders/solid-start-sse-push

In setting up for SolidStarts next Beta Phase built on Nitro and Vinxi we are closing all PRs/Issues that will not be merged due to the system changing. If you feel your issue was closed by mistake. Feel free to re-open it after updating/testing against 0.4.x release. Thank you for your patience.

See https://github.com/solidjs/solid-start/pull/1139 for more details.


This changes AssemblyVersioningScheme.MajorMinorPatchMetadata to Assembl...

...yVersioningScheme.MajorMinorPatchTag
The issue with metadata is that it is not part of the semantic version at all, so why are we even allowing it to be put into the assembly version. On the other hand in continuous delivery we promote metadata to the tag to allow the version to change every commit. By using the tag, not the metadata we can create meaningful AssemblySemVer values.
Fixes #391

@GeertvanHorrik this sorts one of your issues. It is a breaking change between beta.2 and beta.3 or RTM but I think it's worth it

@GeertvanHorrik can you review this change

Looks good to me!


Sort imports and remove unused imports

The Formatter class won't sort imports or remove unused imports. This can be done using the ImportOrderer and RemoveUnusedImports classes respectively.
See https://github.com/google/google-java-format/pull/96 which adds this as a default behavior in the Formatter class.
(note that java -jar google-java-format-1.3-all-deps.jar uses FormatFileCallable instead of directly calling the Formatter; FormatFileCallable sort and cleans up imports in addition to formatting the code; actually, this is probably what this plugin should use too)

For Spotless, we effectively call the following lines one after another.
String source = ...;
String formatted = new Formatter().formatSource(...);
formatted = RemoveUnusedImports.removeUnusedImports(formatted);
formatted = ImportOrderer.reorderImports(formatted);

Using FormatFileCallable would be tricky if not impossible without reflection AFAICT, because it requires an instance of CommandLineOptions, which is a default-visibility class.

On a somewhat different note, I'm interested in seeing this issue resolved as well, as it would make implementing https://github.com/jrtom/jung/issues/86 easier for us.

Fixed by #13

Great to see that this issue is resolved now. Thank you very much @pastjean and @therealppa. :+1:


⚠ gorzdrav.org has degraded performance

In ccb339e, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 2701 ms

Resolved: gorzdrav.org performance has improved in c9e53dc.


Prevent invalid usage of Interceptors

Interceptors are being accidentally misused by users.
I have helped multiple users via GitHub and Slack debug
the same root cause with different behaviors. The issue
is that an Interceptor can be re-used between multiple
PeerConnections. Interceptors were designed to only be
single PeerConnection aware, so state is being corrupted.
The re-use looks like this.
m := &webrtc.MediaEngine{}
m.RegisterDefaultCodecs()
webrtc.RegisterDefaultInterceptors(m, i)

api := webrtc.NewAPI(webrtc.WithMediaEngine(m), webrtc.WithInterceptorRegistry(i))

a, _ := api.NewPeerConnection(config)
b, _ := api.NewPeerConnection(config)
c, _ := api.NewPeerConnection(config)

PeerConnection a, b and c all will use the same Interceptors. This will cause
Sender Reports, Receiver Reports, Transport Wide Congestion Control Feedback and NACKs
to be shared between them all.

These are some of the requirements.

pion/webrtc breakage should be avoided, I don't want to cut v4 just for this
We should support interceptors being scoped to one OR many PeerConnections.

We have three possible fixes. If anyone has different ideas I would
love to hear them!
Add Copy() to Interceptors
Adds an extra method to each Interceptor. When we start each PeerConnection
we call copy.
Add Sessions to Interceptors
Add sessionId to each function call in Interceptors. Allows an interceptor to be
multi-session aware.
Return an error from NewPeerConnection on Interceptor re-usage
We can detect that an InterceptorRegistry has been built twice. This allows us to throw
an error and people can refactor their code

@jeremija opened an API for an implementation that added sessions https://github.com/pion/interceptor/pull/38
We also discussed this somewhat in https://github.com/pion/webrtc/issues/1749. I was focused on the wrong part of the issue so wanted to start a new discussion here.

My vote is for Copy()

Keeps Interceptors simple. They don't have to be session aware
If users want to implement a 'Many Session' Interceptor Copy() can return a handle that gets added to the object getting copied.
We don't need to break the API

@at-wat @jeremija @jech @OrlandoCo @billylindeman @adamroach @davidzhao @mengelbart @zyxar
Thoughts/opinions. You all have done work around Interceptors/Media API so would love your input on this.

From the perspective of what makes Pion easier to develop on top of, I definitely support an approach that allows creation of multiple PeerConnections on top of the same interceptor registry without errors.
Among the three approaches described, I agree that Copy() is the most appealing; but I'd like to propose a fourth approach for consideration. Under the described scheme, you're creating prototypical instances of each interceptor that never actually get used. Among object creation strategies, usually you use prototypical instances only when creation is expensive but copying is cheap. For the interceptors we have right now, I don't think that's the case
So I think it would be cleaner if, instead of registering a set of interceptors, we instead register a set of interceptor factories that are invoked when a PeerConnection is created. To be clear, I haven't looked closely at this code, so there might be reasons this isn't ideal; but as a general software design strategy, that's the traditional approach.
But if that's not feasible for some reason, then the prototypical instance approach should work fine.

I think Copy works well in the sense that most users don't have to care that it exists. It could still cause confusion for folks developing interceptors, if they do want/expect some sort of shared state.
Another option is to make this all explicit by introducing a InterceptorFactory that is what the registry would use. This would make things much more explicit vs implicitly copying upon use.

@adamroach @davidzhao 👍 for me with Factory approach! That sounds even better.
I am going to start a PR now and will send it over to you two hopefully in the next day or so. Thanks for the feedback/ideas

Add Sessions to Interceptors
Add sessionId to each function call in Interceptors. Allows an interceptor to be multi-session aware.

My opinion about this: https://github.com/pion/webrtc/issues/1749#issuecomment-876104492

I'm late to the party, but I agree with the factory approach. If we ever want to use a single event loop to process the RTP/RTCP packets of multiple peer connections, that should probably come at a later point, as an upgrade.

Resolved by dce970438344727af9c9965f88d958c55d32e64d


fix

fix crash less than 4.4

@xiehui999 thank you so much for your PR. I will do a small test later today, and will merge it asap.


Annotated for docstring purpose

Many people attach docstring as a metadata in Annotated:
from typing import Annotated

class Foo:
    f: Annotated[str, 'xxxxxx'] = "asdf"

If we hover the pointer on Foo, VS Code shows nothing. However, if we write codes like this:
class Foo:
    f: str = "asdf"
    """xxxxxx"""

and then VS Code can understand its docstring is """xxxxxx""".
Could pylance support the same feature for Annotated when the second arg is just a string?

Many people attach docstring as a metadata in Annotated

Can you provide some documentation or examples that back up that assertion?
To my knowledge, there is no standard that says that a literal string passed as a type argument to Annotated should be assumed to be a docstring. Annotated can be used anywhere that type annotations are allowed, and docstrings don't make sense in many of those locations.
There have been some attempts to standardize a docs class that wraps a literal string, but a "naked" literal string could have many meanings inside of an Annotated annotation. I don't think it would be appropriate to assume that it is intended as a docstring.
PEP 593, which introduced Annotated, defines a meaning to the first type argument but explicitly says that static analysis tools (including type checkers) should not ascribe any specific meaning to subsequent type arguments.
Pylance does support attribute docstrings of this form:
class Foo:
    f: str = "asdf"
    """A description of the field f goes here"""

The authors' reply resolved my problem.


Add Slovak translation.

Thank you very much for your contribution!
P.s. I'll review another PR next week.


Use CommonJS/Node-friendly global namespace instead of this for window

A first stab at getting this to work better with Browserify and other Node-like environments.
We basically stop relying on this being the global window (as this is the case in browser implementations), and use a variable root that's dependent on the environment: typeof global !== 'undefined' ? global : this.window || this.global.
This is how I use postscribe at the moment:
import 'postscribe/htmlParser/htmlParser';
import 'postscribe';

global.postscribe(wrapper, `<script src=${videoSource}></script>`);

The next steps would be to make it a UMD module, instead of attaching it to the global namespace.

I've never see that line before, nice one! This does seem more sensible than having a fixed set of namespace names to check, even though I'm not fond of eval.
In the end I went with https://github.com/krux/postscribe/pull/118 for now.