.cargo-checksum.json stores backslash in filename on Windows

On Windows the content of ".cargo-checksum.json" looks like:
{"files":{
  ".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  ".gitignore":"12cc0f91b51fedf41ae1670d1624ee1d78a284bdb101645b60a06a12de16c069",
  ".travis.yml":"6b96b2c6bfd7e1acef4b825a2813fc4277859eb9400a16800db8835c25e4087d",
  "Cargo.toml":"b3ccbfb0273b9c3eaaa9bc30eba9c0e1ee8079d672dd367d8bd7b7049fe24de7",
  "README.md":"9f048d969f9f8333cdcdb892744cd0816e4f2922c8817fa5e9e07f9472fe1050",
  "src\\app_unit.rs":"4927de20034ba6fc6454caa3e389dc2504f1b0bcad0a2427b52bef2f87b8f69c",
  "src\\lib.rs":"2df7d863c47d8b22f9af66caeafa87e6a206ee713a8aeaa55c5a80a42a92513b"
},"package":"5a0c3b5be4ed53affe3e1a162b2e7ef9979bcaac80daa9026e9d7988c41e0e83"}

that the paths use backslash, rather than slash.
It is undesired because we check in those files in Gecko's repo, and don't want the content to change depending on what platform cargo vendor is executed on.

Yeah I ran into this recently with rust-lang/rust as well, I think I'll just fix this to always use /

Fixed in https://github.com/alexcrichton/cargo-vendor/commit/05950d961eaa0a82cf15f273c1b37c0eda52309b

@alexcrichton could you publish a new version for this?

@upsuper certainly!


Snappy for AIX - ppc (32 bit) - New Feature

I am trying to use snappy.jar in AIX 32 bit environment.In this system i do not have rights to install gmake (to build snappy from git). I checked snappy.jar and i see only org/xerial/snappy/native/AIX/ppc64 . I couldnt see one for AIX/ppc. It would be of great help if you have "libsnappyjava.a" for AIX ppc (32 bit) also in the snappy.jar

I'll seek a way for cross compiling ppc32 binary.

If you haven't started on this, I can probably help; I have access to AIX hardware.

Thanks!


Update In-EVM FRI verification

Done in in https://github.com/NilFoundation/evm-placeholder-verification/tree/f6fbb906e211700942da3a36c69fb41fba93fcf5


Equality for tuples

Equality for tuples is not currently implemented correctly:
a = (2, 3)
b = (7, 6)
assert a <> b //this fails as a == b resolves True which is incorrect

See also Issue: #35

Currently resolved in  next-release branch, pending push to head


How to fill NAs with most 'recent' non NA value?

I have a dataset that looks a bit like this:
d = c("Road A", NA, NA, "Road B")

How would I make Road A fill the NAs?

Have had a look, this seems promising: https://stackoverflow.com/questions/52767323/is-there-a-equivalent-for-the-tidyr-fill-for-strings-in-r


502 Bad Gateway when adding multiple HTML contents

Issue Summary
Hi, I am using SendGrid-PHP on WPengines. I'm converting plain PHP Mail functionality to the SendGrid format. With PHP mail, I was able to do conditional logic to add custom content into the email. I'm trying to replicate that with SendGrid but I'm getting a 502 Bad Gateway error when doing so.
Steps to Reproduce
The code to view the 502 error:
require(WP_CONTENT_DIR . "/plugins/sendgrid-php/sendgrid-php.php");
require("/sendgrid.php");
$mail = new \SendGrid\Mail\Mail();
$mail->addTo($_POST['email']);
$mail->setSubject('Thank you');
<EMAIL_ADDRESS>"Appointments");
$mail->addHeader("MIME-Version", "1.0");

if (isset($_POST['firstname'])) {
            $contents = [
                "text/html" => $_POST['firstname'],
                "text/html2" => "Party Time 2!!"
            ];
        } else {
            $contents = [
                "text/html" => "Party Time!!",
                "text/html2" => "Party Time 2!!"
            ];
        }

$mail->addContents($contents);

        try {
           // echo json_encode($mail, JSON_PRETTY_PRINT);
            $response = $sendgrid->send($mail);
            $mailSent = true;
            print $response->statusCode() . "\n";
            print_r($response->headers());
            print $response->body() . "\n";
        } catch (Exception $e) {
            $errors['mailfail'] = true;
            echo 'Caught exception: ' . $e->getMessage() . "\n";
        }

This code gives this response:
502
NGNIX - BAD GATEWAY
502
Array
(
    [0] => HTTP/1.1 502 Bad Gateway
    [1] => Server: nginx
    [2] => Date: Fri, 10 May 2019 15:27:43 GMT
    [3] => Content-Type: text/html
    [4] => Content-Length: 6023
    [5] => Connection: keep-alive
    [6] => ETag: "5c65a0bb-1787"
    [7] =>
    [8] =>
)

When I show the response body with this code:
require(WP_CONTENT_DIR . "/plugins/sendgrid-php/sendgrid-php.php");
    require("/sendgrid.php");

    $mail = new \SendGrid\Mail\Mail();
    $mail->addTo($_POST['email']);
    $mail->setSubject('Thank you');
<EMAIL_ADDRESS>"Appointments");
    $mail->addHeader("MIME-Version", "1.0");

if (isset($_POST['fname'])) {
            $contents = [
                "text/html" => $_POST['fname'],
                "text/html2" => "Party Time 2!!"
            ];
        } else {
            $contents = [
                "text/html" => "Party Time!!",
                "text/html2" => "Party Time 2!!"
            ];
        }

        $mail->addContents($contents);

        try {
            echo json_encode($mail, JSON_PRETTY_PRINT);
            $response = $sendgrid->send($mail);
            $mailSent = true;
            print $response->statusCode() . "\n";
            print_r($response->headers());
            print $response->body() . "\n";
        } catch (Exception $e) {
            $errors['mailfail'] = true;
            echo 'Caught exception: ' . $e->getMessage() . "\n";
        }

I get this response:
{
  "personalizations": [
    {
      "to": [
        {
          "email"<EMAIL_ADDRESS>        }
      ],
      "headers": {
        "MIME-Version": "1.0"
      }
    }
  ],
  "from": {
    "name": "Appointments",
    "email"<EMAIL_ADDRESS>  },
  "subject": "Thank you",
  "content": [
    null,
    {
      "type": "text/html",
      "value": "Keisha"
    },
    {
      "type": "text/html2",
      "value": "Party Time 2!!"
    }
  ]
}

Technical details:

sendgrid-php Version: master
PHP Version: 7.2

Hello @keishabien,
You need to have at least one of the content objects be of type text/plain.
For example:
$contents = [
                "text/plain" => $_POST['firstname'],
                "text/html" => "Party Time 2!!"
            ];

I hope that helps!
With Best Regards,
Elmer


tf keras upsample2d operator produces wrong results on tflite conversion

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
TensorFlow installed from (source or binary): source and binary
TensorFlow version (or github SHA if from source): 2.3.0, tf-nightly, 2.5.0(latest source)

Command used to run the converter or code if you’re using the Python API
If possible, please share a link to Colab/Jupyter/any notebook.
Colab Link: https://colab.research.google.com/drive/1QZo8QZubmiiXIxc0O8SZEfEsfaxN5kxR?usp=sharing
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
open("mnv3_test.tflite", "wb").write(tflite_model)

Failure details
The conversion is successful, but the generated model is wrong,
The tf keras model with upsample2d layers(bilinear interpolation) correctly produces a h5 file; but the converted tflite model has extra layers and there is shape mismatch.The output shape becomes 1x1 instead of original upsampled size. The error occurs in tf 2.3.0, tf nightly and latesr source (dev 2.5.0). The conversion produces additonal shape, mul and strided slice layer(not supported by hardware accelerators).
The problem persists even if we use  ResizeNearestNeighbor interpolation.
Minimal Example
import tensorflow as tf
from tensorflow.keras.layers import Input, Conv2D, UpSampling2D
from tensorflow.keras.models import Model
from tensorflow.keras.optimizers import Adam

