some question about rotmg

Well,when i used rotmg function,the same input had different result between cublas and openblas.
input is as follows:
d1=5.9e-8
d2=5.960464e-8
x1=1.0
y1=150.0
param[5]={0.0, 0.0, 0.0, 0.0, 0.0}
And the output of openblas:
d1=0.999956
d2=0.989812
x1=0.036623
y1=150.0
param[5]={-1.0, 0.000002, -0.000244, 0.000244, 0.000002}
And the output of cublas:
d1=0.999956
d2=0.989812
x1=0.036623
y1=150.0
param[5]={-1.0, 0.000002, -0.000244, 1.0, 0.000002}
I referred some papers in order to know the implementation of the function.And I found that in some situation, this function will have a scaling operation.It seems that cublas does not have this operation? It is a bug of cublas?I think it's a bug of cublas, but i'm not sure.

Ahem, did you notice the reply to your identical message in the nvidia cuda forum where the moderator asked you for a standalone test case to replicate the issue ?

On the other hand, a testcase with your parameters linked against the netlib reference BLAS does give the same result as you got with cublas, so you may be onto something.

The changed result comes from 025fc91 in May 2014 which must have been #365. There, the problem was repeated execution of a code segment based on the flag value set by its first invocation, now the added conditional to prevent this also seems to block a valid action in the first pass. Perhaps what is needed is a second flag, or perhaps I fail to understand the logic - this function was rewritten from old fortran-style code that jumped back and forth, neither the old nor the new version are easy to read.
Pinging @btracey as he suggested the fix that seems to cause problems now.

I further notice that ATLAS - which was given as reference in #365 - seems to avoid setting any flags within while() loops, and indeed the scaling there is done in dedicated inner loops as needed, rather than looping over the entire logic...

Sorry, but are you using SROTMG or DROTMG? With former the inputs look marginal towards precision and may overflow something. There is trivial geometry behind this function. can you try netlib BLAS Like one built by your linux distro for ultimate truth?

@brada4 drotmg, I already compared with netlib above (which agrees with cublas but not openblas). The supposed "fix" from 365 looks more like a bad workaround for a fundamental problem, IMHO rotmg should have "if" where it has "while" and do the while loop for scaling inside that "if" after setting reacting to (and resetting) dflag. What it does now is potentially flip dflag around with every iteration of the rescaling, which simply does not make sense.
I will do a PR tomorrow or over the weekend as time permits.

Yes, it looks like manual f2c from reference function...

@martin-frbg @brada4 I don't think it's the reason of  dflag in while loop. In my understanding, if have multiple cycles，in the first cycle，dflag and other variables will be changed. And in next cycle，dflag has been -1，it will not go into the branch which to set dflag and other variables. So，using if or while to set dflag and other variables dosen't  affect the final result. How do you think?

The code for in next cycle, dflag has been -1, it will not go into the branch was added in #365 to prevent this unwanted side effect of cycling. The problem with it is that in your case, dflag is -1 from the start and the added code completely prevents it from changing the variables accordingly.  My change separates the scaling cycle from the dflag setting code.

ok，I have already understood how this result occurred. Now I have another confusion，why should judge dflag two times？Can I extract the two judgments and put them in front of if(*dd1 != ZERO)？I am not very clear about the principle.With reference to this paper "basic linear algebra subprograms for fortran usage" http://www.cs.utexas.edu/users/kincaid/blas.pdf, I can understand most of the code.But still some do not understand. I did not find the statement to support the operation of judging the flag. Maybe my english is poor 😔. Can you answer my doubts？Thank you very much~😀

I don't think this is completely fixed.
In attempting to fix our implementation I find that the whole situation is SNAFU; to get my head around it, I have done a literal translation of the FORTRAN77 code here rendered as this Go code. This fails to agree with my translation of the current NETLIB implementation here rendered as this Go code under our test suite:
--- FAIL: TestDrotmg (0.00s)
	level1double.go:2007: drotmg/drotmg_f77 H mismatch RD1_Big_RD2_Big_Flag_0: expected -1 [4096 -3584 1792 4096], found -1 [4096 -4096 1 4096]
	level1double.go:2007: drotmg/drotmg_f77 H mismatch RD1_Big_RD2_Big_Flag_1: expected -1 [2340.5714285714284 -4096 4096 4681.142857142857], found -1 [2340.5714285714284 -4096 1 4681.142857142857]
	level1double.go:2007: drotmg/drotmg_f77 H mismatch D1_Big_D2_Small_Flag_1: expected -1 [2.8671999999999997e-26 -0.000244140625 4096 2.44140625e-16], found -1 [2.8671999999999997e-26 -0.000244140625 1 2.44140625e-16]
	level1double.go:2007: drotmg/drotmg_f77 H mismatch D1_Small_D2_Big_Flag_1: expected -1 [2.3731773997569866e+10 -1.6777216e+07 0.000244140625 1.6777216e-07], found -1 [2.3731773997569866e+10 -4096 1 1.6777216e-07]
	level1double.go:2007: drotmg/drotmg_f77 H mismatch OpenBLAS#1452: expected -1 [1.6110934624105326e-06 -0.000244140625 0.000244140625 1.6276041666666668e-06], found -1 [1.6110934624105326e-06 -0.000244140625 1 1.6276041666666668e-06]

This makes the whole situation fairly confusing, given that neither of these actually satisfy the documentation's claims AFAICS (though the documentation is unclear and seem to be incorrect - vis the reference to DY2 which does not exists - though using DY1 does not help).

Reopening, but for me personally a C testcase would be far preferable to any transliteration into Go. Actually I was fairly confident that my simple fix was consistent with what ATLAS uses, but I may certainly have missed something.

What troubles me is that the two Fortran implementations disagree, and that their documentation is incorrect in at least two places, making it difficult to define a proper set of tests.
If/when I get it sorted out in Go, I'm happy to send a C rendition.

Sorry, I'm on travel at the moment, but ATLAS had a different open bug (in my opinion) in this function. I'll find the report and check if it's still present when I get a chance

The solution is just to remove the if-statement in line 139 with the original while-statement from before.
The real issue was that in the Fortran reference function there never was a check for dflag == ONE.
I checked the input arguments given above with the fortran reference function, which give the same result as the cublas version. And the current openblas version setting the if to while.

As another data point, the OpenBLAS/netlib-lapack/BLAS/TESTING fails for DROTMG at 0391c07b17d75650fa8716a642b737e996f35be5:
 Real BLAS Test Program Results

 Test of subprogram number  1             DDOT
                                    ----- PASS -----

 Test of subprogram number  2            DAXPY
                                    ----- PASS -----

 Test of subprogram number  3            DROTG
                                    ----- PASS -----

 Test of subprogram number  4             DROT
                                    ----- PASS -----

 Test of subprogram number  5            DCOPY
                                    ----- PASS -----

 Test of subprogram number  6            DSWAP
                                    ----- PASS -----

 Test of subprogram number  7            DNRM2
                                    ----- PASS -----

 Test of subprogram number  8            DASUM
                                    ----- PASS -----

 Test of subprogram number  9            DSCAL
                                    ----- PASS -----

 Test of subprogram number 10            IDAMAX
                                    ----- PASS -----

 Test of subprogram number 11            DROTMG
                                       FAIL

 CASE  N INCX INCY  I                             COMP(I)                             TRUE(I)  DIFFERENCE     SIZE(I)

   11  6 9999 9999  1                      0.26666667D+11                      0.15894572D+04  0.2667D+11  0.1589D+04
   11  6 9999 9999  3                      0.15000000D-04                      0.61440000D-01 -0.6143D-01  0.6144D-01
   11  6 9999 9999  6                      0.10000000D+01                      0.40960000D+04 -0.4095D+04  0.4096D+04
   11  6 9999 9999  8                      0.50000000D-06                      0.20480000D-02 -0.2047D-02  0.2048D-02
   11  8 9999 9999  2                      0.13333333D+11                      0.79472860D+03  0.1333D+11  0.7947D+03
   11  8 9999 9999  7                     -0.10000000D+01                     -0.40960000D+04  0.4095D+04 -0.4096D+04
   11  8 9999 9999  9                      0.10000000D-05                      0.40960000D-02 -0.4095D-02  0.4096D-02

 Test of subprogram number 12            DROTM
                                    ----- PASS -----

 Test of subprogram number 13            DSDOT
                                    ----- PASS -----

Seems to me the actual problem with my PR was that I copypasted the wrong conditional for rescaling dd1,dd2 against  GAMSQ, so that while loop would never be invoked. With the new fix, both the original test case (to be added to the utests once I get those to build on all platforms again) and the netlib test passes.

Thank you for pushing that fix. Our implementation now disagrees in only one of our test cases by a value that means it should be straightforward to track down.

Yes, I will ping this when I understand what is going on with that case. Thanks.

WRT the possible bug in ATLAS that btracey mentioned, the only entry I can find is
https://sourceforge.net/p/math-atlas/support-requests/932/

OK, I have where the difference is between our implementations.
In the scaling checks in NETLIB 3.8.0 (and the Gonum code) the form is
if d != 0:
    while d not in range:
        update flag and H details
        if too low:
            scale up
        else:
            scale down

as seen here
 *     PROCEDURE..SCALE-CHECK
          IF (dd1.NE.zero) THEN
             DO WHILE ((dd1.LE.rgamsq) .OR. (dd1.GE.gamsq))
                IF (dflag.EQ.zero) THEN
                   dh11 = one
                   dh22 = one
                   dflag = -one
                ELSE
                   dh21 = -one
                   dh12 = one
                   dflag = -one
                END IF
                IF (dd1.LE.rgamsq) THEN
                   dd1 = dd1*gam**2
                   dx1 = dx1/gam
                   dh11 = dh11/gam
                   dh12 = dh12/gam
                ELSE
                   dd1 = dd1/gam**2
                   dx1 = dx1*gam
                   dh11 = dh11*gam
                   dh12 = dh12*gam
                END IF
             ENDDO
          END IF

          IF (dd2.NE.zero) THEN
             DO WHILE ( (dabs(dd2).LE.rgamsq) .OR. (dabs(dd2).GE.gamsq) )
                IF (dflag.EQ.zero) THEN
                   dh11 = one
                   dh22 = one
                   dflag = -one
                ELSE
                   dh21 = -one
                   dh12 = one
                   dflag = -one
                END IF
                IF (dabs(dd2).LE.rgamsq) THEN
                   dd2 = dd2*gam**2
                   dh21 = dh21/gam
                   dh22 = dh22/gam
                ELSE
                   dd2 = dd2/gam**2
                   dh21 = dh21*gam
                   dh22 = dh22*gam
                END IF
             END DO
          END IF

