Add access to mbedtls_x509_name::next_merged

Access to most fields of mbedtls_x509_name was added back in 3.1, but without access to next_merged, applications cannot reliably walk the list. Originally reported in #5331.

include/mbedtls/asn1.h contains
    /** Merge next item into the current one?
     *
     * This field exists for the sake of Mbed TLS's X.509 certificate parsing
     * code and may change in future versions of the library.
     */
    unsigned char MBEDTLS_PRIVATE(next_merged);

It would be easy to submit a patch to remove MBEDTLS_PRIVATE(), but the comment suggests there may be other plans for the structure.  Are there?  If there are indeed concrete plans to change the implementation, would you instead consider patches to replace mbedtls_snprintf() in mbedtls_x509_dn_gets()?  Each call to the underlying snprintf can be many hundreds and even thousands of CPU instructions.

would you instead consider patches to replace mbedtls_snprintf() in mbedtls_x509_dn_gets()?

That's what I was trying to ask yesterday: if mbedtls_x509_dn_gets() was more efficient, would you still need to walk the mbedtls_x509_name linked list? If the answer is no, then let's keep next_merged private, and improve mbedtls_x509_dn_gets() instead so that everyone can enjoy better performance! (Also, on embedded platforms, reducing usage of snprintf() is good for code size reasons as well.)
(Or we could also do both: improve the performance of dn_gets() and make next_merged public, if it turns out it's needed anyway.)

the comment suggests there may be other plans for the structure. Are there?

I'm not aware of any concrete plans in the immediate future (though in general I've always found this "merged" thing a bit dirty and would be happy if it was refactored to something cleaner at some point). @gilles-peskine-arm according to the history you wrote that comment, do you know more?

Yes, I still need to walk the list to create separate variables in the lighttpd environment for each component of the DN.  If I were not able to walk the list, I could attempt to parse the value returned from mbedtls_x509_dn_gets().

Well as we already discussed, having a function that builds a string that you then parse seems highly inefficient, so let's wait for Gilles' opinion and see if we can make next_merged public.
Independently of that, if you'd like to contribute improvements to dn_gets() making it more efficient and snprintf()-free, please feel free to submit a PR!

I went through ASN.1 and X.509 parsing structures. I made fields public when I thought there it wasn't likely that the field might disappear or change in semantics in the future. I was not comfortable making mbedtls_asn1_named_data::next_merged public because it's only used for one specific bit of X.509, in a way that's not documented. It looked to me like an optimization that we might want to change in the future, and not a robust API design.
So there are no concrete plans for a change, but a willingness to change.
I'm not fundamentally opposed to making it public, but I'd much prefer to improve the interface or implementation of mbedtls_x509_dn_gets and remove next_merged.

I agree with @gilles-peskine-arm
next_merged feels very much like an implementation detail to me, too.
The reason I am walking the mbedtls_x509_name linked list is for historic compatibility with the (excessive) SSL_CLIENT_S_DN_* variables created by Apache to break down the client Subject DN components for (possible) use by CGI consumers.  However, I do not believe such use is common, and so I believe it is a huge waste.  (I still try to minimize the expense.)
I would prefer not to re-parse the string generated by mbedtls_x509_dn_gets(), so to avoid next_merged, how about an additional interface that walks the mbedtls_x509_name linked list and then calls a callback function (passed by the caller) with each component of the DN?  (This is a common idiom in lighttpd where the CGI environment variables are the same, but CGI needs to format them in the environment, and FastCGI needs to encode them using the FastCGI protocol, and SCGI needs to encode them using the SCGI protocol, AJP13 needs to encode them using the Apache JServe Protocol 1.3, etc.)

And since there is a willingness to review a PR reducing the use of mbedtls_snprintf, I'll look to provide a patch next week. :)

@gilles-peskine-arm wrote

I was not comfortable making mbedtls_asn1_named_data::next_merged public because it's only used for one specific bit of X.509, in a way that's not documented.

Can you give me some hints about how and when something might be encoded in a way that uses next_merged?  When I walk the Subject DN, will I never encounter next_merged?  Can I simply use the first mbedtls_x509_name and then call a function to return the next item in the linked list (which under the hood skips all the following nodes with next_merged set)?

Hmmm.  So the next_merged is for multi-valued RDN (Relative Distinguished Name).  For my use splitting the client Subject DN into separate environment variables, one for each RDN, I think that I can ignore next_merged and treat each mbedtls_x509_name as an attribute=value to put into the environment.

Sorry about my misunderstanding.  I did not know about multi-valued RDNs.
This issue can be closed.
Once I get a thumbs up or thumbs down for the reimplementation above of mbedtls_x509_dn_gets(), I'll file a separate PR with the patch.

Your code looks plausible at first glance. C99 declarations are ok.
I don't actually know what next_merged is for: all I know is that by reading the code, I can tell that it was solely meant for one specific purpose and it looks like a bit of a hack. I haven't researched multi-valued RDN.

We do need to make sure that we have enough test cases that cover the cases that next_merged are used for, and edge cases that the rewrite might plausibly affect.

At a glance, I don't see any obvious blocker with your code. Out of curiosity, I tried and it passes our existing tests. But then I looked, and we only have 4 test cases, and none of them seems to be exercising edge cases or the use of next_merged. None of them exercises the case where the output buffer is too small, which is quite crucial for security.
So, you're welcome to open a PR with a new version of dn_gets(), as Gilles suspected, the tests need to be improved before a replacement can be accepted. If you feel like contributing extended tests too, that's great! Otherwise, I'm afraid your rewrite will have to wait for us to improve testing first.

Yes, writing more tests is, of course, a requirement for string slinging functions.  I wanted to test the temperature with this mock-up before spending more effort on lots of tests.  This may take me some time, as I have run out of tuits this week.

Data point: I did a quick, non-scientific benchmark and found the mbedtls_x509_dn_gets() above compiled -O2 is approx 5x - 6x faster than the existing implementation in mbedtls library/x509.c.

@gilles-peskine-arm wrote (#3326):

If lighttpd uses the output of mbedtls_x509_dn_gets for other purposes, and you want to preserve non-ASCII characters, can you please open a separate feature request for this, and explain your constraints (with respect to diversity of certificates to support, acceptability of invalid output, etc.)?

One use case is in web servers which support client certificate verification, where the client provides a certificate to authenticate the client with the server.  When client certificate verification fails, certificate info may end up in error logs.  Since encoding/escaping data sent to error logs is a good practice to do on all data, let us put the failure case to the side.  When client certificate verification succeeds, the web server presumably has validated that the client certificate is signed by a CA trusted by the web server.  Many web servers (lighttpd included) will set the environment variable SSL_CLIENT_S_DN (client certificate "subject" DN) (probably following historical Apache httpd behavior) and this environment variable may be used by scripts to identify the authenticated client.  The TLS connection is terminated in the lighttpd server, so SSL_CLIENT_S_DN and other variables are used to transmit the client certificate info to backends such as FastCGI, SCGI, AJP13, etc.
mbedtls_x509_dn_gets() -- which can not assume the case of validated certificate signed by a trusted CA -- restricts to (non-CTL) ASCII the characters allowed in RDN values, replacing other characters with '?'.  As noted in #3326, this overwrites valid non-ASCII UTF-8 with '?', making SSL_CLIENT_S_DN non-identifying for subject DNs containing non-ASCII UTF-8.
There are a host of complicated rules and conventions and RFCs for stringifying and formatting a DN.  mbedtls_x509_dn_gets() coarsely simplifies things by restricting chars to ASCII, but does not perform backslash escaping of restricted chars, such as comma (',').  This is not an issue for lighttpd, since lighttpd trusts the CA when client certificate verification succeeds, assuming the server admin has not misconfigured CA trusts, and assuming the CA does not sign certs containing chars requiring such escaping.  lighttpd would like to support non-ASCII UTF-8 in certificates with mbedtls, so the option available to me right now is to avoid mbedtls_x509_dn_gets() and to construct the subject DN string myself.  I can do this to whatever specifications I deem fit, but if I avoid next_merged, then I will not be able to support multi-valued RDNs.  Multi-valued RDNs are presumably less common than non-ASCII UTF-8, so I will probably roll my own function instead of using mbedtls_x509_dn_gets().  Regarding acceptability of invalid input, if I trust the CA not to issue certificates which require any special escaping when stringifying the DN, then I do not absolutely need to validate the RDN value, though checking for embedded '\0' would still be a good sanity check before lighttpd puts the value into the environment.
Without creating a complex function similar to openssl X509_NAME_print_ex() with many flags to adjust formatting behavior, a future version of mbedtls might restrict mbedtls_x509_dn_gets() to debug and info functions under #ifndef MBEDTLS_X509_REMOVE_INFO.
Regarding this github issue about the hiding of next_merged in mbedtls 3.0.0, it might be useful to provide an (inline) accessor function is_multi_valued_rdn() which can check if next_merged is set, while hiding the implementation detail.
After this research, I have concluded that this github issue is not a blocker or in any way urgent for lighttpd use of mbedtls, so I am okay with this github issue being closed.

@gstrauss Thanks for the detailed explanation! I guess that apart from RDN, you're planning to access dn->val->p directly and decode it according to dn->val->tag? Which allows the application to decide how thorough it wants to be about encodings.
And for RDN, I guess we should add a function mbedtls_x509_x509_dn_get_next which returns a mbedtls_x509_name *, either a pointer to the next DN list node or NULL.
I wish we could remove next_merged from mbedtls_asn1_named_data and change mbedtls_x509_name to be a structure containing an mbedtls_asn1_named_data and a mbedtls_x509_name*, but I fear this isn't possible since we didn't make mbedtls_x509_name opaque: it's transparently interchangeable with mbedtls_asn1_named_data. It's a pity we didn't think of changing those X509 type to be structs with the ASN1 struct as a field.

@gilles-peskine-arm it is difficult to provide a one-size fits all "convenience" interface. ;)

I guess that apart from RDN, you're planning to access dn->val->p directly and decode it according to dn->val->tag? Which allows the application to decide how thorough it wants to be about encodings.

Yes.  In lighttpd's case, I replaced mbedtls_x509_dn_gets() with my own in lighttpd mod_mbedtls since I would like to support non-ASCII UTF-8, and when lighttpd is generating SSL_CLIENT_S_DN, lighttpd is doing so on a certificate signed by a CA lighttpd has been configured to trust.  lighttpd 1.4.64 has been released with experimental support for mbedtls 3.0.0.

@mpg wrote:

At a glance, I don't see any obvious blocker with your code. Out of curiosity, I tried and it passes our existing tests. But then I looked, and we only have 4 test cases, and none of them seems to be exercising edge cases or the use of next_merged. None of them exercises the case where the output buffer is too small, which is quite crucial for security.
So, you're welcome to open a PR with a new version of dn_gets(), as Gilles suspected, the tests need to be improved before a replacement can be accepted. If you feel like contributing extended tests too, that's great! Otherwise, I'm afraid your rewrite will have to wait for us to improve testing first.

Ideally, I would be able to add a line to tests/suites/test_suite_x509write.data to validate mbedtls_x509_dn_gets() with a multi-valued RDN.  However, from my limited read of the code, it does not appear that mbedtls_x509_string_to_names() supports multi-valued RDNs.  I think it too much of an imposition to ask me to add support to mbedtls for this esoteric extension in order to write a test to verify that the debug function mbedtls_x509_dn_gets() can stringify a multi-valued RDN.
I can look into adding some tests where the output buffer is too small, but I do not plan to add multi-valued RDN tests.
==> Will this be acceptable?

Sorry for the late reply. I think your point is entirely fair, we appreciate your time in giving us very valuable feedback and contributing improvements, and we don't want to impose. However, I'm not sure that's entirely the same question as whether changing this part of the code without testing that case (which, as you say, it relatively esoteric, but precisely for that reason, an area where mistakes seem more likely) is technically acceptable. I'll try to find some time this week to have a closer look and see if I can perhaps extend testing myself, then we'd be in a better position to accept you contribution.

I thought of a possible way to test this without having to write tests using binary-encoded strings for input: use mbedtls_x509_string_to_names() to parse a string, and then manually set next_merged on one node.  That and testing size limits in mbedtls_x509_dn_gets() both would benefit from a specific test routine for mbedtls_x509_dn_gets() in tests/suites/test_suite_x509write.function

I filed #5494.  I expect that you will find it too large a change, but I wanted to share the code.  lighttpd no longer uses these functions in common lighttpd code paths due to limitations in these mbedtls routines, such as not supporting non-ASCII UTF-8.  (However, lighttpd mod_mbedtls does still use mbedtls_x509_crt_verify_info in an error condition with client certificate verification.)
For lighttpd, I deemed support for non-ASCII UTF-8 more valuable than seldom-used multi-valued RDNs.  As I mentioned above, multi-valued RDNs are not fully supported in mbedtls, either, e.g. mbedtls_x509_string_to_names() is not aware of multi-valued RDNs.

This issue was long ago closed, but it may be worth pointing out that the X.509 spec states in Appendix M.5:

Each RDN is constructed from one or more attributes by combining the attribute type with an appropriate attribute value. A complication was added by allowing a set of attribute types and values to make up a single RDN. That capability should not be used in a PKI context.

Which as I read it implies that multi-valued RDNs are not to be used for X.509 certificates at all. This would make the next_merged field unnecessary.


Test with Gradle 8-RC-1

What about using https://docs.gradle.org/current/userguide/toolchain_plugins.html to let Gradle download the missing JVM instead of downloading it by yourself?


readme: add wercker badge for master branch

https://app.wercker.com/#build/54c81ca7cc09f9963729b41e is clean
:ship:


Default to use vanilla boost

Default Makefiles build to use vanilla boost.

Note for readers: this is an SPI only thing.

LGTM.


fix: disable animation when show/hide properties panel

Description

To fix: https://github.com/qlik-oss/sn-scatter-plot/issues/126
Related PR: I have another fix at https://github.com/qlik-oss/sn-scatter-plot/pull/244 but @veinfors thought that we should not skip the first rendering completely, since it may be needed in other scenarios. Instead, we should disable animation to make the transition looks less chaotic.
The fix: We disable animations right after we show/hide the properties panel.
Files changed:

src/hooks/use-settings.js: split the current useEffect into two, one  listening to the size change, the other listening to the constraints change. By doing this, and by employing a previousConstraints property in the chartModel, we can distinguish between a normal resize event and a resize event accompanied by a constraints change event. We will disable animations for the latter.
src/models/chart-model/index.js: change the previous state object into meta and put more properties into it to control animations. Also move animationEnabled  from viewHandler into here, because it's better that way.
src/models/tick-model/ticks/tick-helper.js: small refactor due to the change from state object into meta object in chartModel.
src/picasso-definition/components/axes/index.js
src/picasso-definition/components/grid-lines/index.js,
src/picasso-definition/components/heat-map-labels/index.js,
src/picasso-definition/components/heat-map/index.js,
src/picasso-definition/components/point-labels/index.js,
src/picasso-definition/components/point/index.js,
src/picasso-definition/components/reference-lines/labels.js,
src/picasso-definition/components/reference-lines/lines.js: small refactors due to  the migration of animationEnabled from viewHandler to chartModel
src/utils/object-helper.js: support comparing objects, since javascript does not support this.
src/view-handler/index.js: move animationEnabled and meta.updateWithSettings into chartModel, making it easier to control animations.

Verification

Before:

https://user-images.githubusercontent.com/70384379/154361589-69dac5e4-afc7-4257-a363-d147f7004b42.mov

After:

https://user-images.githubusercontent.com/70384379/154361419-438b7247-d4d9-4bbf-87a9-c20e9f21ca14.mov

Normal resizing still have animations after fix:

https://user-images.githubusercontent.com/70384379/154362568-d7faee7f-f2e0-46c0-8d4b-ce9b41c25160.mov

Looks good to me, just left a little comment around the isEqual function...


[Event Request] Table 10866 "Payment Line" - procedure UpdateEntry()

    [Scope('OnPrem')]
    procedure UpdateEntry(InsertRecord: Boolean)
    var
        PaymentAddress: Record "Payment Address";
        GLAccount: Record "G/L Account";
        BankAccount: Record "Bank Account";
        FixedAsset: Record "Fixed Asset";
    begin
...............

        DimensionSetup;
        PaymentAddress.SetRange("Account Type", "Account Type");
        PaymentAddress.SetRange("Account No.", "Account No.");
        PaymentAddress.SetRange("Default Value", true);
        if PaymentAddress.FindFirst then
            "Payment Address Code" := PaymentAddress.Code
        else
            "Payment Address Code" := '';

-------------- ADD EVENT -----------
        OnAfterUpdateEntry(Rec);
---------------------------------------

    end;
.................

 [IntegrationEvent(false, false)]
 local procedure OnAfterUpdateEntry(var PaymentLine: Record "Payment Line")
 begin
 end;

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


VerifyLLDPNeighbors test adding an extra carriage return, causing an extra line in Markdown report

Found that the LLDP Neighbor check is adding an extra line break moving the interface to its own line in the Markdown report.
| 6 | dc2-bsl-01 | Connectivity | VerifyLLDPNeighbors | Verifies that the provided LLDP neighbors are connected properly. | Local: Ethernet1/1 - Remote: dc1-bsl-01 Ethernet1/1 | FAIL | No LLDP neighbor(s) on port(s):
   Ethernet1/1 |

If I modify the file anta/tests/connectivity.py line 167 from failure_messages.append(f"{failure_type}:\n   {ports_str}") to failure_messages.append(f"{failure_type}:   {ports_str}") my output Markdown file is formatted correctly;
| 6 | dc2-bsl-01 | Connectivity | VerifyLLDPNeighbors | Verifies that the provided LLDP neighbors are connected properly. | Local: Ethernet1/1 - Remote: dc1-bsl-01 Ethernet1/1 | FAIL | No LLDP neighbor(s) on port(s):   Ethernet1/1 |

Hi @ecrosswhite - thanks for opening this. the new line is probably present in case multiple ports are in the string to have a nicer display in some other format mode.
Can you please share how you are using the markdown report - is it coming from AVD maybe? Do you see this breaking the table formatting then? (I guess it does)

Hello @gmuloc I was thinking the same that the new line was for the case of multiple interfaces.  My understanding is the ports_str variable already includes one new line ports_str = "\n   ".join(ports) so by having two new lines together in the failure_message it is causing the interface to bump down into the next line in the report.
Yes, this report is coming through via AVD and it doesn't break the table exactly, just causes the interface to be on its own line rather than in the relevant cell.

Having this same issue, I resolved it locally by patching the md_report.py file in the AVD project to replace newlines with <br /> in messages as it generates rows.
I feel like AVD is the appropriate place to resolve this. As it seems reasonable for ANTA to include newlines in its output, and it's responsibility of any formatter (like AVDs md generator) to properly escape anything that might break the format it's generating. As the newline in this case is a problem for md but wouldn't necessarily be a problem for other consumers of the ANTA report.
Wanted to run this by here before submitting a PR to AVD though. I noticed that the message field is a list. So it could be considered appropriate to return the new lines as multiple items in the list as part of the test. Regardless AVD should probably by sanitizing anything it's generating in a way that won't break the md formatting, but ANTA might want to make a design decision on whether newlines can be expected in output or not.

@nathanmusser That is a good point, I hadn't considered patching it on the AVD side but it seems the best place to fix the issue.  I agree that whatever tool is generating the report, AVD in this case, should be the one to fix issues from how it generates the report.

Just noticed that #740 is adding a native markdown generator to ANTA and already has a method for sanitizing the output. Hopefully AVD migrates to this generator once it's released.

Just noticed that #740 is adding a native markdown generator to ANTA and already has a method for sanitizing the output. Hopefully AVD migrates to this generator once it's released.

this is the plan - cc @carl-baillargeon

@nathanmusser That is correct. We are transferring the report (MD/CSV) generators to ANTA directly and will eventually use them when ANTA will be integrated to PyAVD --> https://github.com/aristanetworks/avd/pull/4196
Since the integration will take a little bit of time (AVD 5.0) maybe? Please feel free to open a PR in AVD for eos_validate_state to fix the current report. Thanks

@carl-baillargeon thanks for the heads up, I "borrowed" the safe markdown method from ANTA and opened a PR using it against AVD.

Issue is on the AVD side and was fixed by https://github.com/aristanetworks/avd/pull/4212


App gets restarted automatically when user kill & relaunch the app

Frequency: 100%
App version: Android Celo Alfajores Wallet build : v1.6.0 (101648579), Android Playstore build : 1.6.0 (104794306)
Repro on: Samsung Galaxy A5 (7.0), Samsung Galaxy J7 Prime (6.0.1), Samsung Galaxy J7 Pro (8.1.0), LG W30 (9.0)
Testing Account:<PHONE_NUMBER>4 /backup Key
Repro Steps:

Launch the app and Login with test account
Navigate to home page
Kill-relaunch the app and Observe

Current Behavior: App gets restarted after kill-relaunch the app
Expected Behavior: App should not get restarted after kill-relaunch the app
Attachment: App gets restarted.mp4 (Bug observe at 14 sec)

This looks like stale Geth instances still hanging around, which causes the app to restart so we can kill them

verified with Android play store build v1.8.2 and observed that app is not getting restart after cold launch the app.


[refactor] Batch digests and serialized batch digests

refactors the digest of Batch from hashing the serialized batch message (bincode serialization of WorkerMessage::Batch) to hashing transactions one by one,

while this is not the ideal approach (we'd like to also hash the tx lengths, rlp-style), this framework offers a pathway towards implementing this in the future,
this makes errors that come up in hashing of a structurally invalid serialized batch message explicit, but leaves propagating error handling in the handlers to a further PR,

defines a function serialized_batch_digest on the serialized batch message itself, that computes the same digest,
introduces randomized test to guarantee this invariant (serialized_batch_digest and Batch::digest output the same),
proves the new approach is not a performance regression through a micro-benchmark (see also results in the next-to-last commit message)

Fixes #156

Now, regarding the need to dig into the bincode serialised format to extract the transaction info the calculate the hash, I believe this is increasing the complexity and creates a coupling with the bincode serialisation.

That is correct. Hence the unit tests to ensure we maintain the invariants that we're meant to.

To better understand the need for this, are we doing it to avoid deserialising the message it self? If that's the case, aren't we already do on the worker to worker communication when we receive the message?

No, we were already not deserializing the message, as you correctly noted. The goal of this is to give us the ability to update the hashing of the Batch according to our hashing specifications:

to allow us better security, in particular prevention against length confusion attacks, and enforcing TX size limits.
to allow us to hash intents (see spec),
to allow us to implement per-transaction logic, including Merkelization of transactions.

The first step towards that is to maintain the ability to have two ways to get to the same digest:

from a Batch,
from a SerializedBatch,
but now, instead of doing it on one binary blob, according to a per-transaction logic. In other words, we will have to maintain an ability to do zero-copy deserialization (which is essentially what we implement here), as we evolve our hashing format. The old hashing method, because it does not allow introspection into the transactions, only satisfied the performance objective without allowing us to change the format.


Added my duck

Description
Here my contribution to "The Duck Gallery".
"Open source unites us 🌐✨—let's connect!"
You must respect the following conditions

Your contribution must respect the code of conduct
It's your first PR to this repository
You have added your image of the duck downloaded from https://pimpmyduck.zenika.com
You have not changed the image of the duck
The image filename must be your GitHub username (ex: your-username.png)
You are using your own GitHub user and it's the same as the PR author
Into the contributors.js file, the message must be short and respect the code of conduct

If the PR doesn't respect those conditions, it will be closed

@jeanphi-baconnais is it good to go?


Add ability to reset builds

By adding the jvmbuildservice.io/rebuild: true annotation the system
knows to attempt to rebuild an ArtifactBuild.

all 8 PaC image builds are in fact OK:
gmontero ~ $ oc get pr  -n jvm-build-service jvm-build-cache-on-pull-request-cw8ng
NAME                                    SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
jvm-build-cache-on-pull-request-cw8ng   True        Completed   120m        108m
gmontero ~ $ oc get pr -n jvm-build-service jvm-build-controller-on-pull-request-h4chq
NAME                                         SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
jvm-build-controller-on-pull-request-h4chq   True        Completed   120m        111m
gmontero ~ $ oc get pr  -n jvm-build-service jvm-build-hacbs-jdk11-builder-on-pull-request-kbrbg
NAME                                                  SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
jvm-build-hacbs-jdk11-builder-on-pull-request-kbrbg   True        Completed   121m        104m
gmontero ~ $ oc get pr  -n jvm-build-service jvm-build-hacbs-jdk17-builder-on-pull-request-cqm6k
NAME                                                  SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
jvm-build-hacbs-jdk17-builder-on-pull-request-cqm6k   True        Completed   121m        107m
gmontero ~ $ oc get pr  -n jvm-build-service jvm-build-hacbs-jdk8-builder-on-pull-request-cbvx8
NAME                                                 SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
jvm-build-hacbs-jdk8-builder-on-pull-request-cbvx8   True        Completed   122m        104m
gmontero ~ $ oc get pr  -n jvm-build-service jvm-build-request-processor-on-pull-request-xlfhk
NAME                                                SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
jvm-build-request-processor-on-pull-request-xlfhk   True        Completed   122m        110m
gmontero ~ $ oc get pr  -n jvm-build-service jvm-build-sidecar-on-pull-request-6jc84
NAME                                      SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
jvm-build-sidecar-on-pull-request-6jc84   True        Completed   123m        111m
gmontero ~ $ oc get pr  -n jvm-build-service jvm-dependency-analyser-on-pull-request-5dmx6
NAME                                            SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
jvm-dependency-analyser-on-pull-request-5dmx6   True        Completed   123m        110m
gmontero ~ $

ok only the controller image pipeline as acode job is stuck with "in progress" but when I look in the staging cluster:
jvm-build-controller-on-pull-request-kdgjg   True        Completed   36m         28m
so let's merge if the e2e's are green


Exposed a couple of features after SDK update

Namely, set_solarSystemMinorOrbits (orbit paths of non-featured moons, satellites, etc.) and set_solarSystemStars (background stars) in solar system mode. I also changed solarSystemStars to be on by default.
set_solarSystemMinorPlanets is also available now, but there are so many that it overloaded my RAM and crashed my session. In order to avoid this outcome for users, I've left it commented out.

I should note that I tested all of the commented out settings in wwt.html using the SDK at http://www.worldwidetelescope.org/webclient/sdk/wwtsdk.min.js
(That version also has crosshairs again.) Once the latest changes to the SDK are staged and pushed, we should update our version of wwtsdk.js on the gh-pages branch.

@ojustino - I've copied over the latest staged version to gh-pages. Can you update the URL for the JS and rebase this pull request? (to pick up the latest fixes to tests)

I only tested with the URL at worldwidetelescope.org, but the one in the commit still references the file in gh-pages. The features now work with the gh-pages SDK, too.
I rebased, so this PR should be good to go.


Bug: Find without findings throws

Is there an existing issue for this?

[X] I have searched the existing issues

Is this a regression?
Yes
Current behavior
We have no findings (no missing keys, no extra keys). When I run transloco-keys-manager find --translations-path assets/i18n/merged I get the exception:
C:\workarea\services***\ui\node_modules@ngneat\transloco-keys-manager\keys-detective\map-diff-to-keys.js:14
return keys.join('\n');
^
TypeError: keys.join is not a function
at mapDiffToKeys (C:\workarea\services*\ui\node_modules@ngneat\transloco-keys-manager\keys-detective\map-diff-to-keys.js:14:17)
at buildTable (C:\workarea\services*\ui\node_modules@ngneat\transloco-keys-manager\keys-detective\build-table.js:40:63)
at compareKeysToFiles (C:\workarea\services*\ui\node_modules@ngneat\transloco-keys-manager\keys-detective\compare-keys-to-files.js:94:34)
at findMissingKeys (C:\workarea\services*\ui\node_modules@ngneat\transloco-keys-manager\keys-detective\index.js:26:52)
at Object. (C:\workarea\services***\ui\node_modules@ngneat\transloco-keys-manager\index.js:38:42)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
Expected behavior
Find does not throw when all keys are fine
Please provide a link to a minimal reproduction of the bug
None
Transloco Config
No response
Debug Logs
No response
Please provide the environment you discovered this bug in
Transloco:
Transloco Keys Manager:
Angular:
Node:
Package Manager:
OS:

Additional context
No response
I would like to make a pull request for this bug
No

@lkuendig You are welcome to open a PR

@shaharkazaz I accidentally deleted the PR (first PR on github :)). can you add those 2 changes https://github.com/ngneat/transloco-keys-manager/pull/162/files. It's only a small bug/fix in case one has "key": {} somewhere in the translations

Resolved via this commit


Fix tree endpoint missing datasets

Currently the tree endpoint doesn't take note of some datasets if they are symbolically linked to a HDF5 GroupNode.

Fixed in #10


Virtuoso: PHP: redhat referencing global vs local var for tarball download

One line was still referencing a global default value vs the actual value we detect which then broke the tarball download logic when a new php agent was released.

@zsistla I've approved this PR and will deploy.
FYI, next time please create a branch on this repo, so the PR can run all the automated tests (secrets are not available when running tests on a user cloned repo).

@zsistla I've approved this PR and will deploy.
FYI, next time please create a branch on this repo, so the PR can run all the automated tests (secrets are not available when running tests on a user cloned repo).

Thanks and got it!  I'll update our documentation about direct branches.


feat: Resolved the issue of the hamburger #1582

Title : Resolved the issue of the hamburger
Issue No. : #1518
Close #1518
Code Stack : HTML, CSS, JS
Video/Screenshots (mandatory)
https://github.com/user-attachments/assets/36113849-fbb1-486f-b51e-9f1b1115438f
Type of PR

[x] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[ ] I have performed a self-review of my code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ ] I have gone through the  contributing.md file before contributing
[ ] I have Starred the Repository.

Additional context:

##Are you contributing under any Open-source programme?

[x] I am contributing under GSSOC'24 Extended
[ ] I am contributing under Hacktoberfest'24

@shriyadindi btw great work. really great dedication

@apu52 Thank you!

@apu52 I'll to resolve them.

@apu52 I've worked in the bug of the navbar.
https://github.com/apu52/Travel_Website/pull/1589


Dependency path resolves to wrong file, any ideas ?

Hi,
I have the weird issue, that, while injecting my dll, it randomly does not resolve the dependency to d3dx9.dll file. Never had any issues before, this just started recently...
Here is a screenshot of the logs:

LEFT side a working injection run with extended logging.
RIGHT side first a working injection and right after a 2nd try where it failed.
This is completely randomly happening...

Do you have any ideas what this could be or why it is happening ? I know I'm not alone with this issue, but I was never able to trace it down before.

In the failing case i don't see d3d9.dll being loading. It seems it's already present in a process and it fails to find export properly. Can you check whether dll is correct and has export in such case?

I'm injecting into a game, which by default loads/uses the d3d9.dll.
I don't understand what you mean with "Can you check whether dll is correct and has export in such case?", could you please explain it differently ?

Can you dump d3d9.dll used by the game and send it to me?