def get_model():

    ip = Input(shape=(256,256,3))
    x= Conv2D(kernel_size=3, filters=32, padding ='same')(ip)
    x = UpSampling2D( size=(2, 2), interpolation='bilinear')(x)
    x= Conv2D(kernel_size=3, filters=32, padding ='same')(x)

    model = Model(inputs=ip, outputs=x)

    model.compile(optimizer=Adam(lr=1e-4),
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy']) # Ensure you have sparse labels
    return model

model=get_model()
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()
open("bilinear.tflite", "wb").write(tflite_model)

Models
mnv3_resize_bilinear_test.zip

@ymodak
I am able to replicate the issue on nightly, please find the gist here.Thanks!

I met the same problem

@Saduf2019 when I set my batch dim with 1 these layers was disappear;

@sunzhe09 How  did you set batch dim to 1 ? The tfllite already has batch size 1 right?

@Saduf2019 If we set the batch dimesion to input layer during model defintion of tf.keras model, all the problems seems to be resolved. However can we set the batch dimension of all layers for the already trained model to 1, before tflite conversion?

The minimal example generated tflite file viewed in netron shows additonal shape, mul and strided slice layer.

This is similar to issue #43882. See my explanation on why this is correct and an example on how to set your model shape to be static before conversion
https://github.com/tensorflow/tensorflow/issues/43882#issuecomment-731636562

For anyone wondering. For single input keras model the fix above can be implemented like this.
model.input.set_shape(1 + model.input.shape[1:])


Standardizing the subscription export format between all *Tube projects

This Issue is a direct follow up to https://github.com/iv-org/invidious/issues/2897.
As proposed by @TheAssassin, I've created a dedicated repository (and org) to develop and maintain a uniformized specification.

Key points from the discussions that took place in the previous issue:

The format should not be limited to Youtube. Many projects support more than one service, so the format should be flexible enough for all of them.
A versioning scheme and a compatibility policy has to be determined
The exact amount of data exported has yet to be determined, based on each projects' need, while also ensuring that a portable format is created.

The data for each service should be clearly marked as coming from that service, that way applications can easily ignore data for services that they don't support.
I think it also makes sense to tie the list of supported services to the version scheme of the format, if a new service needs to be added, it needs to be added in a version bump. Doing it this way means that the format of the data for that specific service will need to be standardised. Does this slow down the process of an application adding support for a service? Yes, but it also avoids the situation where other applications would encounter unexpected data.

I would also like to add FreeTube has support for "Subscription Profiles" (NewPipe has support for this too with "Channel Groups"). It allows you to organize subscriptions into groups so you can easily find subscriptions or only load some channels in your subscription feed.

think it also makes sense to tie the list of supported services to the version scheme of the format, if a new service needs to be added, it needs to be added in a version bump.

Depends if the version number only increases with a breaking change, if semantic versioning is used, or some entirely different approach is taken.

Should a separate issue be made for playlists or is the plan to keep them in the same export file?
It also might be a good idea to post the initial design into git as a working draft to be expanded on and changed 😅

Should a separate issue be made for playlists or is the plan to keep them in the same export file?

That's a good idea! Playlists are probably the biggest part of the spec!

It also might be a good idea to post the initial design into git as a working draft to be expanded on and changed

Done here: https://github.com/UniversalPipeWrench/unified-user-data-format/pull/2

We should also designate a common format for watch history. In Piped, we currently have a PR to add support for it.

I think that shouldn't be part of the spec. Designing a spec around Google or SoundCloud or another service's GDPR exports is going to be a nightmare, especially if one of them changes their format. This should just be for interfacing between different *Tube projects and any other project that wants to adopt the standard.

True, the spec doesn't have to conform to their formats. Instead, there could be a generic data converter, which takes in all such exports and turns them into a Pipe-friendly format. Which easily allows the spec to take whatever shape it needs.

A generic data converter is a possible future project for this org, but right now we want to focus on the common user data format.

What about Fediverse (ActivityPub) websites? I haven't checked, but do they have a standardised format across services that could be studied?

Not that I'm aware of.

Could a groups field be added to subscriptions? Freetube and NewPipe support this feature


web.grid.gy/r redirection can be more useful

Currently, in order to get the ✅, the website must have a link to https://web.brid.gy/r/<url>, but that just redirects back to <url>, which makes it quite unuseful to be put on the website, so people would need to hide it (add display:none;, for example)
It would be much more useful if it redirects to https://fed.brid.gy/web/<domain>/ instead, which the website can use it on a link says something in the line of "follow this website on the fediverse" and no longer need to hide it.

I'm with you, the /r/ redirect is annoying and sometimes confusing. Sadly the way it works now is required for Mastodon interop: https://fed.brid.gy/docs#web-visible-links , https://github.com/snarfed/bridgy-fed/issues/1077

Sorry if I misunderstood something, but I think the requirement is just that the link is on fed.brid.gy domain, not that it must redirects back to the original url?
Also I'm talking about this part: https://fed.brid.gy/docs#mastodon-link-verification

Yes! Sadly these URLs all come from the same place(s) under the hood, and Mastodon's semantics for them and its same-domain requirement (described in https://fed.brid.gy/docs#web-visible-links and the links there) apply to them all equally.

(Sorry, to clarify, the rel-me link that you put on your web site has to point to your AP actor's url field, which has to be on web.brid.gy.)
For a visible link on your site, you're definitely right that linking to your user page on fed.brid.gy is more useful! That's what I do on my own site, https://snarfed.org/ . I have the rel-me link to /r/... in a separate display: none link, like you mention, and like I recommend in the docs. Annoying, agreed, but hopefully not too much of a burden.


fix: another possible fix

dependency: none
PR summary

Fixes: https://app.travis-ci.com/github/IBM/networking-python-sdk/jobs/622928770#L494
PR Checklist
Please make sure that your PR fulfills the following requirements:

[ ] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

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


Request: flatten() and asyncFlatten()

I could've created a pull request right now but I'm not sure if these functions are within scope of iter-tools.

Duplicated of https://github.com/sithmel/iter-tools/issues/75


[ISSUE #4192] Fix log split not work for dLedger in container

Make sure set the target branch to develop
What is the purpose of the change
Fix #4192
Brief changelog
XX
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It seems that HAServerTest needs to be modified to pass ut.

@RongtongJin Yes, I will fix it later.

Codecov Report

Merging #4193 (53f062c) into 5.0.0-beta (df5e885) will decrease coverage by 0.02%.
The diff coverage is 61.72%.

@@               Coverage Diff                @@
##             5.0.0-beta    #4193      +/-   ##
================================================
- Coverage         43.13%   43.10%   -0.03%
- Complexity         6027     6030       +3
================================================
  Files               795      796       +1
  Lines             56859    56937      +78
  Branches           7787     7791       +4
================================================
+ Hits              24526    24543      +17
- Misses            29143    29196      +53
- Partials           3190     3198       +8

Impacted Files
Coverage Δ

...ketmq/broker/dledger/DLedgerRoleChangeHandler.java
0.00% <0.00%> (ø)

.../broker/longpolling/LmqPullRequestHoldService.java
0.00% <0.00%> (ø)

...tmq/broker/longpolling/PullRequestHoldService.java
16.83% <0.00%> (ø)

...cketmq/broker/processor/PopBufferMergeService.java
40.47% <0.00%> (ø)

...he/rocketmq/broker/processor/PopReviveService.java
26.35% <0.00%> (ø)

.../transaction/TransactionalMessageCheckService.java
90.00% <0.00%> (ø)

...ache/rocketmq/store/AllocateMappedFileService.java
41.66% <0.00%> (ø)

...main/java/org/apache/rocketmq/store/CommitLog.java
67.39% <0.00%> (ø)

.../org/apache/rocketmq/store/ha/DefaultHAClient.java
58.46% <0.00%> (-0.52%)
:arrow_down:

.../apache/rocketmq/store/ha/DefaultHAConnection.java
67.20% <0.00%> (-1.62%)
:arrow_down:

... and 37 more

Continue to review full report at Codecov.

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


shill serenity in #general

:xd:

Needs to be in a way no one will suspect. Subliminal messaging?


Bug reset data on iOS version 17.1.1 (round 2)

What to do:

Fix bug show randomly welcome screen

Next round:

Update indexed db
Clear backup data when remove account or clear app data

The issues are compiled in the file
https://konistudio-my.sharepoint.com/:w:/g/personal/nhungphung_koni_studio/Ebalh2Nvp8tGvgrBqboIPDABddJ2ra0vnGeXno4x9PHoMw?e=fjgv6q

Version test: v1.1.12(242)
Device test: IP 11, Samsung S20 FE 5G
Validation passed.


[5.1] [test] Fix race in EditTest.DiagsAfterReopen

We weren't accounting for the possibility that the AST would build
faster than we could return editorOpen. While that is very unlikely, we
hit a CI failure at least once.
rdar://52211324

@swift-ci please test


Add a github action to publish Seata to OSSRH

Add a github action to publish Seata to OSSRH.
添加一个github action，用于发布seata到OSSRH中。

升级 easyj-maven-plugin 插件版本到 1.0.3，新特性：

使用制表符代替两个空格进行缩进，可进一步缩小POM文件的大小。
会对生成的 <properties> 进行排序了。

Please add the following secrets:
请管理员添加以下 secrets：

OSSRH_USER
OSSRH_PASSWORD
GPG_PRIVATE_KEY
GPG_PASSPHRASE

Codecov Report

Merging #4790 (68ca9f9) into develop (63ec93a) will increase coverage by 0.16%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #4790      +/-   ##
=============================================
+ Coverage      48.83%   49.00%   +0.16%
- Complexity      4062     4082      +20
=============================================
  Files            736      736
  Lines          25680    25680
  Branches        3171     3171
=============================================
+ Hits           12542    12584      +42
+ Misses         11797    11753      -44
- Partials        1341     1343       +2

Impacted Files
Coverage Δ

...n/src/main/java/io/seata/common/util/IdWorker.java
77.08% <0.00%> (-6.25%)
:arrow_down:

...torage/file/store/FileTransactionStoreManager.java
55.62% <0.00%> (-0.65%)
:arrow_down:

...erver/storage/file/session/FileSessionManager.java
49.68% <0.00%> (+0.63%)
:arrow_up:

...rage/redis/store/RedisTransactionStoreManager.java
66.85% <0.00%> (+3.68%)
:arrow_up:

...java/io/seata/server/storage/SessionConverter.java
89.09% <0.00%> (+9.09%)
:arrow_up:

...va/io/seata/server/console/vo/GlobalSessionVO.java
55.88% <0.00%> (+33.82%)
:arrow_up:


tests: improve 2 test cases

What have you changed? (mandatory)
Improve a test case about remove raft peer and then add it back.
It's needed because data is deleted asynchronous after the peer is removed. So if we call must_get_equal after add it back, the inner sleep time maybe not enough.
And, add a test case to show that we can't add a peer with a stale epoch to a tombstone peer.

I've been seeing this bug more often with #3289, this may be related/

/run-integration-tests

/run-integration-tests

/run-integration-tests

LGTM

PTAL @Hoverbear

ping @BusyJay @Hoverbear .

ping @BusyJay .


Unable to start debugging. Unrecognized XML element 'AzureSphereLaunchOptions'.

I am getting the following when starting debugging the Mt3620Blink demo on Visual Studio 2017 Version 15.8.9:
Unable to start debugging. Launch options string provided by the project system is invalid. Unrecognized XML element 'AzureSphereLaunchOptions'.
I have rerun the installer (repair) for VS_Tools_Preview_For_Azure_Sphere.exe but am still getting the same result.

Hello,
please let me report that I have the same issue on Visual Studio 2019 when working with the very latest SDK.

Hi @TAMHAN  can I kindly ask you to open a new issue and we follow-up from there? Thanks.

Hello,
please let me report that I have the same issue on Visual Studio 2019 when working with the very latest SDK.

I have the same issue on VS 2019 with the Blink Sample template. Any one able to resolve this?

@KerryJenkins As this issue is closed long back. I suggest you , open a new issue with complete details for further help.


Bugfix/760 Fixes for debugger

Tickets addressed: Closes #760 Closes #249
Review: By commit
Merge strategy: Merge (no squash)

Description

PythonVariableLogger was modified to create properties in __init__ instead of using __getattr__. The original snippet on #760 does not work because properties must be set on the class object not the object itself. A new solution was written.
C Message Recorders were modified to be created from the C/C++ side similar to C++ Message Recorders, rather than from the Python side.

Verification
The example script from #760 was run with all unproblematic lines uncommented to confirm that the weird debugger behavior was not present. It seems prohibitively difficult unit test this bug or fix.
Unit tests were run to check for regressions.
Documentation
None
Future work
Follow up with the SWIG project if we can demonstrate the weird behavior without involving the rest of Basilisk. This would allow us to undo the fix for at least pythonVariableLogger so the custom error message in __getattr__ can be used.

@schaubh @joaogvcarneiro
My initial approach for pythonVariableLogger ended up not working as expected, but I wrote a new one, and this should be ready for review now

Thanks for this PR and sorry I missed the fact that properties should be class variables on our initial discussion. I’m camping without access to a laptop, so bear with me if the code I suggest doesn’t work out of the box. I think changing the class attribute is a bit (too) hacky. I’d feel more comfortable if instead we created the dynamic class on new and created the instance from the beginning with this dynamic type:

class PythonVariableLogger:

    def __new__(cls, logging_functions, min_log_period):
        properties = {
            name: property(
                    lambda self, name=name: np.array(self._variables[name])
                )
                for name in logging_functions
        }
        dyncls = type('PythonVariableLoggerDynamic', (cls, ), properties)
        return super(PythonVariableLogger, dyncls).__new__(dyncls)

@schaubh
It seems like the protobuf/3.17.1 in the conan cache is only compatible with Ubuntu 22.04? runner.os is just Linux so I suspect some binaries built on Ubuntu 22.04 that were saved in the conan cache then trying to reuse them on Ubuntu 20.04 causes problems. This probably was not caught when initially merged as the cache had not been created yet.
The likely solution is to add the OS version to the cache key, e.g.,
diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml
index 4602c000c..9f0dcf8fb 100644
--- a/.github/workflows/pull-request.yml
+++ b/.github/workflows/pull-request.yml
@@ -41,7 +41,7 @@ jobs:
         id: cache-conan
         uses: actions/cache@v4
         env:
-          cache-name: cache-conan-packages
+          cache-name: cache-conan-packages-ubuntu-20-04
         with:
           # conan cache files are stored in `~/.conan` on Linux/macOS
           path: ~/.conan
@@ -105,7 +105,7 @@ jobs:
         id: cache-conan
         uses: actions/cache@v4
         env:
-          cache-name: cache-conan-packages
+          cache-name: cache-conan-packages-ubuntu-20-04
         with:
           # conan cache files are stored in `~/.conan` on Linux/macOS
           path: ~/.conan
@@ -169,7 +169,7 @@ jobs:
         id: cache-conan
         uses: actions/cache@v4
         env:
-          cache-name: cache-conan-packages
+          cache-name: cache-conan-packages-ubuntu-22-04
         with:
           # conan cache files are stored in `~/.conan` on Linux/macOS
           path: ~/.conan
@@ -234,7 +234,7 @@ jobs:
         id: cache-conan
         uses: actions/cache@v4
         env:
-          cache-name: cache-conan-packages
+          cache-name: cache-conan-packages-ubuntu-22-04
         with:
           # conan cache files are stored in `~/.conan` on Linux/macOS
           path: ~/.conan
@@ -298,7 +298,7 @@ jobs:
         id: cache-conan
         uses: actions/cache@v4
         env:
-          cache-name: cache-conan-packages
+          cache-name: cache-conan-packages-ubuntu-22-04
         with:
           # conan cache files are stored in `~/.conan` on Linux/macOS
           path: ~/.conan

Howdy @sassy-asjp , thanks for the fix on the latest CI builds to use unique Linux cache names.  I created a quick PR #770 with just this fix to help other on-going PRs.  This will give us time to properly test your debugger solution and other PRs are not held up by this issue.

@juan-g-bonilla , welcome back from hiking!  Before I close this, any final thoughts on this branch?
I pulled the branch and did a clean build without issues on latest macOS.  All tests ran fine.

@sassy-asjp , this PR is ready to go.  I just need it to be rebased on latest develop.
I don't have write access to this branch so I can't do this on my end.


Update for bundle packages - Doc Fix

Documentation Fix for Bundle packages.
⚛👋 Hello there! Welcome. Please follow the steps below to tell us about your contribution.

Copy the correct template for your contribution

🐛 Are you fixing a bug? Copy the template from https://bit.ly/atom-bugfix-pr
📈 Are you improving performance? Copy the template from https://bit.ly/atom-perf-pr
📝 Are you updating documentation? Copy the template from https://bit.ly/atom-docs-pr
💻 Are you changing functionality? Copy the template from https://bit.ly/atom-behavior-pr

Replace this text with the contents of the template
Fill in all sections of the template
Click "Create pull request"

View rendered docs/rfcs/001-updatable-bundled-packages.md

Thanks for reaching out!
We require the template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests.
Thanks for understanding and meeting us half way 😀


Noto Fonts need to be reworked and updated

Issue description
There's a bug apparently fixed in newer versions of Noto that I'd like to benefit from: https://github.com/googlei18n/noto-fonts/issues/1021
However, it looks like Google might not be doing releases on GitHub any longer for Noto. I think the nix expression for it needs to be reworked and updated.

It seems like the nix expression might want to build from source since there don't seem to be consistent/recent tags/releases for the font itself on GitHub.
The AUR PKGBUILD can be used for inspiration: https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/noto-fonts

I guess I didn't realize they were just committing the fonts directly. I'll send an update PR.


fix(material/schematics): ensure mdc migration compatibility with nx

by adding missing "multiselect": true in the x-prompt for the components property

Yeah I'll keep it since i makes the intent more clear


[BUG] Feed group deletion does not update UI

Describe the bug
Deleting a feed group in the Groups tab does not update the UI. This includes the current Groups tab and the Home row buttons. Attempting to open the deleted group results in an error.
This also allows for the unfortunate scenario of being locked out of settings caused by deleting the feed group when only Trending is the only other enabled Home row tab, which does not have a button to open settings, or the more deliberate selecting of the deleted custom feeds as the only two Home row tabs, thus crashing the app immediately on startup.
To Reproduce
Steps to reproduce the behavior:

Go to Groups tab in the home row
Press and hold a feed group to edit
Delete the group
Close edit window
See error

Screenshots

Device
Model: Samsung Galaxy S9+
OS: Android 10
Language: English
Fritter Version: v3.0.0-beta6+300000772
CI Build: 7203e69

Possible regression of #163.


Incorrect font in docs

A very minor issue... I think the font in the docs is supposed to be Inter (specified in tailwind config) but it is currently being overridden by: system-ui, -apple-system, BlinkMacSystemFont, etc,. This is not very noticeable on Apple devices because the font is similar but on Windows the system font is not as nice!
I think it is leaking out from here and/or here.
Can this font-family property be removed? I'm not sure if it is needed for the <Flex> examples.

:global(body) {
    background: #333333;
    /*margin: 0; etc...*/
  }

:grimacing: not the best setup for I agree.
I think all examples become iframes so I'm not 100% whether this is the source of the overriding.
I'm on a windows machine myself, is there some steps to reproduce the effect?

https://github.com/threlte/threlte/assets/14927523/ac0947f0-18ca-426a-9c9a-f3466ff6ce7c
To replicate if you disable that CSS selector in dev tools the correct font will display.
Interestingly this problem does not occur when running pnpm run dev locally. I needed to build the project and run pnpm run preview to replicate the issue. So maybe Astro is pulling out that CSS at build time and applying it globally?

oh! I see, and basically a search across the whole repo for that body css comes up with the files you mentioned earlier.
Right, don't mind me. jump straight into making a PR and I'll merge 😅

How did I not notice that? 🫣 Happy to merge any PR 👍


Temp files not deleted on server

Hi,
If I create a pdf, the tempfile created in C:\Windows\Temp is not deleted.
Any change on fixing this little annoying bug ?
Thanks !

Hi, just found out the wkhtmltopdf testing release v0.12.3 should fix (https://github.com/wkhtmltopdf/wkhtmltopdf/blob/79ff51e/CHANGELOG.md). You could download the exe from here: http://wkhtmltopdf.org/downloads.html and replace the exe in the project Rotativa dir.

Hi @webgio,
I can't find the binaries on the download page.
Any help appreciated !

Download the exe and then run it, it will install on local disk, grab the wkhtmltopdf.exe file in the folder of installation.

Yeah !! It's working ... no more temp files !!

Hello my friend
First parebens by its rotating library is very useful and easy to use.
However, I have had problems with the server security levels where my application is hosted.
My server, for defaut of Micrisoft requires server levels "Meduim trust" and its application does not match these requirements.
I believe one reason for this act.
I'm sending you down the solutions of the developers of my hosting.
Some tips for adapting your application for Medium Trust, are:

If you can contact the component developer, make sure it is digitally signed by a key "Strong Name." It is necessary that the attribute "AllowPartiallyTrustedCallers" is defined in the component source code as
msdn.microsoft.com/en-us/library/system.security.allowpartiallytrustedcallersattribute.aspx. Also check on all dependent components, because if any of them has the same problem, the error may be displayed on the component that called or else then request from the manufacturer a compatible version environments "partially trusted" or "medium trust".


Why does Cloud Operator need Cloud Foundry?

Most of IBM Cloud Resources are based on an IAM/Resource Group model.
Why do we still need Cloud Found Org and Space to use the operator?
Is there any plan to update the operator to reflect this model change?

Hi @lionelmace, yes when we first developed ICO a lot of services had not yet migrated from CF to the Resource group model, and we supported both. In the future, this support will be removed.
If you do not set org and space during installation, it should still work.

@vazirim Great news! Thanks for the update.

@vazirim any update in regards to remove CF support in the ibm cloud operator.

@JohnStarich ^^^


Question: workers bundle without quantum

I finally got this working... fork it if you want
https://github.com/vegarringdal/fuse-box-monaco-editor
but only way I could get a worker bundle working was to use quantum
how can I do this without quantum/ to get sourcemaps etc

@vegarringdal this will have too wait until I get the first Source maps version to work. Which will happen in the next @next  (after the release on 3.6 which is this week)

https://github.com/fuse-box/fuse-box/issues/1375

ok, we should do PR to monaco editor sample repo when its done.
This way maybe more people will be aware fusebox exists :-)


show version in footer or header

UA testers need to note which version they are testing. So they need to see the version.
On the staging site (main branch) show a nice version label in the header or footer, like 'RC0.1' - follow best practice version naming conventions.
In the production site (tagged release) show the release tag label.

@gubuntu before going to implementation, for the production site the tag can come from github, but i don't see how the staging can have a footer that is not hard-coded, any ideas ?

ask around in our dev COP channel - we should have or establish standard practice around this. We can put in the commit hash but that won't be nice for a user to note. Unless we do actually tag RCs to deploy to staging and proper versions to production?

@gubuntu your final suggestion is a good approach, we would proceed with the usual semantic versioning, v0.0.1-rc for release candidates and v0.0.1 for releases, the size is 2 here because first the opertaion will be extracting version from GH and put send them to deployed containers then use them with the site.

@gubuntu please check  #371 for more on the simver applied, in order to complete this issue we need a token for github accessibility assigned to the current account which has full accessibility to the repo (or enough access to tags specifically), the code calls github api to get the latest tags and updates the site accordingly, also @tharanathkartoza we need a cron job to run the following file every 10 minutes to check if there is an update on the github tag,
/home/appuser/app/ckanext/dalrrd_emc_dcpr/get_releases.py
@gubuntu this issue seemed trivial at first, but was a bit convoluted, first approach was to get the latest release and candidates through git actions and then persist them to the docker container which is created after each push to "development" or "main" branches, this deemed to bit confusing as to change a file in the repo from an action the bulk of suggestions was to make another push to the repo from within the action, our current stack already takes about 1 hour to complete creating docker images and push them to dockerhub, the second approach was to fetch the data from github with js files, but github applies a limit over it's api (5000 requests per hour), although i don't know if the emc will be visited by this number of users every hour, to avoid this cap, i've tried to approach it as there is one python script which is called every 10 minutes (the cron job above) which fetches the latest versions, and writes to a file, then this file is read from the site, this will total to 6 calls every hour to get the latest versions.
reflecting on this, such issues that represent more of a convenience are better left for next phase not this one.

Can the release tag info from which the image was built not be made available in the docker image itself (though I think that might be what you are saying as one of your options above).
semver no simver?
I don't think this is just a convenience. I think it should be standard in all our projects (did you check how we've done it in other projects before?) and it's necessary for testing and error reporting.
Which user will need the token? And will you make a toekn request? (I don't see one yet in Settings)

@gubuntu is the kartoza account is up ?

Kartoza GH account is used and creds are injected as environment variables, a note for testing this is that tester should create a new release in GH and see if the release changes after a while (ask tharanath about the time interval in which the script runs).

Version showing in footer of staging site


Automated Package Upgrade

:tada: This PR is included in version 26.0.7 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Description

It would be great to have a bit more explanation about what is this project.
Because at first this makes no sense "native mobile application with Angular 2 and React Native".

This project is only a seed for https://github.com/angular/react-native-renderer
For more details, you can watch this: https://www.youtube.com/watch?v=yDbaihb1eIs


cargo build won't create staticlib

Problem
cargo build didn't create a xxx.a file in target/debug.
Steps

1.  create a rust project.
src/lib.rs:
#![crate_type = "staticlib"]

#[no_mangle]
pub extern fn add(a: i32, b: i32) -> i32 {
    a + b
}

Cargo.toml:
[package]
name = "ffi-c-call-rust"
version = "0.1.0"
authors = ["eric"]
edition = "2018"

[lib]
name = "add_input"
crate-type = ["staticlib"]

2. Build
Run command: cargo build, then no target is created.
Possible Solution(s)
But if I instead run:
mkdir -p target/debug
rustc --crate-type=staticlib -o target/debug/libadd_input.a src/lib.rs

Then the .a file is created, and could be used by .c code.
So, how to make cargo build to create the staticlib, aka the .a file.
Notes
Output of cargo version:

cargo 1.52.0 (69767412a 2021-04-21)

BTW, I'm using Linux (mint mate 20).

Using the #![crate_type] attribute won't work with cargo.  Cargo needs to know the crate type, and it can't if it is set in the source files.  You can set the crate type in Cargo.toml with the crate-type setting.

@ehuss Check my question, already set it.

Oh, sorry, I missed that.  Hm, it sounds like the target directory is completely missing?  Perhaps you can run with cargo build -v to verify where it is placing the output?  You should see something like Running rustc --crate-name add_input, and you should see an --out-dirflag indicating where the output is going.  You can also run with theCARGO_LOG=debug` environment variable, and it should print a bunch of debugging information which should show where it is placing the output.

@ehuss Thanks.
Running export CARGO_LOG=debug; cargo b -v, then I saw the output is created in the root's target/, the code above is a member of that root.

I have figured it out, use:

cargo b --target-dir=target/

Then it will generate in current dir's target/, instead of searching for parent root.


Could support reload config.js?

Due to the lifecycle of proxy is only a few minutes, param proxies in config.js need to change frequently.
Could support reload config.js?
When I change param proxies in config.js, and I can exec cmd to reload config.js, just like docker exec -it csgofloat bash -c "csgofloat reload"

Feel free to contribute this yourself!


Replacement for crop_horz_field and crop_vert_field?

I'm attempting to upgrade from a previous version (0.3.6) and have been changing my code to refer to use the new API.
I haven't been able to find a replacement, however, for crop_horz_field and crop_vert_field in the former IKOptions, which allow my users to specify anchor points in the database record when they upload a photo.
I've come across the new way of specifying an anchor point in the ImageSpec, but I'm not certain how to tie it to a database field.

You should be able to do that like this:
class MyModel(models.Model):
    thumbnail = ImageSpecField(processors=get_processors, ...)

def get_processors(file, instance):
    return [Crop(100, 100, anchor=(instance.horiz_field, instance.vert_field))]

(This is with 2.0.)
Note that the components of anchor are normalized to the range 0-1 instead of being arbitrary integers. 0 represents left in the horizontal position and top in the vertical; 1 represents right in the horizonal position and bottom in the vertial; anything between 0 and 1 represents a percentage in the same difficult-to-put-into-words-but-not-difficult-to-understand way as CSS background position percentages.

Thanks for your help and all the improvements you're making.
I tried your suggested code, and it partially works. (Side note: I needed to define get_processors before my model to avoid a NameError.)
Unfortunately, when I change the anchor field values in the admin, it doesn't update the cached image. Deleting the cached image file causes it to be recreated, but still using the original anchor field values. For the new image to reflect the updated anchor values, I need to restart Django.

Can you share your model please?

Here it is:
def get_processors(file, instance):
	return [resize.ResizeToFill(200,200, anchor=(instance.horizontal_anchor, instance.vertical_anchor))]

class Photo(models.Model):
	title = models.CharField(max_length=255, blank=False)
	original_image = models.ImageField(upload_to='photos')
	credit = models.CharField(max_length=255, blank=True)
	vertical_crop = models.SmallIntegerField(choices=VERTICAL_CROP_CHOICES, default=1)
	horizontal_crop = models.SmallIntegerField(choices=HORIZONTAL_CROP_CHOICES, default=1)
	source_note = models.TextField(blank=True, help_text="Notes about the origin of an image - for internal use.")
	big = ImageSpecField(processors=get_processors, image_field="original_image", format="JPEG")
	vertical_anchor = models.DecimalField(null=True, default=0.5, max_digits=4, decimal_places=3)
	horizontal_anchor = models.DecimalField(null=True, default=0.5, max_digits=4, decimal_places=3)

	class Meta:
		ordering = ["title"]

	def __unicode__(self):
		return self.title

Thanks again.

Sorry, I was too busy to realize this right away: this is actually expected behavior. As of 1956e16, spec images are only invalidated when the name of the source file changes. (This was something that was discussed a little in the original image cache backend thread—#89.) The previous behavior was that the file was invalidated every time the model was saved. The reasoning behind the change is that it drastically reduces the number of unnecessary invalidations.
The argument could be made that this is not desirable and that the previous behavior made more sense; in other words, that the file should be invalidated on every save, regardless of whether the source file has changed. Right now, I think that's probably not a good idea; here's why:
Validating on every save obviously produces false positives (extra invalidations). As this situation shows, validating only when the source file changes produces false negatives (doesn't invalidate enough). If it were just a matter of choosing between the two, I'd say we should go with the false positives; however, it turns out that validating on every save also allows for false negatives! Here are two simple examples:
def get_processors(file, instance):
	return [resize.ResizeToFill(200, 200,
			anchor=(instance.related_object.horizontal_anchor,
			instance.related_object.vertical_anchor))]

Or
def get_processors(file, instance):
	if datetime.now() > instance.some_prop:
		return [SOME_PROCESSOR]
	else:
		return [SOME_OTHER_PROCESSOR]

In both cases, the processors have changed even though the model has not been saved. In fact, there are infinite ways to accomplish this when your processors are dynamic, and invalidating every save only catches an arbitrary handful of these.
So what's the solution? Well, right now it's "invalidate the image when you change something." In your case, that probably means adding receivers for the post_init and post_save signals, comparing the property values in post_save, and calling instance.spec.invalidate() if they've changed:
def post_init_receiver(sender, instance, **kwargs):
	instance._old_anchor_x = instance.anchor_x
	instance._old_anchor_y = instance.anchor_y

def _post_save_receiver(sender, instance=None, created=False, raw=False, **kwargs):
	if not raw:
		if instance._old_anchor_x != instance.anchor_x or instance._old_anchor_y != instance.anchor_y:
			instance._old_anchor_x = instance.anchor_x
			instance._old_anchor_y = instance.anchor_y
			instance.myspec.invalidate()

Actually, this is basically the exact same thing we're doing to see if the source file has changed.
Obviously, at the very very least, we need to document the necessity of manual invalidation when using a callable for a processor list. That's a minimum.
The next question is, "Can we make this easier?" I think we can but, honestly, I hadn't really considered this issue before so I'm not ready with an answer. If you have any thoughts, I'd love to hear them.

This rationale makes sense, even thought the behavior isn't what I would have ordinarily expected. While I haven't used Django receivers before, they seem reasonably straightforward.
For now, I'm going to postpone further work on my own project until you release version 2.0, but it's been helpful to try some of this out and get a better sense of what I'll need to do to upgrade.
Thanks again.

def post_init_receiver(sender, instance, **kwargs):
instance._old_anchor_x = instance.anchor_x
instance._old_anchor_y = instance.anchor_y
def _post_save_receiver(sender, instance=None, created=False, raw=False, **kwargs):
if not raw:
if instance._old_anchor_x != instance.anchor_x or instance._old_anchor_y != instance.anchor_y:
instance._old_anchor_x = instance.anchor_x
instance._old_anchor_y = instance.anchor_y
instance.myspec.invalidate()
Can you please explain that part deeper.. Because i am using callables on "cache_dir" and "processors". And when saving file with dynamic names sometimes file can not be saved with the updated names. (is it because of that i do not write the two functions you mentioned). Thank you for your patience...

@mthueson Do you have any ideas about how we can improve it? I have one floating around in my head but I'd like to hear other people's thoughts before I get started on it.
@burakk I'm not sure I understand your problem—specifically, what you mean by the "file can not be saved with the updated names." Do you get an error?
As for explaining the code: let's say you have a processor that (for some reason) imprints the current date on your image. ImageKit has no way of knowing that a new image needs to be regenerated every day, so you have to tell it, by calling invalidate()—perhaps in a cron job that runs at a minute past midnight every day. In @mthueson's case, the images need to be regenerated every time certain properties on his model are changed. ImageKit doesn't know about this behavior so, again, the image needs to be invalidated manually. The receivers are just a means for recognizing when those properties change.

No specific ideas, but thanks for checking. Perhaps there's some way to simplify the creation of the necessary receivers in the most common scenarios, but proposing anything more specific than that is probably beyond my own knowledge.

I persist on using imagekit in my very first django project so I want to write my problem in details.
1 - In my admin add image form i am using an ajax uploader. After the user uploads the image  (i have now first temp image in my upload folder that must be deleted) via ajax uploader i am showing the image in a crop resize area whenever user changes top left, width, height values, passing them to form dynamically.
2- In my model I am using django "upload_to" with a callable function and in that function i am renaming file with the slug field's value. (i have now second temp image in my upload folder that must be deleted)
3- Again  in my model i have two ImageSpecFields, "big" and "thumb" (these are the final images that must be in upload folder ) with callables for processors and cache_to.
I am again renaming file with the slug field's value in the cache_to function because i want it to override the second saved image. (that its path saved to the database)
And this is the code i am using...  It gives me "  [Errno 2] No such file or directory: u'/home/burak/mydjangosite/static/uploads/images/bigs/blog_main/fetze.jpeg' " like errors
Again thank you for your patience.
Models.py#
#callable-imageSpec-#
def getThumb(instance, file):
return [Adjust(contrast=1.2, sharpness=1.1),
resize.BasicResize(width=instance.thumbW, height=instance.thumbH),
crop.BasicCrop(x=instance.left_thumb, y=instance.top_thumb, width=instance.thumb_width, height=instance.thumb_height) ]
#callable-imageSpec-#
def getBig(instance, file):
return [Adjust(contrast=1.2, sharpness=1.1),
resize.BasicResize(width=instance.bigW, height=instance.bigH),
crop.BasicCrop(x=instance.left, y=instance.top, width=instance.width, height=instance.height) ]
#callable-imageSpec-#
def cache_to_big(instance, path, specname, extension):
path="static/uploads/images/bigs/"+instance.album.name+"/"+instance.slug+extension
return path
#callable-imageSpec-#
def cache_to_thumb(instance, path, specname, extension):
path="static/uploads/images/thumbs/"+instance.album.name+"/"+instance.slug+extension
return path
#callable-django image field-#
def get_path(instance, filename):
directory = "static/uploads/images/bigs/"+instance.album.name+"/"
name = instance.slug
return "%s/%s.%s" % (directory, name, "jpeg")
class Image(Media):
tags = TagField()
width = models.IntegerField(blank=True, null=True)
height = models.IntegerField(blank=True, null=True)
thumb_width = models.IntegerField(blank=True, null=True)
thumb_height = models.IntegerField(blank=True, null=True)
top = models.IntegerField(default=0, blank=True, null=True)
left = models.IntegerField(default=0, blank=True, null=True)
top_thumb = models.IntegerField(default=0, blank=True, null=True)
left_thumb = models.IntegerField(default=0, blank=True, null=True)
thumbW = models.IntegerField(blank=True, null=True )
thumbH = models.IntegerField(blank=True, null=True)
bigW = models.IntegerField(blank=True, null=True)
bigH = models.IntegerField(blank=True, null=True)
file = models.ImageField(upload_to=get_path)
thumbnail = ImageSpecField( processors = getThumb, format="JPEG", image_field='file', options={'quality': 90},     cache_to=cache_to_thumb)

big = ImageSpecField( processors = getBig, format="JPEG", image_field='file', options={'quality': 90}, cache_to=cache_to_big)

def save(self, *args, **kwargs):
    super(Image, self).save(*args, **kwargs)
    test = Image.objects.all()[0]
    test.thumbnail.width
    test.big.width

def __unicode__(self):
    return self.title


Modules packages json

Close https://github.com/jhipster/jhipster-lite/issues/1947
This is a first version for packageJson handling in modules. Not really elegant but moving in the way of https://github.com/jhipster/jhipster-lite/issues/1954

important to have, if someone would like to migrate front modules
so let's merge this


Fix client.Write function

Fix #1844
Besides those issues raised by georgmu, I have found that:

The current client couldn't send the same tags, timestamp and precision for all points, as the server is able to receive (client.Write != influxdb.BatchPoints);
There was an error being ignored when enconding the data to json;
When the write was successfull the status returned was 200 and the body was empty, which generated an error when decoding the results (EOF).

Duplicate of a combination of:
#1662 #1680 #1683 #1691

@d2g - None of these other pull requests change the way data is written to the server. The server is not expecting an array of writes, just one write with multiple points. They also don't treat the server response correctly.

@vladlopes in #1662 Cory's comment @d2g states that it should support both a single and an array. I'm sure when one of the influxdb team gets some focus on this area they'll see the issues and provide some direction so we can contribute in moving the client forward.

Sorry I haven't been responsive to this issue.  I've been on vacation this week.  I get back in the office tomorrow and I'll get on this first thing.  At first glance, this looks good.  I want to add some more testing  to show how this endpoint should be used for a single write, or by keeping the http connection open and streaming multiple batch writes without closing it down.  I think that should give better clarity to how this endpoint can be used, as well as keep test coverage going.
It's also fair to note that this endpoint was written prior to us supporting precision, so it looks like when we added that feature, this did not get updated as a result (my bad).  I'll try to make sure if we make changes to the data structure for writing data in the future this endpoint is updated as part of that request.
Thanks for all your hard work and hopefully we'll get this merged in a day or two once I write more integration tests around it.

:+1:   have the same issue.  waiting to merge this PR

I would like also to give some more ideas to improve the client/server writing (I don't know if we should open a new issue for this):

Maybe get rid of the client.Timestamp type. As of today, I don't think it adds anything to time.Time as the default json serialization already uses RFC3339Nano;
Include omitempty attribute for optional values (retention policy, tags, timestamp and precision), reducing the payload and documenting also wich attributes are optional directly in the code;
If we remove the Timestamp type and uses time.Time directly, we can omitempty it when this issue (https://github.com/golang/go/issues/4357) get solved - there is already a commit ready to be merged. Today, the only way of omitempty the timestamp field would be to make it a pointer (*time.Time), wich I think we should do as this is increases considerable the payload from client to server, specially for clients that want to use the server current time;

It would appear that the client.Timestamp has outlived its purpose, so I agree that should go away now.
Seems fair that the omitempty could be added.
Agree that moving this to a separate PR is appropriate, as it allows this immediate issue to get resolved, followed up by the next one.

Closing this issue.  It is being addressed in pr #1868 with a little bit different approach.  Feel free to comment on that PR with any questions/suggestions.


Have to restart localhost server for each change

I have a minor issue where I have to restart my WEBrick or Thin server any time I make any changes to a controller of a versioned model. Any change at all triggers this, no matter how insignificant. The error I get is Could not find table 'versions'
Once I restart the server all is fine. It's only a minor thing, but can becomes a bit of a pain when I am working on one of the controllers.
I have multiple versioned models, each with its own custom named versions table. Everything else is working just fine and as expected. If any other information would be useful let me know.
Thanks

What does your initializer / custom version classes look like?

I have a few models which have versioning, each including a Versionable concern which looks like this:
module Versionable
  extend ActiveSupport::Concern

  included do
    has_paper_trail class_name: "#{name}Version"

    class << self
      def creators
        creators_hash = {}

        item_ids = pluck(:id)
        events = "#{name}Version".constantize.where('event=?', :create)
        events.each do |event|
          if item_ids.include?(event.item_id)
            creators_hash[event.whodunnit] ||= 0
            creators_hash[event.whodunnit] += 1
          end
        end

        creators_hash
      end
    end

    def author
      if version.nil?
        originator
      else
        version.originator
      end
    end

    def changes_for(column_name)
      changes = "#{self.class.name}Version".constantize.where(item_id: id)
      changes.where("object_changes LIKE '%\n#{column_name}:\n%'")
    end

    def changes_history_for(column_name)
      changes_for(column_name).where.not(event: :create)
    end

    def past_history_for(column_name)
      all_changes = changes_for(column_name)
      if version.nil?
        all_changes
      else
        all_changes.where('id < ?', version.id)
      end
    end

    def last_edited_info_for(column_name)
      change = past_history_for(column_name).last
      if !change.nil? # there is a previous version
        OpenStruct.new({ author: change.whodunnit, updated_at: change.created_at })
      else # use live one
        self.class.find(id)
      end
    end

    def versions_to_display
      versions.reverse.select{|v| v.event == 'update'}
    end
  end

end

There is nothing to do with versioning in the actual model class files other than include Versionable. The line that is causing the error is versions.reverse.select... right at the end there.

I was asking in the hope that it was an issue that had been seen before with a known fix. If that isn't the case I'll see if I can isolate it in a clean project and post that back if I can.

Yes, other people have reported issues similar to this. #488, #483... I'm not certain exactly what causes it but I believe it may have to do with the fact that we load the base PaperTrail::Version class in from a Rails::Engine in PaperTrail 4.x.  Well I guess I should probably ask, what version of PaperTrail are you using?

I am using:
Papertrail - 4.0.0.beta2
Rails - 4.2.0
Ruby - 2.1.2
I tried creating a new project, with all the same versions, the same custom classes and the same Versionable concern and it did not have the same issue. If I do manage to isolate it though I'll post back.

This fix works for me:
https://github.com/airblade/paper_trail/pull/492#issuecomment-77166975

Thanks for the bug report!  Closing; the discussion will continue at https://github.com/airblade/paper_trail/pull/492


status-dev-cli needs stringified dapp JSON to be quoted

closing as this is outdated and will be updated soon


Added More Info & Privacy Policy pages

As we discussed yesterday I tried to write some Privacy Policy for our app, of course I am not a lawyer and I don't know if this are fine or not. I tried to be safe and write sections that should also cover future changes (see Service Providers, Log Data and Information Collection and Use).
I also add the version of the app and collaborators (this page is not ready yet but we will update it in the future)

Not sure on why this is failing now since there isn't much new with the latest commit. It looks like it is SDK related and we also had a warning before, I would leave it to you to decide what is best to do

Not sure on why this is failing now since there isn't much new with the latest commit. It looks like it is SDK related and we also had a warning before, I would leave it to you to decide what is best to do

Dependency 'androidx.core:core:1.10.1' requires 'compileSdkVersion' to be set to 33 or higher.
     Compilation target for module ':app' is 'android-31'

Dependency 'androidx.annotation:annotation-experimental:1.3.0' requires 'compileSdkVersion' to be set to 33 or higher.
     Compilation target for module ':app' is 'android-31'

You are right. The problem refers to the SDK version in gradle project for android.
You can fix this by modifying our project’s build.gradle file (Android folder) and adding the ‘compileSdkVersion’ field.
Once you have updated the ‘compileSdkVersion’, you should also update any other dependencies that require a minimum SDK version of 33 or higher to ensure that our app functions correctly.
After doing this you can run:

git add --all
git commit --amend
git push --force
to update the failed commit.

I changed compileSdkVersion but it seems that we still have problems, I am not able to really figure it out though. When I use it on my machine it seems fine and I don't have issues so it's also quite hard to understand what to change

I changed compileSdkVersion but it seems that we still have problems, I am not able to really figure it out though. When I use it on my machine it seems fine and I don't have issues so it's also quite hard to understand what to change

I understand, let's try this last test and if it doesn't work, we'll go back and put back what was written: flutter.compileSdkVersion
Try to update in this way: ext.kotlin_version = ''

LGTM :+1:


meintion need for explicit -i for wall profile in README.md

Issue: https://youtrack.jetbrains.com/issue/IDEA-320011
Mentioning this will probably save somebody's time.

Reading the linked IDEA issue I see it doesn't come from async-profiler by any means.
So there is nothing to do on async-profiler end, isn't it?

Yes. But IDEA issue isn't yet fixed. Note about it will be helpful and doesn't take much space.

Since #740, the proper option for configuring wall clock profiling interval is --wall.
I would not like to add misleading instructions just to warn somebody of a third party bug.
Thank you for understanding.


Replay the policy?

Is there any way that we can replay the learned policy from a saved one?

Hey, unfortunately not in the codebase. I did have a script that allowed loading a model and running it, but the script was overly complicated because i) It was tied in with our internal db system and ii) it actually allowed "rewinding" back and forth so I didn't add it here.
If you want I can send it to you, though it's not gonna work out of the box.

Thank you but I can do it I believe. Btw, why you use a GRUcell for the baseline RNNpolicy but not the normal GRU network?

I don't really remember, but I think there's no particular reason. It's likely because the RL code-base that I started from implemented it this way, whereas, for the particle filter, I was re-using the code from the AESMC paper.
But it shouldn't make a difference, right?

Yeah, it seems that the performance is unaffected. Thanks a lot.

Hello, what is the command to reproduce the results for MountainHike? I was unable to do that with this command "python ./code/main.py -p with environment.config_file=mountainHike.yaml algorithm.use_particle_filter=False algorithm.model.h_dim=256 algorithm.multiplier_backprop_length=10  opt.lr=1.0e-04 rl_setting.num_processes=16 seed=0 loss_function.encoding_loss_coef=0.0 algorithm.model.obs_loss_coef=0.0" (for RNN policy)>

I have to see where I have those old runs. How is it different?

I tried only one seed actually. But it did not learn anything even after 25M steps. The reward actually decreased over time.

Hey, yeah, it definitely shouldn't decrease. I checked my old runs and it seems the only difference is that I didn't change the  multiplier_backprop_length from the default 5. Although I'm not sure why that should change the results so massively.
But it's weird that it doesn't learn at all... the environment shouldn't be that difficult to learn on.


[SC-210116] E2E tests for sample list filtering

Summary:

What:  This PR implements filtering of samples using various criteria
Ticket: sc-210116
Env: <rdev link>

Demos:
Notes:
Checklist:

[x] I merged latest <base branch>
[x] I manually verified the change
[x] I added labels to my PR
[ ] I tested in multiple browsers
[ ] I added relevant unit tests
[ ] I have notified others of changes they need to make locally (migrations, jobs, package updates, etc)

@luisczi the changes you made in global-setup has caused all tests to fail

@charles-testco my changes that i have perform on global setup doesnt break the tests

i will remove those lines then


New Website Logo: HumongouS.io

Name: HumongouS.io
Homepage url: http://www.humongous.io
Brand Guidelines/Licensing: N/A
Logo:  https://s3.amazonaws.com/assets.humongous.io/humongous_logo_kit.zip

Added.


Tags do not seem to update when present in the URL but also in the session

Description
If I go to the UI with a given tag in the URL (ie: &_tags=XYZ) but I had previously been on the UI with a tag ABC selected, the tag in the UI is ignored and only the tag that was previously selected i used.
Steps to Reproduce
This is always reproducible as described above.
Versions
Application version: v1.0.2
Service version: 2.1.0-2021-11-15 16:13:11 PST-15cd9f7fa9d5df15d9fe7dac6a60667383c4fa6b|75ca8de715480c84198fbde993908e6a9cb9747d
Additional Information

Good find. Here is PR to fix it https://github.com/Netflix/metaflow-ui/pull/56

Fixed


Non-parametric Analysis	- Mann-Whitney U/Wilcoxon rank sum

Similar to #29 , I would like to give it a try :)

@AgnieszkaTomczyk  - just assigned this section to you as I know you are working with @andreaczhang on this topic.

@statasaurus I think my chapter that you merged in the website for this topic is put under Wilcoxon signed rank, instead of Wilcoxon rank sum :) Could you have a look when you have time? Thank you! 😊

Okay should be fixed now, sorry I was not reading closely when I put it in the table


Dapr service invocation is decompressing the gzip'd response body from my external API

In what area(s)?
/area runtime
What version of Dapr?
dapr --version
CLI version: 1.12.0
Runtime version: 1.12.5
Expected Behavior
When invoking a non-dapr endpoint https://docs.dapr.io/developing-applications/building-blocks/service-invocation/howto-invoke-non-dapr-endpoints/ I expect the the API response to be returned to the caller unchanged.
Actual Behavior
The API response is decompressed. This isn't causing me any issue per se. But it does seem like the incorrect behaviour.
Steps to Reproduce the Problem
curl -X GET "http://httpbin.org/gzip" -H "accept: application/json" -v
vs
curl -X GET "http://localhost:3500/v1.0/invoke/https://httpbin.org/method/gzip" -H "accept: application/json" -v

I don't see why dapr needs to understand the request/response body?
nor do i understand how dapr can validate it 🤔
what if the content-type was application/octet-stream?


Advanced options

In my personal experience, there are two options to a typographic set I adjust almost everytime, that are not included here yet.

letter-spacing
transformation (uppercase)

Looking forward to any comments & thoughts on this.

Can you tell me more about how you use it?
To be completely honest, I rarely use my own tools for anything (I've been stuck in legacy code for much of my career).
I'd love to hear your thoughts on how we can improve this for the PostCSS version.

@FranzSkuffka ping. Teach me your ways. :P

I did not forget you :* got this in my wunderlist.

Currently busy with a paper
The deadline is next week so I will give you a more detailed documentation of my ways afterwards if that's not messing up your schedule.
What I can say for now is that I have used typographic in two live projects successfully:
http://ufo-eberbach.de/
http://nos-seminare.de/
The latter uses uppercase type for h2 tags and I adjusted the letter-spacing to .2em with the purpose to let these letters breathe a little.
I want to thank you for this awesome tool! I actually am practicing design through code in an efficient way (the second site took me 7 hours with no framework code) and typographic is essential for this.
I have zero experience with writing postCSS plugins but I would love to contribute to postcss-typographic
The current draft of my paper is very drafty but you're more than welcome to take a look!

Wow your sites look great! I'm glad typographic helped you.
I was never a fan of my implementation of vertical rhythm so I never really used typographic after I made it.  I'm going to completely revisit the technique behind our vertical rhythm with the rewrite. Once I have that, I'll tweak the settings a billion times in real world usage until it's as smooth as butter.
The next version should be bulletproof and awesome. I'll actually use the next version.
I see what you're saying about the uppercase/letter-spacing thing (I did it on http://stylus-lang.com) but I'm not aware of any mathematical principle on which to space letters out. I always just do it til it kinda looks right. Lemme know if you know of a formula and I'll see about adding it to the next version.
I wish I went to college for CSS. :D
Looks kinda fun.

Pretty sure the spacing is, like for line-height font-specific and thus not solvable through a formula. I was hoping to set a variable and then use a mixin provided.
Apar from that, I think some more granularity in the settings (e.g. the actual factor for the modular scale of each typographic entity) instead of imperative programming through mixins would help alot too.
I was kind of skeptic about your vertical-rhythm implementation but it still worked out :)
Thanks for the comments on design! If you add enough whitespace, I reckon, everything starts looking smooth.
Back in the days I was rather art / design-oriented but then fell in love with coding :D while dropping the designer's attitude towards coding with my design routines alltogether. BTW the logos are mine too.  :)

BTW standard CSS looks interesting. That badge idea really caught me :D:D Are you planning to incorporate SUIT / Title CSS or ? Or is it just a styleguide?

Yeah I'm gonna redo the modular scale.  The next version will actually be correct. :+1:
It will just be a styleguide/linter but we can't implement it until stylelint gets some functional editor plugins. Who knows how long that will take? Months? Years?

Let me know when you are starting on postcss-typographic. Have you decided on the JS flavor yet? (please say coffeescript :D)

Re: letter-spacing
Forgot we're having a convo about it over here: https://github.com/corysimmons/typographic/issues/43

How do you expect text-transform to work?
How could Typographic make it simpler than:
h6 {
  text-transform: uppercase;
}

?

When applying this transformation, I also want it to respect a variable which is, let's say $uppercase-tracking. Then we could use t-uppercase(). However this can be considered an over-optimisation. Might be viable part of a full-blown typographic toolkit.

Hm. All this letter spacing stuff makes me worry it might be font-specific?

Pretty sure the spacing is, like for line-height font-specific and thus not solvable through a formula if you do not add metadata to the fonts.

yes. I think there are no CSS hacks in place for finding out which font is actually used by the browser. Which means adding metadata is pretty useless. It follows that setting letter-spacing or tracking is up to the developer leveraging this library. He needs to decide which values are most suitable for his font stack.
Or we could write a helper that detects the fonts used and assigns classes to the body according to the results :smile: BTW I think all the stuff typographic does is font-specific. :wink:

I don't think we can write a reliable font family fetcher in anything other than JS.
Even if we fetched font families with PostCSS in a clever way, we wouldn't know what font the end user was getting in the stack. Like, letter-spacing might be different for Georgia and serif.
That said, there is such a unit as an ex unit which gets the x-height of a font. Maybe we should operate with that instead so everything typographic does is font specific.

I had to test this out for myself.
http://codepen.io/franzskuffka/pen/gPErev
You, sir, are completely right. I am pretty sure using x-height is the right way to go.

It kinda makes you wonder why anyone would ever use anything other than x-height for any sizing (since all sizing is "supposed to be based on content")...

This whole thing made me realize something though... Hang on a sec..

I disagree. If you look at my pen:
http://codepen.io/franzskuffka/pen/gPErev
You can observe, that while em is constant for every font, ex is actually different.

@FranzSkuffka I can't figure it out. I'm drunk and I hate Jade

Anyway, 1em !== 2ex, but it's pretty close.
1em is actually probably better to scale off of because it's the size of a uppercase char whereas 2ex is just the size of the x-height * 2.
http://codepen.io/corysimmons/pen/wMOzOe?editors=1100

All that matters are the red boxes. You observe see that the ex-positioned boxes are shifted in relation to each other whereas the em-positioned are not. Follows that ex is actually different per font and em is not.

Ah I see what you're saying.
So 1em just === 16px?! It doesn't === the height of an uppercase character of the font?!?!

em is actually the width of an uppercase

Yes exactly. It's just a reference to the parent element's font size basically.

Welcome to teh webz.

BTW that's exactly what I imagine my future as frontend engineer. monday, 6AM, drunk, lurking github :+1:

...the em unit has a long-standing tradition in typography where it has been used to measure horizontal widths. For example, the long dash often found in American texts (--) is known as "em-dash" since it historically has had the same width as the letter "M". Its narrower cousin (-), often found in European texts is similarly referred to as "en-dash".

The meaning of "em" has changed over the years. Not all fonts have the letter "M" in them (for example Chinese), but all fonts have a height.

Nothing. people suck

Yeah I figured just because somewhere someone wrote something nice about typography I doesn't mean the browser devs adhere to it.

In fact, I think if we don't change anything, html { font-size: 16px; } is the browser default, and 1em === whatever font size it inherits right? So 1em === 16px.

Whereas 2ex could be anything just depending on where the x-height was (could be any random place depending on just how screwy the font in question is).

So I think em's are probably the best thing to size off of.
And to that point, 1rem === html default font size (which is usually 16px). So rather than getting font sizes unset with em's inheritance crap-assery, we can scale in rems for true ultimate power.
http://codepen.io/corysimmons/pen/obVxJW?editors=1100

I honestly have no idea what 1em really is. Not the height of an uppercase letter though. I think they have nothing to do with anything. ex seems legit though
http://codepen.io/franzskuffka/pen/mVoOeR
Yet still, neither rem nor em are font specific which is why ex seems to be the better choice for optimal results here. And I never had problems with em-crap-assery using this librayr

I gotta write this paper now though.  It just grabs whatever font size it can inherit and applies that. So if html { font-size: 16px; } and body { font-size: 1em; } then body font-size === 16px.
The interesting part is that font-size 16px doesn't mean anything. The 16px doesn't mean the height of the tallest glyph, or the width of the widest glyph, or anything useful or meaningful. It just means "Meh. 16px'ish. Who knows?"
I've been googling for a while now and no one (not even the w3c) will straight up say wtf the size in font-size means.
In fact, w3cschools has no idea, MDN has no idea (and flat out gets some stuff wrong), and w3c doesn't specify so I'm assuming they have no idea.
Yay.
The upside is there is something called aspect size or something which is x-height * font size or something like that. Might be able to do something with that...

Yeah font-size is something bounding-box-ish.
And I just figured that ex behaves just like  rem. So no calculation PITA.
http://codepen.io/franzskuffka/pen/adMpWw
1ex is roughly font-size/3.6. This means that all we have to do is give the html the font size we want and add 3.6ex to the body. However this makes the typography sensitive to differences in x-height between font sizes. The font stacks should be adjusted accordingly. If the difference is to big, we could still detect that with a polyfill and adjust the ex value on the body accordingly.

However this makes the typography sensitive to differences in x-height between font sizes

That's a huge gotcha and I don't want to make this reliant on a polyfill or anything.

This could be optional. In addition to that, fonts of similar character have almost identical x-height. The font stacks in place should be fairly consistent.

I'd rather not for this next version anyway. Adding things like that leads down a dark and complicated path for very little payoff.

okay :cry:

I'll definitely work on some nice tracking stuff tho (probably with ch units).

Bonus:

In computing, one use of x-height is as a unit of measurement in web pages. In CSS and LaTeX the x-height is called an ex. The use of ex in dimensioning objects, however, is less stable than use of the em across browsers. Internet Explorer, for example, dimensions ex at exactly one half of em, whereas Mozilla Firefox dimensions ex closer to the actual x-height of the font, rounded relative to the font's current pixel height. Thus, the exact ratio of ex to em can also vary by font size within a browser if the determined values are rounded to the nearest whole unit. For example, a browser calculating an x-height of 45% on a font 10 pixels tall may round ex to either 4 pixels or 5 pixels or leave it at 4.5 pixels.

https://en.wikipedia.org/wiki/X-height#Use_in_web_design

Internet Explorer, for example, dimensions ex at exactly one half of em

I wish I was on the IE team.  "Eh, 1/2 an em is close enough."

I wish I was on the IE team.  "Eh, 1/2 an em is close enough."

kek
Seems like they are not even trying.

I really have no idea why anyone specifically develops for it anymore. They obviously don't care so why do we?

I really have no idea why anyone specifically develops for it anymore.
$$$
really depends on the

touche


useMachine(machine, { state }) returns the initial state instead of the service.state

Description
As discussed on discord
the following code
const intialState = State.from(stateValue, context)
const [state, send,  service] = useMachine(machine, { state: intialState, context })

The state returned by the hook is equal to the initialState (as the code suggest it should) but in this particular case, this leads to an incomplete state being returned.
It is missing the nextEvents and possible parallel states that were not part of the stateValue.
Furthermore, the state return differs from the service.state which has those missing pieces.
As discussed below/shown in the repro, there are multiple workaround, it may also just be a case of improving documentation to show how it's done.
Expected Result
The state returned should be complete and most likely should be the service.state or a clone of it.
Actual Result
The state return is not complete and differs from the internal state of the service
Reproduction
I've made a small reproduction here and also showcasing the different behavior between useMachine vs useInterpret + useActor
there is a workaround that consist in calling machine.resolveState on top of State.from in which case it works as expected
https://codesandbox.io/s/elated-taussig-mq98r?file=/src/index.tsx
Additional context
This issue was discovered as part of looking for a way to work with machine that are hydrated using partial states obtained from a remote API (usually a StateValue and the context).

in the end this is what I'm going with for my use case:
export function useHydratedMachine<TContext, TEvent extends EventObject>(
  machine: StateMachine<TContext, any, TEvent>,
  stateOrStateValue?: State<TContext, TEvent> | StateValue,
  context?: TContext,
) {
  const initialState = machine.resolveState(State.from(stateOrStateValue ?? machine.initialState, context))
  const [state, send, service] = useMachine(machine, { state: initialState, context })
  return { state, send, service }
}

@davidkpiano I would like to take this issue if no-one else is working on it?

@davidkpiano I would like to take this issue if no-one else is working on it?

Yes, please!

If that helps, I've updated the code above to this now:
import { useMachine } from '@xstate/react'
import { UseMachineOptions } from '@xstate/react/lib/types'
import { EventObject, State, StateMachine, StateValue } from 'xstate'

export interface IUseHydratedMachineOptions<TContext, TEvent extends EventObject>
  extends Omit<UseMachineOptions<TContext, TEvent>, 'state'> {
  state?: State<TContext, TEvent> | StateValue
  context?: TContext
}
export function useHydratedMachine<TContext, TEvent extends EventObject>(
  machine: StateMachine<TContext, any, TEvent>,
  { state: _state, context: _context, ...options }: IUseHydratedMachineOptions<TContext, TEvent> = {},
) {
  // Get the context from either the options or the machine
  const context = _context ?? machine.context
  // Resolve the initial state from the given options
  const state = machine.resolveState(State.from(_state ?? machine.initialState, context))
  // Initialize the machine with the resolved state and the given options
  return useMachine(machine, {
    ...options,
    state,
    context,
    devTools: process.env.NODE_ENV === 'development',
  })
}

This is because as I've had issues with guards referencing a context that wasn't part of the machine's definition but passed afterward either using the context option of useMachine or the .withContext method.
In those case, the previous code would crash when attempting to compute the intialState.

Hey, @davidkpiano is this pr still open?, if so id like to work on it.

The workaround is correct:
function useHydratedMachine(machine, stateValue, context) {
  const [state, send, service] = useMachine(machine, {
-   state: State.from(stateValue, context),
+   state: machine.resolveState(State.from(stateValue, context)),
    context
  });
  service.start(stateValue);
  return { state, send, service };
}

I believe that this issue is already fixed on the next branch.


How should context.config handle new line characters in the yml file?

👋 I noticed that the cat gif in first merge comment was not on a new line in #215. I added a <br> tag which GitHub respects but I was wondering if the expected behavior of new lines in reading configs is indeed correct.

I wrote a couple test cases while I was playing around with line breaks and I pushed those here. My biggest questions is: Should reading a multiline yml key have a trailing newline?
Input
singleline: >
  Foo foo, foo foo
  bar bar bar

const config = await context.config('test-file.yml');
console.log(config);

Expected Output
{
    singleline: "Foo foo, foo foo\nbar bar bar"
}

Actual Output
{
    singleline: "Foo foo, foo foo\nbar bar bar\n"
}

I'm not sure what is the average expected behavior here but I wanted to document the multiline test case and if we decide that the trailing newline literal is expected, I'll update the tests to make them represent that decision.
/cc @probot/maintainers @hiimbex

So I think this has more to do with the js-yaml library we use, which bases it's standards off of http://yaml.org/
Here's an example of a bot comment and the relevant config file. Because of the way GitHub comments work, the trailing newline isn't reflected.
I think I'm fine with the current behavior and would ideally avoid rewriting a pre-existing library's functionality 😜, but I think we could add on to this issue: https://github.com/nodeca/js-yaml/issues/234 with our concerns and see if anyone responds? I tried to read the specifications described here, but it hurt my brain lol

@hiimbex Thanks for digging on this! I checked out the https://github.com/nodeca/js-yaml/issues/234  issue and it looks like you use mykey: >- and mykey: |- and the extra - will kill the trailing new line.
Going to close for now, feel free to re-open if anyone disagrees with this take. 😄


[QA-2194] Don't use unnecessary object store for all the mocked requests

This pull request removes the previous data structure mockedRequests which was holding information about all the requests that were mocked and how they are made. Instead, we can simply pass around this information as basic objects from function to function - there is no need passing around references in our use case.
Thus, the method logMockedRequests has been removed as well as this required such a global data structure. I do not think that this is a big loss though since it seems like no one used this method yet anyway.
This change will reduce memory consumption as well. I have tested it out locally and have to say though that the memory consumption even with the previous pattern wasn't that high - when calling mockRequest 1000 times and making a network request with a reasonably sized JSON, the memory rose to 5.94MB. This is not terrible, but with this change we will reduce the memory consumption entirely because nodeJS will take care of garbage collection of unused objects for us.
I have also renamed the method expectNetworkRequestToNotHaveBeenMade to expectRequestToNotHaveBeenMade. Due to this and the removal of a function, this will require a major version bump.

This has been merged now. Do you want to have the honor of creating and publishing a version 3.0.0 @thomaschaplin ?

This has been merged now. Do you want to have the honor of creating and publishing a version 3.0.0 @thomaschaplin ?

Sure will do, thanks


feat: traverse and operate wxml as babel

Can you add .DS_store to .gitignore ?

Can you add .DS_Store to .gitignore ?

Done


mark truncated filenames with ellipsis "…" in -o template if length exceeds x bytes

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm requesting a feature unrelated to a specific site
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
(Asking here so as not to lead #1136 further off-topic.)
In https://github.com/yt-dlp/yt-dlp/issues/1136#issuecomment-1503888641 a solution was proposed to mark truncated filenames in -o template:

Add a %(title.201&…|)s - read as "if title.201 (201'th char) exists, then (&) add …, else (|) add nothing"

This works for character count but apparently not for the subsequently discussed byte count (which may be more useful when dealing with unicode chars):
yt-dlp ZYlALC1Pmv4 --skip-download --no-config --print "%(title).50s%(title.51&…|)s"
Hubble Space Telescope, Planet 9, Curiosity Mars R…    # truncates at 50 chars and detects 51st char

yt-dlp ZYlALC1Pmv4 --skip-download --no-config --print "%(title).50B%(title.51B&…|)s"
Hubble Space Telescope, Planet 9, Curiosity Mars R     # truncates at 50 bytes but doesn't detect 51st byte

I guess this is either the wrong syntax or not yet possible to do.
In the latter case, would it be worth considering this new syntax as an enhancement ?
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

I confirm your bug report. The format %(title|).160B%(title.161B&…|)s doesn't work on my system either, despite it being suggested in many topics.

Shouldn't "%(title).50B%(title.51&…|)B" do the trick?

Shouldn't "%(title).50B%(title.51&…|)B" do the trick?

It actually did. Thank you @clusterized !


azure key vault integration prefixes variables_prefix and connections_prefix incorrectly

Describe the bug
azure key vault adds a - between the key prefix and the secret name when it reads it from azure key vault. It does this even when the key prefix is "" so secrets end up named -my-secret instead of my-secret.
To Reproduce
Follow the instructions to set up an azure key vault integrated install with a connections_prefix of "".
Create a secret named -my-var in azure key vault.
Use the example dag provided in the docs with Variable.get("my-var")
You will see that it fetches the variable because it is incorrectly mapping my-var to -my-var instead of my-var.
Expected Behavior
connections_prefix and variables_prefix dont add a leading - when they are set to "".
Additional context
From my understanding null his historically not been supported as a value for that even though its passed as a JSON blob? Might be more idiomatic but if this is changed I'd think all providers should be changed. I suggest we don't do it and just continue to use "" but fix our prefixing as described in this ticket.

Doc fix filed at https://github.com/astronomer/issues/issues/4796 intentionally updates docs to match the current (pre-fix) behavior of this provider. Once this ticket is done, the docs should be updated again to state the behavior changes with Airflow v. .

Secrets are used in OSS airflow and providers don't have that. So this would be a fix in OSS.

Hi @rob-1126 Separator used to concatenate path_prefix and secret_id so when you make path_prefix="" it will take it empty string and add separator and then secret_id.
ex  -my-var so if ur secret_id itself is -my-var the end key would be  --my-var..
https://github.com/apache/airflow/discussions/22150

https://github.com/apache/airflow/pull/26749

PR is approved and waiting for it to be merged.

PR got merged in OSS airflow


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 2676 ms

Resolved: Bofrost.at performance has improved in 944dd79.


KDCProxyConfig error logger uses wrong local variable

The error logger in KDCProxyConfig refers to the variable "file". That's the wrong name. The file name variable is "filename". "file" is Python 2's file type.

Merged.


How should you seed the Database with Roles?

Since EF Core does not yet support database seeding, I am creating my own set of abstractions to do it for me until then.
Apperently the RoleManager<T> throws and exception that I am accessing an disposed object on its CreateAsync method:
var result = _roleManager.CreateAsync(new IdentityRole<Guid> { Name = role }).Result;

InnerException    {System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'RoleManager1'.    at Microsoft.AspNetCore.Identity.RoleManager1.ThrowIfDisposed()
at Microsoft.AspNetCore.Identity.RoleManager`1.d__30.MoveNext()}  System.Exception {System.ObjectDisposedException}

This is my Startup.cs which is just a simple Pure DI approach to create my database initializers:
public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<AuthDbContext>(builder => builder.UseSqlServer(_configuration.GetConnectionString("Default"))));

    services.AddIdentity<ApplicationUser, IdentityRole<Guid>>()
        .AddEntityFrameworkStores<AuthDbContext, Guid>()
        .AddDefaultTokenProviders();

    services.AddMvc();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    ConfigureAuth(app);
    InitializeContainer(app);

    app.UseStaticFiles();
    app.UseIdentity();
    app.UseMvcWithDefaultRoute();

    // Time to seed the database
    var initializer = new CompositeDatabaseInitializer(new IDatabaseInitializer[]
    {
        new AddDefaultRolesDatabaseInititalizer(app.ApplicationServices.GetRequiredService<RoleManager<IdentityRole<Guid>>>())
    });

    initializer.Seed();
}