The OpenBLAS code doe this instead:
if d != 0:
    if d not in range:
        update flag and H details
        if too low:
            while too low:
                scale up
        else:
            while too high: # note that >= rather than the expected > is used, though this does not cause this failure.
                scale down

The difference stems from the fact that the NETLIB code resets H elements to unit values on each iteration of the outer loop, while this does not happen in the OpenBLAS code. Which is correct? Since the splitting of flag/H updates and scaling is a recent addition in OpenBLAS, I suspect the NETLIB way is the right approach (but have no other basis for this claim).
The test case we have that shows this difference is (with our expectations):
        {
                Name: "D1_Small_D2_Big_Flag_1",
                P: &blas.DrotmParams{
                        Flag: blas.Rescaling,
                        H:    [4]float64{2.3731773997569866e+10, -4096, 1, 1.6777216e-07},
                },
                D1:<PHONE_NUMBER>00000000,
                D2:  0.000000000012345,
                X1:  0.08,
                Y1:<PHONE_NUMBER>000,
                Rd1: 0.00010502490698765249,
                Rd2:<PHONE_NUMBER>957717,
                Rx1: 3.8516669198055897e+09,
        },

Having now put in a drotm check to our tests, I'm pretty confident that the OpenBLAS/ATLAS approach (which as said above looks intuitively more likely) is correct (cf. the NETLIB code). There is still a failing case from our test suite, but I will look into that further (drom fails to zero out the y1):
        {
                Name: "RD1_Big_RD2_Big_Flag_0",
                P: &blas.DrotmParams{
                        Flag: blas.Rescaling,
                        H:    [4]float64{4096, -4096, 1, 4096},
                },
                D1:<PHONE_NUMBER>,
                D2:  800000000,
                X1:  8,
                Y1:  7,
                Rd1: 68.96627824858757,
                Rd2: 34.483139124293785,
                Rx1: 45312,
        },

So，in rescale situation when flag is -1，dh21 set -1，dh12 set 1，I just think it‘s unreasonable.And after recent commit，i think it still has difference between openblas and netlib.If d1 is small enough，need two times scale，result will be different.I'm not sure about this，I don't construct the data for this situation，there are some difficulties.

We have fixed out Go implementation by porting the code in the appendix of this paper. We're testing against the documented behaviour rather than only a set of golden values, so we a re confident that it is correct. Using OpenBAS as a backend gives a number of failures against our golden values, but more significantly fails to provide values that zero out y1 for the following input: D1=1600000000, D2=800000000, X1=8, Y1=7.
level1double.go:2119: drotm y_0 mismatch RD1_Big_RD2_Big_Flag_0: expected 0, found -24052.672896090524

(the drotm test here check that the rotation zeros out the second element for [x1;y1]).

I think I am getting confused, but from the use of D1, D2 this is still ROTMG in terms of BLAS function naming rather than ROTM ? The OpenBLAS implementation in interface/rotmg.c does not attempt to
modify y1 anywhere, and neither does its FORTRAN counterpart in netlib (which has DY1 as "param[in]" unlike the DX1 that is "param[in,out]" in the explanation of the arguments at the top of the function). But as I say I am getting confused...

The issue is in ROTMG, we use ROTM to check that the returned values actually zero out y1. I think the failure is due to a bug that was outlined by @wxcstc in https://github.com/xianyi/OpenBLAS/issues/1452#issuecomment-368057808

Sorry, I did not explain myself adequately, but @vladimir-ch has fixed that deficit.

Thanks for the clarification. So your conclusion seems to be that netlib ROTMG is similarly broken, as the two appear to produce identical results in my tests  with the inputs you posted previously ?  (Not that this would be impossible, just inconvenient)
To save myself a likely headache, could you post your expected results from ROTMG, i.e. those that would "actually zero out y1" in a subsequent ROTM ?

So your conclusion seems to be that netlib ROTMG is similarly broken ...

Yes, that's exactly our conclusion.
Our expected results from ROTMG for the inputs above:
flag = -1 (rescaled)
H = {4096, -3584, 1792, 4096}
d1 = 68.96627824858757
d2 = 34.483139124293785
x1 = 45312

