Peek/Dequeue RSM-14 with timeseries in result section

Synopsis
As an MDR
I want to be able to peek and dequeue a complete RSM-014 message for total production (E18)
So that we can validate the total production (E18) result
Acceptance-Criteria

[ ] Peek a valid RSM-14 an RSM-014 with calculated total production quantity

Tech-Notes

Link to valid rsm-014 here ("Notify aggregated measure data.xml")
Link to documentation in confluent
Link to documentation in Azure devops

Tasks

[ ] Fix time series data error. See here. - @BjarkeMeier
Below fixed by removing unprocessed and published data in geh-timeseries. But looks like publisher no longer publishes points, and I can't see logs from the job anymore.

/databricks/python/lib/python3.8/site-packages/package/balance_fixing_total_production.py in _get_enriched_time_series_points_df(time_series_points, metering_point_period_df, period_start_datetime, period_end_datetime)
    245     # If we end up with more than one point for the same Meteringpoint and "time".
    246     # We only need the latest point, this is essential to handle updates of points.
--> 247     timeseries_df = timeseries_df.withColumn(
    248         "row_number", row_number().over(window)
    249     ).where(col("row_number") == 1)
...
...
...
AnalysisException: Column 'GsrnNumber' does not exist. Did you mean one of the following? [time, month, quantity, resolution, storedTime, year, day, position, quality, start_datetime, transaction_id, metering_point_id, registration_date_time];
'Project [metering_point_id#28, transaction_id#29, quantity#30, quality#31L, position#32L, resolution#33L, start_datetime#34, registration_date_time#35, storedTime#36, time#37, year#38, month#39, day#40, row_number() windowspecdefinition('GsrnNumber, time#37, 'RegistrationDateTime DESC NULLS LAST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS row_number#671]

[ ] Verify the AC's on U / T - @BjarkeMeier

Done tasks

[x] Update message type of stored grid area updated events from "GridAreaUpdatedIntegrationEvent" to "GridAreaUpdated" in all environments. Or replay grid area updated events for grid area 805 and 806 in all environments. - @BjarkeMeier
[x] Test contract between output and sender PR #266- @BjarkeMeier
[x] Switch the "old" calculator out with the new one - PR #265 @BjarkeMeier
[x] Test that events two events on the same time adds up to one period @lasrinnil PR #264
[x] Test that events and timeseries conform to "storedTime" in the calculator @seblapela
[x] Create test(s) that ensure that the wholesale domain expects the same schema of time series points as the time series domain PR #260 - @johevemi
[x] In what order should integration events be replayed to ensure correct state (or should we get historical data from metering point domain)? - @BjarkeMeier - I have booked Søndergård and Faurskov Tuesday
[x] Use Databricks GitHub repo for notebooks to avoid loosing them, have version control and finally make them available as part of the open-source repo. Branch 32-notebooks has been created. Also remove storage key from GitHub branch 32-notebooks in opengeh-wholesale (and probably revoke it for security reasons) @ftoft
[x] Clean up usage/configuration of Delta lake in wholesale repo PR #256 - @johevemi
[x] Do not rely on storedTime of points for sorting. Use "time when point was received by DH3" - @BjarkeMeier
[x] Add tests of get_result_df @lasrinnil PR #237
[x] Fix todos regarding "Use range join optimization" - @BjarkeMeier UPDATE: Happened to be a Delta thing
[x] Add tests of get_metering_points_df - @BjarkeMeier
[x] Verify OperationTimestamp on events which are stored. Use it in balance fixing (see comment(s) in code). Should we throw when receiving events missing operation time stamp? PR #217) @defectiveAi
[x] Test that pyspark enum literals and values matches those in .NET (however not requiring that all literals must be present in pyspark) PR #238 @defectiveAi
[x] Perhaps I'm wrong but looks like geh-timeseries publishes originalTransactionIDReference_Series.mRID instead of mRID as transaction ID - @lasrinnil PR#521

[x] Update doc in timeseries and wholesale about easier debugging of test using VSCode extension "Python Test Explorer for Visual Studio Code" - @BjarkeMeier
[x] Refactor tests of _get_grid_areas_df PR #232 - @johevemi
[x] Implement notebook in code - @BjarkeMeier and @seblapela
[x] Implement consumption of MarketParticipant integration events ~place in separate container~
[x] Create a helper in python which can parse GridAreaCodes and respond with GridAreaLinkId's for a given date.
[x] Add metering point id to metering point events - @seblapela
[x] Seems like we don't publish new time series points in geh-timeseries when submitting time series - @johevemi
[x] Der er ikke modtaget events for 805 fra metering point, så der er testet med Batman's 112 grid area. At rette 112 til 805 i postman ser ikke ud til at være nok, når man opretter målepunkter. (from Alex' status in teams) - @BjarkeMeier
[x] Create Notebook to calculate balancefixing results - @BjarkeMeier and @seblapela
[x] Calculator is currently broken: AnalysisException: Column 'GridAreaCode' does not exist. Did you mean one of the following? [storedTime, body, day, enqueuedTime, properties, year, offset, partition, month, partitionKey, publisher, sequenceNumber, systemProperties]; - @BjarkeMeier
[x] Remove series related data from points published in geh-timeseries (position and start_datetime) PR #508. Should "resolution" be renamed? E.g. to "duration"? (NO)  - @johevemi
[x] Rename MeteringPointId to GsrnNumber in geh-timeseries in order to align with wholesale? (YES) PR #511 - @johevemi
[x] Doesn't seem like geh-timeseries published points correctly with registration date time having a fallback value from creation date time PR #508 - @johevemi
[x] Add tests of get_enriched_timeseries_df PR #236 - @johevemi

@EnerginetJTI - could you please provide an example file of a valid RSM-014 CIM /XML for an production aggregation? (just a link to a file in Teams is fine, xml files cannot be attached in zenhub)

@MadsBloendAndersen, this story will most likely only work in u-001 until team Titans have made grid areas 805 and 806 available (as integration events) in the other environments.

Hey @BjarkeMeier - @Tm1807 is on it. As discussed with Torben, this is a blocker for our test in T001.

@BjarkeMeier I have added the issue that titans created, about creating grid area 805 + 806 in T001, as dependency to this issue.


Consider using an SPDX-recognized license

First off, thanks for the great piece of code!
I would like to use this crate in a repo with cargo-deny rules in place, but the tool will not accept non-SPDX licenses. I'm not too familiar with this license, but it sounds like it's pretty similar to Apache-2.0. Would it be possible to license this crate as Apache-2.0?

I'm happy to dual license if it makes the lawyers happy (sigh), but this license is less restrictive than Apache, so from a legal perspective you're already set if Apache 2 is good enough.

That would be fantastic - Apache 2 would make the tooling & legal sides of this much simpler. Thank you!

0.5.1 released with license = "Apache 2.0". LMK if that doesn't fix it.


tour: [REPLACE WITH SHORT DESCRIPTION]

Context: https://tour.golang.org/concurrency/10
Change the title above to describe your issue and add your feedback here, including code if necessary


Investigate performance gains when using native/wasm for packing and signing

Description
In this presentation the presenters talk about their experience with state channels and node.js. They mention some performance pitfalls and their solution is using native/wams for performance critical sections.
The repo in question is here: https://github.com/statechannels/native-utils
Acceptance criteria

Decision if we should head this route.

Tasks

[ ]

Not on the roadmap, performance is high already.


feat: add per-HTTP request counter metric

Description

Added:

Adds a per-HTTP request counter metric, fga-client.request. It is disabled by default.

Changed:

Method signature on credentialsRequest now uses 1 as the default parameter value.
Changed default unit type in TelemetryCounter/TelemetryCounters. It mistakenly used milliseconds as the default unit type for counters previously.
Refactored TelemetryHistogram/TelemetryHistograms to use the shared default milliseconds unit type; not necessary to define it each time.

Fixed:

Moved fromRequest step above exception handling in the synchronous API Client to ensure those attributes were properly collected there. This was already the case in the asynchronous API client.
Moved http.request.resend_count increment to the top of the retry loop for the synchronous API client to ensure the proper value is collected when an API exception is raised.

References

Closes #130
Review Checklist

[x] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Codecov Report
Attention: Patch coverage is 73.07692% with 7 lines in your changes missing coverage. Please review.

Project coverage is 69.16%. Comparing base (a00f039) to head (f8e4d8b).

Files with missing lines
Patch %
Lines

openfga_sdk/telemetry/configuration.py
55.55%
4 Missing :warning:

openfga_sdk/telemetry/metrics.py
57.14%
3 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #135   +/-   ##
=======================================
  Coverage   69.15%   69.16%
=======================================
  Files         122      122
  Lines        9746     9768   +22
=======================================
+ Hits         6740     6756   +16
- Misses       3006     3012    +6

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


Can't edit the code in demo (javacsript enterperter) after getiing error in the code unlike python.

Expected behavior
Actual behavior
Steps to reproduce
Browser and OS

can you give more details? 13.04.2018 6:35 PM sunnyp123<EMAIL_ADDRESS>napisał(a):Expected behavior
Actual behavior
Steps to reproduce
Browser and OS
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.

Can you give more details?


SegmentedPieChart adjustments

Close #229

Shot Type
Count
Status

Added
0
🟡

Deleted
0
❌

Regression
1
❗

❗ custom/widgets-meal-nutrients--hint-opened__[w1920px]:

Before
After


Using lazycsv in module that is in different directory breaks file reading