The implementations of the IDatabaseInitializer are:
public interface IDatabaseInitializer
{
    int Order { get; }

    void Seed();
}

public class AddDefaultRolesDatabaseInititalizer : IDatabaseInitializer
   {
    private readonly RoleManager<IdentityRole<Guid>> _roleManager;

    public AddDefaultRolesDatabaseInititalizer(RoleManager<IdentityRole<Guid>> roleManager)
    {
        _roleManager = roleManager;
    }

    public int Order { get; } = 1;

    public void Seed()
    {
        using (_roleManager)
        {
            if (_roleManager.Roles.Any()) return;

            var roles = new[]
            {
                "Role1",
                "Role2"
            };

            foreach (var role in roles)
            {
                var result = _roleManager.CreateAsync(new IdentityRole<Guid> { Name = role }).Result;
                if (!result.Succeeded)
                {
                    throw new Exception("Error creating roles.");
                }
            }
        }

    }
}

public class CompositeDatabaseInitializer : IDatabaseInitializer
    {
    private readonly IEnumerable<IDatabaseInitializer> _databaseInitializers;

    public CompositeDatabaseInitializer(IEnumerable<IDatabaseInitializer> databaseInitializers)
    {
        _databaseInitializers = databaseInitializers;
    }

    public int Order { get; } = 0;

    public void Seed()
    {
        foreach (var databaseInitializer in _databaseInitializers.OrderBy(initializer => initializer.Order))
        {
            databaseInitializer.Seed();
        }
    }
}