So if I understand correctly (from https://github.com/gonum/gonum/commit/58e39c9) the salient difference is that you move the setting of dh11,dh22 to 1,1 (or dh12,dh22 to -1,1) from the "rescaling" part of the code (where they did look out of place, in particular given the original confusion over whether the flag should change in the while loop) to the preceding "calculating" block (?)

Yes, correct. The setting of elements of H in the "rescaling" part could destroy the rotation and scaling computed previously.
Eventually we would also like to clarify whether gam could be increased and to what value. In my understanding from what I read in the papers, the value of 4096 was chosen very conservatively when BLAS Level 1 was created, that is before IEEE floating point. A larger value of gam would reduce the necessity for rescaling (flag = -1) which is good because having units is H saves operations in DROTM which is the whole point of all this. On the other hand, it would change the values returned by DROTMG which apparently (almost?) nobody uses anyway, so it's not clear whether it would be worth it.

OpenBLAS could provide a DROTMG2 or DROTMGG or whatever BLAS extension that is DROTMG with a non-standard gam I guess. (Not sure how much of an audience this could reach compared to netlib et al. though)

The NETLIB reference tests pass without modification, so when we file an issue to correct the problem with their ROTMG, we can raise the issue of changing the gam constants. We were planning on filing the issue with NETLIB after the code is corrected here.

I was about to prepare a PR, but found that my transcription of your changes makes it fail the test from the very first message again. I expect this still works for you, and I just made a mistake somewhere.

I did need to change to H_{1,2} from 1 in the OP to 1/4096. I am not particularly phased by this as the H returned by cublas will not give the correct ROTM returns.
My golden values are here. I guess I have been somewhat flexible with the truth in the comment in that section, but those are the times we live in.

Hmm. I still get errors even with that change, unless I also force dflag=-1 from ONE to -ONE when dh21=-ONE and dh12=ONE (which sort of makes sense, but makes the "X1=X2 D1=D2" test case return with flag set to rescaled and the H all messed up  (1,-1,1,1). (And netlib blas tests go wrong as well).
I seem to be missing some other detail from your change, but lack the time to track it down right now.
So if anybody can beat me to it, please do.

Have you directly transcribed my change or just applied aspects of it? Is there a branch I can look at?

Sorted now I believe (guess I only needed some sleep).

So，in my understanding，compared to original code of openblas，new merge add a new situation that x1 is 0.The operation about flag in original openblas is right.And netlib and cublas is wrong，is it？ @kortschak @martin-frbg

There has not been a reaction from the netlib team as far as I know, but the issue indeed seems to be that tne original netlib implementation (that both OpenBLAS and cublas followed faithfully) does not work for some inputs. So the original openblas code was wrong in its handling of the flag, but all the netlib-based implementations are also wrong in their handling of the specific testcase from gonum.

ok，I get it，thx~~


[Menu] - cursor: pointer

  Editorials
  Reviews
  Upcoming Events

I don't think active item should have cursor: pointer on hover - it's already selected, is it not?

Not sure how important it is, but some people use the "active" element to refresh the page.


AltModeModels_ls.RData > AltModeModels_ls.rda

Loading VEHouseholdTravel was failing
In readChar(con, 5L, useBytes = TRUE) :
  cannot open compressed file 'inst/extdata/AltModeModels_ls.RData', probable reason 'No such file or directory'

Another problem: not just file extension, but AltModModels_ls.rda appears to be expected in inst/exdata from data. Should be be called from data? That appears to be correct from my reading of the model system design.

I believe this is fixed in develop


[MIG-455] Fix issue with DirectImage endpoint on discovery service and objectRefs

https://github.com/konveyor/mig-controller/pull/1043

Fixed by #1043


themeInverse does not look right on native since v1.22.10

On native, a button with themeInvese is not readable and does not have the expected look since v1.22.10.
Meanwhile it looks fine on web.
v1.22.9

Since v1.22.10

This seems partially fixed from https://github.com/tamagui/tamagui/releases/tag/v1.28.0.
The text color is correctly inverted, but not the icon yet.
Web:

Native:

thanks for finding the exact version, helped a lot. fixed in 1.28.3.


Discord Canary not launching with BBD

(I'm using BBD Update 318)
Ok so my Discord Canary had to update and I updated it and then BBD didn't launch.
So I went to repair it and next thing I know, Fatal JavaScript error.
Yes I have reinstalled/repaired several times.
And there's also an issue of text turning black for no reason
(This may be my custom theme or BBD I don't know)

This has been fixed, please reinstall.


gitea synchronize repository

hi，How does gitea synchronize code? Is there a related document? For example, I have two computer rooms, A and B respectively. The C personnel submit the code in the A machine room and automatically synchronize to the B machine room. do you have any better suggestions?

@withlin I am not familiar with the feature and its implementation.
You can have a look at the code at /models/repo_mirror.go.
AFAIK, if you have the mirror checked when migrating a repository, Gitea will register some webhooks and automatically push(or pull?) the updates of the other repository for you.

I hope I don't misunderstand the scope of your question, so please forgive me if I do.
Gitea is a project management system that is built around git. Git is a program used to synchronize source code among developers, no matter where they are located. I'd recommend reading the first few pages of the git book to learn about it.


proportional scheduling

@pankaj-bind please review my PR

this is proportional scheduling also known as fair share scheduling

mention this detail in readme file

@pankaj-bind this algorithm has two names fair share and proportional scheduling

@pankaj-bind done with the changes requested

@pankaj-bind


Flying vessel

Is the vessel obj off? Or am I doing something wrong?

A waterline of -9 m makes things more reasonable.

The vessel location relative to the reference point is set in Sensor = Basic Config.  You have to set it up to align the transducers with where you think they are on a boat.  The line on the GitHub will line up better with the other Vessel obj model, the launch one.
I talk about this a bit in the docs (https://kluster.readthedocs.io/en/latest/vessel_setup/index.html).  It is just for a visual reference and does not affect the actual data.  You can turn it off in the View menu.
The waterline value should be OK as is, matching what was in SIS during acquisition.

New video where I talk about this a bit: https://youtu.be/8rwqkFABgnU
Please let me know if you have any questions or suggestions.

I understand the relevance of the "sense of scale", but the "sense of draft" is not less useful for the user.
What about shifting just a bit the vessel? Something similar to what is done in the attached file using 3D Builder:
noaa_ship_foster_edited.zip
In such a way, the vessel is visualized closer to user expectations. The user then does not need to apply a large z shift (similar to what happens with the launch object).
One more minor thing: the 'Base Config' name.
It can be disorienting to discover that it is 'For display only ...'. What about changing this name to 'Display Config' (or something similar)?

I think both of those suggestions make sense.
You will still probably need to apply a z shift of some kind to the vessel as the reference point of the display (0, 0, 0) is not necessarily the sonar system.  But I could get it much closer.
I'm fine with changing the basic config name.  You aren't the first person who was confused by it.
Should be able to get this in the next update easily enough.


Added to Fork it

Description

[x] I have added a folder(Named it as my GitHub user id)
[x] I have added a Readme.md file inside the folder
[x] I understand the GitHub Forking Concept fully

@atapas please review this.


false alerts

Certificate cert-utils-operator/kubelet-client-281 is at 95% of its lifetime Certificate cert-utils-operator/kubelet-client-281 is at 95% of its lifetime
Alerts Firing:
Labels:
- alertname = CertificateIsAboutToExpire
- container = kube-rbac-proxy
- endpoint = https
- exported_namespace = openshift-kube-apiserver
- instance = <IP_ADDRESS>:8443
- job = cert-utils-operator-controller-manager-metrics
- name = kubelet-client-281
- namespace = cert-utils-operator
- pod = cert-utils-operator-controller-manager-5647694ff8-bds8r
- prometheus = openshift-monitoring/k8s
- service = cert-utils-operator-controller-manager-metrics
- severity = critical
Annotations:
- message = Certificate cert-utils-operator/kubelet-client-281 is at 95% of its lifetime
- summary = Certificate cert-utils-operator/kubelet-client-281 is at 95% of its lifetime
Source: https://prometheus-k8s-openshift-monitoring.apps.os-global.finods.com/graph?g0.expr=cert%3Atime_to_expiration%3Asec+%2F+cert%3Avalidity_duration%3Asec+%3C+0.05&g0.tab=1

these rotate automatically and should maybe be ignored by default, it just generates noise.

please see the discussion at #122


Is command name "stop" mistake?

Did you mean "step"?
(or probably better be "continue" following pry's naming convention?)
https://github.com/deivid-rodriguez/pry-byebug#execution-commands

You're right, to match up better continue would be a better keyword.


[WIP] UP-4836: Upgrade JGroups

Checklist

[x] the individual contributor license agreement is signed
[x] commit message follows commit guidelines
[ ] tests are included
[ ] documentation is changed or added
[x] message properties have been updated with new phrases
[x] view conforms with WCAG 2.0 AA

Description of change

Upgrade JGroups, addressing changes to interfaces and replacing uPortal custom discovery code with provided JDBC_PING class.
This PR should be tested with different databases to confirm SQL DDL for JDBC_PING is cross-vendor compatible.

Coverage decreased (-0.4%) to 22.487% when pulling efd86090fda19ab94b2fb0a88aa6f385a7341b1e on bjagg:UP-4836_upgrade-jgroups into c86930ba28be9e6dc4e8c26cdebc80e3876e89c2 on Jasig:master.

Is this one ready @bjagg?

Renaming this to [WIP] as code standards have not been applied and license headers need updating.

Coverage decreased (-0.09%) to 22.797% when pulling f3b32c5a25d759a054ecb38fe06156cc7a6004f4 on bjagg:UP-4836_upgrade-jgroups into c86930ba28be9e6dc4e8c26cdebc80e3876e89c2 on Jasig:master.

Changes complete. I need to test once again, but this should be the final form

I pulled this branch down and tested it locally, albeit...

Only in a local (single-server) deployment
Only with HSQL

It seems to work.  :+1:


RefExtract: avoid double encoding

Avoids encoding string twice when calling get_recids_matching_query()
from BibRank in RefExtract.

Signed-off-by: Jan Aage Lavik<EMAIL_ADDRESS>

Thanks, amended commit log message and merged as a9a2a44b10be3e7eb45b1fb1a7203ca47452ef6d.

NOTE check #2603 while merging master into next.
--
PS: only to see nice reference in the other PR.


feat(typescript): add declaration files

Summary
Fixes #3562

Since we recently migrated to TypeScript 3.7 (https://github.com/algolia/instantsearch.js/pull/4097), we can now generate declaration files for the library consumers even if the TypeScript migration is not finished yet.
It is possible thanks to the new --declaration and --allowJS support.
Even with a partial migration we get some pretty good declaration files even if we still have 197 any on the public API (the existing JSDocs helped here). What is mainly missing is inline documentation tho, but this is still way better than what currently exists IMHO.
Since we heavily rely on JSDoc in JavaScript files the risk is to have some incorrect types declared, this is not an issue a long as it is not in the public API (we do not use checkJS in development).
To check the public API I used api-extractor to generate some report files: https://gist.github.com/yannickcr/e46632add9a98578269616613a5bad56 Let me know if you see any issue.
(Theses files are not part of this PR, this is just an extraction of what was generated to help to find some incorrect types.)

Interesting that it all shows (undocumented), while almost all those things have jsdoc. Do you know why that could be?

@Haroenv Do you have some examples of things that are documented and shown as undocumented? From what I saw most of it are types and very few types are documented in instantsearch.js

I was thinking of e.g. the actual wigets and connectors, but it seems like they're totally missing? Maybe because they aren't re-exported at the root. eg:

https://github.com/algolia/instantsearch.js/blob/3df7bd6b8e7505be0a66ab9201a9072b33d22ad9/src/connectors/autocomplete/connectAutocomplete.ts#L29
https://github.com/algolia/instantsearch.js/blob/3df7bd6b8e7505be0a66ab9201a9072b33d22ad9/src/connectors/numeric-menu/connectNumericMenu.ts#L30

Oh, you're right.
I only generated the report from the index.d.ts so we are missing the widgets and connectors. I will properly regenerate the file so we can have a better overview of the public API (this does not affect the declaration files generated in this PR).

Added the reports for the widgets and connectors to the gist.
The public API surface is waaaayyyy larger than what I thought, I think it will be difficult for us to identify incorrect types even with this flattened declarations :neutral_face: .

Exposing wrong types is worse than no types. I think we should only export the types coming from TypeScript files, and continue the TypeScript migration as best effort.

On a quick glance the types don't seem wrong, but it does seem hard to check these. I wonder if there's an option to create more files (maybe without api extractor?)

There seem to be duplicate types there though, Hit seems  to be there three times?

@Haroenv There is 3 files in the gist (1 for src/index.es.ts, 1 for src/widgets/index.ts and 1 for src/connectors/index.ts), each of them containing Hit.
To get multiple files you can checkout this branch and run yarn build and check the .d.ts files in the es directory. May be it would be clearer?

@francoischalifour It is also possible, but since we are not sure they are wrong it would be too bad to skip all JSDocs and TypeScript type-check on all JavaScript files from this assumption.

When we publish the typescript version for the first time manually, we need to make sure the version in version.ts is modified like x.y.z-typescript-experimental, so that it will have a correct user agent, but it shouldn't be committed to git.

Correct, for publishing an experimental, the flow would be:

VERSION=4.X.X-typescript.X yarn build
yarn build:types
 npm publish --tag typescript

(or typescript-experimental)

As decided together, we'll publish this as experimental release on the npm tag experimental-typescript to avoid potentially breaking users builds (stricter typecheck) while being able to let internal and external users to experiment with the generated typings.
This release will be handled manually at first (with instructions in the CONTRIBUTING.md file) and then will be automated with Ship.js.
Additionally to the standard release this experimental one will contains:

declaration files (generated with the yarn build:types command)
types entry in package.json

This PR will be updated accordingly.
In a separate PR, we will add an additional type check with tsc and the allowJs + checkJs flags to true. This will allows us to see the remaining errors in the JavaScript files and fix them progressively (by updating JSDoc or migrating JS files to TS). This check will be ran by the CI and will be allowed to fail.

Correct, for publishing an experimental, the flow would be:
1. `VERSION=4.X.X-typescript.X yarn build`

2. `yarn build:types`

3. ` npm publish --tag typescript`

(or typescript-experimental)

Shouldn't it be something like

yarn build
npm publish
VERSION=4.X.X-typescript.X yarn build:types
npm publish --tag typescript

the version is used in the yarn-build

the version is used in the yarn-build

okay, then it'd be like this, right?

VERSION=4.X.X yarn build
npm publish
VERSION=4.X.X-typescript.X yarn build:types
npm publish --tag typescript

I'll put my comments on things I noticed here:

connectGeoSearch exposes a Connector type which isn't defined.
connect hierarchical menu & stats seem to be defined differently, and wasn't passing the general "Connector" type in Angular InstantSearch


Proposal: Decouple vertice/edge store from graphs

Hey @dominikbraun, sorry for the delay, managed to get some time to give this another shot.
The pull requests lifts-and-shifts the storage part of the verticies and edges into its own store interface so that we can then start implementing additional non in-memory stores.
type Store[K comparable, T any] interface {
	AddVertex(hash K, value T) error
	Vertex(hash K) (T, error)
	ListVertices() ([]K, error) // not currently used
	CountVertices() (int, error)
	AddEdge(sourceHash, targetHash K, edge Edge[K]) error
	RemoveEdge(sourceHash, targetHash K) error
	Edge(sourceHash, targetHash K) (Edge[K], error)
	GetEdgesBySource(sourceHash K) ([]Edge[K], error)
	GetEdgesByTarget(targetHash K) ([]Edge[K], error) // not currently used
	AdjacencyMap() (map[K]map[K]Edge[K], error)
	PredecessorMap() (map[K]map[K]Edge[K], error)
}

I see that you're consistantly making changes to the api of the graph, and I'm kind of worried that this change might be a bit restrictive for iterating quickly.
Please do take a look and let me know what you think and if there is a different direction you think might make more sense.
Regards, George

Wow, thanks again! This time, there isn't as much "time pressure" as last time regarding merge conflicts and the evolution of the codebase, because all the algorithms have their own isolated functions and the internal vertex and edge CRUD operations are unlikely to change. The Graph interface on the other hand has been stabilized with the latest releases - the AdjacencyMap and PredecessorMap methods meet the needs of a lot of algorithms.

Hey @dominikbraun, just pushed a commit to make the linters happy. 😂
When you get a change please check out the state of this PR and see if there is anything else you think would be needed before possibly merging.

@dominikbraun rebased on current main, a review and a list of things you'd like to see fixed before we can merge this would be appreciated, and I tackle them asap. :D

@geoah Thanks, I'm gonna take a look!

@dominikbraun happy new year! :D Hope you're having a great 2023 so far. 🎉 🎊
Just wanted to check if you are still interested in merging this, and if so if there is any chance you have some time to review this at some point. I'm more than happy to refactor things you don't like either before or after getting this merged.
No worries if you don't want to go ahead with merging this, happy to maintain this as a fork for my own use cases. In which case please feel free to close this PR. :)
Thank you very much in advance.

@geoah Happy new year! 🎊 The last couple of weeks have been very stressful because I've interviewed with a new company, but I'll review the PR within the next couple of days. I want this change to be contained in one of the next few releases.

@dominikbraun good luck and I hope it all works out with your interview! :D 🤞
Please do not stress about this at all, we can revisit this at a later date when you have some spare time! :)

@geoah Is this ready to review already?

@dominikbraun yeah should be! If you have some time please go through it, let me know what you don't like or what you'd like changed and I'll get it done :D

@dominikbraun thanks for the review, updated the code based on your comments.

This change has been released in graph v0.16.0.


tweak CPU check

stop the CPU check from barfing if there are multiple lines returned by grep

iohyve bails out with an ugly "unexpected operator" error if the initial POPCNT grep returns more than one matching line, which happens often if your system doesn't zero out RAM as part of a warmboot

Thanks for the catch!


Feature: Line numbers in tags file (ctags)

Have you RTFM'd?

[X] I have done proper research

Feature Request
Hello, I believe the "tags" subcommand can better exploit the content of a tag file to provide meaningful results to the user.
This is the first issue I open on an open-source project, so please do not hesitate to call out any faux-pas I may have made.
Context
By default, Universal ctags (and I believe, other ctags variants too) use a regular expression to location a symbol in a code file.
This can lead to issues if two symbols have the same signature in a single file, where the location of each of the two symbol will be defined by the exact same regular expression, thus preventing from distinguishing them.
I work in a codebase where this is often the case.
Ctags allow the usage of a line number instead of a regular expression (universal ctags allows both at once), to indicate the location of a symbol in the file.
Issue
I have noticed the handling of line numbers as what is called the {tagaddress} in :h tagsrch.txt is a bit peculiar in fzf-lua.
When only the line number are used (ctags --excmd=number), fzf-lua always shows the start of the file in the preview, and redirects the user to the first line of the file upon the selection of the tag.
When both the regex and the line number are included in the tags file (ctags --excmd=combined), fzf-lua still seem to ignore the line number.
Request
I believe fzf-lua would benefit from being able to properly use tags file which use line numbers instead of a regex.
I have looked and tinkered around, and it seems the implementation of the feature has already been attempted.
For instance, when using both line numbers and regexes in the tags file, replacing the code in function M.vimcmd_entry_function of the file actions.lua, line ~213:
elseif entry.ctag then
  vim.api.nvim_win_set_cursor(0, { 1, 0 })
  vim.fn.search(entry.ctag, "W")

by something like:
elseif entry.ctag then
  if entry.line then
      vim.api.nvim_win_set_cursor(0, { entry.line, 0 })
  else
      vim.api.nvim_win_set_cursor(0, { 1, 0 })
      vim.fn.search(entry.ctag, "W")
  end

correctly uses the line number to redirect the user in the file.
However, this does not work if only line numbers are used in the tags file, as the entry table would not contain a ctag element.
The pattern extracting the line of a tag (local line, tag = text:match("(%d-);?(/.*/)") in make_entry.lua, function M.tag) expects a line number to always be followed by a regex. Maybe falling back to attempting to use a line number would be good ?
Regarding the previewer, I managed to have it behave as I would expect by replacing the following code in previewer/builtin.lua (line ~1125):
api.nvim_win_set_cursor(0, { 1, 0 })
fn.clearmatches()
fn.search(entry.ctag, "W")
if self.win.hls.search then
  fn.matchadd(self.win.hls.search, entry.ctag)
end
self.orig_pos = api.nvim_win_get_cursor(0)

with:
if not entry.line then
  api.nvim_win_set_cursor(0, { 1, 0 })
  fn.clearmatches()
  fn.search(entry.ctag, "W")
  if self.win.hls.search then
    fn.matchadd(self.win.hls.search, entry.ctag)
  end
else
  api.nvim_win_set_cursor(0, { entry.line, 0 })
end
self.orig_pos = api.nvim_win_get_cursor(0)

But this feels hackish, and still requires both the line number and regex to be in the tags file.
Do you believe the implementation of this feature would make sense in the project?

I have looked and tinkered around, and it seems the implementation of the feature has already been attempted.

You’re correct, I forgot which command I used to test the ctags with line numbers and I’m not sure if it’s still operational but if a line/col is detected it will be used in the preview.

But this feels hackish, and still requires both the line number and regex to be in the tags file.

Correct, it is somewhat hacky as I believe there could be different formats with line and it’s not always guaranteed to be in the same spot? I might be wrong it’s been a while.

Do you believe the implementation of this feature would make sense in the project?

The reason I don’t really like this is due to the nature of tags which are somewhat like symbols and unless you’re constantly regenerating the ctags every added line could mess up the location of your line based tags.
Aside from that there are other alternatives that provide similar functionality that do support lines such as the LSP pickers and also :FzfLua treesitter where LSP isn’t supported.

You’re correct, I forgot which command I used to test the ctags with line numbers and I’m not sure if it’s still operational but if a line/col is detected it will be used in the preview.

From what I've been able to test, it does not seem to be completely operational, at least anymore. The line appears in the picker in green, but the preview completely ignores it, which is a bummer if two symbols are located by the same regex, but at opposite ends of a file.

Correct, it is somewhat hacky as I believe there could be different formats with line and it’s not always guaranteed to be in the same spot? I might be wrong it’s been a while.

Based on what I could find in the man pages, only universal-ctags has the option to use both regex and line number at once, all the other can use either one, or the other on any given line.
I'm not sure what "it" you're referring to when you say "it's not always guaranteed to be in the same spot". If you mean code, indeed not. If you mean line number, inside of the line of the tag file, I think it actually is.

The reason I don’t really like this is due to the nature of tags which are somewhat like symbols and unless you’re constantly regenerating the ctags every added line could mess up the location of your line based tags.

You're right, and I agree more modern alternatives are better when they're available.
The reason I turned to tags is because the codebase I work on has some quirks. One of which being that the framework we use attempts to mock a prototypal kind of class inheritance in a language that very much does not do prototypal inheritance. Parent classes to inherit from are also passed around as strings and looked up dynamically.
Stock LSPs are unfortunately unable to handle this kind of creative thinking, but tags provide a rather convenient and robust way to quickly search for something defined somewhere else in the codebase.
I personally have a cron triggered every 5 minutes that regenerates tags for the whole project (~2mil LoC, takes barely a couple of seconds). I use the tags for codebase traversal in conjunction with LSP pickers for the current file I'm editing, and it works alright.
I think providing something for the case where the tag file does not use regexes at all could prove beneficial since it just does not work right now, even if the behavior of regex+line numbers is kept the same, but I understand your apprehension towards it.
At the end of the day, the modifications presented above allow it to work with my use case, I just thought It could be nice to allow other people to benefit from it :)
This is off topic, but we also throw away what are technically comments in the tag line, but which is where the metadata is actually stored (the kind of the symbol (class, variable, function, ...), which class does it belong to, etc...).
I assume adding an option to have it in the picker line, to allow more fine-grained selection, is not something you'd consider interesting given how much tags have been supplanted by LSPs and the likes ?

From what I've been able to test, it does not seem to be completely operational, at least anymore. The line appears in the picker in green, but the preview completely ignores it, which is a bummer if two symbols are located by the same regex, but at opposite ends of a file.

Are you using bat previewer or the default?
In any event I would consider this a bug that should be fixed.

I think providing something for the case where the tag file does not use regexes at all could prove beneficial since it just does not work right now, even if the behavior of regex+line numbers is kept the same, but I understand your apprehension towards it.
At the end of the day, the modifications presented above allow it to work with my use case, I just thought It could be nice to allow other people to benefit from it :)

I’m with you on that, if we can make both cases with and without lines work consistently (as it once was) - why not?

This is off topic, but we also throw away what are technically comments in the tag line, but which is where the metadata is actually stored (the kind of the symbol (class, variable, function, ...), which class does it belong to, etc...).
I assume adding an option to have it in the picker line, to allow more fine-grained selection, is not something you'd consider interesting given how much tags have been supplanted by LSPs and the likes ?

last time I modified the ctags format was to equalize it with the fzf.vim formatting which is what users coming from vim are used to.
I’m pretty sure we can “unhide” fields using - -nth but I’m answering from my phone so I haven’t looked at the code and therefore might not be as coherent :)
In any event, since you have it mostly fixed, would you like to submit a PR for this, otherwise I can fix it.

Are you using bat previewer or the default?

I'm using bat.

I’m pretty sure we can “unhide” fields using --nth but I’m answering from my phone so I haven’t looked at the code and therefore might not be as coherent :)

Unfortunately, I don't believe we can in this case, since those fields seem to be stripped when the entry in the picker is constructed here because they're technically comments:
https://github.com/ibhagwan/fzf-lua/blob/d9db3b684384bcfd1393914b76f89f0205f183a3/lua/fzf-lua/make_entry.lua#L429-L433
I think we would have to add an option to specifically not throw away the comments, and append them at the end of the entry if we were to add support for them.
I can submit a PR for it, should be done in a couple of hours or tomorrow :)

Resolved with #1550.


CP RUn documentation (precursor to dashboard)

What are the key metrics that we want to record via the dashboard?  What is the best way to pull this information out?
Some suggestions toward development:

Formalize process for CP completion and the data we record for each iteration. Formalize what form the final output data from a CP iteration should take.  What metrics should we record and where should they go?
Update each run after a crank of the CP, record the CP iteration in the gsheet or similar
Think about the strategy for automating the metrics tracking for CP to include solubility test completion and CP run data sheet requirements (inchi key, date completed, training data location, state set identitiy and location, etc).

Platform (Redash)

Indicators / metrics
POperational Chemistry

Sources:
-csv, db, file DL, logfiles

Created dashboard branch for development of reDASH and metrics by @gcatabr1

These changes have now been incorporated into a working dashboard on escalation.  See here for more details http://escalation.sd2e.org/


RD-7617

add "clear" button  to keyboard and update the design

looks good, thanks. be more attentively next time, please


Arrow functions require no line terminator before arrow => token

I just noticed this today while working on implementing rest parameters in arrow functions in v8. v8 and SpiderMonkey are both getting this wrong right now, but Traceur and Babel both get this right.
It's probably a pretty simple fix

Do we need/want to enforce the same restriction in TypeScript or just ensure that the ES6 emit for arrow functions doesn't preserve such newlines? It would be a breaking change to disallow this now, we've been allowing this for ES5:
var x = () =>
	{}

emits
var x = function () {
};

I should have clarified:
var x = (a)
  => 1

should translate to:
var x = (a);
  => 1; // syntax error, unexpected `=>`

I think it's unlikely anyone is using this syntax, since it's much harder to read, but if it breaks apps then it might not be worth fixing.

@CyrusNajmabadi and I just discussed this offline; apparently we've sort of known about this, but haven't committed to it since it's a breaking change.
That said, he and I would prefer to take the breaking change.


website works and all features but is text only

I got my site working, but now I have a problem I can log in and do everything, but I don't really have the design as it is on the sample pictures on GitHub, how can I fix this? Thank you in advance.
(i use siteground)

seems to be a problem in your theme. Are you using the base theme? has it been modified?

seems to be a problem in your theme. Are you using the base theme? has it been modified?

I'm using the base theme and haven't changed anything yet, it looked like this right after the installation and I've also tried turning off all the different cache options but that didn't help

i use php version 8.2 and i can't find the apache version directly the cms version i use is the latest version 17.9.1, but i have also tried to solve the problem with older versions and other versions of php but nothing seems to work.

ok that is where your problem lays
The CMS doesn't like 8.2

Thanks very much for reporting this @mattis1231231!
Anything in the PHP log? (PHP logs are located at _protected/data/log/pH7log/ and open the file there if any).
If there is something, could you share the error message here?

I have exactly the same problem. I installed it via softaculous but the picture looks like him. I took php 8.0 but it doesn't work :-(

I went from 8.2 to 8.0 then to 8.1 now and still get the same as above.
Always the missing gzip;
/asset/gzip/?t=js&d=static/js/&f=lang/en.js HTTP/1.1" 500
and
PHP Warning: Unknown: function "1" not found or invalid function name in Unknown on line 0

Why did you close the issue without bothering to input what you did to solve the problem? It could help others.

maybe because I haven't found a solution at all and I'm not working on it anyway

Why did you close the issue without bothering to input what you did to solve the problem? It could help others.

maybe because I haven't found a solution at all and I'm not working on it anyway

We have no way to know that unless you tell us so appreciate you doing that :).