The game does not have a seperate d3d9.dll, afaik it uses the one from my Windows System folder.
Here is the dump:
d3d9.dll_6FDA0000.zip

Seems that without my dll, there is only the d3d9.dll in the target process, the moment I inject, the d3dx9_43.dll is loaded as well, I guess I'm using a function which is not in d3d9.dll

Hm. Can you then check if older version is indeed free of this bug? I don't recall pushing any export related commit in last few month but could be anything. Are you able to debug this issue? Because I can't seem to reproduce it myself and teamviewer session will help.

Exactly, it could be anything :/ I have a hard time reproducing it right now, happens once every 20 attempts...So it must be a timing issue I assume, I'll test a bit more with/without starting the target process in debug mode.

I tested it some more and solved my issue. The problem never existed before, but something in your recent commits maybe happened to change the time it takes to attach or I don't know :D
Long story short, I had the target process started by my dll in debug mode to patch a few things, then resumed the target process, called EnsureInit() and then injected right after. I noticed that when I manually attach to an already fully started target process, it did work fine. So I had to add a (silly but working) Sleep() before calling EnsureInit() , then it all started to work fine again. I would assume that some imports were not yet done by the target process when injecting so fast, and therefore the weird error happened, sadly I have no further information regarding the exact cause of the problem.
Thanks :)

One little update on this, I had to REMOVE the EnsureInit() ,then it magically started to work....but I don't unerstand why :D
Anyway, as others mentioned already, if you have a Donate button somewhere, I would be happy to donate you some beer ;)


THR export/import lines

A pattern that looks fine in the preview has some huge lines across it when exported to thr and then imported again. These lines also show up on the table. So there must be something that is treating the preview differently than the file. I suspect it is because the preview is in XY, and the file is thr.

This is hopefully fixed in #275. If you see it again, please upload a .sdf that illustrates the bug.


chore: prevents to bootstrapping a new cluster with a non-empty object store

The idea behind this patch it's to prevent any cluster bootstrapping
if case the target Object Store it's already used by another backup
or it's not empty at all, thus, we can prevent the overwrite of
clusters backups and misunderstanding in the PostgreSQL timeline
when trying to recover a pod.
Closes #61
Signed-off-by: Jonathan Gonzalez V<EMAIL_ADDRESS>

/test


Feature/657 restyle model

fixes: #657

The input field can't be the background color when selected.

I think there are more wrong than things good things in this PR. I'm closing it because it has to be done all over.
In the next try:

We'll leave the shades for what they are. If we want to look at other shades, we need to keep close attention to dark and light mode. The colors shouldn't be inverted.
We have to make classes for the different grid style of the modals. By not doing this, all other modals are broken. (How did you not see this? I would assume you check other modals to make sure you didn't break them)
Try to fix the header with the already existing grid. There was a grid for the logo and "rest of the header", which can be extended.


better installation instructions on windows

just stumble upon your repo when trying to use real-esrgan with tensorrt, i think the instructions can be a bit better, especially windows and the .bat file
nvidia docs are very long and complicated, i write my own guide to install CUDA + cuDNN + TensorRT on windows: https://github.com/phineas-pta/NVIDIA-win/blob/main/NVIDIA-win.md (u can use this to make tutorial video if u want)
for python packages here my suggestions:

install torch
if cuda 11.8: pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
if cuda 12.1: pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121

install tensorrt
if linux: pip install tensorrt
if windows: pip install + the tensorrt .whl file in the folder downloaded when install TensorRT
no need to install onnx_graphsurgeon nor tensorrt_dispatch nor tensorrt_lean
also seem like in the future (not now) with tensorrt v9 u can do pip install tensorrt on windows

install packaging with pip install packaging

install torch2trt with pip install git+https://github.com/NVIDIA-AI-IOT/torch2trt.git
no need to git clone

Thanks for your advice! I will think about it!

@phineas-pta Made some changes to Installer for Windows.bat https://github.com/Kiteretsu77/FAST_Anime_VSR/pull/14


Replace ComplexTypeSystem code borrowed from OPCFoundation with reference to their nuget package.

Code was borrowed from OPCFoundation github a few years ago in order to apply custom fixes.
Need to check if issues still persist, and fix and create a PR for it on the OPCFoundation repo, so that we can reference the official nuget package instead of duplicating the code.

May need to create a fix and PR on OPCFoundation Github.

I have replaced the borrowed OPCFoundation code with the Opc.Ua.Client.ComplexTypes nuget package and can confirm that the issue with recursive structs still persist.
I reported an issue on the OPCFoundation github repo:
https://github.com/OPCFoundation/UA-.NETStandard/issues/1655
As well as submitted a pull request for changes made to accommodate recursive structs:
https://github.com/OPCFoundation/UA-.NETStandard/pull/1656
This will be a work in progress, until OPCFoundation has accepted and released the changes.
Once released the nuget package will be updated and the connector be tested to ensure everything still works regarding complex types.

The change for the recursive struct data type has been approved and merged into the main branch on the OPCFoundation repo.
Looking good so far!


Make elements_selector accept DOM elements

See discussion in #121

@SassNinja I did it, but I think now it's tricky to use when the content changes.
See the example in the demos/dynamic_content_nodeset.html file.
It works at the first usage but when you add content dynamically and call the update() method, it doesn't work because it relies on the elements_selector option to select the newly updated children.
I think that the solution might be to pass the NodeList object with the elements to the update method itself.

@SassNinja I changed it like that --> https://github.com/verlok/lazyload/releases/tag/10.2.0
I tested it in the demos/dynamic_content_nodeset.html demo and it works correctly.
No need to change any of the script options, but you need to pass a NodeList object to the constructor and to the update method.


subscribe_on_new_system callback never triggered

Mavsdk mavsdk;

Mavsdk::Configuration configuration(
	Mavsdk::Configuration::UsageType::Autopilot);

int opt;
uint8_t _id;

char url[256] = DEF_URL;

while ((opt = getopt(argc, argv, "i:u:")) != -1)
{
   switch (opt)
   {
	   case 'i':
		   cout << "System id: " << optarg << endl;
		   _id = (uint8_t)atoi(optarg);
		   configuration.set_system_id(_id);
		   break;

	   case 'u':
		   cout << "Connecting on: " << optarg << endl;
		   strcpy(url , optarg);
		   break;

	   default:
		   fprintf(stderr, "Usage: %s [-i system_id] [-u connection_url]\n", argv[0]);
		   exit(EXIT_FAILURE);
   }

}
mavsdk.set_configuration(configuration);

cout << "Making connection...";

ConnectionResult conn_result = mavsdk.add_any_connection(url);

if (conn_result != mavsdk::ConnectionResult::Success) {
    cout << "connection failed: " << conn_result << endl;
    return -1;
}
else {
	cout << "connection created" << endl;

    mavsdk.subscribe_on_new_system(
        [&](){
    		cout << "System connected"  << endl;
        }
    );
}

  do {
     this_thread::sleep_for(std::chrono::milliseconds(1000));
  } while(1);

The callback on subscribe_on_new_system is never triggered (tested with QGroundControl) ...

Note: this was already asked in https://discuss.px4.io/t/callback-on-mavsdk-subscribe-on-new-system-is-never-called/30564/2

yes I started it there also...

Can you give some more steps on how I should run this, and with what arguments, so that I can reproduce it?

This is what you have to debug:
https://github.com/mavlink/MAVSDK/blob/main/src/mavsdk/core/mavsdk_impl.cpp#L296-L302
Presumably it triggers for you, even though it shouldn't.

You can also debug that using export MAVSDK_MESSAGE_DEBUGGING=1.

No follow up, closing.


Fields are incorrectly marked as mandatory even when default value for variables are set to empty string

Describe the bug
Fields are incorrectly marked as mandatory even when default value for variables are set to empty string.
To Reproduce
Steps to reproduce the behavior:

Review variables.tf file under module directory, and see that the default value is set to empty string, example: resource_creator_identity variable.

Review the UI and see that the field is incorrectly marked as Mandatory.

Expected behavior
When the default parameter is missing from the variable block ONLY then the variable should be set as Mandatory not when the default is set as empty string.

This issue is fixed.


add mailpoet

Added the Mailpoet plugin to the list.

Oh! I apologize! I opened the file in Ulysses (Markdown editor) and I think it auto-formatted it to this format. In Ulysses you can't see this. I will make a new PR with the proper formatting.


Docs: Update documentation regarding the processor option/feature

This feature has a multitude of uses and actually, also, enables Sass variable exports (as pointed out, further below).
Acceptance Criteria
We need to add an example of this to the main README file and additionally add details about different ways to use the processor option .
Example showing how to export sass/css variables to resulting compiled modules (hint: This is done using 'icss-util', and 'postcss' packages) which should be listed processor option docs:
https://github.com/elycruz/rollup-plugin-sass/blob/f4b2e6457ed52fb2b4ade58c9853ebf124396980/test/index.test.ts#L290-L315

Doc update pushed to 'main' (91a04570eb349dc9a497c969dfaadfcc081f5b67).


Moving framework agreement and DPS related data to lot level

When asked about the possibility that FA and DPS data could differ per lot according to EU legislation, @JachymHercher replied positively.
We must consequently move the related fields from the Tender object to the Lot object.

Already done.


:robot: Triggering CI on branch 'release-next' after synching to upstream/main

/test 48-images

OCF Webhook is merging this PR


Phonegap support.

When i am opening phonegap project inside web browser, everything work correct but when i open it on mobile, no file is send and no data at all. req.body is empty object and req.file is undefined.
I am working under windows server and android phone.

Are you using cordova camera to take Photos? I have the same problem, I don't know what exactly send, FILE_URI (Path) or imageData ("data:image/jpeg;base64,"+imageData)

I have solved it, file which we are getting on mobile it's not same with file we are getting in browser, you just have to modify a bit how you will read it.

Hi @CrackerakiUA could you share with us that modification you did?

I don't remeber where exactly that is, but it was easy, use console.log to check what are mobile giving you when you pick file and act proper.


支持回调函数处理异常内容

Please both format this PR correctly as per the docs, and send this to the correct repo.

I doubt this will be accepted anyways, because this looks like a bad idea.

I doubt this will be accepted anyways, because this looks like a bad idea.

I doubt this will be accepted anyways, because this looks like a bad idea.

Well, the changing the visibility of the properties is at least.
It may be worth submitting the public method changes to the correct place.

Why not to use English?

Sorry, but this repo is read only, and this change is probably a bad idea?

Please, re-open your pull request on https://github.com/symfony/symfony
But I doubt that this PR will be accepted.


chore: Migrate to newer imap-types

Fixes a breaking change in imap-types. The type NonEmptyVec was replaced with Vec1.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 48.617%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
492

Relevant Lines:
1012

💛  - Coveralls


OpenCL header causes build fail on OS X Mavericks.

With de0d699, the inclusion of the OpenCL header, builds on Mavericks fail for me with clang complaining about SSE intrinsics.
I haven't had a chance to work out a fix, so I've resorted to commenting it out until I'm done with the current assignment. I will update this when I have a fix, if someone else doesn't get to it first.
I also have a minor patch to allow the cmake script to build for Mavericks as well. Unfortunately I do not have a 10.8, or earlier machine to verify correctness on pre-Mavericks machines.

I had a slightly hard time on yosemite too, I had to explicitly disable BLOCKS. This is my super ugly hackish patch, I don't know much about cmake:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 30fdf08..cada027 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,10 +34,11 @@ if (UNIX)
     include(CheckLibraryExists)
     check_library_exists(rt clock_gettime "time.h" HAVE_CLOCK_GETTIME )
     if(NOT HAVE_CLOCK_GETTIME)
-        message(FATAL_ERROR "clock_gettime not found")
     endif(NOT HAVE_CLOCK_GETTIME)
 endif(UNIX)

+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")
+
 file( GLOB  wbhdr *.hpp *.h )
 file( GLOB  wbsrc *.cpp *.c )

diff --git a/skel/mp0.cu b/skel/mp0.cu
index d761739..316c852 100644
--- a/skel/mp0.cu
+++ b/skel/mp0.cu
@@ -1,5 +1,6 @@
 #include	<wb.h>

+
 //@@ The purpose of this code is to become familiar with the submission
 //@@ process. Do not worry if you do not understand all the details of
 //@@ the code.
@@ -51,4 +52,4 @@ int main(int argc, char ** argv) {
     wbTime_stop(GPU, "Getting GPU Data."); //@@ stop the timer

     return 0;
-}
\ No newline at end of file
+}
diff --git a/wb.h b/wb.h
index e92e23a..6183e18 100644
--- a/wb.h
+++ b/wb.h
@@ -13,6 +13,10 @@
 #include <stdio.h>
 #include <stdlib.h>

