feat(details-section):allow collapsibility

Added property to DetailsSection component isCollapsible,
which when passed true makes the section collapsible.

Looks pretty good. I made some comments on how to help tighten it up a bit. Let me know if any of the comments are unclear.

It'd be good to also test that clicking a non-collapsible section doesn't do anything to expand/collapse it. Other than that, LGTM.

Looks good. :+1: No more :cow::bell: needed (have you seen that SNL?).
If you want to be extra-thorough, you could also test that clicking twice toggles one way, then the other. There's no pressing need to do that though.

@akrikos added thorough tests 👍

we often render collapsible sections as collapsed by default. this section should have a defaultCollapsed prop (or some name like that) so a user can collapse it by default.

LGTM


search for anything, both OneNote and FL crash

Use Onenote 16.0.17231.20236 all the time - no encryption.
Flow Launcher 1.19.3 (new install) Installed 2.1.0 and changed nothing.  Haven't  had any issues using FL in general to this point.
Typed 'on sug' - crashes before I can even hit enter.   Every time.
Trying to reopen OneNote I get a message I've never seen before "We're sorry.  OneNote is cleaning up from the last time it was open.  Please wait."   A progress bar completes and a second dialog "It looks like OneNote is having trouble starting right now.  If you keep seeing this message, restart your computer and start OneNote again.  We're very sorry."    OneNote will not relaunch until I restart the computer and then it launches as expected.   Flow Launcher has to be restarted also.  Tried searching again via the plugin.   Same thing happened.  Uninstalled/reinstalled the plugin - no change.
Windows 11 Version 10.0.26100 Build 26100

Humanizer, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=979442b78dfc278e (C:\Users\XXXX\AppData\Roaming\FlowLauncher\Plugins\OneNote-2.1.0\Humanizer.dll)
System.Reflection.Metadata, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a (C:\Users\XXXX\AppData\Local\FlowLauncher\app-1.19.3\System.Reflection.Metadata.dll)

10:04:42.8657+02:00 - FATAL - UnHandledException -
Exception
System.ArgumentException: Must create DependencySource on same Thread as the DependencyObject.
   Source: WindowsBase
   TargetAssembly: WindowsBase, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35
   TargetModule: WindowsBase.dll

Hey is it possible to send the full log file?
Also are you saying that the OneNote issues only happen after you try to use the plugin?

I can launch OneNote fine without Flow Launcher.  I can launch it from explorer or a commandline.  It works always except when I start typing "on" in FL and a then a space and then one more character and it crashes.   After the crash I cannot use OneNote again until I restart the system.   I've tried to find a lingering process/service but I don't see it.
2024-10-28.txt

This is a really strange error. The only link I can find to this plugin in the logs is that you are searching with it!
Can you check if the plugin settings in FL are fine (before any crashes)? This should indicate whether the plugin successfully initialised.

How do I check if FL plugin settings are fine?    This is after a first install of the plugin.   I only have one other plugin installed but I tried removing that one first after OneNote plugin failed.

That screenshot is enough! The plugin initialises properly.
It's most likely a COM issue although the log text mentions nothing of it.

Sorry,  does this mean I need to do something?

No though if you could said the full log that might help, rather than only the exception.
I will try a make a debug build when I get time.

Hey @ak1dd, I forgot to ask. But do the notebook explorer and recent pages features work fine?


Upgrade swinsian

Switch to versioned url

Thank you for the contribution. It was merged directly as 9539be001081d738e0d61eb627434a8f2ce4192d to keep commit history cleaner. Your contribution is still credited to you.


update tomato url

This change is not necessary.

Just figured since we own the domain and we all have control over it, it would be better to point there.


Exclude non-fields from record serialization

Before the change, a record's getter-like methods would be considered
getters and would be parsed of serialized form. This is undesirable
because

For record component foo, the foo() method should be considered
the accessor. If getFoo() exists, it may return something else.
Using it can lead to correctness problems.
A method like getFoo() may not be accessor to a record component at
all, it should not be part of serialization.
The default behavior is different than one for regular classes, so a
benign refactor from a class to a record changes what gets serialized
as JSON -- the getter-like non-getters on a class are ignored (do not
need @JsonIgnore) and are included on a record (unless annotated
with @JsonIgnore). This changes serialized form in a hard to notice
manner, because we ignore those additional properties during
deserialization.

This commit fixes this. Now only the canonical accessors are considered
a getter in a record.
Alternative solution would be to rely on Jackson built-in record
support. However, it relies on private field access, and we disable
CAN_OVERRIDE_ACCESS_MODIFIERS mapper feature.

cc @wendigo

LGTM. This will make Record usage across Trino codebase consistent without a need to annotate components and add @JsonIgnore to everywhere else

AC & added entry in CHANGES.

thanks for awesome review. AC

thank you for your review. AC


Idea: checker for unique index for has_one associations

Currently there exists 2 things in database_consistency:

a MissingUniqueIndexChecker that checks that uniqueness validations have a unique index in the DB
a MissingIndexChecker that checks that an index exists for has_one and has_many associations

I think in the has_one case, we should enforce that there should be a unique index on exactly the columns of the associations, so that the DB guarantees that this has_one remains a has_one and doesn't become a has_many.
I believe it would be hard to integrate this feature in MissingUniqueIndexChecker as this one inherits ValidatorChecker, and I'm unsure if it should be part of MissingIndexChecker or split this one into two checkers for has_many (which the current behavior) and for has_one (which would be even stricter).
CC @frantisekrokusek
Let me know what you think and which path you'd rather have this implemented, thanks

Hi @tdeo,
Thank you for using the gem and contributing to it! And sorry for me taking too long to response.
I must say that I really love your suggestion. Actually, we even had an issue recently related to that. So I'm fully up to the idea!
I think it's okay to have as many checks as needed keeping their logic and purpose easy to follow and isolated.
However, if in this case, extending MissingIndexChecker looks good and doesn't break it responsibility, we may adjust just that.
Do you want to contribute with the PR or you want me to do that? I think I may have some time this weekend to do that. But please let me know about your decision before this weekend so we don't do same PR together.

Hi @tdeo,
I've released 1.1.13 with this feature: PR. For now, it only supports unscoped has_one associations. Please have a look and let me know if it doesn't work for you.
Also, please feel free to share more ideas, I'd be happy to add them.
I will close this issue but free to reopen it if needed.
Have a great day!

Hey @tdeo,
Version 1.1.13 had an issue that was already fixed. Please try 1.1.14 instead.

Hello @tdeo,

Thanks for the quick release ! Seems to be working pretty well on our end.

Glad to hear that!

On a side-note, I believe you already implemented support for polymorphic associations with this line: https://github.com/djezzzl/database_consistency/blob/master/lib/database_consistency/checkers/association_checkers/missing_index_checker.rb#L71, so I don't see any reason why to skip if association[:as].

Unfortunately, we can't enforce unique indexes for polymorphic associations that simple as when some object may have has_one association with polymoprhic, another may have has_many.
For example,
class Payment
  belongs_to :subject, polymorphic: true
end

class User
  has_many :payments, as: :subject
end

class ReferralBonus
  has_one :payment
end

However, it is still doable to achieve but with some workarounds I plan to add later.

Sorry for not being more helpful, but setting up the dev environment is a bit cumbersome with the rest of my local dev environment 😅

No worries at all. You already helped a lot with great suggestion!
BTW, I have some suggestions for you to try (I believe they might be good additions to your projects):

https://github.com/djezzzl/n1_loader in case you build GraphQL API in Ruby. This is a must have in case you won't to get rid of N+1 issues easily. Have a look and check it yourself. It has proven itself as very efficient and stable in production code.
https://github.com/djezzzl/factory_trace in case you're using FactoryBot. This helped me to clean 10% of unused factories in one of projects easily.

Have a great weekend! Feel free to ping me in case of any questions!


Compound Pong

The current Pong paradigm uses a very simple sensor, which feeds NARS the horizontal position of the ball relative to NARS. NARS has no idea about other information, for example, the vertical position of the ball.
The sensor can be made to include more information, such as the vertical position of the ball, to gain a more granular understanding of the environment.
And it will be a test of NARS compound term generation, since the horizontal and vertical sensor information should be fused.

It may require NARS modifications, which we can test with bowen-xu/PyNARS#12


New Rule: no-missing-import

Checks whether modules which are loaded by ImportDeclarations or require() exist.
import Foo from "foo"; // checks with https://www.npmjs.com/package/resolve
import Bar from "./bar"; // checks there is the file.

eslint-plugin-node


Play again

added methods for repeating game in user_interface
added tests for repeating game
added validation for input for repeating game
added repeat game method to game loop
fixed spelling in method
changed name from determine_is_full to is_full - thought it read better

Trello: https://trello.com/c/4sGJ3UqH/33-play-again

I realized this was already merged; I am not sure that the game loop has been simplified, just well extracted into helper functions.  I fail to follow where the outer loop is, and I worry that there is not game loop at the moment, just many nested calls to self.new_game(), which could end up with memory issues like a blown stack.  I admit to not knowing how Python handles this scenario.  I still think the game can be simplified though, and think it should probably be addressed at some point.


[VL] Do not skip updating children's metrics while visiting an operator with NoopMetricsUpdater

This is mainly for fixing bug appearing only when RAS is enabled but could be generalized to all potential cases like NoopFilter in RAS.
Before:

After:

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

query
log/native_5933_time.csv
log/native_master_06_04_2024_9755cdb6b_time.csv
difference
percentage

q1
35.83
33.66
-2.176
93.93%

q2
23.73
23.67
-0.059
99.75%

q3
39.90
35.00
-4.906
87.70%

q4
32.14
32.19
0.050
100.16%

q5
68.29
69.02
0.735
101.08%

q6
9.29
7.20
-2.096
77.44%

q7
80.19
82.19
2.002
102.50%

q8
83.29
83.65
0.358
100.43%

q9
118.86
120.88
2.019
101.70%

q10
43.70
45.81
2.108
104.82%

q11
20.29
20.00
-0.293
98.56%

q12
25.85
29.20
3.344
112.93%

q13
39.28
36.38
-2.901
92.62%

q14
19.78
22.03
2.250
111.37%

q15
33.54
29.83
-3.704
88.96%

q16
13.51
14.06
0.556
104.12%

q17
105.17
103.56
-1.611
98.47%

q18
145.58
147.26
1.686
101.16%

q19
14.84
13.50
-1.341
90.96%

q20
28.36
28.66
0.300
101.06%