We have no way to know that unless you tell us so appreciate you doing that :).

it's a problem that i've seen quite a few people have so if i were you i might switch to another platform or you can just wait for a fix

I have to agree. Holding a little hope but my associate has already given up on this.
Waiting is fine but the unknown of no one on the team ever updating anyone here is the killing aspect of this.
What a huge waste of effort, all that cool marketing and for what.
Thanks again for the update.


output js compatible with node 12+

Fixes https://github.com/flitbit/json-ptr/issues/43
Wasn't sure if the https://github.com/flitbit/json-ptr/blob/master/.circleci/config.yml#L3-L5 should be updated to include Node 12

Thanks @cerebralkungfu


Migrating AzDO governance and keyvault scripts to data-reconciliation app

Support #65
Including governance and Azure Key Vault scripts to data-reconciliation app. They have been added to their corresponding folders based on what they are used for.
Since they may need some tweaks, In this PR I'm just including the files and not changing the content we put on it when working on AzDO repository.
Question for Reviewers
These scripts are not related to any app, should they exist on the apps' folder structure, or do we move them to the repository root?
IMHO at the end of the day we want to have them in the repository root so any app can refer to them. But for the moment we will be targeting efforts to data-reconciliation. Having them on the repo root will involve a broader discussion on where to put them.
Next Steps
Incorporate scripts into data-reconciliation-app test
Backport changes to banking-app & others