+#ifdef __BLOCKS__
+#undef __BLOCKS__
+#endif
+
 #ifdef _MSC_VER
 #define __func__ __FUNCTION__
 #ifndef _CRT_SECURE_NO_WARNINGS
@@ -91,6 +95,10 @@ extern char *solutionJSON;
 #include <CL/cl.h>
 #endif

+#ifdef __BLOCKS__
+#error foobar
+#endif
+
 #include <wbTypes.h>
 #include <wbAssert.h>
 #include <wbMalloc.h>
@@ -110,6 +118,10 @@ extern char *solutionJSON;
 #include <wbCUDA.h>

+#ifdef __BLOCKS__
+#error foobar
+#endif
+
 /***********************************************************/
 /***********************************************************/
 /***********************************************************/
diff --git a/wbTimer.cpp b/wbTimer.cpp
index c7a82c6..46faccc 100644
--- a/wbTimer.cpp
+++ b/wbTimer.cpp
@@ -11,6 +11,17 @@ wbTimer_t _timer = NULL;
 #ifdef __APPLE__
 static double o_timebase = 0;
 static uint64_t o_timestart = 0;
+
+#include <sys/time.h>
+//clock_gettime is not implemented on OSX
+int clock_gettime(int /*clk_id*/, struct timespec* t) {
+    struct timeval now;
+    int rv = gettimeofday(&now, NULL);
+    if (rv) return rv;
+    t->tv_sec  = now.tv_sec;
+    t->tv_nsec = now.tv_usec * 1000;
+    return 0;
+}
 #endif /* __APPLE__ */

 uint64_t _hrtime(void) {


Observable does not implement InteropObservable

Bug Report
Current Behavior
I am trying to write a library interface that accepts InteropObservable for two reasons:

to allow any Observable implementation to be passed
I don't want to use Observable as an input type, because it is a class, and TypeScript will therefor reject passing in an instance of RxJS Observable if it is an instance of Observable from a different file (different package version, or duplicate because of npm link). Coding against interfaces is better than coding against implementations

I get the error:
Type 'Observable<T>' is not assignable to type 'InteropObservable<T>'.
      Property '[Symbol.observable]' is missing in type 'Observable<T>'.

Reproduction

REPL or Repo link:
https://stackblitz.com/edit/typescript-3v2qer

Expected behavior
I would expect to be able to have my interface accept InteropObservable, and pass in an RxJS concrete Observable without a compile error.
Environment

Runtime: any
RxJS version: 6.2.1

Possible Solution
Add symbol.observable to Observable, and make it implement InteropObservable?

Interesting. afaik InteropObservable is supposed to let rx's Observable accepts other observables, not in opposite way (that InteropObservable doesn't represent Observable).
Still, I thought Observable already implemented Symbole.observable at least? 🤔 Don't recall exact history around those.

Observable does appear to be implement [Symbol.observable].

It definitely is not in the published .d.ts<EMAIL_ADDRESS>

This looks to be a TypeScript issue, as  this:
import { EMPTY, InteropObservable } from "rxjs";
import { observable } from "rxjs/internal/symbol/observable";

class Something {
  [observable]() { return EMPTY; }
}
declare const s: Something;
const i: InteropObservable<never> = s;

effects this error:
[ts]
Type 'Something' is not assignable to type 'InteropObservable<never>'.
  Property '[Symbol.observable]' is missing in type 'Something'.

@felixfbecker Its being missing could be related to what appears to be a TypeScript problem.

Actually, it's not TypeScript. The problem is that the InteropObservable declaration does not use the const that's in src/internal/symbol/observable.ts. It uses Symbol.observable directly:
export type InteropObservable<T> = { [Symbol.observable]: () => Subscribable<T>; };

Changing the snippet to this works fine:
import { EMPTY, InteropObservable } from "rxjs";

class Something {
  [Symbol.observable]() { return EMPTY; }
}
declare const s: Something;
const i: InteropObservable<never> = s;

@cartant as we have a solution posted in your last comment I believe we can close this issue

I believe that there's not much more we can do for this issue at this time. There's an adequate workaround in this comment


Is this a bug? segment-map.c uses an undefined constant MAX_UINT32

I changed it to UINT32_MAX, but I'm not sure whether this value is correct

@Daan

Yes, that's a bug -- Thanks so much!


feat(beta): Upgraded to beta for virtual assistant.

Upgraded to the latest beta release for PatternFly v6.

Preview: https://virtual-assistant-pr-virtual-assistant-74.surge.sh


21137 - validation messages and styles

Issue:21137https://github.com/bcgov/entity/issues/21137
Description of changes:

fixed validation messages mentioned in the ticket 21137
fixed style issues mentioned in 21137

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun

Temporary Url for review: https://bcregistry-btr-dev--pr-170-fy0bwih9.web.app

/gcbrun

Temporary Url for review: https://bcregistry-btr-dev--pr-170-fy0bwih9.web.app


Improve permalink documentation (regarding "/blog/:year/:year-:month_:slug/" -> permalink ill-formed)

I'd like to specify a permalink of the form
/blog/:year/:year-:month_:slug

However I get the
ERROR 2018/10/20 00:13:47 error expanding "/blog/:year/:year-:month_:slug/" section "<all>": permalink ill-formed

Is there any way I can use such permalinks?

I think that you need to open another issue in the Hugo Docs repo since you feel that the Permalinks Configuration doc could be improved, also Docs PRs are always welcome .


[Das_Schwarze_Auge_Ilaris] [Minor bugfixes] Fixed some translation fields

Fixed some typos etc.
Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

Changes / Description
-Fixed some inconsistencies with field names for the translation file and the html

Added one missing field

Character Sheet Info Roll20 Internal Use only.


[ Feature Request ] Color Coded Connections

Issue type:feature request

Python version:
NetBox version:

I have attached a single ESX host server and built a quick topology map to represent it's connectivity to our private WANs, the Internal SANs, and to the Internet and the various paths that it follows. It would be really nice to assign colors (even if it is just primary colors) to a connection.
RED = SAN
BLUE = LAN
GREEN = MGMT
etc

Like I said in #1399, the topology mapping feature is intended as a mere convenience for quickly illustrating a set of connections. It is not intended to convey information other than the basic layout of links. We won't be extending it beyond the functionality that is already in place. If you're interested in such a tool, you can copy the logic topology maps use in your own tool and integrate with the NetBox API to build custom maps.

I am only asking for some customization options for the color of the lines. Circuits show up as blue and planned lines show up as dotted lines. It can't be that far of a reach to add some color options, can it?


Many warnings and errors

Tried to test the React demo, but following the readme, running npm install, shows a ton of messages:

npm WARN deprecated<EMAIL_ADDRESS>Deprecated. Please use https://github.com/webpack-contrib/mini-css-extract-plugin
npm WARN deprecated<EMAIL_ADDRESS>Way too old
npm WARN deprecated<EMAIL_ADDRESS>Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated<EMAIL_ADDRESS>core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated<EMAIL_ADDRESS>Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw
npm WARN deprecated<EMAIL_ADDRESS>This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated<EMAIL_ADDRESS>Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw
npm WARN deprecated<EMAIL_ADDRESS>Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated<EMAIL_ADDRESS>CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated<EMAIL_ADDRESS>This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
> node-gyp rebuild

No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.

No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.

No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.

gyp: No Xcode or CLT version detected!
gyp ERR! node -v v12.6.0
gyp ERR! node-gyp -v v5.0.3
gyp ERR! not ok
node-pre-gyp ERR! build error
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/chokidar/node_modules/fsevents):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

Try installing Xcode via the Apple App Store; should fix your issue


patch cleanup

remove signal 13 patches because gnulib fix upstreamed (once automake pulls a new gnulib it should 'fix itself')
fix missing tab in chtag patch

I am using automake to update a shipped Makefile.am and the new Makefile with the chtag was failing due to lack of tab


Cleanup creator and other facets prior to indexing

This is a solution to #632. I'm not too keen on it.
The initial solution is simple: cleanup facet terms before sending them to solr such that ADAM WEAD becomes Adam Wead. However, it gets complicated because we have linked facets, urls that map to catalog searches with a given faceted search. Because we've changed the facet but not the actual value the user entered, the links don't work.
The solution then is to modify the links so that they display the original user's entered text, but link to the modified facet term.
This is kind of icky because we're essentially modifying twice: first on the way in (to Solr) and then on the way out again when we display. The solution below could be made more efficient, perhaps. But it strikes me that the ideal solution might be to modify the user input in the first place, normalizing values upfront.
Thoughts? @cam156 @olendorf ?