q21
261.48
267.80
6.318
102.42%

q22
12.15
13.70
1.553
112.79%

total
1255.04
1259.23
4.193
100.33%


Working with a Vector L2 Finite Element Space

Hello,
I am trying to the implement the DG formulation for the acoustic wave equation in 2D, wherein we have a scalar variable and a vector (of size 2, same as physical space dimension) variable. For the scalar variable it is clear how to build the finiteElementSpace. For the vector variable, I do the following:
fec = new L2_FECollection(deg, ndim);
sfes = new ParFiniteElementSpace(&pmesh, m_fec);
vfes = new ParFiniteElementSpace(&pmesh, m_fec, ndim, Ordering::byVDIM);
Next, I follow the example "ex5p" and try to assemble the VectorFEMassIntegrator. It does not work, it gives the error that function CalcVShape is not implemented. I understand that this function is a member of the class VectorFiniteElement and the manner I have built "vfes", this function is not available. Similar issue for VectorFEDivergenceIntegrator with CalcDivShape.
One way I can think of fixing this is to create a new type of VectorFiniteElement and add all the relevant routines. But this seems not so elegant. Is there a smarter way of fixing this issue? Thanks for the help.

Hello, @pratyuksh,
The "VectorFE" prefix on these integrator names refers to the H(Curl) and H(Div) basis functions which have vector-valued basis functions.  Using the L2 basis functions in this manner creates a vector of scalar-valued basis functions.  To build your mass matrix you should use the VectorMassIntegrator which is specifically designed for this use case.  There is also a VectorDivergenceIntegrator if you need this.
Best wishes,
Mark

@mlstowell Thanks, I should have looked at the documentation more closely.


Bug fixes and Joss prep

clean up the code for syntax consistency
bug fixes on intial_guess/parameter parsing (new syntax introduced)
add more automated tests
small paper updates
bump up version number to v0.1 to prepare for JOSS submission

@all-contributors please add @yuefan98 for design, code, docs, test, and review. please add @mdmurbach for code, improvement, review, and guidance. please add @dt-schwartz for docs, review, guidance and supervision.

@all-contributors please add @mdmurbach for code, improvement, review, and guidance.

@all-contributors please add @dt-schwartz for docs, review, guidance, and supervision.


ResourceLoader: Fix error message due to already-awaited tasks being re-awaited

Fixes #94018.

Thanks!


URL list outdated - dataset not usable in current form

Unfortunately since this dataset paper appeared at ICCV 2019, Tiktok - from which many of these videos are available - has changed its URL structure and this repo is not working for the SVD dataset.
Can the URL list please be updated, or a binary version of this be made available.  In late 2020/early 2021 already the contribution of the dataset is obsolete if no-one can download it.

We have updated the URLs. If you don't have the password, please send me a signed agreement. Refer to our  home page for more information.

We have updated the URLs. If you don't have the password, please send me a signed agreement. Refer to our home page for more information.


refactor(@angular/cli) : update dependancies version

add angular.json
delete angular-cli.json
update dependancies
update project name to angular-200 into files
closes #92

FYI, it seems that some of your commits where created with an author adresse you forgot to add to your github account.


fix: allow to import other vue files

This PR enables to import .vue file from a target .vue file which will be generated d.ts file.
It also update TypeScript version to the latest.
Note that the latest TypeScript always set emitSkipped = false (I have no idea why), so I changed the strategy to detect errors to simply count error messages.

Just switched colors to chalk because colors's typings conflict with the latest TypeScript lib.es2015.core.d.ts.


Question about usage Server

Hi,
First I wanted to thank you for your great work for this great library.

how can I access only from some ip of my network card?
how can I view only some items depending on the login (username, password)?
according to your experience, how is it better to save the data in memori and storage?

best regards

Hello,
Glad you like my library.
IP binding
I don't expose this by default but you can promote IPEndPoint to a parameter for this function:
https://github.com/nauful/LibUA/blob/c8e642d10b1f39543bc1487c8e0fa496ef743b17/NET Core/LibUA/Server.cs#L60
Then you can pass in an ip to bind to here: https://github.com/nauful/LibUA/blob/c8e642d10b1f39543bc1487c8e0fa496ef743b17/NET Core/TestServer/Program.cs#L590
For user-level permissions,
Create a session object (any type of your design) and return a new instance here: https://github.com/nauful/LibUA/blob/c8e642d10b1f39543bc1487c8e0fa496ef743b17/NET Core/TestServer/Program.cs#L105C41-L105C61
E.g. session.state == Unassigned now
When the client sends a username + password, assign it to your session object here: https://github.com/nauful/LibUA/blob/c8e642d10b1f39543bc1487c8e0fa496ef743b17/NET Core/TestServer/Program.cs#L138
E.g. session.state == Logged in, session.username == username now
Implement this in your Application: https://github.com/nauful/LibUA/blob/c8e642d10b1f39543bc1487c8e0fa496ef743b17/NET Core/LibUA/Application.cs#L633
Now you can check if session[Logged in, username] has permission to access any particular NodeId.
Storage
For memory I use a Dictionary<NodeId, MyDataTypes>.
For storage you can use a normal database (sqlite, MySql, etc) or any time-series database (my original use case when I started this library). You can write to Dictionary and db when receiving a ua write, read from dictionary or read from db and cache in dictionary.

Hi,
IP binding
https://github.com/nauful/LibUA/blob/c8e642d10b1f39543bc1487c8e0fa496ef743b17/NET Core/LibUA/Server.cs#L35C11-L35C17it would be nice to pass endpoint to constructor
For user-level permissions,
https://github.com/nauful/LibUA/blob/c8e642d10b1f39543bc1487c8e0fa496ef743b17/NET Core/LibUA/Application.cs#L633
the SessionHasPermissionToRead is not virtual, ovveride is not possible
best regards

Done both, please try now.

Closed, finished work.


tendermint v0.34.20

I'm learning to make smaller PR's.
This only bumps tendermint to v0.34.20

Thanks for taking care! Small PRs are are very much appreciated. In this case, I would follow the SDK do the v0.45.7 upgrade , which includes this


Add End-User Documentaition

This would go through every command and how they work. It would intergrate directly with https://github.com/G-Research/armada-jupyter/issues/6 as required.

Tell users that cancelling jobs should be done from lookout, and can be completed by cancelling by jobset_id and queue or just job ID.


build service - error 137

I have an app that takes awhile to compile, is there an arbitrary limit on how long build processes run on the tabris servers? I'm getting error 137 (Kill process?) a lot more these days
 log The command "travis_wait grunt build deploy" exited with 137.

I get a lot of these now, what does this error mean?

We just increased the default timeout (20 minutes) of Travis builds to 40 minutes. Please let us know if this lets more of your builds succeed.

Please watch out for a line like this in your future detailed logs:
travis_wait 40 grunt build deploy

Almost all of your iOS builds exceeded the former default timeout of 20 minutes. Is there anything special in your builds that makes them run so long?

thank you, that seems to have helped. the app has a lot of plugins (one of which is huge) so I'm assuming that's why the build process takes so long
on another note, I'm experimenting with the cordova-HTTP plugin to move all http requests to a background thread (note - Does the native tabris http support run on the main thread? it seems to). On Android, cordova-HTTP has helped, the app feels more responsive. The only issue is I can't get the iOS version to build. The issue is cordova-HTTP uses AFNetworking, which is used by the tabris native client. When I compile, it throws duplicate symbol errors. If I remove AFNetworking from the plugin, then it fails to compile. Cordova seems to deal with this issue in between plugins but I'm not sure what happens when the tabris native code uses them as well. Any help here would be appreciated.
https://github.com/wymsee/cordova-HTTP


fix some comments

Fixed https://github.com/istio/istio/pull/31705 some comments
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ X] Does not have any changes that may affect Istio users.

@ramaraochavali: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
786a79de2627b8e27ec75abc191c4b7215f98005
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ramaraochavali: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

lint_istio
786a79de2627b8e27ec75abc191c4b7215f98005
link
/test lint_istio

unit-tests_istio
786a79de2627b8e27ec75abc191c4b7215f98005
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test lint_istio


Need to update the constant catch values for Tables g and h

Currently they're just set the same as last year's.
Also update caption of Table g concerning justification for the constant catch value in Row e (if we keep it at last year's then doesn't need explaining).

I think the Row g (default HR) 2018 catch value is
catch.limit.quantiles["median"]
which is 725,984 t.
There are some notes somewhere (readme maybe) to say how to calculate all the values. Just flagging for now.

Based on Tables g and h, plan is to update the following:

Row d - TAC from 2017.
Row f - median FI of 100%
Row g - default HR
Row h - constant catch in 2018 and 2019
Check if constant catch values (a, b, c, e) make sense (i.e. not too close to d). If not just change one.

Involves editing forecast-catch-levels.r, which explains it all nicely. Hopefully....

Done.
Doing default HR.  forecast-find-decision-table.r  says to run mceval to work out median 2019 catch (having worked out the default HR 2018 catch).  I've copied all the mcmc/ files into a new directory, but what exact -mceval command do I do? I think
ss3 -mceval
is starting the whole MCMC from scratch (it takes a while). Thanks.

ss3 -mceval should only take about a minute and not re-do any estimation
If you change the starter file to have
0 # run display detail (0,1,2)

You minimize the output reported, but it should look something like the following (I complained about the extra messages and the next version of SS will have the "finished..." messages removed):
 mceval counter: 1199
finished benchmark for STD quantities
finished forecast  for STD quantities
 process STD
 mceval counter: 2000
finished benchmark for STD quantities
finished forecast  for STD quantities
 process STD

Your top line is what I have - it actually just hangs but is running along according to my Task Manager (sorry, I should have been more specific). It was taking longer than I'd expected.
I copied all the files from mcmc/ into the new folder - that should be good, yes ?
I get
 reading from STARTER.SS
 reading from data file