Any suggestions on what I do wrong?
Thanks.

There are lifetime issues here, the RoleManager is scoped to the lifetime of the request, and it depends on a DbContext which is similarly scoped.  Hence the error about accessing a disposed object.  Caching the manager in your initializer is accessing it after its already been disposed

Yes, that is correct. How would you solve the issue with the need for a seeding at startup?

Dupe of https://github.com/aspnet/Identity/issues/1065 which shows how you can use the UserManager at startup which is the same


I had an error 'greadlink: command not found'

I followed your instruction to install docker-osx-dev and I had an error
2016-04-26 11:57:34 [INFO] Using sync paths from Docker Compose file at docker-compose.yml: ./src
/usr/local/bin/docker-osx-dev: line 1101: greadlink: command not found
2016-04-26 11:57:34 [INFO] Complete list of paths to sync:
2016-04-26 11:57:34 [INFO] Using default exclude paths: .git
2016-04-26 11:57:34 [INFO] Complete list of paths to exclude: .git
2016-04-26 11:57:34 [INFO] Complete list of paths to include:
2016-04-26 11:57:34 [INFO] Starting docker-osx-dev file syncing
2016-04-26 11:57:34 [INFO] Testing if docker machine is running
2016-04-26 11:57:35 [INFO] Installing rsync in the Docker Host image
2016-04-26 11:57:36 [INFO] Performing initial sync of paths:
BusyBox v1.23.1 (2015-02-22 15:53:49 UTC) multi-call binary.