ping @cam156 This is ready for review now. Note, I've added another commit for #659. I will also be doing a separate PR and ticket to address the cleanup of spaces in fields because it's really separate from the scope of this ticket. Let me know what you think.


the error on uploding

Request URL: https://api.tidepool.org/dataservices/v1/users/b986cc0fb3/datasets
Request Payload {"type":"upload","computerTime":"2020-07-15T14:39:01","time":"2020-07-15T14:39:00+07:00","timezoneOffset":420,"conversionOffset":0,"timezone":"Asia/Harbin","timeProcessing":"across-the-board-timezone","version":"2.28.1","deviceTags":["bgm"],"deviceTime":"2020-07-15T10:17:53","deviceManufacturers":["Roche"],"deviceModel":1,"deviceSerialNumber":"sdsdgdfdg","deviceId":"sdsgddgde","client":{"name":"org.tidepool.uploader","version":"2.28.1","private":{"os":"win32-x64-6.1.7601"}},"deduplicator":{"name":"org.tidepool.deduplicator.device.deactivate.hash"}}
Response {"code":"type-not-string","title":"type is not string","detail":"type is not string, but float64","source":{"pointer":"/deviceModel"},"meta":{"type":"upload"}}
whats wrong with this !!
help me thanks!

Hi @pauloved ! The error response is saying that deviceModel is not a string. I can see from your request URL that you have the deviceModel set to 1, which would explain why you're getting that error.
Here are more details on what should be in the upload record: https://developer.tidepool.org/data-model/device-data/types/upload.html
For development, please use the integration server instead of our production servers. You can do this by setting the environment variables as in https://github.com/tidepool-org/uploader/blob/master/config/integration.sh, or you can right-click on the login screen and select the Integration server.

Hi @pauloved ! The error response is saying that deviceModel is not a string. I can see from your request URL that you have the deviceModel set to 1, which would explain why you're getting that error.
Here are more details on what should be in the upload record: https://developer.tidepool.org/data-model/device-data/types/upload.html
For development, please use the integration server instead of our production servers. You can do this by setting the environment variables as in https://github.com/tidepool-org/uploader/blob/master/config/integration.sh, or you can right-click on the login screen and select the Integration server.

thanks @gniezen  should i register a new account for the Integration server ?

Hi @pauloved ! The error response is saying that deviceModel is not a string. I can see from your request URL that you have the deviceModel set to 1, which would explain why you're getting that error.
Here are more details on what should be in the upload record: https://developer.tidepool.org/data-model/device-data/types/upload.html
For development, please use the integration server instead of our production servers. You can do this by setting the environment variables as in https://github.com/tidepool-org/uploader/blob/master/config/integration.sh, or you can right-click on the login screen and select the Integration server.

hi @gniezen  we want to add a new device on uploader,
so how we to add a deviceManufacturers,
now the error Response  show :

this is the request
url:https://dev-api.tidepool.org/dataservices/v1/datasets/b5ccbde473daae3c0092feefb0a2dc73/data,
request payload: [{"time":"2020-07-15T21:43:06.000Z","timezoneOffset":-480,"clockDriftOffset":0,"conversionOffset":0,"deviceTime":"2020-07-15T15:04:05","type":"smbg","value":200,"units":"mg/dL","payload":{"logIndices":[2]}}]
we use the dev-server  becasue we dont konw the integration server`s account!

Hi @pauloved ! The error response is saying that deviceModel is not a string. I can see from your request URL that you have the deviceModel set to 1, which would explain why you're getting that error.
Here are more details on what should be in the upload record: https://developer.tidepool.org/data-model/device-data/types/upload.html
For development, please use the integration server instead of our production servers. You can do this by setting the environment variables as in https://github.com/tidepool-org/uploader/blob/master/config/integration.sh, or you can right-click on the login screen and select the Integration server.

hi @gniezen we want to add a new device on uploader,
so how we to add a deviceManufacturers,
now the error Response show :

this is the request
url:https://dev-api.tidepool.org/dataservices/v1/datasets/b5ccbde473daae3c0092feefb0a2dc73/data,
request payload: [{"time":"2020-07-15T21:43:06.000Z","timezoneOffset":-480,"clockDriftOffset":0,"conversionOffset":0,"deviceTime":"2020-07-15T15:04:05","type":"smbg","value":200,"units":"mg/dL","payload":{"logIndices":[2]}}]
we use the dev-server becasue we dont konw the integration server`s account!

add the error pic

You should just be able to create an account on the int server, but using the dev server is also fine (although it may be less stable at times, as we're using it for QA testing).
If you let me know what device you're trying to add, I can have a look at if it's currently on our roadmap?
Are you sending up the smbg record separately? There seem to be quite a few fields missing, e.g. deviceId and uploadId, which would explain why you're getting an error back. Are you using the Uploader code, or are you sending these requests manually? If you're not intending on using the Uploader but just want to send data directly to our API, please send me an e-mail at<EMAIL_ADDRESS>so that we can send you the API docs.

您应该只能够在int服务器上创建一个帐户，但是使用开发服务器也可以（尽管有时它可能不稳定，因为我们正在使用它进行质量检查）。
如果您让我知道您要添加的设备，那么我可以看看它当前是否在我们的路线图中？
您是否要分别发送smbg记录？似乎缺少很多字段，例如deviceId和uploadId，这将解释为什么您会收到错误提示。请参阅此处的必填字段：https : //developer.tidepool.org/data-model/device-data/types/smbg.html
<EMAIL_ADDRESS>
we are using Uploader code ,  we haven't contacted tidepool yet, we want add a device named as WeiTai  ,so  what should we do except coding ？

If the WeiTai device uploads via a USB cable, adding it to the Uploader is the way to go. If you submit your code as a pull request, we can do a code review, and if it passes our QA testing, we can merge it in to the Uploader code base.

If the WeiTai device uploads via a USB cable, adding it to the Uploader is the way to go. If you submit your code as a pull request, we can do a code review, and if it passes our QA testing, we can merge it in to the Uploader code base.

hi @gniezen  ,In development, how do I get the last upload record and then upload the latest record？
if I upload the same data in basal, then I get two identical data, and the total amount is superimposed

To get the last upload record, use https://github.com/tidepool-org/uploader/blob/master/lib/core/api.js#L650
An example of how that is used: https://github.com/tidepool-org/uploader/blob/master/lib/drivers/medtronic/medtronicDriver.js#L1094-L1100
When uploading, make sure to send dataservices as the final parameter, so that it uploads via our newer platform API (which does better deduplication of identical data): https://github.com/tidepool-org/uploader/blob/master/lib/drivers/medtronic/medtronicDriver.js#L1752

To get the last upload record, use https://github.com/tidepool-org/uploader/blob/master/lib/core/api.js#L650
An example of how that is used: https://github.com/tidepool-org/uploader/blob/master/lib/drivers/medtronic/medtronicDriver.js#L1094-L1100
When uploading, make sure to send dataservices as the final parameter, so that it uploads via our newer platform API (which does better deduplication of identical data): https://github.com/tidepool-org/uploader/blob/master/lib/drivers/medtronic/medtronicDriver.js#L1752

hi @gniezen , we add our device in jellyfish API.  is ok ?

The Jellyfish API is deprecated and will be removed in the near future, so I would highly recommend using the platform API (with the dataservices parameter). The platform API has much better data validation, so you can be more confident that the data being uploaded is correct.


unify linters to match other repos we have

Signed-off-by: Boris Glimcher<EMAIL_ADDRESS>

This is fine, but make sure you also update the branch protection jobs once this merges to require the new jobs.

protection cares only about job name, not workflow name or file name, so old definition of markdown-lint still correct
added new api-lint to branch protection


How hosted Blazor WebAssembly solution Connect Client and Server together here?

In the case of Blazor web assembly With SignalR when --hosted  is used for creating the template:
dotnet new blazorwasm --hosted -o BlazorWASM
We have two web projects named Server and Client. How Client and Server connect with each other? We have Hub in Server and HubConnection in client. but the url which used to setup the hub connection is absolute url of client Project:
.WithUrl(NavigationManager.ToAbsoluteUri("/chathub"))
Also at the end you only run the Server Project in dotnet command, but everything works as expected. So there is no issue with code here but it is a question and I would be grateful to have some clarification regard this.
I tried to find the connection between them and only found this:
1- Server project uses Client project as dependency
2- They both have same host and port to launch in launchsetting.json.
"applicationUrl": "https://localhost:7094;http://localhost:5104"
So I concluded that running the server automatically runs the client and since the port is same for both projects, they both merge together in one app but for some good reason only the client project sent to browser and the server DLL only runs in server and do not sent to browser (which it rise another question to me? How this managed?! ). Another question which arises here is does this pattern works for all cases of server-client apps in dotnet for example using a Web API (as Server) and a Presentation layer (as client) both in dotnet or only it is correct in Blazor web Assembly?
More Description according to this issue

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

ID: 097456af-6293-8c24-3991-fc815b94dcbf
Version Independent ID: 978264ac-18f8-e937-30db-7050e53ac7d1
Content: Use ASP.NET Core SignalR with Blazor
Content Source: aspnetcore/tutorials/signalr-blazor.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @guardrex
Microsoft Alias: riande

🍂 OOF for the holidays 🍂
This issue has been marked for triage on the Blazor.Docs project, and I'll respond as soon as I return in 2022. I'll be back working on issues around Wednesday, Jan. 5. It will take a little while to dig out ⛰⛏ from holiday issues. I'll get back to you ASAP 🏃.
We only work on documentation on this repo. If you need product support, close this issue and seek assistance through one or more of the following support channels:

Stack Overflow (tagged: blazor)
General ASP.NET Core Slack Team
Blazor Gitter

If you think that you found a potential bug in the framework or have product feedback, close this issue and open a new issue for the ASP.NET Core product unit at dotnet/aspnetcore issues. Bug reports require a clear explanation of the problem, usually including a minimal repro project placed on GitHub for the product unit engineers to download and run. If you determine with the product unit that it isn't a bug but merely requires documentation, please re-open this docs issue and place a cross-link to your engineering issue discussion. I'll take it up with you when I return from vacation.
For problems or feedback on Visual Studio or Visual Studio for Mac, close this issue and use the Report a Problem or Suggest a Feature processes from within VS, which open internal issues for VS teams. For more information, see Visual Studio Feedback or How to report a problem in Visual Studio for Mac.
For problems with Visual Studio Code, close this issue and ask for support on community support forums. For bug reports and product feedback, open an issue on the microsoft/vscode GitHub repo.
💃🕺🥳 Happy New Year! 🎈🎆🍾🥂🎉 See you in 2022!

I got my response after more work in Project and other documents and considering the following things:
1- Every Request fallback to index.html route and this html document has a tag with Id=App which later populate with the Blazorwasm in client project.
2- Blazor wasm logic is related to UI and not the Request/Response cycle. So I think the client dll completely sent to client and bootstrapped at first fallback to index.html and then run in the browser wasm isolated from Server as SPA.
I am done with this question and It is up to you to close it whenever you prefer.
Have a good holidays and Happy new year

Yes, @abdollahkahne ... you have it basically correct. This is just a tutorial for the Blazor framework. For more info, see the docs starting at ...
https://docs.microsoft.com/aspnet/core/blazor/


ERROR: Service 'php-fpm' failed to build

Description:

ERROR: Service 'php-fpm' failed to build

System info: Mac, Windows or Linux. Include which disto/version
{windows 10}

Same on Mac OS Big Sur I think this is related to that error https://github.com/laradock/laradock/pull/2935

OK! works after I commented


fix(guided remediation): handle extraneous/missing packages in package-lock.json better

When parsing package-lock.json, a package that is listed as installed under another non-existent package would trigger a panic. npm seems to just ignore those packages, so changed our parser to do the same.
Also, improved the error message when a required dependency is missing from the package-lock file.

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

Project coverage is 68.87%. Comparing base (9a303ec) to head (e126393).

Files with missing lines
Patch %
Lines

internal/resolution/lockfile/npm_v2.go
9.09%
7 Missing and 3 partials :warning:

internal/resolution/lockfile/npm.go
0.00%
3 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1394      +/-   ##
==========================================
- Coverage   68.89%   68.87%   -0.02%
==========================================
  Files         185      185
  Lines       17869    17879      +10
==========================================
+ Hits        12310    12315       +5
  Misses       4898     4898
- Partials      661      666       +5

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


Add Key Encipherment to satisfy Microsoft code signing cert requirements

Signed-off-by: Christian Pearce<EMAIL_ADDRESS>

Was able to extract a PFX file by hacking up cosign. This validates we don't need this Enhanced Key Usage.


Could not find a declaration file for module 'rantscript'

I'm experiencing an issue where if I write var devRant = require("rantscript"), as per the instructions, I receive an error message:
Could not find a declaration file for module 'rantscript'

Also, console.log(response) does not show anything in the console. :(

Note: I have installed rantscript and it does exist in the node_modules folder.


Sets a wider range for scipy so that Trusty's package (0.13.3) will work

I ran this on my Trusty desktop.  Seemed to work as expected.
(3.4-empty)[halfak@graphite: ~/projects/ores-wikimedia-config/submodules/ores/submodules/revscoring]
$ pip install -r requirements.txt
Downloading/unpacking deltas>=0.3.1,<0.3.999 (from -r requirements.txt (line 1))
  Downloading deltas-0.3.5.tar.gz
  Running setup.py (path:/home/halfak/env/3.4-empty/build/deltas/setup.py) egg_info for package deltas

Downloading/unpacking docopt>=0.6.2,<0.6.999 (from -r requirements.txt (line 2))
  Downloading docopt-0.6.2.tar.gz
  Running setup.py (path:/home/halfak/env/3.4-empty/build/docopt/setup.py) egg_info for package docopt

Downloading/unpacking mwapi>=0.3.0,<0.3.999 (from -r requirements.txt (line 3))
  Downloading mwapi-0.3.1.tar.gz
  Running setup.py (path:/home/halfak/env/3.4-empty/build/mwapi/setup.py) egg_info for package mwapi

Downloading/unpacking mwtypes>=0.1.3,<0.1.999 (from -r requirements.txt (line 4))
  Downloading mwtypes-0.1.3.tar.gz
  Running setup.py (path:/home/halfak/env/3.4-empty/build/mwtypes/setup.py) egg_info for package mwtypes

Downloading/unpacking mwparserfromhell>=0.3.3,<0.4.999 (from -r requirements.txt (line 5))
  Downloading mwparserfromhell-0.4.2.tar.gz (116kB): 116kB downloaded
  Running setup.py (path:/home/halfak/env/3.4-empty/build/mwparserfromhell/setup.py) egg_info for package mwparserfromhell

Downloading/unpacking nltk>=3.0.0,<3.0.999 (from -r requirements.txt (line 6))
  Downloading nltk-3.0.5.tar.gz (1.0MB): 1.0MB downloaded
  Running setup.py (path:/home/halfak/env/3.4-empty/build/nltk/setup.py) egg_info for package nltk

    warning: no files found matching 'README.txt'
    warning: no files found matching 'Makefile' under directory '*.txt'
    warning: no previously-included files matching '*~' found anywhere in distribution
Downloading/unpacking nose>=1.3.4,<1.3.999 (from -r requirements.txt (line 7))
  Downloading nose-1.3.7-py3-none-any.whl (154kB): 154kB downloaded
Requirement already satisfied (use --upgrade to upgrade): numpy==1.8.2 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 8))
Downloading/unpacking pytz==2012c (from -r requirements.txt (line 9))
  Downloading pytz-2012c.tar.bz2 (166kB): 166kB downloaded
  Running setup.py (path:/home/halfak/env/3.4-empty/build/pytz/setup.py) egg_info for package pytz

    warning: no files found matching '*.pot' under directory 'pytz'
    warning: no previously-included files found matching 'test_zdump.py'