Is the intention just getting the scripts into the repo - or will you rewrite some of the existing scripts to make use of these functions? I'm a fan of the later. As far as your question - these scripts look generic across all samples, so I have a preference for not having them in each sample, but I have not mentally thought about how they will be "source"'d into each script. Maybe the make file will help?

Is the intention just getting the scripts into the repo - or will you rewrite some of the existing scripts to make use of these functions?

Thanks for the input @ross-p-smith . I'll keep working on the same PR and add the functionality that uses the scripts. My initial thoughts were on putting them in the repo and using them later, to make the next PR targeting the functionality. But I agree with your vision on this.


[BugFix] Fix unnessary ref change since abort is under lock

Fixes #issue
abort operation can under lock, no need to change reference of TabletsChannel.
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.0
[ ] 2.5
[ ] 2.4
[ ] 2.3

@Mergifyio backport branch-3.0


Unable to load the configuration file [/config/dnscrypt-proxy.toml]

services:
  dnscrypt-proxy:
    container_name: dnscrypt-proxy
    image: klutchell/dnscrypt-proxy:latest
    volumes:
      - ./dnscrypt-proxy/:/config/
    restart: unless-stopped
    networks:
      pihole_net:
        ipv4_address: <IP_ADDRESS>

networks:
  pihole_net:
    name: pihole_net
    driver: bridge
    ipam:
      config:
        - subnet: <IP_ADDRESS>/24
          gateway: <IP_ADDRESS>

fails to start with error:
sudo docker logs dnscrypt-proxy:
[2021-07-09 17:15:52] [FATAL] Unable to load the configuration file [/config/dnscrypt-proxy.toml] -- Maybe use the -config command-line switch?
[2021-07-09 17:16:18] [FATAL] Unable to load the configuration file [/config/dnscrypt-proxy.toml] -- Maybe use the -config command-line switch?
[2021-07-09 17:17:11] [FATAL] Unable to load the configuration file [/config/dnscrypt-proxy.toml] -- Maybe use the -config command-line switch?

If I download and manually add https://raw.githubusercontent.com/klutchell/dnscrypt-proxy/main/dnscrypt-proxy.toml then the issue is resolved. But for some reason if the folder is mounted the container fails to start

This container won't install a config file for you if you mount a configuration directory, you are expected to provide your own file in that case. The default configuration is only used when a volume isn't mounted, so your process of manually downloading and mounting the config file is correct!


Entities

Added entities for derivative, limit, integral. Merged with limits. Division improved. Simplificator improved

Hey! I'm writing reviews...

You can still leave it I guess


Remove unused profile.json fields?

I enjoyed your FOSDEM 24 talk very much, and I have been exploring the profile.json format a little bit out of curiosity.
There are a bunch of things I noticed which might be specific to the firefox internal profiles which are not relevant for samply profiling any random program.
In particular, there is a ton of fields in the profile.json which I believe do not make any sense outside of firefox, but they are completely filled in with their default values:

funcTable.isJS and funcTable.relevantForJs are all false and seem irrelevant
frameTable.innerWindowID, frameTable.implementation and frameTable.optimizations are all null and I doubt they are relevant?
frameTable.line, frameTable.column, funcTable.fileName, funcTable.lineNumber and funcTable.columnNumber seem to be all null at least all the ones I was looking at. Though filenames are being displayed in the flame graph and opening the source definition works as well, and I have no idea how that even works? :-D
frameTable.inlineDepth seems all 0, at least the ones I looked at.

Then there is also frameTable.category, frameTable.subcategory, stackTable.category and stackTable.subcategory. I wonder if the entries in stackTable are duplicated, as the stackTable has a reference to the frameTable which also has the same info, or can the actual values diverge?
In either case, samply only ever outputs a single category (for now, I wish it would be possible to customize this and will open a separate issue for it), so I wonder if this can be compressed a bit better.

Another fun fact here is that the main thread defaults to the name GeckoMain :-D

These are all written using this SerializableSingleValueColumn((), len) helper, which just writes len nulls. @mstange is this required for the front end? Can we just write an empty array here, and have the front end understand undefined? inlineDepth gets written as len count of 0, so maybe some code to treat undefined as 0 there.
These are taking up a significant amount of space in the json for long multi-process profiles. Even better would be to change the format to make these properties fully optional. For comparison, a ~1 minute capture with 8000 tracks (threads) is around 180MB with all the extra nulls. If I just make SerializableSingleValueColumn just output an empty array, it goes down to 135MB -- which is a very significant 30% size reduction!

In particular, there is a ton of fields in the profile.json which I believe do not make any sense outside of firefox, but they are completely filled in with their default values:
* `funcTable.isJS` and `funcTable.relevantForJs` are all `false` and seem irrelevant

These are now seeing some use for profiles with JIT frames. Having two columns is a bit overkill though; they could be combined into a single flags column.

* `frameTable.innerWindowID`, `frameTable.implementation` and `frameTable.optimizations` are all `null` and I doubt they are relevant?

Wait, optimizations is still there? It's no longer needed as of format version 45. So yes we should stop outputting that one immediately.
The removal of implementation is tracked in https://github.com/firefox-devtools/profiler/issues/3713 .
innerWindowID indeed is completely useless for us and could be made optional. I've filed https://github.com/firefox-devtools/profiler/issues/5006 about it.