Usage: mkdir [OPTIONS] DIRECTORY...

Create DIRECTORY

	-m MODE	Mode
	-p	No error if exists; make parent directories as needed

exit status 1

anyone had some suggestion or had this issues?

When you run docker-osx-dev install, it's supposed to install greadlink. It looks like that didn't happen. Did you see an error?
As a workaround, you can install it yourself (brew install greadlink).

> brew install greadlink
Error: No available formula with the name "greadlink"
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
Error: No formulae found in taps.

Sorry, greadlink is part of coreutils, so the command should be brew install coreutils.

@brikis98 yes I missed greadlink in package coretils and fswatch, now it's work perfect. Thanks.

Great! Glad to hear that :)

Since Mac Docker now has a public beta I thought I'd try rebenchmarking.
Here's my results, I guess I'll stick with docker-osx-dev for now.
Mac benchmark (without Docker)
dd if=/dev/zero of=/tmp/output bs=8k count=100k; rm -f /tmp/output
102400+0 records in
102400+0 records out
838860800 bytes transferred in 1.132447 secs (740750602 bytes/sec)

docker-osx-dev (revision ea0617d)
dd if=/dev/zero of=/usr/src/app/output bs=8k count=100k; rm -f /usr/src/app/output
app_1  | 102400+0 records in
app_1  | 102400+0 records out
app_1  | 838860800 bytes (839 MB) copied, 0.261691 s, 3.2 GB/s

Dinghy Docker over NFS (4.4.1)
dd if=/dev/zero of=/usr/src/app/output bs=8k count=100k; rm -f /usr/src/app/output
app_1  | 102400+0 records in
app_1  | 102400+0 records out
app_1  | 838860800 bytes (839 MB) copied, 26.5691 s, 31.6 MB/s

Mac Docker Public Beta (1.12.0-rc2-beta17 build: 9779)
dd if=/dev/zero of=/usr/src/app/output bs=8k count=100k; rm -f /usr/src/app/output
app_1  | 102400+0 records in
app_1  | 102400+0 records out
app_1  | 838860800 bytes (839 MB) copied, 34.3933 s, 24.4 MB/s


Buffer completion does not work for cyrrilic buffers

Describe the bug
Buffer completion does not work for cyrrilic buffers (tested only for russian symbols though).
To Reproduce
Just type any russian symbols and trigger autocompletion. Tested with the default nvim-comple configuration alongside with the option vim.o.encoding = 'utf-8'
Screencast

Please check https://github.com/hrsh7th/nvim-compe/issues/167