Downloading/unpacking requests>=2.0.0,<2.999.999 (from -r requirements.txt (line 10))
  Downloading requests-2.7.0-py2.py3-none-any.whl (470kB): 470kB downloaded
Downloading/unpacking setuptools>=5.5.1,<15.999 (from -r requirements.txt (line 11))
  Downloading setuptools-15.2-py2.py3-none-any.whl (501kB): 501kB downloaded
Downloading/unpacking pyenchant>=1.6.6,<1.6.999 (from -r requirements.txt (line 12))
  Downloading pyenchant-1.6.6-py2.py3-none-any.whl (60kB): 60kB downloaded
Requirement already satisfied (use --upgrade to upgrade): scipy>=0.13.3,<0.16.999 in /usr/lib/python3/dist-packages (from -r requirements.txt (line 13))
Downloading/unpacking scikit-learn==0.15.2 (from -r requirements.txt (line 14))
  Downloading scikit-learn-0.15.2.tar.gz (7.0MB): 7.0MB downloaded
  Running setup.py (path:/home/halfak/env/3.4-empty/build/scikit-learn/setup.py) egg_info for package scikit-learn
    Partial import of sklearn during the build process.

Downloading/unpacking tabulate>=0.7.5,<0.7.999 (from -r requirements.txt (line 15))
  Downloading tabulate-0.7.5.tar.gz
  Running setup.py (path:/home/halfak/env/3.4-empty/build/tabulate/setup.py) egg_info for package tabulate

Downloading/unpacking yamlconf (from deltas>=0.3.1,<0.3.999->-r requirements.txt (line 1))
  Downloading yamlconf-0.0.5.tar.gz
  Running setup.py (path:/home/halfak/env/3.4-empty/build/yamlconf/setup.py) egg_info for package yamlconf

Downloading/unpacking jsonable>=0.2.0 (from mwtypes>=0.1.3,<0.1.999->-r requirements.txt (line 4))
  Downloading jsonable-0.3.1-py2.py3-none-any.whl
Downloading/unpacking six>=1.9.0 (from nltk>=3.0.0,<3.0.999->-r requirements.txt (line 6))
  Downloading six-1.9.0-py2.py3-none-any.whl
Downloading/unpacking pyyaml (from yamlconf->deltas>=0.3.1,<0.3.999->-r requirements.txt (line 1))
  Downloading PyYAML-3.11.tar.gz (248kB): 248kB downloaded
  Running setup.py (path:/home/halfak/env/3.4-empty/build/pyyaml/setup.py) egg_info for package pyyaml

Installing collected packages: deltas, docopt, mwapi, mwtypes, mwparserfromhell, nltk, nose, pytz, requests, setuptools, pyenchant, scikit-learn, tabulate, yamlconf, jsonable, six, pyyaml
  Running setup.py install for deltas

  Running setup.py install for docopt

  Running setup.py install for mwapi

  Running setup.py install for mwtypes

  Running setup.py install for mwparserfromhell
    building 'mwparserfromhell.parser._tokenizer' extension

        <SNIP COMPILING OMG>

  Running setup.py install for nltk

    warning: no files found matching 'README.txt'
    warning: no files found matching 'Makefile' under directory '*.txt'
    warning: no previously-included files matching '*~' found anywhere in distribution
  Running setup.py install for pytz

    warning: no files found matching '*.pot' under directory 'pytz'
    warning: no previously-included files found matching 'test_zdump.py'
  Found existing installation: setuptools 2.2
    Uninstalling setuptools:
      Successfully uninstalled setuptools
  Running setup.py install for scikit-learn

        <SNIP COMPILING OMG>

  Running setup.py install for tabulate

    Installing tabulate script to /home/halfak/env/3.4-empty/bin
  Running setup.py install for yamlconf

  Found existing installation: six 1.5.2
    Not uninstalling six at /usr/lib/python3/dist-packages, outside environment /home/halfak/env/3.4-empty
  Running setup.py install for pyyaml

        <SNIP COMPILING OMG>

Successfully installed deltas docopt mwapi mwtypes mwparserfromhell nltk nose pytz requests setuptools pyenchant scikit-learn tabulate yamlconf jsonable six pyyaml
Cleaning up...


Exporting obj's is broken for indices >999

When exporting OBJ files, the OBJ file will be broken on most 3D viewers including the one built into Windows when the indices exceed 999. The reason is because the face indices are formatted with comma separation which is not expected for OBJ files.
I've root caused this to the call to the following code called right at the start of wmain that causes the output of uint's to have comma separation.
std::locale::global(std::locale(""));
An easy fix is to drop in the following right at the start of Mesh::ExportToOBJ:
    // Revert the locale to classic so that indices aren't comma separated. Comma separation will trip up most obj viewers     os.imbue(std::locale::classic());

Thanks. I fixed it for reading, but not the writing case.
https://github.com/microsoft/DirectXMesh/commit/66451d179b8c14506fa05fde33548967c79b82f1