* `frameTable.line`, `frameTable.column`, `funcTable.fileName`, `funcTable.lineNumber` and `funcTable.columnNumber` seem to be all `null` at least all the ones I was looking at. Though filenames are being displayed in the flame graph and opening the source definition works as well, and I have no idea how that even works? :-D

Yes they're null before symbolication and non-null after symbolication, and we currently only emit unsymbolicated profiles. The filenames are displayed in the flamegraph because the front-end requests symbolication information asynchronously through an extra network request. Once we have a presymbolicate mode, these columns will be non-null in that mode even before the front-end consumes the JSON.

* `frameTable.inlineDepth` seems all `0`, at least the ones I looked at.

Same as above - it is often non-zero after symbolication.

Then there is also frameTable.category, frameTable.subcategory, stackTable.category and stackTable.subcategory. I wonder if the entries in stackTable are duplicated, as the stackTable has a reference to the frameTable which also has the same info, or can the actual values diverge?

The values in the stackTable are somewhat duplicated, yes. The reason for this is that the frameTable can have null categories or subcategories - they're always non-null in profiles generated by fxprof-processed-profile, but the format allows null. And then the stackTable always has non-null categories, by inheriting the nearest non-null category from a caller.
In profiles generated by Firefox, all C++ frames have a null category in the frameTable, and the actual categories like Graphics / DOM / JS are supplied by synthetic label frames.

In either case, samply only ever outputs a single category (for now, I wish it would be possible to customize this and will open a separate issue for it), so I wonder if this can be compressed a bit better.

It outputs different categories for User and Kernel on Linux and Windows now. And JIT frames have a different category on all platforms.

Another fun fact here is that the main thread defaults to the name GeckoMain :-D

This was fixed in e74e5145c27fbbe672cd2d44e78bc9270210c466 - it had already been fixed at the time this issue was filed, the fix just hadn't made it into a release.

frameTable.innerWindowID, frameTable.implementation and frameTable.optimizations are all null and I doubt they are relevant?

Wait, optimizations is still there? It's no longer needed as of format version 45. So yes we should stop outputting that one immediately.

I've made this change in #232.


operator self-node-remediation (0.6.1)

Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?
[ ] Is operator icon set?

Updates to existing Operators

[ ] Did you create a ci.yaml file according to the update instructions?
[ ] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[ ] Is your submission signed?

Your submission should not

[ ] Modify more than one operator
[ ] Modify an Operator you don't own
[ ] Rename an operator - please remove and add with a different name instead
[ ] Modify any files outside the above mentioned folders
[ ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

/merge possible

/merge possible

Hi @Allda , @mporrato ,
Even though this PR was merged awhile ago, SNR OpertorHub version still shows 0.6.0 (instead of 0.6.1).
I wonder if I'm missing something trivial here, if so could you please point me to the correct direction :sweat_smile:


Adding listitems does nothing

This is related to bug https://github.com/trueadm/inferno/issues/88, but instead removing, adding more listitems.

class ChangeChildrenCount extends Component {
    constructor(props) {
        super(props);

        this.state = {
            list: ['1']
        };

        // Bindings
        this.handleClick = this.handleClick.bind(this);
    }

    handleClick() {
        this.setState({
            list: ['1',  '2', '3', '4']
        });
    }

    render() {
        return (

                <button onClick={this.handleClick}>1</button>
                {this.state.list.map(function (x, i) {
                    return
{i}

                })}

        );
    }
}

InfernoDOM.render(<ChangeChildrenCount />, document.body);

expected result: at the beginning there is single item: ( 0 ), then after clicking button there are four (0,1,2,3)

Adding key to div fixes the issue so this is minor level bug.

@Havunen Did this happen recently? If yes, do you know wich version this broke?

Its been broken for a while I think. I tested it with previous release by the time I found it (5.17?) and it was broken also there.

Can we try now? Use dev please.

@trueadm Working as expected! Thanks, closing this issue.


copy emails from the top

It should be possible to view and copy the email addresses listed at the top of a mail without viewing its header.
My headers are around 40 lines long so it's not easy to spot all of them there.
In Addition to that it would be nice if you could tap on a person and then choose to write a new mail to that email address (no reply).
Djfe

Long-pressing sender or recipients copies them to the clipboard.

thx, I didn't know that.
what confused me was:
clicking on the sender makes a clicking noise and then asks whether to add the mail to your contacts.
clicking on receiver or cc/bcc also makes a clicking noise but that's all (nothing actually happens)
I never tested click and hold for whatever reason ^^


bugfix:constructor timeout not function

Ⅰ. Describe what this PR did
constructor timeout not function
Ⅱ. Does this pull request fix one issue?
fix #720 constructor timeout not function
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #721 into develop will decrease coverage by 0.06%.
The diff coverage is 80%.

@@              Coverage Diff              @@
##             develop     #721      +/-   ##
=============================================
- Coverage      32.75%   32.68%   -0.07%
  Complexity       924      924
=============================================
  Files            229      229
  Lines           8937     8937
  Branches        1088     1088
=============================================
- Hits            2927     2921       -6
- Misses          5662     5668       +6
  Partials         348      348

Impacted Files
Coverage Δ
Complexity Δ

...com/alibaba/fescar/config/ApolloConfiguration.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...a/com/alibaba/fescar/config/FileConfiguration.java
48.07% <100%> (ø)
10 <0> (ø)
:arrow_down:

...n/java/com/alibaba/fescar/config/ConfigFuture.java
82.97% <100%> (ø)
16 <1> (ø)
:arrow_down:

...scar/core/rpc/netty/AbstractRpcRemotingClient.java
19.89% <0%> (-3.23%)
7% <0%> (ø)

Continue to review full report at Codecov.

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


Tree shake messages

Describe the feature
In an app with a lot of translatable content importing the whole language file, even if lazily, will introduce huge network overhead, and most of the time would even be unnecessary, as there will likely be a slight portion of the messages in use for every page. Furthermore, it could introduce data leaks, the most notable example being admin pages having their translation sent to the client. Tree shaking the messages will ensure there is minimal overhead and minimal data sent to the client, which will not compromise data integrity and still allow to use lazy loading as much as possible.
Additional information

[X] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).
[X] Check existing discussions and issues.

@BobbieGoede I have an idea that could potentially make this work. How about handling the conversion of the message files to a JS file with certain exports, and then using them in the files? That way the bundler could take care of the code splitting, and since some exports won't be used, it will not be included.


[Bug]: Data source goes to the view mode on changing the environment

Is there an existing issue for this?

[X] I have searched the existing issues

Description
While creating a new data source, if the uses changes the environment and saves the data during changing the environment it lands on the datasource view page instead of view mode.
Steps To Reproduce
Steps:

Create a new data source, say - postgres
Change the environment from the footer
Click "Save" from the Alert.
Observe - It shows the datasource in view mode

Expected behaviour - It should remain in Edit mode.
Public Sample App
No response
Issue video log
https://www.loom.com/share/5507964bea984273b98e9dd4cb687d51
Version
Release v1.9.4

This is in open discussion right now, blocked from product decision.


API Authentication using jsonwebtoken

Some pieces of information to maybe help :

The base spec
An implementation by myself, inpired by this one. It works under sails.js, but if one abstracts the MVC logic, he might understand the process :

config and strategies definition
token creation and password hashing
auth checking policy for protected routes
signin

The last follow this flow :

@cyrilchapon Added support for jwt authentication.


feat: create2 gatewayevm deployment and upgrade poc

first version to illustrate how to deploy gateway proxy and implementation using built in create2 in foundry
tested on 2 local anvil networks, same addresses are used, and on re-deployment there is an error
some of the args are hardcoded, in real deployments we will have to set them outside the script, but this is just to check approach
also, added script for upgrade, using open zep plugin, and tested scenarios where upgrade worked, and also trying to break validation by changing storage layout where it failed correctly
anvil
forge script scripts/deploy/DeployGatewayEVM.s.sol --rpc-url <IP_ADDRESS>:8545 --broadcast

forge clean
forge script scripts/deploy/UpgradeGatewayEVM.s.sol --rpc-url <IP_ADDRESS>:8545 --broadcast

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

Project coverage is 61.64%. Comparing base (ca92f50) to head (5b84119).

Additional details and impacted files
@@              Coverage Diff              @@
##           zrc-20-fixes     #282   +/-   ##
=============================================
  Coverage         61.64%   61.64%
=============================================
  Files                16       16
  Lines               425      425
  Branches             22       22
=============================================
  Hits                262      262
  Misses              160      160
  Partials              3        3

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


chore: bdd-spring-1568452331 to 0.0.1

chore: Promote bdd-spring-1568452331 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Getting error after taking latest code

I am getting error
"An exception of type 'System.Data.SqlClient.SqlException' occurred in EntityFramework.Relational.dll but was not handled in user code
Additional information: The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Campaign_Organization_ManagingOrganizationId". The conflict occurred in database "AllReady", table "dbo.Organization", column 'Id'."
I also tried to delete and re-create database. But issue still persists. Code was running properly on my system before taking latest code.

@manojattal Did you get this fixed? If so, please close this issue. If you need any help getting the hang of Git(Hub), let us know how we can help.

@mheggeseth Thanks for your screenshots. It is working for me now. Actually I was deleting database from "Server Explorer" windows and not "Sql Server Object Explorer" window. Deleting from the other windows was not working.


Change provider property information attached by Clyde on the request