Data read sucessful 999

 reading forecast file ```
then it hangs.

Got it. That's likely an issue with an incorrectly formatted forecast file. I'm not sure why it would have worked previously and not now, but if you open echoinput.sso in the directory where it is running, you can follow how SS is interpreting the input (search for "forecast" within the big file to get to that section).
The only thing that should be changing is the fixed catches at the very bottom, which should appear as
(example text copied from 2018.40_base_model/mcmc/forecasts/forecast-year-2020/03-350000/forecast.ss):
 #_Year Seas Fleet Catch_or_F
   2018    1     1     350000
   2019    1     1     350000
   2020    1     1     350000
-9999 1 1 0

Thanks. I didn't have a -9999.

Good to figure it out. The -9999 line replaces the need for the old requirement to input a value for "Number of forecast catch levels to input"

Okay, I've done the default HR. End up with
> head(out[,c("ForeCatch_2018","ForeCatch_2019","ForeCatch_2020")])
  ForeCatch_2018 ForeCatch_2019 ForeCatch_2020
1         725983         600991    2.42711e+05
2         725983         600991    5.94064e+05
3         725983         520943    9.17780e-02
4         725983         600991    1.07505e+01
5         725983         600991    8.51849e+05
6         725983         600991    6.93928e+05

But I thought the second column would be constant (because I've now set the 2019 catch to the median of the HR value). Also get one value of -10^32  in the final column. Am going to re-run all this anyway to double check, but if that sounds normal/crazy then let me know (don't spend long on it).

I suspect that row 3 in what you showed is a case where that MCMC sample of the population can't support a catch of 725983 in 2018 AND a catch of 600991 in 2019, so it just removes as much as possible in 2019 and goes to essentially 0 in 2020.
I don't think it makes sense to filter those results out, but if the resulting tables or figures look strange as a result of this issue, we maybe want to make note of the potential reason why.

Thanks - that makes sense. I hadn't looked at the 2020 catch for row 3, but yes, it's essentially 0.
The -10^32 is a bit strange but again won't matter for calculating medians and quantiles. It was actually the second column (not third, as I said), and is for the MCMC sample 143:
> out[143,c("ForeCatch_2018","ForeCatch_2019","ForeCatch_2020")]
    ForeCatch_2018 ForeCatch_2019 ForeCatch_2020
143         725983   -1.75009e+32   -9.99999e-07

Not going to worry about it.  Thanks.

Doing this again to verify it, I get
538263.5

whereas the first time I got
532476.5

I expected exactly the same answer as there's no fitting going on (so no MCMC). Could it be due to different recruitment assumptions? Forecasts for 2018 and 2019 are the same (recruitments not kicking in yet).

Rather than 'different recruitment assumptions' I should have said 'different realised recruitments'. And these occur because I didn't set a seed.

I'm a little lost on what the process that you just repeated and got different results.
I would have thought that any two runs of -mceval should produce identical results if they have the same input files, or if you're repeating the same process to change the input files.

I'm going to run again anyway (need to round the 0.5 tons). Will let you know.

When I repeated my earlier process I got the same answer as when I did it the second time (both different - to the first time). The first time I ran things I wasn't quite sure exactly what to do - having documented what I did and repeated it I now get repeatable results. I just made an error before.
So if no catch is specified it does the default harvest rule, yes? I think the caption for Table g for row h needs that added (and some further rewording maybe).

In forecast-catch-levels.r we now have (commit f3be4b2 but I haven't pushed yet):
       list(c(725984, 600991, 538263), "Default Harvest Policy", "07-default-hr"),

Previously we had the description in the form
"Default Harvest Policy: 725,984 t"

but I took that out because that value is only valid for the first year's catch. The text appears in the legend of Figure i.
Seems logical to me to take it out, but let me know if should stay.

Once I've pushed the new catch levels, don't forget to do
source("all.r")

before doing
build(run.fore=TRUE)

I only did the latter, so it was building tables with the old catch levels but labelling some of them with the new ones. Thoroughly confused me....

I just pushed 12 commits (some of which I referred to above). Tables g and h look correct I think, with a calculated 100% prob in the right place (I think just for 5, 50% column of Table h).
However, Tables i and j seem to have funny catch values, for some reason changing from the ones I defined. I won't get this figured out now (off home). Not sure why it doesn't use the correct values (but haven't delved into the code). I may just need to rebuild more than I though.

Thanks Andy for working through this iterative, and sometimes not straightforward, forecasting specific catch value process!

My build(T,T,T) didn’t finish properly last night but I didn’t look into why. Prob me -maybe didn’t do all the steps on the readme.

I think extra-mcmc doesn't need to be run again, so build(T,T) would be enough. If it fails on the loading part, i.e. the forecasting and retrospectives were run correctly, try build() to re-run the creation of the RData files again.

Thanks, trying that. The error I got last night was:
create.rdata.file: RData file found in ../../models/2018.40_base_model. Deleting...

run.extra.mcmc.models: Running model for each mcmc sample to get additional mcmc outputs...

Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  :
  line 2001 did not have 226 elements

This was after I merged everyone (could be due to my changes). Will update....

I think line 2001 did not have 226 elements implies that either posteriors.sso or derived_posteriors.sso didn't get deleted before a new -mceval was run, so that the file has more than 2000 rows (and the additional rows may be different length).
I don't know why those files sometimes get wiped out and other times not, but manually deleting them from any folder where -mcevals were run should correct this. Or we can try to build those into our scripts.

build()

seems to have worked okay. Chris was writing another comment (about that happening occasionally), but I went to chat to him so I think he didn't finish it!

Tables aren't quite right but I missed a change of index - fixed in commit 02d9a86 .  Still get catches changing in Table j though. Working on it.

This all works now, and Chris fixed #368. I'll close, through Aaron/Ian may want to check my calculations and notes in
https://github.com/cgrandin/hake-assessment/blob/master/doc/r/forecast-find-decision-table.r
But catch numbers are now correct in tables and there are some 50% and 100% values that make sense, so I'm pretty sure the calculations are good.

I did look into this more but didn't come to any conclusive explanations of the weird values.
I also looked at posteriors for fixed catches from the 2017 model and see that there were some mismatched values there too, but it seems that they were all below the fixed catch, rather than above, so didn't mess up the table.


Version <IP_ADDRESS> seat not working

After the last fix of the seat being unusable, the seat is working fine, but when I upgraded my version to <IP_ADDRESS>, I found that the seat is not working again

I fixed it. The reason for the error is that mojang renamed 'actor_property' to 'property' .

I fixed it. The reason for the error is that mojang renamed 'actor_property' to 'property' .

Wow, thank you!

How do I sit are how does it work bc I can't seem to sit on the seats

How do I sit are how does it work bc I can't seem to sit on the seats

When you put down the chair, a ridable entity will be generated under the chair. You can sit down by right-clicking the chair

The actual change to the sit isnt in the .mcaddon file yet right?:(( is there a way you could make a "Furnideco Fixed" .mcaddon¿?


[Bug] Title Bar Linux

Issue Type: Bug

When the title bar is changed from standard to customized, the maximize, minimize and close buttons are changed without preserving the system settings.
VS Code version: Code 1.45.1 (5763d909d5f12fe19f215cbfdd29a91c0fa9208a, 2020-05-14T08:27:22.494Z)
OS version: Linux x64 5.4.0-31-generic

What Linux flavor are you using? What desktop environment frontend are you using?

What Linux flavor are you using? What desktop environment frontend are you using?

Ubuntu 20.04.
Gnome 3.36.2
In KDE there is no such error.

I'm sorry but I don't understand your statement "the maximize, minimize and close buttons are changed without preserving the system settings." Could you clarify?
The custom title bar is intended to replace the native system window controls.

I'm sorry but I don't understand your statement "the maximize, minimize and close buttons are changed without preserving the system settings." Could you clarify?
The custom title bar is intended to replace the native system window controls.

The button design is not kept in vscode when we change the title bar to custom. In KDE (using gnome) the design remains. Realize?

The custom title bar is purely html and is designed to look like Windows. Linux allows too much customization for us to support looking like each and every distro/theme setup. So, unfortunately, this is by design.

The custom title bar is purely html and is designed to look like Windows. Linux allows too much customization for us to support looking like each and every distro/theme setup. So, unfortunately, this is by design.

It is not true, because on another pc with ubuntu and one with KDE the design follows the system standard, maybe it is a bug


problem about  embedded SKNet

Hi all,
Any body had embedded SKNet into this keras-yolo3 repo? there are some errors throws when I add SKNet into this code.
first, my SKNet code as follows(skconv.py):
# -*- coding: utf-8 -*-
import tensorflow as tf
from tensorflow.python import keras as K
from tensorflow.python.keras import layers
# from keras import layers

def expand_dim_backend(x):
  x1 = K.backend.expand_dims(x, -1)
  return x1

def SKConv(M=2, r=16, L=32, G=32, name='skconv'):

  def wrapper(inputs):
    inputs_shape = tf.shape(inputs)
    b, h, w = inputs_shape[0], inputs_shape[1], inputs_shape[2]
    filters = inputs.get_shape().as_list()[-1]
    d = max(filters//r, L)
    # x = layers.Lambda(expand_dim_backend)(inputs)
    x= inputs
    xs = []
    for m in range(1, M+1):
      if G == 1:
        _x = layers.Conv2D(filters, 3, dilation_rate=m, padding='same', use_bias=False, name=name+'_conv%d'%m)(x)
      else:
        c = filters // G
        _x = layers.DepthwiseConv2D(3, dilation_rate=m, depth_multiplier=c, padding='same', use_bias=False, name=name+'_conv%d'%m)(x)
        _x = layers.Reshape((h, w, G, c, c), name=name+'_conv%d_reshape1'%m)(_x)
        _x = layers.Lambda(lambda x: tf.reduce_sum(_x, axis=-1), output_shape=(b, h, w, G, c), name=name+'_conv%d_sum'%m)(_x)
        _x = layers.Reshape((h, w, filters), name=name+'_conv%d_reshape2'%m)(_x)

      _x = layers.BatchNormalization(name=name+'_conv%d_bn'%m)(_x)
      _x = layers.Activation('relu', name=name+'_conv%d_relu'%m)(_x)

      xs.append(_x)

    U = layers.Add(name=name+'_add')(xs)
    s = layers.Lambda(lambda x: tf.reduce_mean(x, axis=[1,2], keepdims=True),
                      output_shape=[b, 1, 1, filters],
                      name=name+'_gap')(U)

    z = layers.Conv2D(d, 1, name=name+'_fc_z')(s)
    z = layers.BatchNormalization(name=name+'_fc_z_bn')(z)
    z = layers.Activation('relu', name=name+'_fc_z_relu')(z)

    x = layers.Conv2D(filters*M, 1, name=name+'_fc_x')(z)
    x = layers.Reshape([1, 1, filters, M],name=name+'_reshape')(x)
    scale = layers.Softmax(name=name+'_softmax')(x)

    x = layers.Lambda(lambda x: tf.stack(x, axis=-1),
                      output_shape=[b, h, w, filters, M],
                      name=name+'_stack')(xs) # b, h, w, c, M
    x = Axpby(name=name+'_axpby')([scale, x])

    return x
  return wrapper

class Axpby(layers.Layer):
  """
  Do this:
    F = a * X + b * Y + ...
    Shape info:
      a:  B x 1 x 1 x C
      X:  B x H x W x C
      b:  B x 1 x 1 x C
      Y:  B x H x W x C
      ...
      F:  B x H x W x C
  """
  def __init__(self, **kwargs):
        super(Axpby, self).__init__(**kwargs)

  def build(self, input_shape):
        super(Axpby, self).build(input_shape)  # Be sure to call this at the end

  def call(self, inputs):
    """ scale: [B, 1, 1, C, M]
        x: [B, H, W, C, M]
    """
    scale, x = inputs
    f = tf.multiply(scale, x, name='product')
    f = tf.reduce_sum(f, axis=-1, name='sum')
    return f

  def compute_output_shape(self, input_shape):
    return input_shape[0:4]

if __name__ == '__main__':
  # from keras import Input
  # from keras import Model
  from tensorflow.python.keras import Input
  from tensorflow.python.keras import Model

  inputs = Input([None, None, 64])
  # shape = inputs.get_shape
  print(inputs.get_shape())
  x = SKConv(3, G=1)(inputs)

  m = Model(inputs, x)
  m.summary()

  import numpy as np

  X = np.random.random([2, 224, 224, 64]).astype(np.float32)
  y = m.predict(X)

The SKNet code is OK.
second, I import this SKNet  in model.py as follows:
from sknet.skconv import SKConv

third, add this SKNet into yolo3 model as follows:
def resblock_body(x, num_filters, num_blocks):
    '''
    A series of resblocks starting with a downsampling Convolution2D
    带有下采样卷积层的残差块
    zero padding + DBL + res unit(残差单元):
    这是yolo_v3的大组件，yolo_v3开始借鉴了ResNet的残差结构，使用这种结构可以让网络结构更深(从v2的darknet-19上升到v3的darknet-53，前者没有残差结构)
    '''
    # Darknet uses left and top padding instead of 'same' mode
    x = ZeroPadding2D(((1, 0), (1, 0)))(x)
    x = DarknetConv2D_BN_Leaky(num_filters, (3, 3), strides=(2, 2))(x)
    for i in range(num_blocks):
        y = compose(
                DarknetConv2D_BN_Leaky(num_filters//2, (1, 1)),
                DarknetConv2D_BN_Leaky(num_filters, (3, 3)))(x)
        x = Add()([x, y])
        # 嵌入SKNet网络
        x = SKConv(3, G=1)(x)
    return x

last, start train the model. However,some exceptions throws during training as follow:
Using TensorFlow backend.
2019-06-25 11:59:08.272823: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2019-06-25 11:59:08.366655: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-06-25 11:59:08.367003: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1356] Found device 0 with properties:
name: GeForce GTX 1070 major: 6 minor: 1 memoryClockRate(GHz): 1.7715
pciBusID: 0000:01:00.0
totalMemory: 7.92GiB freeMemory: 7.31GiB
2019-06-25 11:59:08.367014: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0
2019-06-25 11:59:08.538995: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-06-25 11:59:08.539022: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929]      0
2019-06-25 11:59:08.539026: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0:   N
2019-06-25 11:59:08.539152: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7065 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1070, pci bus id: 0000:01:00.0, compute capability: 6.1)
Traceback (most recent call last):
  File "/media/ql/文档/Document/毕设/YOLO/工程实验/keras-yolo3/train.py", line 213, in <module>
    _main()
  File "/media/ql/文档/Document/毕设/YOLO/工程实验/keras-yolo3/train.py", line 41, in _main
    weights_path="model_data/yolo_weights.h5") # make sure you know what you freeze
  File "/media/ql/文档/Document/毕设/YOLO/工程实验/keras-yolo3/train.py", line 135, in create_model
    model_body = yolo_body(image_input, num_anchors//3, num_classes)
  File "/media/ql/文档/Document/毕设/YOLO/工程实验/keras-yolo3/yolo3/model.py", line 96, in yolo_body
    darknet = Model(inputs, darknet_body(inputs))
  File "/media/ql/文档/Document/毕设/YOLO/工程实验/keras-yolo3/yolo3/model.py", line 73, in darknet_body
    x = resblock_body(x, 64, 1)
  File "/media/ql/文档/Document/毕设/YOLO/工程实验/keras-yolo3/yolo3/model.py", line 63, in resblock_body
    x = SKConv(3, G=1)(x)
  File "/media/ql/文档/Document/毕设/YOLO/工程实验/keras-yolo3/sknet/skconv.py", line 25, in wrapper
    _x = layers.Conv2D(filters, 3, dilation_rate=m, padding='same', use_bias=False, name=name+'_conv%d'%m)(x)
  File "/home/ql/anaconda3/envs/tf/lib/python3.5/site-packages/tensorflow/python/keras/_impl/keras/engine/base_layer.py", line 314, in __call__
    output = super(Layer, self).__call__(inputs, *args, **kwargs)
  File "/home/ql/anaconda3/envs/tf/lib/python3.5/site-packages/tensorflow/python/layers/base.py", line 787, in __call__
    input_tensors=inputs, output_tensors=outputs, arguments=user_kwargs)
  File "/home/ql/anaconda3/envs/tf/lib/python3.5/site-packages/tensorflow/python/layers/base.py", line 864, in _add_inbound_node
    arguments=arguments)
  File "/home/ql/anaconda3/envs/tf/lib/python3.5/site-packages/tensorflow/python/layers/base.py", line 1376, in __init__
    layer.outbound_nodes.append(self)
AttributeError: 'Add' object has no attribute 'outbound_nodes'

Process finished with exit code 1

This problems confused me for some time, any nice boy/girl could help me?  maybe you can tell me where is wrong , Thanks a lot!

I think that the problem happens when you load YOLO weights. If you change the model architecture, YOLO weights will not match it anymore.
Try to train the model without pretraining.

architecture
I don't load the YOLO weights. the problem occurs when I start to create the model. there are some note:

Original YOLO mode created by keras==2.1.5

model.py
from keras import backend as K
from keras.layers import Conv2D, Add, ZeroPadding2D, UpSampling2D, Concatenate, MaxPooling2D
from keras.layers.advanced_activations import LeakyReLU
from keras.layers.normalization import BatchNormalization
from keras.models import Model
from keras.regularizers import l2
...

However, the SKNet created by tensorflow.python.keras, tensorflow==1.8.0

skcon.py
import tensorflow as tf
from tensorflow.python import keras as K
from tensorflow.python.keras import layers
...

so, maybe problem occurs here, but I can't make sure and I can't fit it.

Looks like there is a version mismatch.
You can try to replace from tensorflow.python import keras as K by import keras as K.

Hello,I think the function you quoted is wrong.And there is no full connection layer and pooling layer.What's your opinion?Do you have any other keras version of sknet code?


Implement Gateway datapath cleanup

This PR implements the cleanup for the following cable drivers.

Libreswan
Wireguard
VxLAN

Fixes: https://github.com/submariner-io/submariner/issues/1636
Signed-off-by: Sridhar Gaddam<EMAIL_ADDRESS>

@skitt can you please review?


How to query multiple measurements return single result

Package: influxdb
Version: 1.7.4
I have two measurements, m and n

When I execute command “select * from m,n”, I get this result but not want

I want them to be merged together and sorted by time. like this:  single result
time                        age name todo

1557834982119904700  11  tom
1557834988682721800  10  sam
1557835012263480100                  good
1557835025176070900  15  amy
What should I do, my influxdb client("github.com/influxdata/influxdb/client/v2"),thank you very much

The data structure you're looking for requires a join and isn't possible with InfluxQL, but should be pretty simple to get with Flux. Are age, name, and todo tags or fields?

Thank you for your answer. The age, name, and todo are fields. I didn't know Flux before, so I need to study it now.

https://github.com/influxdata/docs.influxdata.com/issues/2249#issue-444427499
I am having some trouble when using FLux.

I use Chronograf, but I still can't get the results I want.
I want a data structure like this
time                        age name todo

1557834982119904700  11  tom
1557834988682721800  10  sam
1557835012263480100             good
1557835025176070900  15  amy
1557835025176070900             bad
Instead of a bunch of duplicate data. @sanderson

After thinking through it, I don't think join is what you need. None of the example data points share any common attributes, so there's nothing that the could usefully join on. I think you can use pivot(), union(), and group() to get what you need. Try this:
data = from(bucket: "database/autogen")
	|> range(start: -10h)

m = data
  |> filter(fn: (r) => r._measurement == "m" )
  |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")

n = data
  |> filter(fn: (r) => r._measurement == "n")
  |> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")

union(tables: [n,m])
 |> group()

pivot() will align all the field key-value pairs into columns. union() will join to two streams into one. group() (which by default removes all grouping) will combine everything into a single table.

You are awesome! In your way, I have completely achieved the desired result. It looks like this:

Thank you  @sanderson ! Thank you very much!


Remove static

Codecov Report

Merging #273 (38a48f0) into master (083672f) will not change coverage.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##             master     #273   +/-   ##
=========================================
  Coverage     70.12%   70.12%
  Complexity      639      639
=========================================
  Files            95       95
  Lines          1968     1968
  Branches        266      266
=========================================
  Hits           1380     1380
  Misses          482      482
  Partials        106      106

Impacted Files
Coverage Δ

...c/main/java/seedu/masslinkers/ui/ModListPanel.java
0.00% <0.00%> (ø)

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


[compute-ai-embeddings] Compute Embeddings Agent: execute calls asynchronously and in batches while preserving per-key ordering

Summary:
This patch comes with two contributions:

OrderedAsyncBatchExecutor
Using OrderedAsyncBatchExecutor in the Compute Embeddings Agent

## OrderedAsyncBatchExecutor
This  patch introduces an utility to implement batch computations, OrderedAsyncBatchExecutor, but with asynchronous completion and strict ordering guarantees.
This utility will be used by all the async agents, especially the ComputeEmbedding agent, the AI Chat completions, the Query  agents and the Vector DB Sink agents.
The idea is that for each record we compute an hash function that maps the record to a bucket.
Each bucket processes the record in order by passing them in batches to an external processor.
The processor is supposed to be asynchronous and it must acknowledge the completion of the execution for the current batch (by completing a CompletableFuture).
OrderedAsyncBatchExecutor will never send two concurrent batches for the same bucket to the Processor, it always waits for the Processor to finish before submitting the next batch.
This patch also moves TransformFunctionUtil.BatchExecutor to a common module, in order to be used by other components, next to OrderedAsyncBatchExecutor
Compute Embeddings Agent
The new utility is now used by the "compute-embeddings". The agent already sent batches of texts to the API, but before this patch it waited for each call to complete before sending the next batch.
The default behaviour, with flush-interval = 0, sends only one text at a time, and this is perfect for realtime chat.
When the flush-interval is greater than zero the texts are grouped, taking into consideration the key of the message, then they are sent to the API.
The new parameter "concurrency", with default = 4, defines how many concurrent APIs calls the agent can issue at a time. This works because we use the concurrency parameter to define the number of "buckets" for the underlying  OrderedAsyncBatchExecutor

https://docs.langstream.ai/building-applications/api-reference/agents#compute-ai-embeddings


Remove firmware in cloud images

Currently, we build the kernel containing modules and firmware, but the firmware is not needed for the cloud images, like GCP, AWS, Azure and so on.
Removing firmware when building cloud images also helps to increase startup speed, especially when decompressing the initrd.

AWS AMI is a special case. It is built differently than other images.


Increase database capacity to avoid intermittent connection timeouts

Looks like DB capacity causes intermittent timeouts when there is regular maintenance going on
It looks like if we set it to minimum 2, maximum 4, there won't be issues anymore
(Current db capacity is set to minimum 0.5, maximum 1)
See 🔒 Slack thread

@KevinJBoyer is this ticket still worth doing or did we discover that this isn't the root cause?

My guess is it's still worth doing. Just observationally, this went from a once or twice a week occurrence, to only happening exactly once since I increased the acu, across two different deployments of the platform.

So it could be that the single occurrence I've observed since then was something else. We could do it, then have a follow-up ticket to revisit in three months and see if time-out incidents have gone done since then.


[loottracker] Armadylian & Bandosian guards are not tracked

The monsters in question appear in Elite Coordinate clues.
The reason that the loot doesn't appear is likely because it is slightly delayed.
Also affects the "Only show loot" option for the Ground Items plugin

I suppose this would also mean that the loot tracker wouldn't track loot from these NPCs?

Loot tracker does not track the loot from these NPCs, correct

This was fixed at some point


Zendesk: update zendesk-java-client once it depends on asyncclient 3.x

Follows https://github.com/apache/camel-quarkus/issues/4514. Async-httpclient is upgraded to 3.x. This dependency should be brought by com.cloudbees.thirdparty:zendesk-java-client. If such java client exists, enable @sync task for ahc.version https://github.com/apache/camel-quarkus/blob/main/pom.xml#L68

No longer relevant since https://github.com/apache/camel-quarkus/pull/5202.


platform_view with support for SurfaceView in android

As per documentation of platform_view ,  The embedded Android view is painted just like any other Flutter widget.
Does that mean,  we don't get surface callbacks for SurfaceView ?
We are playing DRM contents on ExoPlayer and we need SurfaceView for that .
Will flutter's platform_view help us in this regard .
If not , is there any alternate approach ?
I would like to use flutter for rendering all other UI and use native SurfaceView only for Video rendering.

Please consider asking support questions in one of the other channels listed at http://flutter.io/support .

ok will do thanks !

I have posted this question in flutter-dev google groups as well .
https://groups.google.com/forum/#!topic/flutter-dev/ZZadkHOfXfM
Still no luck !

@ckarthickit did you find a solution?

@kartdroid
Flutter now support Hybrid composition which enables Android native views to be rendered as an independent View and composed along with Flutter UI and gives access to SurfaceView. Read this issue for more details.
Closing this.


Add ability to execute arrayChain manually

Adds execute method for arrayChain implemented in #61

@tshemsedinov it provides both

Why do we need .execute() if everything works with it or without it?
W need it only as a replacement of nextTick @nechaido for example in the code below both case executes immediately.
api.metasync.for(arr).map(fn1).then(fn2);
api.metasync.for(arr).map(fn1).then(fn2).execute();

In which case we use .execute() ?
But following code will not work:
const c1 = api.metasync.for(arr).map(fn1);
// Some code and c1 should wait for explicit `execute` call
c1.execute();

@tshemsedinov

Why do we need .execute() if everything works with it or without it?
W need it only as a replacement of nextTick @nechaido for example in the code below both case executes immediately.

api.metasync.for(arr).map(fn1).then(fn2);
api.metasync.for(arr).map(fn1).then(fn2).execute();

The idea was to start execution immediately, bacause api.metasync.for(arr).map(fn1).then(fn2); will start when the current turn of the event loop turn runs to completion.
That means api.metasync.for(arr).map(fn1).then(fn2).execute(); will be executed before api.metasync.for(arr).map(fn1).then(fn2);
I've added if (!prev) process.nextTick(self.execute); only not to break original implementation.


Support yang 'bits' type

To properly render the "canonical" yang-netconf xml for bits we need type information details. Specifically the bit-names must be ordered according to bit-position.
I'm thinking we could replace the gdata.Leaf.t with a gdata.Type, that compiles schema.Type into a format suitable for (de-)serialization as well as validation (e.g. value ranges and patterns).
The non-builtin i.e. model specific types could be rendered into the data class files as module constants.
E.g:
module foo {
    container c1 {
        leaf l1 {
            type bits {
                bit-a {
                    position 5;
                }
                bit-b {
                    position 4;
                }
            }
        }
    }
}

into
foo__c1__l1__type = TypeBits({"bit-a": 5, "bit-b": 4})

where class TypeBits(Type) could carry the specific (de-)serialization methods.
What do you think?


Improve BaseResult

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (main@e75395f). Learn more about missing BASE report.
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #40   +/-   ##
=======================================
  Coverage        ?   93.83%
=======================================
  Files           ?       10
  Lines           ?      146
  Branches        ?       18
=======================================
  Hits            ?      137
  Misses          ?        9
  Partials        ?        0

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


crash !! why?

You can try:

If you are using FLEX with dynamic lib

debug in simulators is ok

It looks like they dylib isn't getting copied over to your application's bundle. The suggestion above may work, or some other change to your project set up may be required.


@bind:event not working on input element

I thought the following would work:
<input @bind="@someText" @bind:event="oninput" />

... but it does not (it only updates on change, not on input).
To update on each keystroke, you have to use the following less obvious syntax instead:
<input @bind-value="@someText" @bind-value:event="oninput" />

Also I think we should dropon from these event names, as it feels less obvious than @bind:event="input". The on prefix is a bit of a historical oddity in HTML/JS generally, e.g., more recent APIs like addEventListener don't use on prefixes for event types.

I expected <input @bind="someText" @bind:event="oninput" /> to work (see https://github.com/aspnet/AspNetCore/issues/10909)

To add more info, this is not a regression. This just was never supported.
In the past we could either do <input bind="someText" /> or <input bind-value-oninput="someText" />. There was no way to infer the value part but specify the event.

Not a regression, but we should support it 👍

I started working on this but I realized supporting this goes against our current design,
Consider,
    [BindElement(""div"", ""value"", ""myvalue"", ""myevent"")]
    public static class BindAttributes
    {
    }

<div @bind-value=""ParentValue"" />
This gets resolved as follows,
valueAttributeName = myvalue
changeAttributeName = myevent
Now if we add a @bind:event attribute,
<div @bind-value=""ParentValue"" @bind-value:event=""anothervalue"" />
Should it now resolve to,
valueAttributeName = myvalue
changeAttributeName = anothervalue
?
Supporting that goes against the intended design as mentioned in the comment here.
@SteveSandersonMS @rynowak can you clarify more on the requirements? Also the change in design works with custom BindAttributes specifications?

I have a PR with changes that make sense to me.

Spoke to @SteveSandersonMS. What I have in the PR is the behavior we want.


Custom font doesn't work great with enabled keepWords

Issue summary
Specifying custom font and setting keepWords: true as an option for echo overflows text outside of the terminal. Sometimes it works correctly, but sometimes it doesn't. I would say there is a 1/2 chance of it being displayed incorrectly.
With typing animation:
https://github.com/jcubic/jquery.terminal/assets/5606565/87715012-ce23-459b-b784-22639c11deaf
Without animations:
https://github.com/jcubic/jquery.terminal/assets/5606565/7543932f-c7ec-4db0-9b6e-4fc5ad519253
Everything works correctly with the default font.
Expected behavior
Text with custom font should always stay within terminal container.
Actual behavior
Sometimes, long text overflows the container size to the right.
Steps to reproduce
Here is the code I used:
<style>
    @font-face {
        font-family: msdos;
        src: url("Perfect\ DOS\ VGA\ 437\ Win.ttf");
    }

    .terminal {
        --font: msdos;
    }
</style>

<script>
    $(function () {
        $('body').terminal({
            test: function() {
                this.echo(
                    "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
                    { keepWords: true }
                )
            }
        }, {
            greetings: null,
        })
    })
</script>

The specified font is available here: https://www.dafont.com/perfect-dos-vga-437.font
Browser and OS
The issue is reproduced on:
MacOS Ventura 13.3.1
Google Chrome 115.0.5790.114 (Official Build) (arm64)
Safari 16.4 (186<IP_ADDRESS>.1)

Hmm, maybe keepWords parameter doesn't even matter. I sometimes get the issue even when keepWords: false. Maybe the issue is in the font itself.

I cannot reproduce locally, but If this is random maybe the font is not yet loaded when calculating the size of the character. This happens on initialization of the terminal.

Just found this StackOverflow question: How to be notified once a web font has loaded
I would try:
document.fonts.ready.then(() => {
   $('body').terminal(/* ... */);
});

If this works this should be documented on a Wiki.

Here is a working example, it should work. It uses a dummy hidden element to force downloading of the font and then uses document.fonts.ready to wait for it to be loaded before creating the terminal.

I'm wondering if this whole code can be abstracted away to make the life of users simpler.

I've put the whole code of waiting for custom font into the library. The code is in the devel branch.

@jcubic I've checked the latest dev version of the library and I can still see custom font causing issues with the layout.
I've tried encoding the font into base64 instead, so it loads with html, and it seems to be working correctly now, so it is definitely the issue with the font loading.

@jcubic There is also some weird character appearing now for a split second right before the echo typing animation:
https://github.com/jcubic/jquery.terminal/assets/5606565/dbfd8b45-a0bc-4847-bd19-db989197574b
Not sure if it is related to this issue or to one of the other issues I've reported today (or maybe it was it in the dev earlier).

When testing the devel version did you use CSS from devel as well? It's required for the font loading to work.

Also, can you share a demo where this weird character appears?
I'm not able to reproduce on my end with a devel version, but I don't use base64 encoded font.

The fix was released in version 2.37.0. Please check if it works. Make sure that both JS and CSS have that version.

@jcubic

The fix was released in version 2.37.0. Please check if it works. Make sure that both JS and CSS have that version.

I've checked the new version and still can see the text overflowing to the right sometimes. And it is definitely the newest version 2.37.0, I checked the sources.
It only happens with custom fonts specified in @font-face css block. Any system font seems to work just fine.
I cannot see the exact pattern of when and why it happens. Sometimes it works, sometimes it doesn't. I've tested it in Chrome and Safari on my Macbook and also in Chrome on my Android phone and still can see the issue.
Also, Base64 encoded fonts seem to work better, but I've noticed the issue with them as well.

Also, can you share a demo where this weird character appears?

This is not relevant anymore. I don't see this weird character in the final release anymore.

@olshevski can you provide a reproduction of the issue? How do you create the terminal? I think that there is still one issue that I didn't include with the fix, which is creating the terminal first and then attaching it to the DOM. If this is how you initialize the terminal it will get the wrong font on the inial render.
As a workaround, you can try calling resize or refresh, but I'm not sure it will trigger a recalculation of a since character size.

@jcubic I don't think I'm doing anything tricky, but please look at the sources in case I missed something in the setup.
I've uploaded several demos to my website:
https://olshevski.dev/terminalissue
Here I echo text in onInit and I've managed to catch the issue several times. I've noticed that it is really hard to reproduce the issue just by reloading the page. Closing it and reopening the website however was a bit more efficient. Here is the recording:
https://github.com/jcubic/jquery.terminal/assets/5606565/6a6ac165-3d25-448c-b4ac-d47d3f543b6c
And here I've tried to do the same, but by running a command, just to make sure it is not just some issue with onInit:
https://olshevski.dev/terminalissue2
And here is the video:
https://github.com/jcubic/jquery.terminal/assets/5606565/9e024bda-5de5-4738-a37a-a298848fe736
Also, I've noticed that while opening the html page that is stored locally on the drive, the issue is reproduced much more frequently.

This is really odd. I cannot reproduce this on my machine (Linux/Chrome) and on BrowserStack (MacOS/Chrome). when this happens can you call in the console:
$.terminal.active().geometry()

I was able to finally reproduce on my machine with the second example. The number if columns is way off.

So the problem has nothing to do with animation. There is a timing issue with calculating the size of a single character. The code that forces downloading of custom font needed to be executed after the font resizer was set up. This was making sure that the character size is correct during initialization.
So to sum app it should be fixed in devel branch. If everything will be ok I will release version 2.37.1

@jcubic I took the latest jquery.terminal.min.js and jquery.terminal.min.css, uploaded them to the demos I provided above, and unfortunately I still can reproduce the issue sometimes. You can go and check that it is in fact the latest version from devel.
Also, try to create and open some some html page with the terminal and a custom font from the local drive. The reproduction rate is much higher this way.
That is some annoyingly sticky bug hah 😀

Can you turn off the animation, it takes longer to test, this has nothing to do with the animation. Also, did you refresh the page cache?

I can reproduce it by opening in a new tab (with right click), is this the only way to reproduce it? Or can you open the URL normally? Because if you click on the link it seems to work fine. But with the new tab, it's a different behavior.

@jcubic Clicking the link also reproduces the issue for me:
https://github.com/jcubic/jquery.terminal/assets/5606565/e7d3e9c6-439c-4207-ae93-019d4b3c3a6e

Now it should work, I've added recalculating of character size and refresh of the terminal after the custom font is loaded. This was my first attempt but I didn't include that code because I thought it was not required.

Great, I will release new version.


chore(pie-cookie-banner): DSW-2562 attempt to fix pie-aperture vanilla-app locale resolve

Describe your changes (can list changeset entries if preferable)
Author Checklist (complete before requesting a review)

[ ] I have performed a self-review of my code
[ ] I have added thorough tests where applicable (unit / component / visual)
[ ] I have reviewed the PIE Storybook/PIE Docs PR preview
[ ] I have reviewed visual test updates properly before approving
[ ] If changes will affect consumers of the package, I have created a changeset entry.
[ ] If a changeset file has been created, I have used the /snapit functionality to test my changes in a consuming application

Reviewer checklists (complete before approving)
Reviewer 1

[ ] I have reviewed the PIE Storybook/PIE Docs PR preview
[ ] If there are visual test updates, I have reviewed them

Reviewer 2

[ ] I have reviewed the PIE Storybook/PIE Docs PR preview
[ ] If there are visual test updates, I have reviewed them

/snapit


Single { and } are sometimes url escaped in attributes

If an element is defined inside a binding template or dom-module, single { and } are escape in some cases. As far as I can tell, this is an undocumented behaviour. I cannot find information on how to prevent this. This behaviour breaks custom timesets in <leaflet-map>: leaflet-extras/leaflet-map#22
It feels a lot like PHP's infamous magic quotes. There is no way to tell from inside an element, whether %7B and %7D were intended by the user or automatically escaped by polymer.
More general, this behaviour seems to be triggered based on the name of the attribute. This might have security implication because developers might not understand whether a certain value is escaped or not.
Testcase:
<template is="dom-bind">

   <a
      href="https://stendhalgame.org/map/3/{z}-{x}-{y}.png"
      title="https://stendhalgame.org/map/3/{z}-{x}-{y}.png"
      src="https://stendhalgame.org/map/3/{z}-{x}-{y}.png"
      url="https://stendhalgame.org/map/3/{z}-{x}-{y}.png"
      name="https://stendhalgame.org/map/3/{z}-{x}-{y}.png">link</a>

</template>

Expected behaviour: { and } are unchanged for all attributes
Actual behaviour: { and } are url escaped, if the attribute is named href, src or url. It remains unchanges for attributes named name or title.

I know it may not be the prettiest solution in the world, but how about allowing the user of the property to use []'s which are then replaced with {}'s inside the element. Then at least the url can be set

NAVER - http://www.naver.com/
<EMAIL_ADDRESS>님께 보내신 메일 <Re: [polymer] Single { and } are sometimes url escaped in attributes (#1960)> 이 다음과 같은 이유로 전송 실패했습니다.

받는 사람이 회원님의 메일을 수신차단 하였습니다.

Per http://tools.ietf.org/html/rfc3986#section-2.3 and https://perishablepress.com/stop-using-unsafe-characters-in-urls/ { and } are unsafe characters in a URL and must be escaped.
See the following jsBin: http://jsbin.com/rinadu/edit?html,console (no polymer involved).  The parser in Chrome at least appears to automatically escape unsafe characters when parsing attributes known to be URL's.  This is the native parser behavior.
You should use decodeURI if you need to read the unescaped value of the URL.


Add resistor exercises

Problem specification
~~https://exercism-team.slack.com/archives/GC3K95MRR/p1552128336013100~~

Unfortunately link to Slack is broken. :(
Problem specification.

All resistor-color exercises are added by @lathspell:

resistor-color
resistor-color-duo
resistor-color-trio


Nyxt browser fails to build on aarch64-darwin, Package ‘notify-osd-0.9.34’ is unsupported on aarch64-darwin

Describe the bug
Nyxt browser fails to build on aarch64-darwin, Package ‘notify-osd-0.9.34’ is unsupported on aarch64-darwin
Steps To Reproduce
Steps to reproduce the behavior:

nix shell nixpkgs#nyxt
see error

error: Package ‘notify-osd-0.9.34’ in /nix/store/0p89jb5wwh9wzs6mr8p527y9r6w1a27n-source/pkgs/applications/misc/notify-osd/default.nix:26 is not supported on ‘aarch64-darwin’, refusing to evaluate.

       a) To temporarily allow packages that are unsupported for this system, you can use an environment variable
          for a single invocation of the nix tools.

            $ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1

       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allowUnsupportedSystem = true; }
       in configuration.nix to override this.

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowUnsupportedSystem = true; }
       to ~/.config/nixpkgs/config.nix.
(use '--show-trace' to show detailed location information)
⏎

Expected behavior
Package should install as expected
Notify maintainers
Nyxt: @nlewo @payas
notify-osd: @bodil
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"aarch64-darwin"`
 - host os: `Darwin 21.2.0, macOS 12.1`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.4`
 - channels(shauryasingh): `""`
 - channels(root): `"nixpkgs-21.11pre330454.9cae36cff14"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixpkgs`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

Any updates on this? @shaunsingh did you run into any gotchas that you worked around?

I think we can just disable it on Darwin platforms. Looks like its a linux things: https://github.com/khurshid-alam/Notify-OSD
I'll mess around with the package and see if I can get it to build sometime soon

I would try #126082, and you might have to rollback or fix the webkitgtk as it is often broken https://hydra.nixos.org/job/nixpkgs/trunk/webkitgtk.x86_64-darwin/all (upstream doesn't run tests for GTK backend on darwin)

Removing notify-osd is insufficient, as webkitgtk fails to build (and I haven't found a prior build succeeding for aarch64-darwin, perhaps I'm not searching correctly).
There are a few PRs and branches that look promising (https://github.com/NixOS/nixpkgs/pull/126101) but not building for me right now.


'PermitRootLogin No' paradox

The README shows PermitRootLogin no -- does this make sense if AuthorizedKeysCommandUser root ?
Perhaps it should be PermitRootLogin without-password ?

Nope, as AuthorizedKeysCommandUser determines the user that RUNS the command, not the user to which it applies.


⚠ Bofrost.at has degraded performance

In b8b3498, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 3386 ms

Resolved: Bofrost.at performance has improved in 996d379.


move jest-html-reporter to dev deps

Description of change

Pull-Request Checklist

[x] Code is up-to-date with the main branch
[x] npm run lint passes with this change
[x] npm run test passes with this change
[ ] This pull request links relevant issues as Fixes #0000
[ ] There are new or updated unit tests validating the change
[ ] Documentation has been updated to reflect this change
[x] The new commits follow conventions outlined in the conventional commit spec

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 87.34%. Comparing base (5fd35e8) to head (1ba7887).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #170   +/-   ##
=======================================
  Coverage   87.34%   87.34%
=======================================
  Files          11       11
  Lines         972      972
  Branches      295      295
=======================================
  Hits          849      849
+ Misses        123      117    -6
- Partials        0        6    +6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


How to print the metric (across all working trainer in DDP mode) into console after each epoch is end?

❓ Questions and Help
What is your question?
How to print the metric (across all working trainer in DDP mode) into console after each epoch is end?
When I run the program in a remote cluster, it is not convinent to use tensorboard to view the log.
Code
What have you tried?
First, I want to find a hook  called after the metrics are gathered through multiple workers, but I'm not able to find it.
Callbacks are supposed to be designed to solve similar problem. But I do not know which one is the correct entry.
I've tried on_validation_epoch_end,  on_validation_end, both print a message in each worker.
Second, about to produce the logging message, I tried logging and getLoger, notworking.  I tried print, it works. But I still want to use logging. Any suggestions?
What's your environment?

OS: [e.g. iOS, Linux, Win]  Mac
Packaging [e.g. pip, conda] pip
Version [e.g. <IP_ADDRESS>]  1.1.8

I noticed that in on_validation_end, the metrics seem been synced and are same accorss workers.
Then the problem becomes that how can I check whether I'm in the main/first process so that I can just print one log.
There is another issue:  the on_train_end seems never been called, while on_validation_end called in the end of each epoch.

For example:
self.log("metric", metric, on_epoch=True, prog_bar=True, sync_dist=True)

if self.global_rank == 0:
    # do something only on main process

Thank you for your help!

There is one problem left:
How can I use logging module (or other logger module) to log debug message or log information  in callbacks ?
They seems not working. Only print can print message to the console, which is not full functional logger.

In the callback, you can simply call "pl_module.log(...)".
For logging debug messages, I can recommend the built in Python logging module and setting the level to logging.DEBUG or INFO.

Thank you for your help.
logging.info(...) works in the callback, but pl_module.log(...) is not working. It says that pl_module.log(...) not permit in on_validation_end .

Try on_validation_epoch_end instead of on_validation_end
A concrete example of what you want to achieve would be great (code snippet).

Thank you very much for your nice help.
Here is my current code and the problem.
I've asked a question containing my current code here:  https://github.com/PyTorchLightning/pytorch-lightning/discussions/6352 , but currently no answers.
def on_validation_end(self, trainer, pl_module):

        if pl_module.global_rank == 0:
            logging.info("Dev: " + str(pl_module.problem_evaluator_dev.compute()))

and it print a log:

INFO:root:Dev: {'unlabel.Precision': tensor(0.7071, device='cuda:0'), 'unlabel.Recall': tensor(0.7551, device='cuda:0'), 'unlabel.FBeta': tensor(0.7303, device='cuda:0'), 'label.Precision': tensor(0.7323, device='cuda:0'), 'label.Recall': tensor(0.7323, device='cuda:0'), 'label.FBeta': tensor(0.7323, device='cuda:0'), 'unlabel_graph_accuracy': tensor(0.3521, device='cuda:0'), 'label_graph_accuracy': tensor(0.3287, device='cuda:0')}

Following the log, the checkpoint callback print a log:

Epoch 1, global step 1567: dev_label.FBeta/dataloader_idx_0 reached 0.81325 (best 0.81325), saving model to ".../lightning_logs/version_21/checkpoints/epoch=1-step=1567.ckpt" as top 1

where the "dataloader_idx_0" is corresponding to the  problem_evaluator_dev, so the printed value should be same.
I used  pytorch_lightning version 1.1.8. So may be compute reset something? I read the code of checkpointcallback, but cannot figure out how it get and compare the metric.
I aslo tried direcly get the metric value from trainer.callback_metrics:
    def on_validation_end(self, trainer, pl_module) -> None:

        if trainer.running_sanity_check:
            return
        metrics_dict = deepcopy(trainer.callback_metrics)
        if self.table_context is None:
            self.table_context = tp.TableContext(headers=metrics_dict.keys())
            self.table_context.__enter__()
        self.table_context([v.item() for v in metrics_dict.values()])

However, the value is not synced between ddp training processes.
I donot use the prog_bar option because there are too many metric and can not show in one line. In some enviroment, the progress bar is shortened so I cannot read them all.
Thank you again for your nice help!

There is another related question:
We initialize the metric by compute_on_step=True, so in each step, the compute() is called, and the "state variables" had been "synchronized across the distributed backend".
So the metric should be synced and always same accross the distributed backend.
But why the phenomenon in the previous post happen?

@rudaoshi the metric is only synchronized at each step when dist_sync_on_step=True. compute_on_step=True just indicates that the metric should be returned for the current batch.
Also since metrics have build in synchronization you should not log them using sync_dist=True.
In general I would recommend logging the metric objects directly (so logging self.log(self.metric,...) instead of self.log(self.metric.compute(),...), as lightning will then take care of this for you.

@rudaoshi
Did you figure out how to do this ?


CrossValidationReporter - add metrics

Is your feature request related to a problem? Please describe.
As a Data Scientist, I'd like to access the metrics
Describe the solution you'd like
from sklearn.metrics import fbeta_score, make_scorer
ftwo_scorer = make_scorer(fbeta_score, beta=2)

cv_reporter = CrossValidationReporter(estimator, X, y)
cv_reporter.metrics.recall() # something we compute already
cv_reporter.metrics.accuracy() # this is not something we compute already
cv_reporter.metrics.personal_scorer(scorer = ftwo_scorer)

I'd like to be able to call any scoring defined in sklearn, but if it becomes very long to write/maintain/document or whatever, we can completely consider writing a short list.
Describe alternatives you've considered, if relevant
No response
Additional context
This clearly needs some tech specification, as it involves quite a lot of storage + questions about how to deal with cache.

@augustebaum & @thomass-dev, ready for tech specifications!


[Bug]: This Program is useless without a way to run it.

BG3 Mod Manager Version
Current version as of 01/25/21
BG3 Game Version
Patch 6
Bug Summary
There is no .exe
No it does not automagically show up with a .NET download.
Please upload complete programs.
Links
No response

Download from the "Latest Releases" section on the right. (NOT the master, or the "Code" section)

The link to the latest release is also directly linked in the readme (visible on the front page), on step 3.


Where did client_send_interval and server_send_interval go?

Between 0.15.1 and main, client_send_interval and server_send_interval disappeared in favor of a server_replication_rate.
I was able to fix this, and found it easily,
changing on the server:
replication: ReplicationConfig {
                send_interval: SERVER_REPLICATION_RATE,
                ..default()
            },

and on the client:
            replication: ReplicationConfig {
                send_interval: CLIENT_REPLICATION_RATE,
                ..default()
            },

But I'm suddenly having a familiar issue where the client becomes very bottlenecked and lags heavily because it can't keep up with inputs again.
Is there an input_send_rate that's missing? How can I ensure the client is sending at a rate of 100ms again?

Just found https://github.com/cBournhonesque/lightyear/pull/466

The replication_rate can now be set per channel, as you found!
The replication_interval is separate and is set in the ReplicationConfig

What about the input send rate? That's my issue here.

Are you sure the input send rate is making you lag; not the general simulation rate? (tick_interval)
I'm a bit surprised that sending the input messages (which are pretty small) frequently causes issues.
I don't think there was a way to adjust the InputChannel send rate; I added an option here: https://github.com/cBournhonesque/lightyear/blob/main/lightyear/src/client/input/native.rs#L76

Are you sure the input send rate is making you lag; not the general simulation rate? (tick_interval) I'm a bit surprised that sending the input messages (which are pretty small) frequently causes issues.
I don't think there was a way to adjust the InputChannel send rate; I added an option here: https://github.com/cBournhonesque/lightyear/blob/main/lightyear/src/client/input/native.rs#L76

Fixed when I set the input_send_rate to something lower than the frame rate.
Thanks for the assist!


Configuration Cache fix for managingTransitiveDependencies

Configuration Cache fix for managingTransitiveDependencies excludeForDependency
Signed-off-by: Vinay Potluri<EMAIL_ADDRESS>
Fixes #21811
Context

Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass sanity check: ./gradlew sanityCheck
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[x] Verify design and implementation
[x] Verify test coverage and CI build status
[x] Verify documentation
[x] Recognize contributor in release notes

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.

@vinaypotluri thank you for your contribution!


Break code file apart

Break code file apart and rebuild with browserify producing two artifacts that should be put in /redist directory.  At least I think it's redist.  Anyhow the common nomenclature should be researched and used.
Logical points to break code file apart at:

name
description
example

top doc section
just about every line above 500

draw
any function related to drawing
drawScrollBars, drawSelectionBorders, drawCell, drawRow, drawRowHeader, drawOrderByArrow, radiusRect

scroll bar interface
code that handles the scroll bar, but not drawing the scroll bar
initScrollBox

context menu
code related to the context menu

cell edit
code related to editing cells

key handlers (related closely to cell edit, might be better kept together)
code related to handling keystrokes

public interface and getter setters
public interface intf binding and intf getter setters.

initialization, dom related
anything touching dom elements not covered by another function
attachCss, appendTo, clipElement

primary events
events that interact with dom event handlers
mouse move, click, mouse up, mouse down

secondary events
events dreamed up by the grid authors
dragResizeColumn, scrollGrid, resize

non-altering methods
methods that don't "change" anything on the grid
getCellAt, getClippingRect, getHeaderByName

altering methods
methods that alter the behavior or appearance of the grid
expandTree, selectRow, fitColumnToValues

this can be tracked on branch issue-18

Completed.  Not according to the above plan.  Further refactoring would be cool, but let it happen organically.


Increase flysystem minimum version

See https://github.com/thephpleague/flysystem/security/advisories/GHSA-9f46-5r25-5wfm

bump!

Thank you kindly. However, I just wanted to let you know that this is not needed. Dependency resolving fixes this, the fixed version is included in the constraint.
Tip for @bssanchez: bumping issues is in the top 5 of maintainer frustrations, it makes maintainers want to do the thing you want them to do less. Please stop doing it.

Care to elaborate @frankdejonge? Shouldn't this be required to guarantee nobody installs a version lower than 1.1.4? Or am I missing something? 👀

Hi @krenor,
The version constraint includes the fixed version, so there is not a blocker. The consumer of this library should always have a direct dependency on the main library as well. When users upgrade their dependencies, they'll get the fixed version. We can do a new release for this package, but unless they do an upgrade (which would have fixed the issue for them regardless of this fix) they won't get this upgrade either. So all the upgrade scenarios are just the same, it's just more steps and more management for me.
Even in the scenario where somebody only depends on this package, a dependency upgrade would fix this. And if they don't do that they wouldn't have gotted this "fixed" version either.


⚠ ComboForum has degraded performance

In d7d20ca, ComboForum (https://comboforum.com) experienced degraded performance:

HTTP code: 200
Response time: 13842 ms

Resolved: ComboForum performance has improved in bfdc874.


Django Rest Framework 3.5.0

Coverage decreased (-0.1%) to 47.114% when pulling 92ce8db9464518760fb01d68f2e589a7dfd56174 on drf-3.5 into ef3ce9adddd6f5344972209e00589c0e357dfc9f on master.

 Last update ef3ce9a...92ce8db


Makes cross-chain fee charging reasonable: withdrawal fee and deposit fee

The background:
Bitcoin transaction fee is proportional to the size of the transaction in bytes and both inputs and outputs contribute to the size of the transaction.

Input part: The more UTXOs TSS address spends, the more expensive the transaction fee will be.
Output part: The more new UTXOs TSS address creates, the more expensive the transaction fee will be.

When user withdraws BTC from Zetachain, the TSS needs to sign a Bitcoin outTx to send BTC to user's Bitcoin address.
Typically, the TSS just needs two UTXOs to do the work: the nonce-mark UTXO and the UTXO that contains enough BTC amount to pay the user.
There are two problems in the above approach:

The number of UTXOs owned by the TSS will grow over time because Bitcoin users keep depositing BTC to TSS address.
1.1> On TSS migration, the TSS needs to spend all its UTXOs to move the funds to the new TSS address. This could be a time-consuming and expensive process.
1.2> Moreoever, users can also spam the TSS address with dust-value deposits.
On big-value withdrawals, the TSS may need to spend more than two (unpredictable number) UTXOs to pay the user, which causes not only higher transaction fee but also TSS key-signing timeout.

The solutions to the above problems are:

UTXO consolidation: the TSS will constantly consolidate its UTXOs by spending small-value UTXOs to itself.
After consolidation, the TSS will have fewer UTXOs (<= 10), making TSS migration and big-value withdrawal cheaper and faster.

Separate deposit fee from withdrawal fee:
2.1> User who deposits UTXO to TSS address must pay a deposit fee. The deposit fee is used to cover the input part of outTx transaction fee.
  This is because the deposited UTXO will be spent by the TSS in the future and spending a UTXO costs fee.
  This also discourages users from spamming the TSS address with dust-value deposits.
2.2> User who withdraws BTC from Zenchain must pay a withdrawal fee. The withdrawal fee is used to cover the nonce-mark part (input & output) and output part of outTx transaction fee.

https://zetachain.slack.com/archives/C04GM8RV5E3/p1700072284621409?thread_ts=1700071323.699129&cid=C04GM8RV5E3

how is the consolidation tx scheduled?

how is the consolidation tx scheduled?
Consolidation tx is now scheduled on every outTx. There is no additional/separate schedule for consolidation.

Every bitcoin outtx causes two bitcoin txs?


Signal handling seems to not work as expected

Operating system
MacOS 13.2.1
Helmfile Version
▓▓▓ helmfile    Version            v0.151.0   Git Commit         "brew"   Build Date         17 Feb 23 08:09 EET (3 weeks ago)   Commit Date        17 Feb 23 08:09 EET (3 weeks ago)   Dirty Build        no   Go version         1.19.6   Compiler           gc   Platform           darwin/arm64
Helm Version
version.BuildInfo{Version:"v3.11.2", GitCommit:"912ebc1cd10d38d340f048efaf0abda047c3468e", GitTreeState:"clean", GoVersion:"go1.20.2"}
Bug description
When I'm trying to interrupt helmfile apply by Ctrl+C from console all works as expected, release is marked as failed and I'm getting Canceled messages in stderr.
 So I find that only kill -9 <pid> is working, but of course -9 just kills process without marking releases as failed.
This errors seems to be not only limited to MacOS, cause workflow canceling in my Github Actions workflow is also not handled properly.
Example helmfile.yaml
Doesn't matter
Error message you've seen (if any)
No
Steps to reproduce
Start long running helmfile apply, send SIGINT/SIGTERM using the kill from another terminal
Working Helmfile Version
No
Relevant discussion
No response

Related issues in the past:
https://github.com/helmfile/helmfile/issues/416
@yxxhero @mumoshu Mentioning you as contibutors/maintainers who were participating in previous issue.

@dm3ch Thanks for your feedback. and what is the expected behavior?

Expected that the behaviour of sending SIGINT via kill should be the same as when you are just pressing Ctrl+C in terminal running helmfile

@yxxhero I would like to make it. But unfortunately it seems that my knowledge is not enough.
As far as I understand the signal handling code (https://github.com/helmfile/helmfile/blob/main/main.go#L29-L40) should live in lambda function (https://github.com/helmfile/helmfile/blob/main/main.go#L20-L22) to be able to be handled immediately.
In my experiment moving mentioned logic to lambda and adding debug print I ensured, that signal is handled immediately (even when it's send by kill).
Unfortunately I don't understand how CleanWaitGroup supposed to work. So my change just hangs up on CleanWaitGroup and waits until successful end of apply (not propagates a signal to child processes)

I tried to just drop CleanWaitGroup.Wait() and all works as I expect, except cleaning temporary files.

I have done some PoC with rough context propagation and sending sigint to helm in case of context cancelation.
It seems to work as expected, but code is very hacky, unfortunately, I'm not familiar enough with both helmfile code base and golang.
I would be glad if someone review this and make suggests/comments.
By the way, I still don't understand why the current master handles ctrl+c (which as far as I know sends SIGINT) and kill -2  (which also sends SIGINT) different

Pelease fix DCO issue.

Pelease fix DCO issue.

Done, but there's still multiple things to be done:

Fix tests
Get rid of code duplication (and some of context.Background()) that were done to simplify PoC

@dm3ch Hi, will you continue to finish it? if not please tell me

Sorry for the delay @dm3ch! I finally had some time to test your fix. I used a modified version of https://github.com/steved/helmfile-wait-interrupt contributed by @steved along with the prev issue #416. Your fix worked perfectly!
Let me approve and merge the PR soon.
For reference, I've published the modified repro setup at https://github.com/mumoshu/helmfile-wait-interrupt/commit/3f9534ffe8b489d3dece9937e0d6b95703fbeb0a


Python input()

I can't run programmes in python with input().

on python*

Can you send the code so that I can analyze the reason...

Can you send  me  the code so that I can analyze the reason.?

Script by default can't handle inputs in python (it just shows output). You can work around this by connecting Script to a terminal package. I explained how here. I hope it is useful.


migration: added a script to remove the jobs without ttl

What this PR does / why we need it: to add a migration script to remove the jobs without ttl
Fixes #4198
Checklist:

[ ] Added relevant notes to WIP-CHANGELOG.md
[x] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[x] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] will create noticeable cluster degradation.
E.g. logs or metrics are not being collected or Kubernetes API server
will not be responding while upgrading.
[ ] requires draining and/or replacing nodes.
[ ] will change any APIs.
E.g. removes or changes any CK8S config options or Kubernetes APIs.
[ ] will break the cluster.
I.e. full cluster migration is required.

Chart checklist (pick exactly one):

[x] I upgraded no Chart.
[ ] I upgraded a Chart and determined that no migration steps are needed.
[ ] I upgraded a Chart and added migration steps.

Doesn't this delete any running jobs too?

if they do not have the TTL set, yes.
I will add a filter for the running jobs


Support S3 prefix configuration

The code already supports various options to configure S3 uploads, but they aren't accessible to the end developer! And I'd really like to use them.

Yes - let's do that. Can you make the parameter naming match those in the S3 type where it is exposed? (See https://github.com/guardian/deploy/blob/master/magenta-lib/src/main/scala/magenta/deployment_type/S3.scala#L19-L24)

@sihil done!

Looks good. Do you want some help going through how to test and roll this out?

@philwills yeah that would be useful actually. I don't want to break Riff Raff and ruin everyone's day!

@philwills @sihil Tested this on CODE, though not thoroughly, and appears to work.

:+1: Want to push it out yourself?


README update due to Github security change

Hi,
While trying to setup the example geolocation flutter app, I realized I needed this package. I was getting git issues while following the readme when it came to adding the dependency. Can the readme be updated?
This fixed the issue:
dependencies:
  baseflow_plugin_template:
    git:
      # From
      url: git://github.com/Baseflow/baseflow_plugin_template.git
      # To
      url: https://github.com/Baseflow/baseflow_plugin_template.git
      ref: v2.0.0-nullsafety

Related link: https://stackoverflow.com/questions/70663523/the-unauthenticated-git-protocol-on-port-9418-is-no-longer-supported

I can confirm that this fixes the issue!


Treat URL Argument as components

In the current implementation, URL arguments looks a special case, passed directly to views.
They may be treated as components, allowing to explicly tell where they come:
routes = [Route('/things/{thing_name}', 'GET', views.get_thing)]
[...]
def get_thing(thing_name: URLArgument):
    ...

And wrap them with intermediate components like:
Thing = namedtuple('Thing', 'thing_name')

def make_thing(thing_name: URLArgument) -> Thing:
    ...
    return Thing(thing_name)

routes = [Route('/things/{thing_name}', 'GET', views.get_thing)]

app = App(routes=routes,
          components=[Component(Thing, init=make_thing)])

def get_thing(thing: Thing):
    ...

Currently it looks not possible to depend on an URIArgument in a Component, and not dropping the URL Argument to the view signature raise:
E   apistar.exceptions.ConfigurationError: URL Argument "thing_name" missing from view "<function get_thing at 0x...>".

It would still be possible to ensure the "thing_name" URLArgument is properly eaten by the chain of dependencies to raise some of:
E   apistar.exceptions.ConfigurationError: URL Argument "thing_name" not used by view nor any of its dependencies "<function get_thing at 0x...>".

Does it look like a good idea? Should I try to implement it?

‘PathParams’ and ‘PathParam’ are components in #400


tfsec: 1.0.11 -> 1.1.2

Motivation for this change
https://github.com/aquasecurity/tfsec/releases/tag/v1.1.2
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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 158564 run on x86_64-linux 1

1 package built:

tfsec


Disable third party applications catch webview url's

Hello
We have application which allow users to sign-in in Aliexpress account via our webview, but we have some problem with third party Aliexpress application, when user trying to sign in aliexpress via our webview, installed Aliexpress app will catch that url and open it in self, how we can avoid that? Thank you!

@koteesy  How you solved this?