I found a bug (or maybe it's an expected behaviour?) that prevents us from reading csv file when lazycsv is used in a module that is in a different folder than script we are running.
Occurrence example
Easy to reproduce example is shown below.
Project file structure
./module/exampleclass.py
./script.py
./example.csv

exampleclass.py
from lazycsv import lazycsv

class ExampleClass:
    def __init__(self, path):
        self.data = lazycsv.LazyCSV(path)

script.py
from module.exampleclass import ExampleClass

if __name__ == "__main__":
    object = ExampleClass('example.csv')

When we run script.py, following error occurs:
FileNotFoundError: unable to open data file, check to be sure that the user has read permissions and/or ownership of the file, and that the file exists.

Why it happens?
From my understanding, it happens because of the way the function _FullName_FromName is defined. In that function, _dirname is created using Python's __file__ variable, which contains path to the module, and not the file in which we imported the module.
How to fix it?
I think that defining _dirname using os.getcwd() would solve this issue.

I'll have to think about this more, the solution isn't as straight forward as doing os.getcwd() because, if for example you're running this example script from any other directory it'll also not work (or, and more importantly, if you clone the repo and run pytest from the repo root instead of within the test folder, the test suite doesn't pass, for the same reason).
As you noticed, the current implementation uses the path of the the calling file as the anchor for which relative imports are resolved, which is why passing the variable directly from an encapsulating class doesn't work for relative filepaths (though it should work if you pass an absolute filepath to ExampleClass).
I'll look around to see if there are solutions to this however, and get back to you.

Pushed a fix which should resolve the issue without breaking backwards compatibility, see v1.1.4


SharePoint Native App - deep linking hash/query string parameter?

Category

[x] Question
[ ] Typo
[ ] Bug
[ ] Additional article idea

Our SPFX webpart reads redirect data from the URL (in the form of either a queryString or hash parameter - doesn't matter) to determine what to display.
We can deeplink in the mobile app to the page our webpart is published on, our webpart properly displays, but window.location.href / window.location.hash both have their parameters stripped by the time our code is finally loaded.
Is it possible to get the queryString/hash data into the native mobile app?

This is not currently supported, but you can absolutely submit a UserVoice entry for requesting this.


Remove "Only Namespaced Resources" & "Only Cluster Resources" from namespace filter

Upon discussion with @nwmac, "Only Namespaced Resources" & "Only Cluster Resources" have become irrelevant with our recent modifications to our navigation. They're also kinda unclear (the subtext is that Cluster Resources aren't in namespaces).
We should remove those two options from the namespace filter.

These two options are involved in lots of weird filtering, so would be good to remove them and that complexity. This issue should involve removing these two filter values.... and wherever they were used in code


SparseRDD multiplication

Hi,
I have generated a SparseRDD using SparkHashingVectotiser and an ArrayRDD, containing the target values(1s and 0s). I want to do a matrix multiplication between these two. Is there a way to do matrix multiplication of Sparse RDDs?

We were able to do the matrix multiplication, by creating a DictRDD of SparserRDD and ArrayRDD of target, then did the following:
mm = Z.map(lambda(x,y): csr_matrix(y)*x).reduce(operator.add)


Please upgrade requestretry dependency to version 7.0.0 to fix vulnerability issues

I solved this issue using Slack official API.
https://slack.dev/node-slack-sdk/webhook


Import kubernetes updates

examples directory state from https://github.com/kubernetes/kubernetes/commit/b79fe1073017907a59a869413d659f74e90b0443
Process:

start with kubernetes master
remove all content and history for all directories beside examples directory using git filter-branch --filter-subdirectory
remove all commits that overwrite README with references to this repo
find newest common commit in history and following it commit to move examples to staging directory
rebase kubernetes repo for examples to this commit
merge with this repo master

Strategy for merge:

Remove all BUILD files
Move new examples to staging directory
Remove changes to main directory
Try to fix files based on git blame, and which links work which not

First stage for https://github.com/kubernetes/kubernetes/issues/60887

cc @ahmetb

What we want to do with historical contributors without CLA signed?

Looks like one of emails used by contributor was dissociated with Github account

We'll likely skip the CLA check for this particular PR.

/cc @idvoretskyi
/cc @sebgoa
for review help

This looks great to me, I wasn't able to find many issues other than a few broken links (which I think you
can address by adding a new commit). Thanks for doing this work while preserving the commit history!
/lgtm
/hold

We need to check the CLA question.
@dankohn @caniszczyk - does it sound like an issue from the legal POV now?

@serathius @ahmetb I've been speaking to @caniszczyk - it's not allowed from the legal perspective to have the commits without the signed CLA.

@idvoretskyi To be clear, while creating the repo we did the same thing: We brought the commits that were in kubernetes/kubernetes to kubernetes/examples. Now this PR is doing it again to bring these two repos to sync.
@idvoretskyi / @caniszczyk  Please answer these following questions:

All commits in kubernetes/kubernetes repo has CLA signed, is this true?
If (1) is true, then we know that repos like kubernetes/ingress-gce were created from kubernetes/ingress by following the same process, which is copying the commit history. (I can probably find more examples of this practice.) What's the difference between those things and what we're doing here?
Is this CLA failure likely happening because some of the committers’ email addresses were removed from CLA database?
If (3) is true, they once allowed CNCF to have copyrights for this code. Now we're moving it from one CNCF property to another, within the Kubernetes project. What's the issue here?

@ahmetb apologies for the confusion. We've just double checked with the LF legal - we are able to migrate them in since the Google CLA was previously signed.

@idvoretskyi shall we flip the CLA label?

@ahmetb yes, please.

Switching labels manually didn't make the cla check happy, but now it lets me to merge manually.


Change opening of links to all within tab

Remove the 'opens in new tab'  text and target.

App pages need to be discussed individually (e.g. reporting a problem may need a new tab)

https://docs.google.com/document/d/1gIPUTeU9OhdrW3mWTIHO05hO646npTqjXkkizfTKrhk/edit

@PatReynolds to reply to Philip's comments.


use default version on create account-roles

Closes : https://issues.redhat.com/browse/SDA-4690

@vkareh if --mode is not passed, it will go into interactive mode, do we want the version to be present here, or do we want to add a check if interactive.Enabled() || version == "" so we just default to the version. Or is it okay to go interactive if mode flag is not set

@ciaranRoche Nah, if the lack of --mode drops you into interactive mode, then it's okay to see the version prompt.

/lgtm


travis: builds on GOARCH=arm64 are broken

Adding the arm64 architecture to the build matrix shows up a number of issues in our testing. These all come down to numerical precision differences between amd64 and arm64 (some show up in arm as well, 386 shows no differences with amd64).
The arm64 arch will be in allowed failures when #1217 is merged which is not ideal, so we need to get the failures resolved so it will show up in the build report on PRs.
This is the list of failure (checked indicates I'm happy with the fix approach - I will add the change sha when #1217 is merged).

[x] gonum.org/v1/gonum/blas/blas64 TestDrotmg "tolerance drotm y_0 mismatch RD1_Med_RD2_Big_Flag_0: expected 0, found 5.1194107541670215e-11" 86e8186781d9a1bb0d5594cda002ef6ba7c5b06e
[x] gonum.org/v1/gonum/blas/gonum TestDrotmg "tolerance drotm y_0 mismatch RD1_Med_RD2_Big_Flag_0: expected 0, found 5.1194107541670215e-11" 86e8186781d9a1bb0d5594cda002ef6ba7c5b06e
[x] gonum.org/v1/gonum/fourier tolerance ExampleFFT_Coefficients_tone 0c0a3fef116df8c4a19bf956d9c1a536b34a08e0
[x] gonum.org/v1/gonum/graph/layout bug TestEadesR2 infinite value b5cc9a985978f3b32ea1066f8722cf8a3dc8495e
[x] gonum.org/v1/gonum/graph/layout tolerance/ED TestIsomapR2 d8ec179f2bfc07f4e1af26de87896d672c76a332
[x] gonum.org/v1/gonum/lapack/gonum tolerance TestDlansb "got 3.9533942447863906, want 3.9533942447863923" a84dbb2e4f19f947a3a20094acda433ea06ee75a
[x] gonum.org/v1/gonum/lapack/gonum tolerance TestDlascl "unexpected A[0,0]=26.358078839820152, want 26.358078839820152" a84dbb2e4f19f947a3a20094acda433ea06ee75a
[x] gonum.org/v1/gonum/lapack/gonum tolerance TestDlaln2 "Want (-0.9316138629711816+0i), got (-0.9316138629728812+0i)" a84dbb2e4f19f947a3a20094acda433ea06ee75a
[ ] gonum.org/v1/gonum/lapack/gonum ?tolerance TestDgeev "is not right real eigenvector"
[ ] gonum.org/v1/gonum/internal/asm/f32 tolerance TestGer "Test 7 (15x15) align(x:0,y:0,a:0): unexpected value at 77 Got: 1139.92 Expected: 1139.9202" d09a8892ecb325647bbfa9463014fe87b4ab94c9 19131e1d1696cf5862175557dc4aa951a49e864b
[ ] gonum.org/v1/gonum/internal/cmplx64 tolerance TestSqrt "Sqrt((2.9263773+5.2290835i)) = (2.111708+1.2381171i), want (2.1117082+1.238117i)" 7c0bd5a0933dd54f8f08bcbcd76d5dc30c45c06b
[ ] gonum.org/v1/gonum/mat tolerance TestSymRankOne "got: 0.2824558889951469 want: 0.28245588899514695" 78e1ded4ad704295a1c00a470e1b7d69ad74bb07
[ ] gonum.org/v1/gonum/mathext tolerance TestMvLgamma "got=58.89384185123741 want=58.8938418512374" 3e57debe96bfbc7740b66b06894e897889ffd1dd
[ ] gonum.org/v1/gonum/mathext/internal/amos tolerance TestZacai "c = 2.4275995843707387e+72, native = 3.269273576136148e+72" 08cd598920a727fc67106acff7e04c1ffde895db
[ ] gonum.org/v1/gonum/mathext/internal/amos ?tolerance TestZseri "c = 82.43457817119072, native =<PHONE_NUMBER>105988" 08cd598920a727fc67106acff7e04c1ffde895db
[ ] gonum.org/v1/gonum/optimize ? TestBFGS
[ ] gonum.org/v1/gonum/optimize ? TestLBFGS
[ ] gonum.org/v1/gonum/optimize ? TestNewton
[x] gonum.org/v1/gonum/stat tolerance TestROC "got:[-5.551115123125783e-17 -5.551115123125783e-17 -5.551115123125783e-17 -5.551115123125783e-17 0.6 0.6 1] want:[0 0 0 0 0.6 0.6 1]" 139a027f558418e0ca6402a3b3c9e7bad5e85d9c 4a17ec14901e0097cbdb96135d2dbbfed878f70f
[x] gonum.org/v1/gonum/stat tolerance ExampleROC_weighted 4a17ec14901e0097cbdb96135d2dbbfed878f70f
[x] gonum.org/v1/gonum/stat tolerance ExampleROC_unsorted 4a17ec14901e0097cbdb96135d2dbbfed878f70f
[x] gonum.org/v1/gonum/stat tolerance ExampleROC_equallySpacedCutoffs 4a17ec14901e0097cbdb96135d2dbbfed878f70f
[x] gonum.org/v1/gonum/stat tolerance ExampleLinearRegression 2d18c7e9153eb8803888df69dafd6467fb10ce8e
[x] gonum.org/v1/gonum/stat/mds tolerance/ED TestTorgersonScaling cc09059115b33416663ac7822945c387ca80ac32
[x] gonum.org/v1/gonum/stat tolerance ?tolerance TestCovarianceMatrix "expected cov &{{2 2 [0.8 3.2 3.2 13.142857142857146] 2} 2 2}, found &{{85 2 [0.8 3.2 0 13.142857142857142] 2} 2}" 86a902cb7f98249e7b486530a4324491000c98a5

@btracey @vladimir-ch @sbinet

I'm not sure what to do about the ExampleROC_* examples. The issue is that this code gives near zero results on arm64 where we get zero on other architectures. If I replace that code with
	for i := range tpr {
		tpr[i] /= nPos
		tpr[i] = 1 - tpr[i]
		fpr[i] /= nNeg
		fpr[i] = 1 - fpr[i]
	}

the tests pass.
Maybe this should be filed as an issue at golang/go?

What happens if it's written as tpr[i] = 1 - invPos*tpr[i]?

Maybe this should be filed as an issue at golang/go?

I think it's worth it, I'd be curious to see the outcome.

I tried that also, no difference from the case in two parts.

golang/go#36536

I would not be at all surprised if this explained many of the failures we are seeing here.

I've started digging into the optimize failures and they certainly seem to involve this. The rabbit hole is deep though, and I'm not sure that it's the right thing to do, though I suspect that it is what we will have to do.

I have done some work on the changes in testlapack/dgeev-tolerances locally to see if I can get the Dgeev test to pass. After initial success, (the smallest failing case - which involved significant spelunking to find the cause of the failure - FMA/FMS in Dlahqr, I tried out the rest - they still fail. So I went on to evict all FMA and FMS instructions that I could in the call tree (some cannot be easily removed since the FMA/FMS instructions occur after expanding complex arithmetic). The tests continue to fail.
This is after a diff that is 64 files changed, 707 insertions(+), 715 deletions(-). Without an easy tool to automatically guard against potential FMA/FMS instructions or a compiler option to not emit FMA/FMS automatically (neither of these exits as far as I'm aware), the amount of work for limited gain seem onerous.
I'm wondering if this is a worthwhile thing to continue battling against, and if it's not whether some of the fixes that have been applied should be removed. Or alternatively we don't say that we support arm64, but leave it such that some things work.

So the issue with the optimize.Newton test is that it actually succeeds. It doesn't progress, because is finds 1e6, 2e-6 which is the minimum. This is also the case for the BGFS and LBFGS failures that are testing with BrownBadlyScaled and return ErrNoProgress (the other BrownBadlyScaled are close to success). The PowellBadlyScaled failure is similarly close, but ExtendedRosenbrock looks like a distant failure.

For the ErrNoProgress failures, the issue is that on amd64, the Location.F field underflows in a way that is helpful and that the optimisation makes use of. On arm64, this doesn't happen, with values <1e-31 appearing where a zero would be on amd64, resulting in a new MajorIteration that is ineffectual due to underflows in the next line search iteration. It's not clear to me exactly how to fix this.
For the ExtendedRosenbrock failure for BFGS and LBFGS, it gets stuck early on the in the iterations (with BFGS, the amd64 case runs for ~4000 iters and gets a F of 5e-29, while the arm64 case runs for 180 and finishes with F of 1e5. I'm at a loss to understand this.
@btracey Any ideas for either of these?

An additional data point; if the compiler is altered to not emit fused instructions, then the ErrNoProgress failures go away and LBFGS and Newton methods pass, but BFGS still fails.
$ GOARCH=arm64 go test -v -run '(Newton|BFGS)'
=== RUN   TestBFGS
--- FAIL: TestBFGS (0.99s)
    unconstrained_test.go:1199: Case 51: error finding minimum (linesearch: non-descent search direction) for:
        F: PowellBadlyScaled
        Dim: 2
        Initial X: [0 1]
        GradientThreshold: 1e-12
    unconstrained_test.go:1199: Case 60: error finding minimum (linesearch: failed to converge) for:
        F: BrownAndDennis
        Dim: 4
        Initial X: [25 5 -5 -1]
        GradientThreshold: 1e-05
    unconstrained_test.go:1199: Case 61: error finding minimum (linesearch: failed to converge) for:
        F: ExtendedRosenbrock
        Dim: 2
        Initial X: [100000 100000]
        GradientThreshold: 1e-10
=== RUN   TestLBFGS
--- PASS: TestLBFGS (5.01s)
=== RUN   TestNewton
--- PASS: TestNewton (0.17s)
FAIL
exit status 1
FAIL	gonum.org/v1/gonum/optimize	6.238s

I went through the list of all items again and I think the fixes are good enough. I skipped Zseri and Zacai because there already exists a separate ticket for them. I think we can close this.


⚠ Bofrost.de has degraded performance

In fa7a507, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1996 ms

Resolved: Bofrost.de performance has improved in 6ae1fed after 6 minutes.


Can we automatically publish releases?

IANA has a "latest" endpoint we can download from and compare to current
We could set this up on a cron job, checking once a day
If the version differs from what's in gradle.properties

Update gradle.properties' version
Re-generate tz data in jvm/android artifacts

Push? Open a PR + auto-merge? Leaning toward build/check + push + tag + upload release

Would also be fine with starting with opening a PR first
Another thing to consider is possibly publishing tzdb.dat and a zip of lazy rules via github releases, allowing them to be downloaded remotely.
Possibly useful: https://github.com/marketplace/actions/git-release

If it's any help, joda-time has been auto-updating TZDB using Actions for a while now (commit and example PR).

Opened #31 with an approach adapted from that. Thanks for the tip @msfjarvis


Is it safe to run the pysilon.bat on a host computer?

 But yes, its safe


[Sage-493] Sage 3 - Button Updates

Closes #493
FYI: this work is going in as a separate version bump (note the merging branch is main)
Description
Updates styling to Sage 3.0 specs:

Add tertiary button
Add box-shadow to all but tertiary button
Aligns color and background-color to designs
Subtle buttons: Remove small variation in documentation example in favor of disabled
Add clearer headings for each section of the button types
Overall documentation improvements

Screenshots
Buttons

Before
After

Additional options

Before
After

Testing in sage-lib

Navigate to http://localhost:4000/pages/component/button
Observe new updates and verify in alignment with specs

Testing in kajabi-products

(BREAKING) Button updates to the usage of secondary can potentially alter the UI throughout the app

[ ] Buttons are everywhere

Awesome work! Got a couple minor things to address:

Can we update the color of the focus outline on the primary buttons, both on standard and subtle? It appears to be Primary 400 now
Same point above with the danger buttons.

I see the focus changes on the Standard buttons. Can we add the same changes to the Subtle ones as well?

A few thoughts:

I suggest we push back/ask Design about considering not adding a new Tertiary style but instead to consider letting the shown secondary style be when for secondary and raised: true and then that the shown tertiary style be when secondary and raised: false. Some guidance around when secondary should be used now versus tertiary might help. Note that I spotted over 500 uses of "secondary" or SECONDARY button style that this change may affect if we're now making secondary appear with a shadow by default. Probably the case that many of these should change to tertiary?
If we keep as-is we should probably also guard against tertiary + subtle: true.
Also if we keep as-is we might question the need for raised now. It once used to be that we could do any styles as flat (default) or raised, but perhaps all the new styles other than tertiary have the drop shadow and this prop is unnecessary?

Per conversations with Creation team, we are going to table the tertiary button for this issue and move forward with base visual changes to existing button options on this PR. See new issue: https://github.com/Kajabi/sage-lib/issues/844

@FuturaExtraBold - good callout. Adding an issue https://github.com/Kajabi/sage-lib/issues/848


FCM API V1 always fail

Just ask something
Hello

Does this Lib support Firebase cloud messaging V1 ?
i test to send but always getting fail
IDE and its version:

Arduino, PlatformIO
Version [e.g. 1.8.9]

ESP32 Arduino Core SDK version

Version [e.g. 2.0.2]

Additional context
Add any other context about the problem here.

Read the documentation.

i have running with FirebaseEsp client https://github.com/mobizt/Firebase-ESP-Client.git still get -108 error code,
did you have sugestion?

i have running with your FirebaseEspClient https://github.com/mobizt/Firebase-ESP-Client.git but still get -108 error code,
did you have any suggestion?


Trips: Display table

Only the table above, should also display the edit/delete buttons when the connected user if the driver of a trip

A table for forth and a table for back.


"butler: command not found" on Linux

Running on Ubuntu 16.04. Butler was installed with the Itch.io app. I can see my butler executable file in  /config/itch/bin  clicking on it does nothing, navigating to that folder in bash and attempting to run it does nothing. and the butler command always yields the not found message. Tried doing this:
On Mac & Linux, edit your ~/.bashrc or equivalent to include a line like:

export PATH="$PATH:~/bin"
and still, nothing. I can't think of anything else to do. :/ Help would be DEEPLY appreciated.

navigating to that folder in bash and attempting to run it does nothing. and the butler command always yields the not found message.

On most Linux installs, the current directory is not part of the path. So if you're in the ~/.config/itch/bin directory, you'll need to run:
./butler

The export PATH="$PATH:~/bin" advice is for when you download butler yourself and actually put it in ~/bin :)
Note that ~/.bashrc is only evaluted when you start a new shell, so just editing it from an existing shell won't do anything, you'll have to log out & back in again.
Hope this helps!

ah thank you. It helps a lot. ./butler works for me. Strange. I've never had to do that for other programs.
either way I'm glad it works. :)

I've never had to do that for other programs.

Other programs are typically installed to /usr/bin or something else that's already in the default $PATH :)


test: using Event::TestUsingSimulatedTime in integration tests

Description:
I'm writing an xDS fuzzer and I wanted to use simulated time so that I can properly test removal/draining of listeners.  However, when I try inherit from Event::TestUsingSimulatedTime, the server crashes with an assertion error after trying to remove/drain a listener.  The same happens in ads_integration_test when you have it as the first base class.
I spent some time digging into this and made a small bit of progress with GDB and some code tracing but I’m not really sure what to do about it.  So shutdownThread() https://github.com/envoyproxy/envoy/blob/e6c57fab8022d9df228052f1f517a57584030654/source/common/thread_local/thread_local_impl.cc#L235 asserts shutdown_ which is only ever made true by shutdownGlobalThreading, so shutdownGlobalThreading needs to be called before shutdownThread ever is.  shutdownThread is called when workers are finished running https://github.com/envoyproxy/envoy/blob/e6c57fab8022d9df228052f1f517a57584030654/source/server/worker_impl.cc#L124
The testBasicFlow test in ads_integration.cc https://github.com/envoyproxy/envoy/blob/e6c57fab8022d9df228052f1f517a57584030654/test/integration/ads_integration.cc#L129 adds and warms listener_0, before removing it and then adding a couple more listeners.  When running without simulated time, the whole test runs through, then the server terminates and calls shutdownGlobalThreading, then shutdownThread is called a couple times when some workers are terminated.  But then with simulated time, shutdownThread is called right after the listener is removed, even though there are still more requests to send afterwards.  shutdownGlobalThreading is called on what I'm guessing is the main thread after the test runs through and the backtrace from the failed assertion is printed.
Repro
Adding public Event::TestUsingSimulatedTime as the first base class of AdsIntegrationTest and running bazel test //test/integration:ads_integration_test will cause the test to crash after trying to remove listener_0 here https://github.com/envoyproxy/envoy/blob/e6c57fab8022d9df228052f1f517a57584030654/test/integration/ads_integration.cc#L207
Logs
[----------] 120 tests from IpVersionsClientTypeDelta/AdsIntegrationTest
[ RUN      ] IpVersionsClientTypeDelta/AdsIntegrationTest.Basic/0
[2020-07-20 16:00:52.809][15][info][testing] [test/integration/fake_upstream.cc:429] starting fake server on socket <IP_ADDRESS>:0. Address version is v4. UDP=false
[2020-07-20 16:00:52.816][15][info][testing] [test/integration/fake_upstream.cc:447] starting fake SSL server on port 35697. Address version is v4
[2020-07-20 16:00:52.817][15][info][testing] [test/integration/server.cc:92] starting integration test server
[2020-07-20 16:00:52.821][23][info][main] [source/server/server.cc:295] initializing epoch 0 (base id=0, hot restart version=disabled)
[2020-07-20 16:00:52.821][23][info][main] [source/server/server.cc:297] statically linked extensions:
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.udp_listeners: raw_udp_listener
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.grpc_credentials: envoy.grpc_credentials.default
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.transport_sockets.upstream: envoy.transport_sockets.raw_buffer, envoy.transport_sockets.tap, envoy.transport_sockets.tls, raw_buffer, tls
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.clusters: envoy.cluster.eds, envoy.cluster.logical_dns, envoy.cluster.original_dst, envoy.cluster.static, envoy.cluster.strict_dns
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.transport_sockets.downstream: envoy.transport_sockets.raw_buffer, envoy.transport_sockets.tap, envoy.transport_sockets.tls, raw_buffer, tls
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.access_loggers: envoy.access_loggers.file, envoy.file_access_log
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.resolvers: envoy.ip
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.upstreams: envoy.filters.connection_pools.http.generic
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.filters.http: add-body-filter, add-trailers-filter, call-decodedata-once-filter, decode-headers-only, decode-headers-return-stop-all-filter, encode-headers-only, encode-headers-return-stop-all-filter, envoy.filters.http.on_demand, envoy.filters.http.router, envoy.router, modify-buffer-filter, passthrough-filter, pause-filter, wait-for-whole-request-and-response-filter
[2020-07-20 16:00:52.822][23][info][main] [source/server/server.cc:299]   envoy.filters.network: envoy.filters.network.http_connection_manager, envoy.filters.network.redis_proxy, envoy.http_connection_manager, envoy.redis_proxy
[2020-07-20 16:00:52.827][23][info][main] [source/server/server.cc:315] HTTP header map info:
[2020-07-20 16:00:52.828][23][info][main] [source/server/server.cc:318]   request header map: 416 bytes: :authority,:method,:path,:protocol,:scheme,connection,content-length,content-type,expect,grpc-timeout,keep-alive,proxy-connection,te,transfer-encoding,upgrade,user-agent,via,x-client-trace-id,x-envoy-attempt-count,x-envoy-decorator-operation,x-envoy-downstream-service-cluster,x-envoy-downstream-service-node,x-envoy-expected-rq-timeout-ms,x-envoy-external-address,x-envoy-force-trace,x-envoy-hedge-on-per-try-timeout,x-envoy-internal,x-envoy-ip-tags,x-envoy-max-retries,x-envoy-original-path,x-envoy-original-url,x-envoy-retriable-header-names,x-envoy-retriable-status-codes,x-envoy-retry-grpc-on,x-envoy-retry-on,x-envoy-upstream-alt-stat-name,x-envoy-upstream-rq-per-try-timeout-ms,x-envoy-upstream-rq-timeout-alt-response,x-envoy-upstream-rq-timeout-ms,x-forwarded-client-cert,x-forwarded-for,x-forwarded-proto,x-request-id
[2020-07-20 16:00:52.828][23][info][main] [source/server/server.cc:318]   request trailer map: 72 bytes:
[2020-07-20 16:00:52.828][23][info][main] [source/server/server.cc:318]   response header map: 264 bytes: :status,connection,content-length,content-type,date,grpc-message,grpc-status,keep-alive,location,proxy-connection,server,transfer-encoding,upgrade,via,x-envoy-attempt-count,x-envoy-decorator-operation,x-envoy-degraded,x-envoy-immediate-health-check-fail,x-envoy-ratelimited,x-envoy-upstream-canary,x-envoy-upstream-healthchecked-cluster,x-envoy-upstream-service-time,x-request-id
[2020-07-20 16:00:52.828][23][info][main] [source/server/server.cc:318]   response trailer map: 96 bytes: grpc-message,grpc-status
[2020-07-20 16:00:52.859][23][info][main] [source/server/server.cc:418] admin address: <IP_ADDRESS>:0
[2020-07-20 16:00:52.884][23][info][main] [source/server/server.cc:556] runtime: layers:
  - name: base
    static_layer:
      {}
  - name: admin
    admin_layer:
      {}
[2020-07-20 16:00:52.886][23][info][config] [source/server/configuration_impl.cc:103] loading tracing configuration
[2020-07-20 16:00:52.887][23][info][config] [source/server/configuration_impl.cc:69] loading 0 static secret(s)
[2020-07-20 16:00:52.887][23][info][config] [source/server/configuration_impl.cc:75] loading 2 cluster(s)
[2020-07-20 16:00:52.985][23][info][config] [source/server/configuration_impl.cc:79] loading 0 listener(s)
[2020-07-20 16:00:52.985][23][info][config] [source/server/configuration_impl.cc:129] loading stats sink configuration
[2020-07-20 16:00:52.987][23][info][runtime] [source/common/runtime/runtime_impl.cc:404] RTDS has finished initialization
[2020-07-20 16:00:52.987][23][info][upstream] [source/common/upstream/cluster_manager_impl.cc:176] cm init: initializing cds
[2020-07-20 16:00:52.990][23][warning][main] [source/server/server.cc:538] there is no configured limit to the number of allowed active connections. Set a limit via the runtime key overload.global_downstream_max_connections
[2020-07-20 16:00:52.991][15][info][testing] [test/integration/server.cc:82] listener wait complete
[2020-07-20 16:00:52.991][23][info][main] [source/server/server.cc:652] starting main dispatch loop
[2020-07-20 16:00:53.021][23][info][upstream] [source/common/upstream/cds_api_impl.cc:63] cds: add 1 cluster(s), remove 2 cluster(s)
[2020-07-20 16:00:53.057][23][info][upstream] [source/common/upstream/cds_api_impl.cc:78] cds: add/update cluster 'cluster_0'
[2020-07-20 16:00:53.057][23][info][upstream] [source/common/upstream/cluster_manager_impl.cc:154] cm init: initializing secondary clusters
[2020-07-20 16:00:53.068][23][info][upstream] [source/common/upstream/cluster_manager_impl.cc:180] cm init: all clusters initialized
[2020-07-20 16:00:53.069][23][info][main] [source/server/server.cc:633] all clusters initialized. initializing init manager
[2020-07-20 16:00:53.167][23][info][upstream] [source/server/lds_api.cc:72] lds: add/update listener 'listener_0'
[2020-07-20 16:00:53.212][23][info][config] [source/server/listener_manager_impl.cc:844] all dependencies initialized. starting workers
[2020-07-20 16:00:53.290][23][info][upstream] [source/common/upstream/cds_api_impl.cc:63] cds: add 2 cluster(s), remove 3 cluster(s)
[2020-07-20 16:00:53.327][23][info][upstream] [source/common/upstream/cds_api_impl.cc:78] cds: add/update cluster 'cluster_1'
[2020-07-20 16:00:53.360][23][info][upstream] [source/common/upstream/cds_api_impl.cc:78] cds: add/update cluster 'cluster_2'
[2020-07-20 16:00:53.360][23][info][upstream] [source/common/upstream/cluster_manager_impl.cc:682] removing cluster cluster_0
[2020-07-20 16:00:53.361][23][info][upstream] [source/common/upstream/cds_api_impl.cc:89] cds: remove cluster 'cluster_0'
[2020-07-20 16:00:53.480][23][info][upstream] [source/server/lds_api.cc:54] lds: remove listener 'listener_0'
[2020-07-20 16:00:53.481][29][critical][assert] [source/common/thread_local/thread_local_impl.cc:236] assert failure: shutdown_.
[2020-07-20 16:00:53.481][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:104] Caught Aborted, suspect faulting address 0xfffe0000000f
[2020-07-20 16:00:53.481][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:91] Backtrace (use tools/stack_decode.py to get line numbers):
[2020-07-20 16:00:53.481][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:92] Envoy version: 0/1.16.0-dev/redacted/DEBUG/BoringSSL
[2020-07-20 16:00:53.521][23][info][upstream] [source/server/lds_api.cc:72] lds: add/update listener 'listener_1'
[2020-07-20 16:00:53.521][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #0: Envoy::SignalAction::sigHandler() [0x3fad5ec]
[2020-07-20 16:00:53.522][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #1: __restore_rt [0x7fbaad692890]
[2020-07-20 16:00:53.561][23][info][upstream] [source/server/lds_api.cc:72] lds: add/update listener 'listener_2'
[2020-07-20 16:00:53.563][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #2: Envoy::Server::WorkerImpl::threadRoutine() [0x27196b1]
[2020-07-20 16:00:53.603][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #3: Envoy::Server::WorkerImpl::start()::$_4::operator()() [0x2720b7c]
[2020-07-20 16:00:53.645][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #4: std::__1::__invoke<>() [0x2720b3d]
[2020-07-20 16:00:53.686][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #5: std::__1::__invoke_void_return_wrapper<>::__call<>() [0x2720aed]
[2020-07-20 16:00:53.728][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #6: std::__1::__function::__alloc_func<>::operator()() [0x2720abd]
[2020-07-20 16:00:53.771][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #7: std::__1::__function::__func<>::operator()() [0x271fbee]
[2020-07-20 16:00:53.812][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #8: std::__1::__function::__value_func<>::operator()() [0x2294175]
[2020-07-20 16:00:53.854][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #9: std::__1::function<>::operator()() [0x2293b85]
[2020-07-20 16:00:53.896][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #10: Envoy::Thread::ThreadImplPosix::ThreadImplPosix()::{lambda()#1}::operator()() [0x4e57842]
[2020-07-20 16:00:53.938][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #11: Envoy::Thread::ThreadImplPosix::ThreadImplPosix()::{lambda()#1}::__invoke() [0x4e57815]
[2020-07-20 16:00:53.938][29][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:96] #12: start_thread [0x7fbaad6876db]

/cc @asraa @jmarantz

is there a draft PR where you have this?

If you wanted the draft PR to try and repro, it's probably easier to repro in ads_integration_test than in my fuzzer because there is a lot of external things going on in the fuzzer that aren't really relevant to the crash.
If you just add public Event::TestUsingSimulatedTime as the first base class of AdsIntegrationTest here https://github.com/envoyproxy/envoy/blob/796a6745954cd134c6449da2237a99b35d7e8d80/test/integration/ads_integration.h#L18 then run bazel test --test_output=all //test/integration:ads_integration_test` you should see it

@jmarantz friendly ping on this!

reproing now. I suspect there's a shutdown race in the test that sim-time simply makes more likely.

Was able to repro same symptom. Suggestion for tracking this down:
2 parallel git areas, one with sim-time, one not.
compile both tests for debug
set breakpoint where the sim-time one crashes, in both debuggers
observe timing differences, ordering differences, etc.
If you can do this with your fuzz test rather than the integration test, it might be a much more rapid process to track the issues down, as integration tests are relatively slow and cumbersome to debug.

Great I'll try that thanks for the advice!  My fuzz test is an integration style test too unfortunately and uses the same framework as the ads_integration_test so it'll probably be similar either way


ASE: coverage improvement for ASE client and server

This it part 1 of the ASE code coverage improvement

Coverage remained the same at 66.89% when pulling 302045fc40c03c6b36a0449a5a0c791b8499a41b on lzhan55/ase_coverage1 into d3ded597f88e69398ec83359825e6a63597cb525 on master.


Request for requirements.txt to Simplify Environment Setup for llm-t2t Repository

Hello llm-t2t team,
I am currently working with the llm-t2t repository and finding it challenging to set up the correct environment due to the absence of a requirements.txt file. This file is crucial for ensuring consistent environment configuration, especially when dealing with complex dependencies.
It would be immensely helpful for users like myself if you could provide a requirements.txt file. This file would list all the necessary Python packages and their respective versions to run the project successfully.
I believe this addition will greatly enhance the usability of the llm-t2t repository and aid others who may face similar challenges.
Thank you for considering this request.

Hi @hongzzi-zzi, thank you for your suggestions for the codebase improvment! We have added the requirements.txt file and updated the README.
If you encounter any further issues or have questions, feel free to re-open the issue. Thanks!


html report doesn't show anything

commonPath contained main.rs. I was able to fix it by setting it to point to src instead.
I'm on the develop branch.

I'm going to need some more details than that. Could you give me a link to the project and where you ran tarpaulin from and the commands used?

Sorry for the short report. It was late and I thought maybe the commonPath thing could be enough.
git clone https://github.com/bbigras/test-project.git
cd test-project
docker run --security-opt seccomp=unconfined -v "$PWD:/volume" xd009642/tarpaulin:develop-nightly cargo tarpaulin -o Html

output
[INFO tarpaulin] Running Tarpaulin
[INFO tarpaulin] Building project
[INFO tarpaulin] Launching test
[INFO tarpaulin] running /volume/target/debug/deps/test_project-a645f8a599834781

running 1 test
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

|| Tested/Total Lines:
|| src/main.rs: 4/6
||
66.67% coverage, 4/6 lines covered
[INFO tarpaulin] Coverage Results:

html report is "empty"

I think the problem is that commonPath is a file while it will get is_folder: true 5 lines bellow.

If I edit the value to point to src instead (and set length) and unpause the debugger, it works:

@andy128k do you mind helping with this issue? You're better placed to sort this being familiar with react and the html reporting side of things

@xd009642  Done. #224

Cheers @andy128k :+1: @bbigras I've tested this and it now works

Thanks guys!


Feature Request: Yearly recurring subscription tiers

We've received feedback that it would be nice to configure certain tiers as paid yearly instead of monthly.

How much of a hassle would this be to implement? @frankie567

We talk about it with @birkjernstrom this morning. I think it's achievable in maybe ~2 days of work. Stripe handles this, from what I remember.

Great feature request and definitely worth having in our backlog as per our discussion yesterday. Chatted some more with the users interested in this. I asked whether "pay once" would be preferable which was a feature we discussed internally yesterday - thinking it might be an even better solution. However, their preference would be an annual subscription even with such a feature.
Some considerations then to this feature are:

Ability to configure tier to be annual, monthly or both.
Set individual prices for annual vs. monthly.
How we showcase tiers with both, e.g showing a discounted monthly price in the annual subscription.

WIP in #2852

Work is progressing well, and the backend machinery with Stripe is in place and working well. I've a few edge cases I'm unsure how to tackle.
The monthly/yearly switch
The switch makes sense if tiers have both a montly and a yearly pricing. Problems arise if:

👉 There is only monthly pricing / There is only yearly pricing. In this case, the straightforward solution is to hide the switch. However, it may cause some confusion for the user (if they don't pay attention, they might not see an organization actually applies a yearly-only pricing).
👉 Some tiers have a monthly/yearly pricing, but not the others. In this case, we have to show the switch, but it only has effect on the concerned tiers. That's a bit weird. Example below:

The MRR stats
What does MRR mean for a yearly subscription? The solution I imagined was to divide yearly subscriptions amount by 12, so the amount is smoothed over a year. But not sure it fully makes sense.

Great work @frankie567. It's going to be great to get this in-place. My thoughts on this are inline below.
Yearly vs. monthly pricing

There is only monthly pricing / There is only yearly pricing. In this case, the straightforward solution is to hide the switch. However, it may cause some confusion for the user (if they don't pay attention, they might not see an organization actually applies a yearly-only pricing).

I think that's fine. We should make the design in the tiers so clear that the switch is simply an additional indicator. It makes the most sense to hide it then in case there are no such options.

Some tiers have a monthly/yearly pricing, but not the others. In this case, we have to show the switch, but it only has effect on the concerned tiers. That's a bit weird. Example below:

Let's filter out all tiers that do not have pricing for the given choice, i.e filter out all annual tiers only in case of monthly and vice versa. I think that makes the most sense.
MRR
I see two approaches here.
Amortized/prorated by month
This is how we need to do it from an accounting perspective. Including for monthly subscriptions spanning between two months. E.g calculating the given months % contribution to the full amount and accounting that percentage to the given month.
However, I don't think that's intuitive or what most people would expect at all. So instead, I'm in favour of...
Earnings vs. MRR
I think we should change name to "Earnings" or equivalent and drop the MRR piece. Just reflecting the money coming in any given month – both monthly subs, pledges, annual subs etc. Going to be the most simple and straightforward way that will support all future revenue/funding streams that we'll introduce. I also think it's what most people would expect to see.

Ok, overall!

This is how we need to do it from an accounting perspective. Including for monthly subscriptions spanning between two months. E.g calculating the given months % contribution to the full amount and accounting that percentage to the given month.

That greatly scares me. Do you mean yearly subscriptions have to be handled specifically in our transactions? In the current setup, if we receive $X for a creator (whether it's a monthly or annual subscription), it'll create one transaction on their account; and money will be available to payout immediately.

This is how we need to do it from an accounting perspective. Including for monthly subscriptions spanning between two months. E.g calculating the given months % contribution to the full amount and accounting that percentage to the given month.

That greatly scares me. Do you mean yearly subscriptions have to be handled specifically in our transactions? In the current setup, if we receive $X for a creator (whether it's a monthly or annual subscription), it'll create one transaction on their account; and money will be available to payout immediately.

Oh no, not at all - sorry for raising your pulse there 🙂 You don't have to do anything differently in terms of how payment, balances & payouts are done. This only impacts how do reporting internally to our accountants. Explanation below for context.
Let's say you have Developer A getting the following transactions on March 18th, 2024:

Annual subscription of $300 until March 18th, 2025
Monthly subscription of $5 to be billed again on April 18th, 2024

We would charge for those both immediately on March 18th, 2024 and upfront when they happen, i.e $305 in total. From there we deduct Polar & Stripe fees before issuing payouts. So Developer A might get $280 (rough calculation) a few days later on March 24th let's say.
However, on the accounting side it's different and impacts how we need to generate reports (SQL) of such payment activities. You need to recognize revenue for each standalone month even though the cash flow would be $305 all at once. E.g

Annual subscription. How many days in March was it active. How many days is that / total yearly days. That % should be recognized for March. Same then for April, May.. and onwards. Similar to the below, but over the course of the full year vs. month.
Monthly. E.g $5 for March 18 - April 18th means that we need to account (31 - 18) / 31 (41.9%) of $5 ($2.1) in March vs. $2.9 in April.

I hope that clarifies things 🙂


Potential incompatibillity in fabric-item-api-v1

This is probably the wrong place to report this, but here we go...
Seems like there's a regression on the fabric-item-api-v1 module... which is weird because the current Quilted-FAPI version for 1.18.2 is based on a version after that got last changed. Maybe some parameter isn't being passed correctly?
see: AztechMC/Modern-Industrialization#276

The issue is that Quilted FAPI had reimplemented Fabric's Item API on top of QSL's Item Settings API, however, while Fabric-only parts had API support, they effectively weren't implemented. This issue will be sorted out soon

Seems to be fixed in beta-21 according to Ennui. Closing.


Extended Syntax Template Proposal

SME Meeting will provide details that will change what was originally proposed in #16.
Chris and Mark will attend with Berber and Dave on Monday 24th.

Berber will work with Chris and Mark to confirm understanding.

After reviewing the work done in #16 I believe the proposed model can handle the use cases laid out in #48 .  By having a dictionary element that holds a Map, it would support implementations using JSON to hold String literals in name, value pairs as well as object references to the instances of other elements in the model.
Most of the use cases discussed in the SME meeting on Monday 31st are implementation concerns such as the ability to handle "And or Not" syntax in the template text.  This model can support the use of multiple parameters, but it would be up to the implementation to parse the template text and govern the placement of the parameter values within the output text.
Here is an updated UML diagram for the proposed model changes including the standardized attributes.

Let me know if you have any questions or concerns.
CC: @daveih @jared-schreibman-cdisc @BSnoeijerCD @cupkes

@MarkPAndrews Thank you.
I can follow your thinking. However, could you give an example of what information goes where in the above classes ?and how the dictionaryitems are referenced in the templateText?
It now indicates a 1 to 1 relationship while 1 templateText can have multiple references to items elsewhere in the data model.

@BSnoeijerCD In #16 there is an example of how JSON could be used (https://github.com/cdisc-org/DDF-RA/issues/16#issuecomment-1386505010). The 1 to 1 relationship is to a SyntaxTemplateDictionary with a Map that can contain multiple references in name, value pairs.  The names would be used by template to replace with the values.    Of course, the devil is in the details.  If the Map has a reference named "Activity" that points to an instance, the Template will need to provide details about what value to use in replacement.  i.e. "To compare the effect of [Compound] relative to [Comparator] on [Activity.getBiomedicalConcepts()]".  These are implementation details, but the model supports it.

@MarkPAndrews I understand. That is why I was asking for the examples because then we can explain next week how it works and we can discover potential issues.
I saw the Json example. But with the changes, I would like to see what information can go where. The json example now only shows a fixed text and not a reference to another place in the model. Could you prepare a new example where the comparator and the compound refer to a specific investigationalIntervention name or description specified in the corresponding class in the model. And the activityInstance to a specific BC description specified in the BC class?
So how would activity.getBiomedicalConcepts() work? I assume that is a method and not a direct reference. Do you mean that it would have to be provided by the software and is not specified in the data model which exact biomedicalconcept we are referring to? I would prefer that we can do this reference. So more  a reference like: class.attribute.instance

@BSnoeijerCD Here is a diagram showing using object references in the parameterMap only with a sample templateText.  Thoughts?

@MarkPAndrews @BSnoeijerCD I can see where you are going with this, nice example. The tricky bit is in explaining to the world the parameter map and the three object identifiers for the two interventions and the activity. A small, hand-crafted, JSON API example might be useful.
Also, Activity and biomedicalConcepts is a list, so how do we address the correct BC?

@MarkPAndrews @daveih
The ID was indeed something we wanted to include to point to a specific instance in the list.
Could there be a reference like Activity.BiomedicalConcepts.Name (Id=xxx)

@dih-cdisc  One of the things discussed in the SME meeting was the ability to handle "and" syntax.  So the list of biomedicalConcepts could generate something like "body weight and metabolism" or you could be more specific and use the (id="BC1") nomenclature.  These rules and processes would all have to be handled by the implementation code.  We are basically defining a custom query language that someone else will need to implement.

SyntaxTextTemplates_mapped.xlsx
Examples of content for the classes as just discussed during the planning meeting.

@BSnoeijerCD did the team agree that the 'description' attribute is unnecessary for the new SyntaxTemplate entity? We (Erin/Craig) agree it is superfluous and can be not added however we'd like confirmation on that.

@EMuhlbradt I don't see a need for it. But maybe good to be confirmed by @dih-cdisc .

@BSnoeijerCD @EMuhlbradt @czwickl
As discussed at scrum meeting 23 Aug 23, no harm in adding description. Label can also be added.
General note / Philosophy

Any new class should have "name", "description" and "label" "assigned" by default unless good reasons not to.
"type" and "code" then added if needed by the nature of the class.
"type" would (generally, if it wasn't it would ring bells) be a single Code or AliasCode (e.g. Eligibility Class type = Inclusion or Exclusion)
"code" might be one or a list of Code or AliasCode (e.g. Procedure code LOINC or Snomed code(s) for the procedure). If "code" is a list rename to "codes"?

Need to be aware of "category" as Craig has already noted versus "type", a different beast. "category" might be one worth adding to our standard list in the future when we first encounter it. I think we may have one lurking already in Procedure (e.g. Labs, Chemistry, Physical Exam ....). A category might need the ability to have a code or free text (ie a new generic class like AliasCode)


Clicking on tweets now takes me to the user's profile instead of opening as an overlay on the same page

Any suggestions?

I have the same issue too. Removing cookies solves the problem but after a while the same problem happens again.

I have the same problem. Removing cookies did not fix the problem. OS: Windows10

Hello Katinka12,
I know. keep having to remove cookies all the time. Might have to go back to horrible new twitter if no fix soon.
Cheers,
Gordon (Sandpiper251)
On Wednesday, 30 October 2019, 18:52:42 GMT, katinka12<EMAIL_ADDRESS>wrote:
I have the same issue too. Removing cookies solves the problem but after a while the same problem happens again.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

btw I installed GoodTwitter beta and it works fine

Hello Katinka12,
Just installed the Beta version and no probs so far.
Thank you.
Cheers,
Gordon.
On Wednesday, 30 October 2019, 20:09:38 GMT, katinka12<EMAIL_ADDRESS>wrote:
btw I installed GoodTwitter beta and it works fine
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

GoodTwitter beta seems to be working so far.

Yes the Beta fixed it. Thanks so much for this.

GoodTwitter Beta
|
|
|
| $0.00 |  |
|
|
|
|  |
GoodTwitter Beta
Forces your browser to use old twitter.
|
|
|
Cheers,
Gordon    On Thursday, 31 October 2019, 17:14:42 GMT, Chr1sFo<EMAIL_ADDRESS>wrote:
I tried deleting cookies and it worked for about an hour. Where does one find the Beta?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thank you all for the tips about the beta. Sorted the problem for me. In response to previous comment:
Beta version can be found here: https://chrome.google.com/webstore/detail/goodtwitter-beta/ehjbcokpmfbmpjlldihlcbkoakikcomd
Best of luck!


Expected parent IDs to be set when ordering by parent ID.

Hi Prisma Team! My Prisma Client just crashed. This is the report:
Versions

Name
Version

Node
v18.16.0

OS
debian-openssl-1.1.x

Prisma Client
in-memory

Query Engine
8fbc245156db7124f997f4cecdd8d1219e360944

Database
mysql

Logs
prisma:client checkPlatformCaching:postinstall
prisma:client checkPlatformCaching:ciName
prisma:tryLoadEnv Environment variables not found at
prisma:tryLoadEnv Environment variables not found at
prisma:tryLoadEnv No Environment variables loaded
prisma:client dirname /home/mateeusls/www/SuporteGerencial/Projetos/app-creape/prisma
prisma:client relativePath
prisma:client cwd /home/mateeusls/www/SuporteGerencial/Projetos/app-creape/prisma
prisma:client protocol graphql
prisma:client clientVersion in-memory
prisma:client clientEngineType library
prisma:client:libraryEngine internalSetup
prisma:client:libraryEngine requestBatch
prisma:get-platform Found distro info:
{
  "targetDistro": "debian",
  "familyDistro": "debian",
  "originalDistro": "debian"
}
prisma:get-platform Trying platform-specific paths for "debian" (and "ubuntu")
prisma:get-platform Found libssl.so file using platform-specific paths: libssl.so.1.1
prisma:get-platform The parsed libssl version is: 1.1.x
prisma:client:libraryEngine library starting
prisma:client:libraryEngine library started
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine sending request, this.libraryStarted: true
prisma:client:libraryEngine library is already stopping
prisma:client:libraryEngine library stopping

Client Snippet
// PLEASE FILL YOUR CODE SNIPPET HERE

Schema
// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE

Prisma Engine Query
{"X":{}}

Hi @mateeusls!
Could you please share prisma version, schema and the query you are trying to perform when this error occurs?
Thank you!

Prisma version is 4.15.0 and not have query, am trying run prisma studio

@mateeusls does this error happen when you open the studio? Or are you trying to do anything specific?
Can you share full schema (you screenshot is missing at least Notification model, probably more) or even better, a repository where we could launch the studio and see it happen?

When open studio,

@mateeusls Your schema defines that Notification.User always is set (via authorLogin), but the error message indicates that this might not be the case. Can you please check the data in your Notification table that it really always includes a authorLogin that also exists as User.cpf?

Closing due to inactivity, please comment here if you are still facing this when using a recent version of Prisma.
Also, please check the previous question.


Create a Graal tests application

Issue description
We should have a repository in a our graal tests suite.  It will tests that micronaut microstream works with graalvm
We need to create a repository similar to
https://github.com/micronaut-graal-tests/micronaut-basic-app
We will need to added to the tests scheduler but I can look into it once we have the app.

@timyates you should have an invitation to join the micronatu-graal-tests github organization.

I have created the repo.
Please, create a PR against https://github.com/micronaut-graal-tests/micronaut-microstream/tree/3.4.x

This isn't how we do things anymore


Newsletter subscription success page broken

After clicking "subscribe" on https://www.gbif-uat.org/newsletters I'm sent to http://subscribed.
(IE Windows, Firefox Linux)

Should be fixed now, although since relative links aren't supported I'll have to change again once we switch demo -> www

thanks @dnoesgaard . This should of course be moved out of that mad mimi iframe soon: https://github.com/gbif/portal16/issues/100
but for now there is little else to do.

Just a reminder -- did you update the URL?

I did...now.

(thanks)


SIGSEV using function node and file node

Os : Ubuntu MATE
node -v : 5.9.0
node-red :  0.13.3
I have the following flow:
interval(repeating) -> function(sets msg.filename) -> file -> ...
Depending on the size of the file this flow will always crash with the following error :

A file of about 2 mb takes 4 iterations of the flow to cause the error, a smaller file will take longer.
A flow without the function where the filename is set in the file node itself will not fail.
The error occurs during  this.script.runInContext(context) in the callback of the nodes input event. I followed this into the "var" module, https://github.com/vdsabev/var, but have had no luck so far.
I think it's something to do with contextify module.

What happens if you try using the switch node to set the msg.filename rather than a function node ?

Using the change node does not cause the error. This is expected because I think the the issue lies with the function node. As I said before the sigsev is caused somewhere inside  this.script.runInContext(context).
The repeat rate on the inject node is about four seconds, however this doesn't effect the outcome, I have attempted this with an inject rate of 20 seconds and it will still fail after the same number of iterations.
Thanks for the reply.

This will be an issue with the underlying node.js vm module in the node 5.x stream; it should not be possible for application code to cause a seg fault like this. It would also be useful to create as minimal a test case as possible for it.

Indeed - does this also occur on the 4.x LTS version of node.js ?

Sorry for the late reply very bust at the moment, I am not sure whether the error occours in the LTS

@dzdas yes, as I said, this is an issue with the underlying node runtime - it is not a something we can fix in node-red code.


[BUG]:  Registry CLI fails if ran on docker-compose v2

What is the bug related to?
Registry CLI
What went wrong?
A bug happened!
What did you expect to see?
It should support docker-compose or prompt to install docker-compose plugin.
Additional Context
No response
Relevant logs/output (if any)
No response

@tushar5526
https://docs.sunbirdrc.dev/developer-documentation/installation-guide

Hi @tejash-jl , apologies for the badly formatted issue report.
The registry-cli was trying to run docker-compose commands as docker compose up instead of docker-compose up. There was a - missing.
On further investigation, I found that the former command is available through compose-plugin. pip install docker-compose does not support docker compose up it requires commands to start with docker-compose with a - in between.

https://docs.docker.com/compose/install/


Deploy notes Go binary

Description
This PR builds on @monfresh's earlier PR that allows on-call folks to run a script to generate deploy notes. You can now run a compiled Go binary to generate deploy notes.
Once this PR is merged, I'll update the docs.
Reviewer Notes

The binary does not actually deploy our on-hold builds, it simply generates deploy notes.
The binary addresses the issue from this comment from the previous PR. Currently running builds will not be included in the deploy notes.
In the future, we might want to do things like running this binary in CI when we hit the deploy button and automatically post to Slack. I'm considering that out of scope for now since I'd like to get this into the hands of on-call folks and documented.

Setup
Quoted steps are from @monfresh's previous PR:

Go to https://app.circleci.com/settings/user/tokens
Create a new token and save it somewhere safe, like in 1Password. I named mine "mymove-deploy"
Go to https://github.com/settings/tokens
Click on "Generate new token", and give it only the repo permissions, and save it in 1Password

run make build bin/generate-deploy-notes
run CIRCLE_TOKEN=yourcircletoken GITHUB_TOKEN=yourgithubtoken bin/generate-deploy-notes. For you 🐟 folks, you'll need to prepend env to that command: env CIRCLE_TOKEN=yourcircletoken GITHUB_TOKEN=yourgithubtoken bin/generate-deploy-notes

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 96dc0ffb1a819b24883f1e73428e72ef2c24277f

@chrisgilmerproj will change the name 👍
As far as sharing more widely, I think that might be a good on-call project, along with the potential use of automatically posting the Slack and running in CI.

@chrisgilmerproj will change the name 👍
As far as sharing more widely, I think that might be a good on-call project, along with the potential use of automatically posting the Slack and running in CI.

FWIW I've had some success getting Truss InfraSec Reserve team to take on these tools, breaking them out, and turning them into their own projects. And if not Truss InfraSec Reserve you might try the Truss Eng Reserve. I know that the milmove_orders repo will eventually want to use this tool too.

@kimallen you might need to rm bin/generate-deploy-notes && make build bin/generate-deploy-notes. I seem to be getting the correct HTML URL


Docker platform discrepancies

Today, if you run docker run --platform linux/arm64 ... and docker run --platform linux/amd64 ... the set of system include paths is not consistent on disk:
docker run --platform=linux/amd64 --rm -it --entrypoint bash goreleaser/goreleaser-cross:v1.20.5 -c "ls /usr | grep -E '(aarch64-linux-gnu|x86_64-linux-gnu)'"
aarch64-linux-gnu

docker run --platform=linux/arm64 --rm -it --entrypoint bash goreleaser/goreleaser-cross:v1.20.5 -c "ls /usr | grep -E '(aarch64-linux-gnu|x86_64-linux-gnu)'"
x86_64-linux-gnu

This means that if you run the --platform=linux/arm64 version, path /usr/aarch64-linux-gnu does not exist as it's directly /usr and the opposite for --platform=linux/amd64 (path /usr/x86_64-linux-gnu does not exist).
I think we can make image consistent across platform by having 3 symlinks to /usr/{include,lib,bin}. If you agree, I would like to propose a PR for this.

thanks for reporting,
mind showing use-case when this is causing issues

It's unclear to me yet if it's actually a real problem :) I was adding a new build for linux/arm64 and for linux/amd64 I had defined:
  - id: linux-amd64
    main: ./cmd/{{ .global.Binary }}
    binary: {{ .global.Binary }}
    goos:
      - linux
    goarch:
      - amd64
    env:
      - CGO_ENABLED=1
      - CC=x86_64-linux-gnu-gcc
      - CXX=x86_64-linux-gnu-g++
      - C_INCLUDE_PATH=/usr/x86_64-linux-gnu/include
      - LIBRARY_PATH=/usr/x86_64-linux-gnu/lib
    flags:
      - -trimpath
      - -mod=readonly
    ldflags:
      - -s -w -X main.version={{`{{.Version}}`}}

So I was looking for the exact include path replacement for /usr/x86_64-linux-gnu/{include,lib} which I expected should have been at /usr/aarch64-linux-gnu. But I'm running the linux/arm64 version of the Docker image so the path I was looking for is actually /usr/{include,lib}.
I'm not 100% sure it's a real problem, I think maybe the /usr/include will be checked anyway so it's gonna work.
I'm trying to build this linux/arm64 version as we speak, so I'll let you know.

i see, check out here how we do that

I removed C_INCLUDE_PATH and LIBRARY_PATH and my build still passes, with the new added linux/arm64. Interestingly, I'm pretty sure I added that at some point because I had some compilation issues related to CGO. But now I'm unsure what was it for this case.
Something I do however is to wrap goreleaser-cross with added native (read C) pre-compiled library + include for a build dependency and I place them in /usr/<triplet>/{include,lib}. So I feel there is still worth to have a consistent paths between Docker platform image.
However, it seems for now it's not a big deal, if you prefer to not have such PR, I'm good also and we can close the issue.

yeah, lets close it, feel free to reopen if issue appears again, i'll give it a closer look

Ok here a case that just bite me about the discrepancies of the include paths. I'm building a container out of goreleaser directly, adding some runtime dependencies within the image so that the build process can go smoothly. I'm downloading pre-compiled lib/include with this in my Dockerbuild file:
RUN cd /root &&\
    mkdir wasmedge-ubuntu-20.04-x86-64 &&\
    cd wasmedge-ubuntu-20.04-x86-64 &&\
    wget -O wasmedge.tar.gz https://github.com/WasmEdge/WasmEdge/releases/download/0.11.2/WasmEdge-0.11.2-ubuntu20.04_x86_64.tar.gz &&\
    tar -xzvf wasmedge.tar.gz &&\
    mkdir -p /usr/x86_64-linux-gnu/lib &&\
    cp -R WasmEdge-0.11.2-Linux/include/* /usr/x86_64-linux-gnu/include &&\
    cp -R WasmEdge-0.11.2-Linux/lib/* /usr/x86_64-linux-gnu/lib &&\
    rm -rf wasmedge-ubuntu-20.04-x86-64

RUN cd /root &&\
    mkdir wasmedge-ubuntu-20.04-aarch64 &&\
    cd wasmedge-ubuntu-20.04-aarch64 &&\
    wget -O wasmedge.tar.gz https://github.com/WasmEdge/WasmEdge/releases/download/0.11.2/WasmEdge-0.11.2-manylinux2014_aarch64.tar.gz &&\
    tar -xzvf wasmedge.tar.gz &&\
    mkdir -p /usr/lib &&\
    cp -R WasmEdge-0.11.2-Linux/include/* /usr/include &&\
    cp -R WasmEdge-0.11.2-Linux/lib/* /usr/lib &&\
    rm -rf wasmedge-ubuntu-20.04-aarch64

In this first RUN, I copy to /usr/x86_64-linux-gnu/include but this path doesn't exist if platform used for goreleaser is linux/amd64 (I'm running OSX M1 so it automatically pick linux/arm64 normally).
So I'm left to do conditional if to determine where to put the files exactly. Do you have workarounds that could be applicable?

I think you're looking for this


Add sbt-web-scalajs to 02-Community-Plugins.md

Hi @yoshiyoshifujii,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
http://www.lightbend.com/contribute/cla

ありがとうございます!


ENS properties visibility

What context is your feature request related to?
change properties visibility for ENS class
What solution would you like?
Replace public var with private(set) var
Exists some setters that do extra verifications so the public var should be avoided to not open the possibility to mutate the class without the proper verifications.
Setter list:
setENSResolver
setBaseRegistrar
setRegistrarController
setReverseRegistrar
Any additional context?
No response

I'm afraid this one i've missed when released 3.0.0 and for now as some client code could relies on it, we should have some strong reasons to change this bit of Public API.

oh, apologies
I suppose that the good solution would be to wait for 4.0?
do you want to revert it and postpone to 4.0 @yaroslavyaroslav?

I'm afraid this one i've missed when released 3.0.0 and for now as some client code could relies on it, we should have some strong reasons to change this bit of Public API.

Technically, you said breaking changes until 3.1 ;D

@albertopeam nevermind, @janndriessen is right, we're made a decision to fit all possible breaking changes into the closest minor update. So if it's already merged -- it's fine. I've just tried to refuse them at least with a minimum effort back there 💁🏻♂

Anyway this one should be closed

Ah, I see. @albertopeam you have to type only "closes #471" either "fix #471". Released one doesn't works this way. To self checking the word prepending a issue number should be underlined.


Convert remove-filter.js to use init initialisation approach

Trello: https://trello.com/c/DdSnmUQy/522-convert-finder-frontend-module-initialisers-in-remove-filterjs-to-not-use-jquery
This replaces the jQuery start initialisation pattern in the module to use the non-jQuery init approach, to help us remove jQuery. It then refactors the module organisation to be the standard GOV.UK approach. Finally it does some clean-up in the tests and removes the jQuery from that too.
This is easiest reviewed commit by commit.
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

also 🚀

Thanks for the review 👍

Extra points for removing jQuery from the test - you don't have to do that if it's not necessary.

Yup, that wasn't an intentional project it just all seemed a bit of a mess - lots of $('<div>')[0] code


[SIP-134] Hide inactive users

[SIP-134] Proposal for Hide inactive users
Motivation
Some users don't want/need to see inactive users in the "Owners" dropdown in list views and on Superset entities.
Proposed Change
Use the isActive attribute to hide any users that are inactive on the front end. We can put this behind a config flag since some users do want to see inactive users.
New or Changed Public Interfaces

Any instances of the "Owners" dropdown will only show active users.
This will be toggled with a config flag so that users have the option to show or hide inactive users.

New dependencies
None.
Migration Plan and Compatibility
No changes here.
Rejected Alternatives
I'm unaware of any rejected alternatives.

What determines whether a user is active or inactive?
Is it better to flag users as "inactive" rather than "isActive" assuming they're active by default, and may fall into some lapsed state?

@lyndsiWilliams maybe this isn't a temporal thing, but just based on a flag on the user account that already exists? In an y case, would you mind putting this up for a [DISCUSS] thread if you want to move the ball forward?

My guess is that it would use the is Active checkbox on the List Users page, is that what you were thinking @lyndsiWilliams ?

@lyndsiWilliams just wondering if there's any intent to follow through with this.

Just a heads up, this'll be closed as inactive on October 17th unless there's any follow-up/backing to move it through the process. Thanks!

Closing as discarded


regarding the RX  pin in esp01 module

Hi Scott,
I have researched for quite few days after you mentioned that few modules like esp01 cannot be used in the document. But later after reading few specifications and me trying out myself i found out the esp01 can also be used and it works fine.

Did he say that?
I've been running it fine on ESP-01 since like Feb. #34

The below was written under Hardware Connections from his documentation :
The ESP8266 has hardware support for I²S and this peripheral is used to control the ws2812b LED strip. This signficantly improves performance compared to bit-banging the IO pin. Unfortunately, this means that the LED strip must be connected to the RX1 pin, which is not accessible in some ESP8266 modules (such as the ESP-01).

Yeah I can submit a pr to update the documentation but Scott hasn’t been active in a while so I’m not sure it’ll be looked at for a bit.

What configuration / code changes are needed in order to make this work with the ESP-01? I'll update the documentation

Hi @giri110890, did you have to change anything in the code to work with the ESP01?

Hey Thales,
No there's no change in the code and the data wire for the led strip should
be connected to the Rx pin of the Esp01 module.
On Tue, Feb 13, 2018 at 8:10 AM, Thales Sperling<EMAIL_ADDRESS>wrote:

Hi @giri110890 https://github.com/giri110890, did you have to change
anything in the code to work with the ESP01?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/scottlawsonbc/audio-reactive-led-strip/issues/74#issuecomment-365133055,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOkpXbN6s6bCOr_3hKs1qK0QvVGYIJm1ks5tUPYOgaJpZM4Paqh6
.


esp-s3 jtag serial drive write function loses characters when rx ring buffer is full (IDFGH-10926)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.2-dev-2318-ga58547b8c6
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
custom board
Power Supply used.
USB
What is the expected behavior?
Have the write function wait 50 mS in the tx ring buffer for the USB host to flush and not lose character.
What is the actual behavior?
Upon examining the code, I noticed that the usbjtag_tx_char_via_driver function contains a comparison that checks whether an immediate send operation succeeds. However, the return value from usb_serial_jtag_write_bytes is always 1, which prevents the intended logic to try blocking for 50 mS, but also a return that always skyp the bloking try.
Steps to reproduce.
this issue is very similar.
Debug Logs.
No response
More Information.
Proposed Solution:
To resolve this issue, I recommend implementing the following adjustments and have already submitted a corresponding pull request:
Modify the usb_serial_jtag_write_bytes function to return -1 on failure and 0 on success.
int usb_serial_jtag_write_bytes(const void* src, size_t size, TickType_t ticks_to_wait)
{
    ESP_RETURN_ON_FALSE(size != 0, ESP_ERR_INVALID_ARG, USB_SERIAL_JTAG_TAG, "size should be larger than 0");
    ESP_RETURN_ON_FALSE(src != NULL, ESP_ERR_INVALID_ARG, USB_SERIAL_JTAG_TAG, "Invalid buffer pointer.");
    ESP_RETURN_ON_FALSE(p_usb_serial_jtag_obj != NULL, ESP_ERR_INVALID_ARG, USB_SERIAL_JTAG_TAG, "The driver hasn't been initialized");

    const uint8_t *buff = (const uint8_t *)src;
    // Blocking method, Sending data to ringbuffer, and handle the data in ISR.
    BaseType_t result = xRingbufferSend(p_usb_serial_jtag_obj->tx_ring_buf, (void*) (buff), size, ticks_to_wait);

    // Now trigger the ISR to read data from the ring buffer.
    usb_serial_jtag_ll_ena_intr_mask(USB_SERIAL_JTAG_INTR_SERIAL_IN_EMPTY);

    // Return -1 on failure, 0 on success.
    return (result == pdFALSE) ? -1 : 0;
}

Update the usbjtag_tx_char_via_driver function to accommodate the adjusted return values and logic.
static void usbjtag_tx_char_via_driver(int fd, int c)
{
    char ch = (char) c;
    TickType_t ticks = (TX_FLUSH_TIMEOUT_US / 1000) / portTICK_PERIOD_MS;
    // Attempt to send the character immediately without blocking.
    if (usb_serial_jtag_write_bytes(&ch, 1, 0) != 0) {
        s_ctx.tx_tried_blocking = false;
    } else {
        return;
    }

    // If immediate send fails, try blocking with a timeout.
    if (s_ctx.tx_tried_blocking == false) {
        if (usb_serial_jtag_write_bytes(&ch, 1, ticks) != 0) {
            return;
        } else {
            s_ctx.tx_tried_blocking = true;
        }
    }
}

More information about it can be found in the PR conversation, where @ginkgm clarifies the behavior of the ring buffer.


GO:0043112 receptor metabolic process

Following up on #12362
I fixed receptor and cargo receptors, and now the receptor metabolic/catabolic/biosynthetic process terms must be addressed to split signaling receptors and cargo receptors.
I will work on a proposal - more on this later.

(these are just notes for now)
WRT  GO:0043112 receptor catabolic process:

@thomaspd  proposes to have this as a MF 'regulator activity' : something like 'molecular function regulator activity via cell-surface protein degradation' (and similarly for internalization, ubiquitination, etc)
That would be under 'protein tagging activity'
proposal to be completed


Security risk when calling both location & safe_location due to memoization?

Hello,
if you call request.location before request.safe_location, since they both use @location for memoization, request.safe_location will return the same value request.location did.

Excellent point. Thanks!
PR welcome.


[tests] Removed support for OCL backend. Do not print rocminfo output unless GPU detection failed. Some cleanup.

Removed support for OpenCL backend
Do not print rocminfo output unless GPU detection failed.

Resolves https://github.com/ROCmSoftwarePlatform/MIOpen/pull/2396/files#r1374642705

Some cleanup and clarifications

[Attribution] @junliume @JehandadKhan

https://github.com/ROCmSoftwarePlatform/MIOpen/labels/quality
https://github.com/ROCmSoftwarePlatform/MIOpen/labels/testing
https://github.com/ROCmSoftwarePlatform/MIOpen/labels/urgency_normal
Proposed reviewers: @cderb @xinlipn @JehandadKhan

I'll remove tests for OCL BE in this PR.

@cderb @xinlipn @JehandadKhan Ready for review & CI testing (please restart)

I see the conflict.

@cderb @xinlipn @JehandadKhan Ready for review & CI testing (please restart)

@atamazov Opps lots of conflicts after merging #2380. Could you please merge the latest develop since it is from your forked repo? Thanks!

@junliume Sure, thanks for informing.

@junliume @cderb @xinlipn @JehandadKhan Ready for review & CI testing (CI needs to be restarted manually IIRC)


Media: Add video cache opt-in

Context

Serving videos in stories directly from Google's cache improves performance and reduces bandwidth costs for creators. We want to allow our users to opt into this new feature.
Summary

This PR adds a new checkbox to the settings screen for users to opt into serving videos from the Google cache.
It's currently behind a feature flag, so the experiment needs to be enabled first before the checkbox is visible.
Relevant Technical Choices

To-do

User-facing changes

Testing Instructions

QA

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

Enable video cache experiment
Opt into video cache on the settings page
Publish a new story with a video in it
View story on the frontend
Verify that there's a cache="google" attribute on videos in the source code

If the opt-in was successful, you will be able to see on the browser network tab a
request to https://*.cdn.ampproject.org/mbv/s/* that returns a JSON with an
empty list of sources (since the cache missed this video). The video must be public
for the cache to fetch it.
In the following minutes/hours, the video cache will fetch and store the video
contents, so that a later request to this url can return a processed list of video
sources for that origin video.
This can then be verified by observing network requests in the dev tools, where videos will be loaded from the CDN instead of origin.
UAT

[x] UAT should use the same steps as above.

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?

Does this PR change what data or activity we track or use?

Does this PR have a legal-related impact?

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[x] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[x] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #8310

JS unit test failing.


fix(build): bump java core to 9.22.0

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


Initial values on soft signals not carried through to sim

As a developer I would expect the initial values on my soft signals to be the same regardless of whether I connect with sim or not.
i.e. I have a device:

from ophyd_async.core import (
    StandardReadable,
    soft_signal_rw,
)

class MyDevice(StandardReadable):

    def __init__(self, prefix: str, name: str = ""):
        self.my_signal= soft_signal_rw(int, 10)

and the following test fails:
async def test_init() -> MyDevice:
    device = MyDevice("-DI-OAV-01", name=DEVICE_NAME)
    await device.connect(sim=True)

    assert await device.my_signal.get_value() == 10

However, running it as a real device passes:
async def test_init() -> MyDevice:
    device = MyDevice("-DI-OAV-01", name=DEVICE_NAME)
    await device.connect()

    assert await device.my_signal.get_value() == 10

Is this expected behavior? It is unexpected for my usecase of trying to test the real device as much as possible

This is not desired behaviour, although I can see how it might be happening at the moment.
@evalott100 please can you check this will be fixed when https://github.com/bluesky/ophyd-async/issues/94 is fixed?

I've fixed this  in #251:
The intial value is now correctly passed through to the mock backend post connect:
https://github.com/bluesky/ophyd-async/blob/f9bf5a98856bf75d181da80fdd99cc39df62c2e1/tests/core/test_mock_signal_backend.py#L308-L323