With the addition of provider ID property to the configuration (see #4 and #7) it has more sense to change the name of the property provider to providerId.

Following the same logic than #7, when a request arrives to the "provider's zone" a req.provider object is attached with the info:
req.provider = {
  name: provider.id,
  context: provider.context,
  target: provider.target
};


Still listed in Inactive Plugins

I'm running MyBB v1.8.38 with PHP v8.0.30, and I have installed two of your plugins that seem to work, although I still need to test them thoroughly. The problem with both rt_exenedcache and the PluginLibrary is as follows.
I have run the installation and activation in the ACP- Configuration- Plugins for both plugins. The green bar at the top of the page reads,  "You have successfully installed  RT Extended Cache version 3.0."  However, the Inactive plugins display the RT Extended Cache and PluginLibrary.
When I installed the RT ChatGPT, it found the required plugins.  I'm about to install your RT Ajax Chat.
Is there a fix for this issue with the two extensions still displaying as if they were never installed?
Your feedback is very important in resolving this issue. I would greatly appreciate any help you could give me.

Those 2 plugins are active as soon as you copy them to your root folder and do not need installation/activation. (It is for developers, not for forum owners.)

At Mybb it reads:
`#Dependencies
MyBB 1.8.x
https://github.com/frostschutz/MyBB-PluginLibrary (>= 13)
https://github.com/RevertIT/mybb-rt_extendedcache (>= 2.0)
PHP >= 8.0`

It does not say "For Developers".

Dependencies
In software development, it refers to components, libraries, or frameworks that a particular piece of software relies on to function correctly.

That is the reason for the post.  I cannot see an issue with the plugin.


signOut does not clear session and useUser does not get latest until refresh once

Bug report
Describe the bug
Hello, I am currently upgrading from v1 to v2 and noticed some weird behaviors with auth-helpers and Nextjs after the exciting 0.5.1 update!
I have followed the migration guide from both supabase and auth-helpers.
There are two weird behaviors:

Once I login with email+password, useUser still returns null on my /home page until I refresh (waiting does nothing). I have done a session check on a middleware.ts before home loads, so I am sure that the user is valid/logged in.

// login.ts
const {
      data: { user },
      error,
    } = await supabaseClient.auth.signInWithPassword({
      email,
      password,
    });

router.push('/home');

// home.ts
const user = useUser(); // null

Once I sign out, /home -> / (server-side checks that no session) ->  /login, the useUser on the /login page still detects User active and SessionContext has non-null  Session object until I refresh (waiting does nothing).

if (user) { const { error } = await supabaseClient.auth.signOut(); router.push('/'); }

Expected behavior
useUser returns null THEN User when redirected to /home.
signOut to clear session and useUser to return null instead of User.
System information

OS: Windows
Browser: Firefox
Version of Node.js: LTS 16

Version:
"@supabase/auth-helpers-nextjs": "0.5.1",
"@supabase/auth-helpers-react": "0.3.1",
"@supabase/supabase-js": "2.0.5",
"next": "12.3.1",
"react": "^18.2.0",

// Also tried with default Component prop with similar result
type ExtendedAppProps = AppProps<{ initialSession: Session }> & {
  Component: NextPage<{ initialSession: Session }>;
  emotionCache: EmotionCache;
};

const App = (props: ExtendedAppProps) => {
<SessionContextProvider
          supabaseClient={supabaseClient}
          initialSession={pageProps.initialSession}
        >
<Component {...pageProps} />
// ...

Additional context
I have seen other threads in Discord, but they were v1.
For github, this is half of my problem (no one answered) https://github.com/supabase/supabase/discussions/9558
There is another thread https://github.com/supabase/supabase/discussions/9639 which gary has answered but exhibits similar problem.
Potential alternatives:

getSession instead as that will always get latest

Con: slower and may re-run each render

Current workaround: stop using useUser or SessionContext in checks or critical parts. Move all checks server-side in middleware.

I had the same experience. In my case since a logout kicks people to the homepage, I ran a useEffect on the homepage to try to scrub all the cookies out.
It was extremely confusing trying to nail down a flow because I have conditions on sign-in/sign-up that depend on whether or not the user is logged in or not and try to go between accounts and it was still holding onto the original user.

I ran a useEffect on the homepage to try to scrub all the cookies out.

@vincentjflorio , in my case, I can see the cookies being placed (on login) and removed (on signout), BUT the user/session on the browser useSessionContext and useUser still detects an inactive/active user and session respectively.
A shallow dive into the code shows it loading from the useContext(SessionContext);, so I'd guess that this Context is NOT being updated onLogin/onSignout and only on refresh. https://github.com/supabase/auth-helpers/blob/6d72246ee3453518178f94222b710565cfa1e0df/packages/react/src/components/SessionContext.tsx#L169-L176

I tried listening for events inside _app.tsx and noticed SIGNED_OUT is not emitted and found session is sometimes returned.
useEffect(() => {
    const {
      data: { subscription },
    } = supabaseClient.auth.onAuthStateChange((event, session) => {
      if (session && (event === "SIGNED_IN" || event === "TOKEN_REFRESHED")) {
        console.log("found session");
      }

      if (event === "SIGNED_OUT") {
        console.log("signing out");
      }
    });

    return () => {
      subscription.unsubscribe();
    };
  }, []);

I am having the same issue. Signout seems to revoke the token, but user and session persist.
User is how I check to see if the user is logged in and redirect to my app if user is present.
I am also using withPageAuth which will sometimes create a loop between signIn and app.
Im curious as to what provider everyone is using. I have just been using magiclink and have had some problems with it. wondering if switching to user password would help>

Im curious as to what provider everyone is using. I have just been using magiclink and have had some problems with it. wondering if switching to user password would help>

@AvidDabbler I'm using user/password, and beside from SessionContext not persist/clear properly, everything else works.
Currently, I have removed any primary use of useUser. I have changed to redirecting via serverside instead (middleware for Nextjs) as the ServerSide and Middleware client are more reliable.

Ok I took the morning to see what I could do for a workaround for this. I am currently using this as my _app.tsx for my next app. Basically I have taken the sessionToken from localStorage and moved it to my redux store and then listen for that on the frontend. The app still mostly relies on user and session from supabase hooks, but it prevents the loop for the moment of going from signin to my app. The token is still invalidated so even if they get to the app they won't see anything, but its good enough for now.
What I initially tried to do is setup supabaseClient and/or initialSession on <SessionContextProvider> to be null which would make sense since most examples of supabaseClient are declared in a useState. Would love to see setSupabaseClient as the second arguement to manually update the context. or really just a clear context like others have requested.
Happy to provide more context if needed.
// _app.tsx

import type { AppProps } from 'next/app';
import { Provider, useDispatch } from 'react-redux';
import { SessionContextProvider } from '@supabase/auth-helpers-react';
import { GoogleAnalytics } from 'nextjs-google-analytics';

import { Fragment, useEffect, useState } from 'react';
import { createBrowserSupabaseClient, Session } from '@supabase/auth-helpers-nextjs';

import { Database } from '../types/supabase';
import { store } from '../store';
import { setSession } from '../store/appSlice';
import '../styles/globals.css';
import '../styles/App.scss';
import '../styles/Landing.scss';
import '../styles/animate.css';
import 'draft-js/dist/Draft.css';

function MyApp({
  Component,
  pageProps,
}: AppProps<{
  initialSession: Session;
}>) {
  return (
    <Provider store={store}>
      <Providers
        pageProps={pageProps}
        initialSession={pageProps.initialSession}
        Component={Component}
      />
    </Provider>
  );
}

const Providers = ({
  initialSession,
  Component,
  pageProps,
}: {
  pageProps: any;
  initialSession: Session | null;
  Component: AppProps['Component'];
}) => {
  const dispatch = useDispatch();
  const [supabaseClient] = useState(() => createBrowserSupabaseClient<Database>());

  useEffect(() => {
    const token = localStorage.getItem(process.env.NEXT_PUBLIC_SUPABASE_LOCAL_KEY ?? '');
    const localsession: Session | null = token ? JSON.parse(token) : null;
    dispatch(setSession(localsession ?? null));
  }, [pageProps, localStorage]); // eslint-disable-line

    return (
      <SessionContextProvider supabaseClient={supabaseClient} initialSession={initialSession}>
        <Fragment>
          <GoogleAnalytics strategy="lazyOnload" />
          <Component {...pageProps} />
        </Fragment>
      </SessionContextProvider>
    );
};

export default MyApp;

// index.tsx
import React, { Fragment, useEffect } from 'react';
import { Toolcontainer } from '../../components/ui/Toolcontainer';
import { UserControls } from '../../components/ui';
import SocialFeed from '../../components/Feed/SocialFeed';
import { useUser } from '@supabase/auth-helpers-react';
import { getUserData } from '../../lib/auth';
import { useSelector } from 'react-redux';
import { RootState } from '../../store';
import Head from 'next/head';
import SignIn from '../../components/sign-in';

const App = () => {
  const user = useUser();

  const { currentAgency } = useSelector((state: RootState) => state.agency);
  const session = useSelector((state: RootState) => state.app.session);
  useEffect(() => {
    if (currentAgency.agencyId === '') getUserData(user);
  }, [currentAgency, session]); // eslint-disable-line

  return (
    <Fragment>

        <title>TransitChat</title>
        <meta name="viewport" content="initial-scale=1.0, width=device-width" />

      {session ? (
        <Toolcontainer>
          {user?.app_metadata.agency ? (

              <UserControls />
              {user.id !== '' && <SocialFeed />}

          ) : (

          )}
        </Toolcontainer>
      ) : (
        <SignIn />
      )}
    </Fragment>
  );
};

export default App;

Keep in mind that process.env.NEXT_PUBLIC_SUPABASE_LOCAL_KEY will need to be different for local vs production

Do you experience this when running locally or when deployed? Or both?

I only got to test mine locally.

For me it was both. My redirect  and site URL addresses in
https://app.supabase.com/project/_____________________________/auth/url-configuration appear to be fine, and work for every other  purpose, if it's relevant.

@NanoCode012 @AvidDabbler @vincentjflorio @thorwebdev
Regarding the signOut, this seems to be a gotrue-js issue. I was able to resolve with a local code change, but wasn't confident enough to create a PR for it. Hopefully a maintainer can verify or not.
https://github.com/supabase/gotrue-js/issues/524

I have also experienced this issue, both locally and in deployments.

@vincentjflorio

In my case since a logout kicks people to the homepage, I ran a useEffect on the homepage to try to scrub all the cookies out.

Did this hack fix the issue for you? Keen to find a way that I can continue to use the 0.5.1 library rather than downgrade.

Keen to find a way that I can continue to use the 0.5.1 library rather than downgrade.

@mrmikardo , I changed all my redirection code to using Nextjs middleware instead of client-side. It works great for me.

Can someone provide a minimal reproducible example repo of this issue? as I'm not able to replicate it on this side.

@mrmikardo It seems to, yeah. If nothing else it didn't noticeably hurt anything, for me.

Also have problem with this. I logout the user on one tab, on other tab I can see user logged in navbar where I use useUser hook.  Any other ideas for this or should I feed the navbar from server side code?

@NanoCode012 is this still an issue? There were some fixes a couple of months ago that may have resolved this.

@NanoCode012 is this still an issue? There were some fixes a couple of months ago that may have resolved this.

Hello @j4w8n , thanks for your comment. I saw the related Issue and fixes. Unfortunately, I will be a bit busy to test this for a while. I am currently still using my workaround. I will update the thread when I get to test it.

What is the current status with this? I think I am also running into the same issue...

Can't reproduce and there are a number of example projects showing how to use the auth-helpers with different frameworks https://github.com/supabase-community/supabase-by-example.

Sorry I just remembered about this again.
I tested on the setup (both locally and online), and I could not reproduce it again. What changed was react version, nextjs version, browser, and device OS despite same auth-helpers and supabase version..


Check HTTP Security Response Headers Externally

Under https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/customize-http-security-headers-ad-fs#http-security-response-headers. Please add ways to externally test HTTP Strict-Transport-Security (HSTS) header once enabled on ADFS side.
There are two ways to do it (Kindly add both if possible or in case you have any reference URL, please tag in the page)

Externally search for Idpinitiated URL : https://sts.contoso.com/adfs/ls/idpinitiatedsignon.aspx and inspect the page. Under network tab, look for Response Header and you should see "Strict-Transport-Security"

Externally Launch PowerShell v5.0 and fire below command

(Invoke-WebRequest "https://sts.contoso.com/adfs/ls/idpinitiatedsignon" -UseBasicParsing -Method Get).headers
you should see "Strict-Transport-Security" in the output

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c86099dd-a836-ac93-a07e-c535b7a9cab8
Version Independent ID: 71e405f3-bde1-1bfa-633a-b0a557c55f99
Content: Customize HTTP security response headers with AD FS
Content Source: WindowsServerDocs/identity/ad-fs/operations/customize-http-security-headers-ad-fs.md
Product: windows-server
Technology: ad-fs
GitHub Login: @billmath
Microsoft Alias: billmath

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Uncaught SyntaxError: Unexpected token m in JSON at position 9

[Enter steps to reproduce:]

...
...

Atom: 1.15.0 x64
Electron: 1.3.13
OS: Mac OS X 10.12.3
Thrown From: atom-typescript package 11.0.1
Stack Trace
Uncaught SyntaxError: Unexpected token m in JSON at position 9
At file:///Applications/Atom.app/Contents/Resources/app.asar/static/index.html:1

SyntaxError: Unexpected token m in JSON at position 9
    at Object.parse (native)
    at MessageStream._transform (/packages/atom-typescript/dist/client/client.js:198:28)
    at MessageStream.Transform._read (_stream_transform.js:167:10)
    at MessageStream.Transform._write (_stream_transform.js:155:12)
    at doWrite (_stream_writable.js:307:12)
    at writeOrBuffer (_stream_writable.js:293:5)
    at MessageStream.Writable.write (_stream_writable.js:220:11)
    at LineStream.ondata (_stream_readable.js:555:20)
    at emitOne (events.js:96:13)
    at LineStream.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at LineStream.Readable.push (_stream_readable.js:134:10)
    at LineStream.Transform.push (_stream_transform.js:128:32)
    at LineStream._pushBuffer (/packages/atom-typescript/node_modules/byline/lib/byline.js:126:17)
    at LineStream._transform (/packages/atom-typescript/node_modules/byline/lib/byline.js:117:8)
    at LineStream.Transform._read (_stream_transform.js:167:10)
    at LineStream.Transform._write (_stream_transform.js:155:12)
    at doWrite (_stream_writable.js:307:12)
    at writeOrBuffer (_stream_writable.js:293:5)
    at LineStream.Writable.write (_stream_writable.js:220:11)
    at Socket.ondata (_stream_readable.js:555:20)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at Pipe.onread (net.js:543:20)

Commands
     -0:42.7.0 vim-mode-plus:move-to-middle-of-screen (input.hidden-input)
     -0:41.5.0 vim-mode-plus:move-up (input.hidden-input)
  4x -0:41.2.0 vim-mode-plus:move-down (input.hidden-input)
     -0:39.7.0 vim-mode-plus:scroll-half-screen-down (input.hidden-input)
  5x -0:35.3.0 vim-mode-plus:move-down (input.hidden-input)
  6x -0:34.1.0 vim-mode-plus:move-to-next-word (input.hidden-input)
     -0:32.7.0 vim-mode-plus:activate-characterwise-visual-mode (input.hidden-input)
     -0:32.7.0 vim-mode-plus:move-to-end-of-word (input.hidden-input)
     -0:32.5.0 vim-mode-plus:move-right (input.hidden-input)
     -0:32 vim-mode-plus:delete (input.hidden-input)
  2x -0:26.6.0 core:save (input.hidden-input)
     -0:15.2.0 core:close (input.hidden-input)
     -0:09.6.0 fuzzy-finder:toggle-file-finder (atom-workspace.workspace.scrollbars-visible-always.theme-one-dark-syntax.theme-one-dark-ui)
     -0:09.1.0 core:paste (input.hidden-input)
     -0:08.8.0 core:confirm (input.hidden-input)
  3x -0:07.8.0 vim-mode-plus:move-down (input.hidden-input)

Non-Core Packages
atom-beautify 0.29.17
atom-shortcuts 0.0.2
atom-typescript 11.0.1
atom-vim-keymap 1.0.1
busy-signal 1.3.0
editor-stats 0.17.0
editorconfig 2.2.2
ex-mode 0.14.0
git-control 0.8.2
git-plus 7.3.3
goto-definition 1.2.1
intentions 1.1.2
linter 2.1.0
linter-ui-default 1.2.1
open-recent 5.0.0
project-manager 3.3.3
svg-preview 0.11.0
sync-settings 0.8.1
vim-mode-plus 0.84.1
vim-mode-plus-ex-mode 0.9.0
webbox-color 0.5.9

@guncha this same error I have reported here https://github.com/TypeStrong/atom-typescript/pull/1166#issuecomment-286178172
I understand this is indeed bad bugreport since I do not have exact STR. but could you please add additional check to actually prevent it?

It indicates a deeper problem with the tsserver protocol parser. I took the quick and easy approach and piped it all through a byline stream and just assume that every third line is the JSON message. If the count gets out of sync somehow, it'll simply stop working altogether. Did you run any commands when this happened? Does it happen right after you start the editor? Open a new tab? I'll look into it, but a way to reproduce would make that much easier.

@ZuBB also, what's your Typescript version for the project where this happens?

@ZuBB also, what's your Typescript version for the project where this happens?

2.1.6

Did you run any commands when this happened?

just to omit any confusion: what do you mean under "run any commands"?

Does it happen right after you start the editor?

definitely not

Open a new tab?

quite possible, but I am not totally sure. I remember that I has lots of tabs opened and I walk through them and do incremental search (vim's N)
I will try to recall what causes next time i get this. btw I got this today couple of times

got one more time it today. last tree actions was next:

search with n/N
switch to browser
switch back to atom

and voila - toast with error appeared

Thanks. When you switch tabs, the plugin will trigger error checking for that file that will in turn generate some events from tsserver. The searching will move the cursor that will send occurences command to tsserver to highlight the symbols in the current file. I guess it could be either of those, but I still can't reproduce.
Only thing I can think of would be to add some logging to the tsserver protocol to see what's going on. There's a MessageStream class in client.ts that reads the lines from the server, so if you change the _transform method to log the lines, it should gives us a clue on what's going on:
/** Helper to parse the tsserver output stream to a message stream  */
class MessageStream extends Transform {
  lineCount = 1

  constructor() {
    super({objectMode: true})
  }

  _transform(line: string, encoding: string, callback: Function) {
    console.log(this.lineCount + ":" + line) // add this

    if (this.lineCount % 2 === 0) {
      this.push(JSON.parse(line))
    }

    this.lineCount += 1

    callback(null)
  }
}

I just recall that we added some debug lines :)
I am adding two screens of  console. hope it will help us to move further on this (or this) issue(s)

Okay, I see, the tsserver process is crashing with an OOM error and prints something on stdout that is not a protocol message. The solution here is to gracefully handle the server crashing as well as printing arbitrary lines on stdout. I have some ideas for this, hang tight!


Some minor improvements

Fix sortable item visibility (now will not disappear when you start to drag)
Improve multiple media selection by not closing pop-up window after each media select (very annoying to upload 10 files and need to click browse 10 times)

See if you agree with multiple select not closing after selecting 1 file.

Thanks.
I like the closing thing. I wanted to do it before, but since at the time we didn't have a way to differentiate both partial types, there wasn't an easy way to do it.


[Feature Suggestion] Dump button to discard input gas in machines

Hi there
One of the problems I'm having with my machine setup is if I have multiple chemical crystallizers is that there doesn't always end up being an even distribution between them. eg, you might have 192mb in one and 8mb in the other. Neither can produce a crystal and I can't run any new ores through the system without making a new chemical crystallizer. If a dump button akin to what the metallurgical infuser has could be added to any machine that takes gas as an input to dump an odd amount would be amaze balls!
Cheers!

you have the gauge dropper to switch fluids/gasses around
http://wiki.aidancbrady.com/wiki/Gauge_Dropper

Indeed, the Gauge Dropper already does everything you mentioned :)


Count members and records of community

Integrate information about amount of members and records of the community for the delete communinty modal
Before:

After:

hints:
check the REST API of members service and see how you can dump this information in settings page
probably you can dump this information in the view corresponding to the settings page so you have them available already


Embeddings code

hi guys, i can‘t understand the embeddings code in tracotron.py . It looks like to random a array (shape is num_symbol*256)  in normal distribution, and select the symbol's ID lines?

It's using tf.nn.embedding_lookup to map each symbol (character) in the input to a 256D embedding vector. The embedding_lookup operation treats each symbol as an index and pulls out the corresponding row in the embedding table.
The embeddings are not fixed, but instead are initialized randomly and updated during training. Over time, they should learn to capture some sort of structure that is helpful to the model in performing its task.

@keithito Thanks for your answer. But in the code , i did not see the process of  updating the embedding table.

They get updated through backpropagation, just like everything else.