Fixed in https://github.com/microsoft/DirectXMesh/commit/c8e34c3e6f84cc96e58819520b634c3530de028c
UVAtlas is partially fixed with https://github.com/microsoft/UVAtlas/commit/30c839cfb778a1d2b70787d4cbbbe9afa8369606.  It will be fully fixed when I refresh the NuGet packages it uses for WaveFrontReader.h early next week.

Fixed in the November 2021 release
https://github.com/microsoft/DirectXMesh/releases/tag/nov2021


Add git2go option to enable Azure DevOps

So this change has been a long time coming, and has had its ups and downs, but now lets hope that this will be the PR that fixes a major blocker for Azure DevOps users.
The git2go library works with Azure DevOps as it has greater support for more complex capabilities in the git wire protocol. A downside of the library is that it does not support shallow cloning of a git repository, meaning that it needs to fetch whole repository every time. Something that could in theory be expensive both in time and transfer data for very large repositories. As this is a very large downside the compromise solution is to implement a option in the GitRepository resource called gitProtocolV2Compatibility to enable the use of the git2go library. This is turned off to default meaning that source-controller will default to using the usual go-git library people are familiar with.
Eventually when shallow cloning is supported in git2go we could consider fully migrating to only using git2go.
https://github.com/libgit2/libgit2/pull/5254
There are a couple of things that have to be done before merging this:

[x] Know Host validation in v2
[x] Transport tests in v2
[ ] Update flux2 docs explaining when to enable v2

@stefanprodan @hiddeco I would appreciate any early feedback in case there is some major design flaws.
Fixes #104
An additional selling point for this change is that git2go could in the future allow us to do self signed cert verification from memory as it has a certificate validation callback.

In general i think we need better ssh protocol validation for both v1 and v2 implementations

The libgit2 version in apt is very old so we need to find another way to install the latest version.

Maybe this one will work https://packages.debian.org/experimental/libgit2-1.0

That version is too old, see the table here. I am afraid we may have to build it ourselves.

I have been looking around and it seems like you are right @hiddeco. I really like yak shaving :smile:

Stefan and I discussed another option: testing from within a Docker container, that would allow us to piggyback on the package that is available for Alpine images.

Running the whole job in a container is fairly simple with GHA, removing the actions/setup-go@v2 step and adding this to the job section should do it:
container:
  image: golang:1.15-alpine

I think it's the best approach to keep the build and test environment as close as possible, it should probably be done for all the other components too.

@relu if we use the container image than we can no longer cache go modules and all the builds will take 5+ minutes. We don't use CGO expect in here, so I don't see why would we give up caching everywhere.

I don't think it will break caching, at least I remember that was not the case in a previous project I worked on, although it was npm caching that was used rather than go modules, I think the mechanism is the same though.

Are you saying that GitHub mounts the Go cache from host into the golang:1.15-alpine container? If so that's news to me

Well... technically the cache itself is not on the host, it's kept in GHA caches (limited to 5GB) and restored over the network (really fast on GitHub-operated runners). We use caching even on self-hosted runners and it works the same, though a bit slower as you can imagine. Let me put it to the test, gonna try it out in a separate PR.

@relu we can't run the whole thing in a container, we need Kubernetes Kind, docker buildx, etc

Yes, and we probably don't want to mess with dind. Failure log is here: https://github.com/fluxcd/source-controller/pull/216/checks?check_run_id=1458681336 (at least the caching works, so that's something).

@relu I think we should move only the make test into a container.

@stefanprodan I agree, I've tested multiple solutions for running everything inside a container and it doesn't look good. It is worth noting that it is possible to get all the tooling installed and caching works just fine, but it seems to fail for some reason during test execution and I think it's not worth digging deeper as long as we can simply just build and run a container for the test step alone. I can help out with that if you don't already have a working example.

@relu if you can, please open a PR that moves the unit tests and git dirty check inside a container.

I can probably free up some time during the weekend but if @relu is already on it I can just rebase when his PR gets merged.

So I rebased the latest changes to run the test in a container. Could someone have a look and check if there is something else missing before this can be merged?

Just to make sure that we have discussed this point.

libgit2 will default to OpenSSL for HTTPS transport (except on Windows and macOS, as mentioned above). On any system, mbedTLS may be optionally enabled as the security provider. OpenSSL is thread-safe starting at version 1.1.0. If your copy of libgit2 is linked against that version, you do not need to take any further steps.
https://github.com/libgit2/libgit2/blob/master/docs/threading.md

Looking at alpine it should include openssl 1.1.1 so this should not be an issue.
https://pkgs.alpinelinux.org/packages?name=openssl&branch=v3.12
Could I just have someone else verify my thinking.

I just checked the latest golang:1.15-alpine image, it looks like the package you're looking for is actually libssl1.1, which seems to be installed by default. Indeed its version matches 1.1.1 so it should be just fine according to the documentation.
# apk info libssl1.1
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.40a3604f.tar.gz: No such file or directory
libssl1.1-1.1.1g-r0 description:
SSL shared libraries

libssl1.1-1.1.1g-r0 webpage:
https://www.openssl.org/

libssl1.1-1.1.1g-r0 installed size:
540672

Question regarding the off the shelve (OTS) function from kustomize: Will this still work?
We use this quite heavily in our applications and found out in e.g. ArgoCD that even their switch to the native CLI it is still breaking in the off the shelve part of the kustomize.
Maybe it is more of a concern for kustomize cli.... ?


Fix CVE & Revert "Bump org.flywaydb.flyway from 9.8.3 to 9.11.0"

Reverts hmcts/em-hrs-api#956

first, let me try sth.


dart fix should remove consts when they err just as it adds them when needed

dart fix automatically adds const which is great, but if we change some value to be non const, such as in a Flutter widget tree, we get errors. In my opinion, dart fix should remove those consts because it knows where the error is already.
Dart SDK version: 2.17.6 (stable) (Tue Jul 12 12:54:37 2022 +0200) on "windows_x64"

Can you provide a minimal reproduction case in which the diagnostic is reported but dart fix fails to remove the const?

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final int counter = 0;

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: Center(
        child: Text(
          'Counter: $counter',
        ),
      ),
    );
  }
}

# In the terminal
❯ dart fix --dry-run
Computing fixes in testproj (dry run)...
Nothing to fix!

Perfect, thank you!

For anyone looking at adding such a fix, I'll point out that while the posted example is straightforward (as requested), the semantics of the fix are a bit harder. We'd want to remove const from the place that's causing the code to be in a const context while adding it in places that were previously implicitly const but aren't when the outer const is removed. For example,
class A {
  const A();
}

List<Object> f(int i) {
  return const [A(), 'i = $i'];
}

should be converted to
class A {
  const A();
}

List<Object> f(int i) {
  return [const A(), 'i = $i'];
}

so that the semantics are preserved as much as possible.
Also, the fix has to deal with places where const has to be replaced with final and not just removed, such as
class A {
  const A();
}

class B {}

const x = [A(), B()];

(Note: we recently added a 'no response' bot to our repo; it may have closed existing issues with the needs-info label incorrectly. If you think your issue was effected, please feel free to reopen the issue)

I don't believe this issue should be closed, and I can't reopen the issue myself, I don't see the option on GitHub.

https://dart-review.googlesource.com/c/sdk/+/276941
There are possibly other diagnostics to be associated with the RemoteConst, but that's not part of the CL scope.
Please note that SPREAD_EXPRESSION_FROM_DEFERRED_LIBRARY should be renamed NON_CONSTANT_MAP_ELEMENT_FROM_DEFERRED_LIBRARY, and
SET_ELEMENT_FROM_DEFERRED_LIBRARY should be NON_CONSTANT_SET_ELEMENT_FROM_DEFERRED_LIBRARY


Update pdfjs

Summary
Switching to a prebuild pdfjs
Updates to the PDF component:
:art:  Redesign UX/UI
🔍 Intuitive and handy search
🔌  Find anything with search options (Highlight All, Match Case, Match Diacritics, Whole Words)
:fire:  Hotkeys are enabled. Which means:

Ctrl F or ⌘ (or Cmd) F - toggle searchbar. Esc to close
Enter - to next search
Shift Enter - to previous search

💡 Sidebar thumbnails to preview PDF
:rocket: Performance enhancement

:eyeglasses:  Render only visible pages and thumbnails

:mechanical_arm:  TypeScript, of course
Issue
Needed to add search functionality to the pdf component
Changes

Custom PDF components replaced with Prebuilt (modern browsers) PDF.js (Stable v3.6.172)

Prebuilt (modern browsers) PDF.js (Stable v3.6.172) contains all pdf features (including search functionality)
pdfjs-dist removed from packages.json dependencies

Other changes:

added linters and formatters(eslint, prettier, stylelint)
lint and format components and styles
refactor components to vue3(ts) composition api

Unfortunately, mozilla did not publish the release version in npm or in cdn.

It can be placed in a separate repository and used as a submodule.

Reason: Related issue is https://github.com/mozilla/pdf.js/issues/16126 and official answer.

@letavocado You are correct that mozilla themselves do not publish their code as an npm package but they do base it off a CDN and there is a side project package called pdfjs-dist which was used in this project before
the package is up to date with the latest build of the mozilla project.
As for your changes. in order to add search functionality you do not have to change all of our custom code of a viewer. in your answer it explicitly states that mozilla asks not use their viewer as is. instead they request you modify and reskin it
id prefer if you can use pdfjs-dist and generate a viewer like their code but in our own custom style instead. copying and using their code when they ask not to is not as nice.

Thanks, @fadiDL! NP, just give me a time and it will be done with custom code.

Hey @fadiDL! Check out and review this masterpiece 🫠


Make parts folder have no category splits

For the game splitting the parts into categories before giving each one data is unnecessary

Handled in #19


Hdbtable artifacts are not generated in mtx/sidecar when migrating to cds-7

Hi Colleagues,
We did a successful migartion from mtx to mtxs with @sap/cds version 6.
Now when we migrate @sap/cds and @sap/cds-dk to version 7 the hdbtable artifacts are not generated in the mtx/sidecar folder. All the generated entities hdbtables files and cds hdbtable files are missing
We followed the steps as mentioned in:-  https://cap.cloud.sap/docs/guides/multitenancy/mtxs
Please let us know how to proceed.

We don't provide support for general issues via this channel. Please refer to: https://cap.cloud.sap/docs/resources/
If you have access an SAP employee please also consider using SAP-internal support channels.