feat(frontend): support dot output for distsql

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
https://github.com/risingwavelabs/risingwave/issues/19542

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
Public Preview: Do note that the structure and format of EXPLAIN FORMAT=DOT is considered unstable, and may change overtime.
After this PR, one new explain option is supported for explain distsql.
FORMAT DOT. it will output dot format for distsql plans.
example
CREATE TABLE t (v1 int);
    explain (distsql, format dot) create materialized view m1 as SELECT approx_percentile(0.5) WITHIN GROUP (order by v1) from t;

result
    digraph {
        0 [ label = "Fragment 0\l" ]
        1 [ label = "StreamMaterialize { columns: [approx_percentile], stream_key: [], pk_columns: [], pk_conflict: NoCheck }\ltables: [\"Materialize:<PHONE_NUMBER>\"]\l" ]
        2 [ label = "StreamGlobalApproxPercentile { quantile: 0.5:Float64, relative_error: 0.01:Float64 }\ltables: [\"GlobalApproxPercentileBucketState: 0\",\"GlobalApproxPercentileCountState: 1\"]\l" ]
        3 [ label = "StreamExchange Single from 1" ]
        4 [ label = "Fragment 1\l" ]
        5 [ label = "StreamLocalApproxPercentile { percentile_col: $expr1, quantile: 0.5:Float64, relative_error: 0.01:Float64 }" ]
        6 [ label = "StreamProject { exprs: [t.v1::Float64 as $expr1, t._row_id] }" ]
        7 [ label = "StreamTableScan { table: t, columns: [v1, _row_id] }\ltables: [\"StreamScan: 2\"]\l" ]
        8 [ label = "Upstream" ]
        9 [ label = "BatchPlanNode" ]
        10 [ label = "Table 0\lcolumns: [\"sign\",\"bucket_id\",\"count\",\"_rw_timestamp\"]\lprimary key: [\"$0 ASC\",\"$1 ASC\"]\lvalue indices: [\"0\",\"1\",\"2\"]\ldistribution key: []\lread pk prefix len hint: \"0\"\l" ]
        11 [ label = "Table 1\lcolumns: [\"total_count\",\"_rw_timestamp\"]\lprimary key: []\lvalue indices: [\"0\"]\ldistribution key: []\lread pk prefix len hint: \"0\"\l" ]
        12 [ label = "Table 2\lcolumns: [\"vnode\",\"_row_id\",\"backfill_finished\",\"row_count\",\"_rw_timestamp\"]\lprimary key: [\"$0 ASC\"]\lvalue indices: [\"1\",\"2\",\"3\"]\ldistribution key: [\"0\"]\lread pk prefix len hint: \"1\"\lvnode column idx: \"0\"\l" ]
        13 [ label = "Table<PHONE_NUMBER>\lcolumns: [\"approx_percentile\",\"_rw_timestamp\"]\lprimary key: []\lvalue indices: [\"0\"]\ldistribution key: []\lread pk prefix len hint: \"0\"\l" ]
        0 -> 1 [ label = "" ]
        1 -> 2 [ label = "" ]
        2 -> 3 [ label = "" ]
        4 -> 5 [ label = "" ]
        5 -> 6 [ label = "" ]
        6 -> 7 [ label = "" ]
        7 -> 8 [ label = "" ]
        7 -> 9 [ label = "" ]
    }

Output looks good.

Could you update the example in the PR Release Note as well? Thanks. I think it shouldn't have contains.

Oh let's also set:
set batch_parallelism=1;

In the batch plan test. Otherwise different test env may use different parallelism, causing test to fail.

You can remove the batch tests first. I'll add it back later.

Seems like they still fail for some reason.


Translate excerpts

For post types with support for excerpts, we could add a text box to the translation metabox to enable translation for that too.

Closed with b674c2fa860f04e7955563bfe92b8a3c53a89d70.


Except the given array of table from being migrated

It's important sometimes to except some tables from being fresh because maybe these tables contain important data
Before this PR
php artisan migrate:fresh

this command will be translated into
Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (570.18ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (388.50ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (492.07ms)
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
Migrated:  2019_12_14_000001_create_personal_access_tokens_table (635.70ms)

but as I said what if the users' table has important data and I don't want to drop it So, say hello to the --except option
After this PR
php artisan migrate:fresh --except=users

this command will be translated into
Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (521.91ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (411.83ms)
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
Migrated:  2019_12_14_000001_create_personal_access_tokens_table (1,374.12ms)

This still contains breaking changes to the method signatures. Please take in mind my message from the previous PR.

Only the fresh command should change then, no other changes to the framework should be made to support that feature


Second chapter of the Guide: Under The Hood

Describe the essential terms such as tests, plans, stories.
Explain the core attributes common across all levels.
Demonstrate on a couple of simple examples.
Resolves #739.

@befeleme, @pirat89, the new chapter should cover the issues described in #739. Could you please review the content and provide feedback if/where anything is not clear? Thanks!

Thanks @psss, very useful article! A few thoughts after reading:

I think that Core section could be on the top of the page, not bottom. There is a common metadata key summary: that is mentioned in the Tests section but describes only in the Core section. Or maybe just mention the Core section at the top of the page. Or remove summary: from Tests
From the reading it's unclear for me what is how. how isn't mentioned in the Core section of the spec.
how can be used in different sections like: provision: how: local, prepare: how: shell, discover: how: fmf.  In all these cases how has different meaning. Maybe I didn't find an answer.

Thanks @psss, very useful article! A few thoughts after reading:

Thanks for the feedback.

1. I think that `Core` section could be on the top of the page, not bottom. There is a common metadata key `summary:` that is mentioned in the `Tests` section but describes only in the `Core` section. Or maybe just mention the `Core` section at the top of the page. Or remove `summary:` from `Tests`

As mentioned in the other comment, as for now it seems to me the very end is the best place for the common attributes because we don't want to overwhelm users at the beginning with too much theory but rather start with something very tangible and practical like plans. What do you think?

2. From the reading it's unclear for me what is `how`. `how` isn't mentioned in the Core section of the [spec](https://tmt.readthedocs.io/en/latest/spec/core.html).
   `how` can be used in different sections like: `provision: how: local`, `prepare: how: shell`, `discover: how: fmf`.  In all these cases `how` has different meaning. Maybe I didn't find an answer.

Good point, should be addressed by a newly added paragraph.

Thanks a lot for your valuable comments, @dkarpele and @FrNecas. All issues should now be addressed. I've also slightly extended the beginning of the chapter to shortly mention what fmf is and added a missing link to the L1 metadata page.

I really enjoyed reading this summary, thanks for writing it down.
I like it that the levels are described in the direction of minimal-most required towards more robust-optional possibilities. Therefore core seems to me just right at the end - it enhances the tests, but isn't mandatory to start playing with tmt.
Reviewing the original questions, I find them answered and I have one idea for enhancement.
A mention about how the particular parts of the chapter correspond to the templates used when initializing tmt would be useful. I've just checked what's created with each level - afaik it's not yet documented - and it seems to relate quite nicely to the parts of the chapter (the minimal plan -> mini, introduction of tests -> basic, introduction of stories -> full). You can tree -a on such structure to get an idea how to organize your testing. If you plan to describe templates separately and refer back to this description, that would also work fine.

Thanks for the feedback, @befeleme. Very good point that the init templates nicely play with the individual sections of the chapter. I've added a short mention about the related template to each in 0fcf995.

@psss, thanks for adding the templates' paragraphs. I like it, I think the whole chapter will work fine as an introduction.

Thanks to all for your careful review and valuable feedback!


how to use this lib to interact with a webassembly lib like photon_rs for example

how to use this lib to interact with a webassembly lib like photon_rs for example
I have an AngularDart project and I need to interact with the "photon" lib to resize and compress images before uploading
https://github.com/insinfo/photon-test/blob/master/pkg/photon_rs_bg.wasm
https://github.com/insinfo/photon-test
https://silvia-odwyer.github.io/photon/

Hm I guess not at all. You would use web_ffi if you had normal dart:ffi code and just replace the import. You dont seem to have dart:ffi code in your library.


Traces sampler also total transactions

Hello,
I have a custom OTEL based instrumentation which I was testing out with ElasticNodeSDK. I can see that with 1% sample rate, total spans and total transaction count metrics both are being sampled.
I'm expecting only traces to be sampled and not transaction count.
Any way to fix this?
Below were the config:
OTEL_TRACES_SAMPLER="traceidratio"
OTEL_TRACES_SAMPLER_ARG="0.01"

I'm using Elastic Observability Cloud for APM.

Thanks for the quick response @david-luna.
From the elastic docs:

Regardless of the sampling decision, all traces retain transaction and error data. This means the following data will always accurately reflect all of your application’s requests, regardless of the configured sampling rate:

Transaction duration and transactions per minute
Transaction breakdown metrics
Errors, error occurrence, and error rate

Which does not seem to be the case here. I tried parentbased_traceidratio, but still the total requests, TPM, etc are also sampled.

Hi @ezioda004
This was dropped also for APM agents sending data to APM server with version > v8.0. You can check it in the specs https://github.com/elastic/apm/blob/main/specs/agents/tracing-sampling.md#non-sampled-transactions
It may be possible to implement your own sampler and pass it to ElasticNodeSDK configuration but I need to investigate further.

Sure @david-luna
I guess what I'm looking for is a way to sample transactions/span on application level but send complete transactions/span metrics which are mentioned here.

@ezioda004
I've dug a bit on Samplers and I cannot see a clear way of having this behavior. However I think you may achieve what you want with a custom implementation by:

Using the AlwaysOn sampler
Having a middleware in your app which decides to suppress tracing based on your criteria (env var, etc.)

This way you will always have the root span of the incoming HTTP request and:

no child spans if you decide to suppress tracing
all child spans otherwise

This is a very simple example so you get the idea.
const { context } = require('@opentelemetry/api');
const { suppressTracing } = require('@opentelemetry/core');

// Utility function
function toSampledFn (fn) {
  return function () {
    const shouldSample = // your sampling logic here;
    const self = this;

    if (shouldSample) {
      return fn.apply(self, arguments);
    }

    return context.with(suppressTracing(context.active()), () => fn.apply(self, arguments));
  }
}

// in your code
app.use(toSampledFn(function (req, res, next) {
  // Your app logic here
}));

Hi @david-luna
Thanks for this, I'll try this.
This will do custom sampling, which should work for sampling out spans. I'm not clear on how this will ensure that transaction related metrics will be counted and sent to elastic APM. Could you help me understand that?

Could you help me understand that?

Usually when your request handler kicks in @opentelemetry/instrumentation-http already started a Span for the incoming request. Whatever operations you do inside the handler will run within the context of that root Span. The line
return context.with(suppressTracing(context.active()), () => fn.apply(self, arguments));

tells Opentelemetry API to run the target function with a given context. In that case the same context modified to produce NoopSpans if any instrumentation or user code used the API the start a new Span.
Then at export time the root span is sent and all child NoopSpans are dropped resulting on only having the one corresponding to a transaction.

Hi @david-luna
I think I should've been more clear earlier, but my http server instrumentation is independent of node:http and node:net, its for a C++ http server which has binding in nodejs.
Is there any way to get calculated metrics like total transactions etc via head based sampling of OTEL based instrumentation in elastic APM?
It seems Kibana APM configuration is not supported yet.
https://www.elastic.co/guide/en/observability/8.16/apm-agent-configuration.html


Enable Travis CI Cache feature

Enable Travis CI Cache feature
Test if Intellij artifacts is already installed.

see description how the Travis CI cache is working here https://docs.travis-ci.com/user/caching/#Caching-directories-(Bundler%2C-dependencies)


Add instagram filters

Hey, would be great to see this integrated https://github.com/skrypte/fegram/blob/master/README.md

I'd be happy to integrate it but this project would be a dependency and it doesn't have an npm package. You could ask the author to publish it on npm :)


Change the way TravisCI is used.

Instead of using single python version for all builds on Travis and then using tox to setup different interpreters in different environments, setup TravisCI integration in a way such, that it uses its own mechanisms to handle Python installation and then runs tox with only a single environment (single python version) inside the build.
This way you won’t get errors about missing Python interpreter from TravisCI, that you had chances to get in the previous configuration.

I wanted to use this cookie cutter to generate a new package and found this PR. I'm interested in it because it's adding Python 3.6 to Travis 👍
I think it would make sense to update the README to states that and also the classifiers in setup.py, right?

@browniebroke , if you want to submit some pull requests, I'm willing to add them to my branch. I plan to add some more stuff to my branch, I already added "github_project_slug" because I'd rather use dashes than underscores and I want to have it different; I plan adding templates for appveryor.com (Windows) builders... I also thought a bit about adding MacOS X support to TravisCI files, so there is still much stuff to do.

Over time we've organically moved to something that isn't far off from this PR. I may cherry-pick portions of @mpasternak's effort into the main branch, his Makefile enhancements in particular look very useful.


Fix node copy paste issues

Closes #

Allows input frame nodes to be copied.
Fixes pasting of the output node. It was looping forever since the while loop was dependent on an iter.all() method, but all() always returns true on an empty iter.
Fixes the duplication (ctrl-D) of nodes.

It's looking like the Input Frame node, if you duplicate it, shows an error dialog if you try to hook it up while hooking it back up to the original works fine. Is that something you could look into please, if you can figure it out based on what True Doctor mentioned in Discord? Thanks!


Fix events page

[ ] create a division for lighter theme part

Right now whole page has dark blue colour.  Not according to our theme design.

Done


Fix concourse pipeline

The pipeline is failing with an error "create resource config: base resource type not found: git".
Please find below error:

This might be due to the postgres & concourse old version.

fixed after last commit.


scanner: move RevListShas to new package

This pull-request moves the RevListShas implementation into the new scanner package, and delegates calls into it.
This is the first pull-request in a series that I'm working on which will introduce a refactored implementation of what's found in lfs/scanner.go into a new scanner package, which will operate as an async pipeline. Currently, the scanner must complete each operation in its entirety before we even kick off the transfer queue. This works fine when dealing with small working trees, but is problematic when we have to buffer a large amount of Git blobs in memory before transferring them.
Since the rev scanner is the first operation in that chain, I started there. A diagram of where I'd like to end up is below:

I'm planning on leaving all of the existing calling code as-is, and keep relying on the lfs package (delegating into the scanner package from lfs/scanner.go) until I am completely done with this refactoring.
--
/cc @technoweenie @rubyist @sinbad @sschuberth @larsxschneider

This PR pretty much just moves the code from one package to another, but I wanted to note in more detail the reason I did not adopt the TChannelWrapper pattern.

The TChannelWrapper types are defined in the lfs package, which makes sense, since most packages depend on lfs, not the other way around. Since the lfs package is delegating into scanner for the time being, we'd have to additionally move the TChannelWrapper types to tools or similar, and use it from there. This seems undesirable to me because my intent is to no longer use these types on the scanner package, because...
Even though most LFS packages are designated as being unsafe for public use due to the amount of flux in our publicly exported APIs, a green-field scanner package seems like a good place to start stabilizing our APIs. Thus, we shouldn't make the assumption that callers of the scanner.ScanRevsToChan function necessarily want the behavior that the chan wrappers provide. We should provide APIs at the lowest common denominator so that callers can decide how they want to treat that data, and not be constrained by decisions made at the API-layer. My plan going forward with this is to make the signatures return two (<-chan string, <-chan error), and introduce a helper function at the call-sites of these functions to provide the behavior that the TChannelWrapper types provided.


 There is no point in allowing endpoint disable only when device is attached and ready. Remove the pointless check as it is actually harmful and prevents endpoints disable on USB stack disable.
Fixes: #52339
Cannot be merged before #51871

https://github.com/zephyrproject-rtos/zephyr/pull/51871 is merged now


Add resize doc for both filesystem and block mode PVCs

Signed-off-by: Humble Chirammal<EMAIL_ADDRESS>

@Madhu-1 @ShyamsundarR @nixpanic ptal

@Madhu-1 @nixpanic comments are addressed. PTAL

The filename can be resize-pvc.md we can add a section for both cephfs and rbd in the same file

@humblec the above comment need to be handled

@Madhu-1 last set of comments are addressed. PTAL


Fix linux-altera-ltsi-rt directory name

When trying to use the realtime kernel, bitbake does not find defconfig.
By changing the directory name, everything works fine.

Thank you @bugnano for your merge request. I hope you like my projects.


Error with parsing xml with url parms

Hi,
If the XML is as follows:
my $xml = '<root>
  <supportedUrls>
    <url>/xyz/</url>
    <url>/xyz/opt1=&opt2=</url>
  </supportedUrls>
</root>';

The entry
<url>/xyz/opt1=&opt2=</url>
causes a 'Invalid reference' error.
Also, how to catch any internal error in parsing? It seems to just exit...

You need escape '&' symbol like this '&'

Thanks Yuriy. Will try.
Is there a way to catch an error in parsing vs. just exiting the whole program from within the package? I did not see any documentation on error handling..
Regards,
Deepak Khosla
Office:<PHONE_NUMBER>
From: Yuriy Ustushenko<EMAIL_ADDRESS>Sent: Monday, February 8, 2021 11:08 AM
To: yoreek/XML-Hash-XS<EMAIL_ADDRESS>Cc: Deepak Khosla<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [yoreek/XML-Hash-XS] Error with parsing xml with url parms (#21)
You need escape '&' symbol like this '&'
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/yoreek/XML-Hash-XS/issues/21#issuecomment-775296268, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AC76RSSLZYLY3WTTZ5JUSXDS6AK5VANCNFSM4XID75EQ.

You can use eval function:
eval { ... };

if ($@) { ... };

Thanks. I may have missed the fix but putting single quotes around the & does not work. Fails. (Works if I remove the '&' line).
my $xml = "

/xyz/
/xyz/opt1='&'opt2=

";
$hx = eval { XML::Hash::XS->xml2hash ($xml); };
if ($@ || !$hx) {
print STDERR "Error converting ..$! - $@\n";
exit 1;
}
Fails
Regards,
Deepak Khosla
Office:<PHONE_NUMBER>
From: Yuriy Ustushenko<EMAIL_ADDRESS>Sent: Tuesday, February 9, 2021 6:55 AM
To: yoreek/XML-Hash-XS<EMAIL_ADDRESS>Cc: Deepak Khosla<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [yoreek/XML-Hash-XS] Error with parsing xml with url parms (#21)
You can use eval function:
eval { ... };
if ($@) { ... };
—
You are receiving this because you authored the thread.
Reply to this email directly, https://github.com/yoreek/XML-Hash-XS/issues/21#issuecomment-775915167, or https://github.com/notifications/unsubscribe-auth/AC76RSQVWHDIP4AJJTCDBQDS6EWBDANCNFSM4XID75EQ.

Try this please:
my $xml = "<root>
  <supportedUrls>
    <url>/xyz/</url>
    <url>/xyz/opt1=&opt2=</url>
  </supportedUrls>
</root>";
$hx = eval { XML::Hash::XS->xml2hash ($xml); };
if ($@ || !$hx) {
  print STDERR "Error converting ..$! - $@\n";
  exit 1;
}

Sorry for the delay Yuriy. That works.
Thanks.
Regards,
Deepak Khosla
Office:<PHONE_NUMBER>
From: Yuriy Ustushenko<EMAIL_ADDRESS>Sent: Friday, February 12, 2021 4:05 AM
To: yoreek/XML-Hash-XS<EMAIL_ADDRESS>Cc: Deepak Khosla<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [yoreek/XML-Hash-XS] Error with parsing xml with url parms (#21)
Try this please:
my $xml = "

<url>/xyz/</url>

<url>/xyz/opt1=&opt2=</url>

";
$hx = eval { XML::Hash::XS->xml2hash ($xml); };
if ($@ || !$hx) {
print STDERR "Error converting ..$! - $@\n";
exit 1;
}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/yoreek/XML-Hash-XS/issues/21#issuecomment-778100335, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AC76RSX4WUJRVM5HXPVFX7LS6T4NLANCNFSM4XID75EQ.


New version: foamzou.media-get version 0.2.12

Created by 🥟 Dumplings in Run #3506.
Microsoft Reviewers: Open in CodeFlow

Hi @SpecterShell,
The package didn't pass a Defender or similar security scan. This might be a false positive and we can rescan tomorrow.
(Automated response - build 855.)

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-02-29 04:54:29.843 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerSharedLib\SHA256.cpp(144)\WindowsPackageManager.dll!00007FFADE2B273F: (caller: 00007FFADE2FAEC4) Exception(1) tid(1b78) 8A150040
2024-02-29 04:54:33.070 [FAIL] Installer failed security check. Url: https://github.com/foamzou/media-get/releases/download/v0.2.12/media-get-0.2.12-win.exe Result: 0x80004005

(Automated response - build 855.)

@wingetbot run

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-03-01 09:26:12.358 [FAIL] D:\a_work\1\s\external\pkg\src\AppInstallerSharedLib\SHA256.cpp(144)\WindowsPackageManager.dll!00007FFFF4E7273F: (caller: 00007FFFF4EBAEC4) Exception(1) tid(e80) 8A150040
2024-03-01 09:26:15.177 [FAIL] Installer failed security check. Url: https://github.com/foamzou/media-get/releases/download/v0.2.12/media-get-0.2.12-win.exe Result: 0x80004005

(Automated response - build 856.)

@wingetbot run

@wingetbot waivers Add Validation-Executable-Error

Automatic Validation ended with:

Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Packages\foamzou.media-get__DefaultSource\media-get.exe returned exit code: 1
Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Links\media-get.exe returned exit code: 1

(Automated response - build 863.)

Completing validation.


Working with data of different lengths using automasking

I am working with multiple time series of different lengths, that should all undergo the same operations.
Following the tweet from @marcvanzee I attempted to use mask and vmap for these manipulations. Unfortunately due to the lack of documentation, I am not sure I can fully decipher Marc's example.
The simplest operation I am attempting is concatenating two padded arrays. Is it possible to parallelize it using mask and vmap?
import jax.numpy as np

# each row is a data_set of different length. Zero padding is used to put it all in one array.
data_sets_a = np.array([[1,2,0,0], [4,5,6,7]])
data_lengths_a = np.array([2, 4])

data_sets_b = np.array([[1,0], [1,2]])
data_lengths_b = np.array([1, 2])

num_data_sets = data_sets_a.shape[0]

# implementation using list comprehension
data_sets_concatenated_list = [np.concatenate([data_sets_a[i, :data_lengths_a[i]], data_sets_b[i, :data_lengths_b[i]]]) \
                               for i in range(num_data_sets)]
data_sets_concatenated = np.array(list(itertools.zip_longest(*data_sets_concatenated_list, fillvalue=0))).T

Is it possible to define something like:
def concatenate(array_1, array_2):
    return np.concatenate([array_1, array_2])

input_mask_1 = data_lengths_a
input_mask_2 = data_lengths_b
output_mask = data_lengths_a + data_sets_b

and use vmap and mask to get the same result as in the code above?

Hi noashin, I'm looking at similar stuff and I found this comment with an example of the masking feature https://github.com/google/jax/issues/2521#issuecomment-604759386
It's from march 2020 so I don't know if they've changed anything about the API since then. I'm trying to get it working myself too so please say if you manage to get it working :)

So far no luck. For the more basic operations I need I am using padded arrays, but for the more complicated ones, I am currently looping.

Not an exact answer, but looking at the masking tests and that comment:
@functools.partial(jax.mask, in_shapes=["n", "m"], out_shape="_")
def mask_concat(x, y):
    return jnp.pad(jnp.concatenate([x, y]), (0, 1))

foo = jax.vmap(mask_concat)([data_sets_a, data_sets_b], dict(n=data_lengths_a, m=data_lengths_b))[:, :-1]

> [[1 2 1 0 0 0]
   [4 5 6 7 1 2]]

Maybe there is something more involved and pretty that can get the job without that final slicing, but it should work.
The explanation is that mask_concat will receive two 1d arrays (because of vmap) and the sizes to take into account will be defined by the values in n and m, respectively. The resulting 1d array will have an undefined length (n + m + 1, but we can skip setting it explicitly).

@myagues Thank you so much! This is definitely what I need.
I tried to apply it to an example where the function to be masked and vmapped operates on a vector and a matrix, and I can't get it to work.
import jax.numpy as jnp
from jax import mask, vmap

def my_func(vec, mat):
    return jnp.dot(mat, vec)

mat = jnp.ones((2, 3, 3))
vec = jnp.array([[1., 2., 3.], [1., 2., 0.]])

inds = jnp.array([3, 2])
inds_mat = jnp.array([[2, 2], [3, 3]])

masked_func = mask(my_func, in_shapes=["n", "m"], out_shape="_")
vmapped_masked_func = vmap(masked_func, (0, 0), 0)
res = vmapped_masked_func([vec, mat], dict(n=inds, m=inds_mat))

The error is FilteredStackTrace: AssertionError: length mismatch: [1, 2].
I think the problem is in the definition of the masking indices of the matrix inds_mat, but I don't have an idea how to solve it.

I am not sure if it is possible to index with "multi index" as in inds_mat. I have not found anything of the sorts, but there is an example in the tests with lax.dot:
https://github.com/google/jax/blob/4d78d60a24f2cfd2b16a3cf8a2992b693ff1de05/tests/masking_test.py#L432-L437
The error you are getting is a length mismatch between mat and the in_shapes value you are declaring: "m" should be "(m, _)". Essentially, you are giving a matrix, but jax.mask is expecting a vector.
Since we are using jnp.dot, that second dimension needs to be a fixed value resulting in: in_shapes=["n", "(m, n)"]. However, I guess m takes into account only the leading value of inds_mat? Also, the resulting matrix will give "padded" values for shorter sequences:
masked_func = jax.mask(my_func, in_shapes=["n", "(m, n)"], out_shape="_")
jax.vmap(masked_func)([vec, mat], dict(n=inds, m=inds_mat))
> DeviceArray([[6., 6., 6.],
               [3., 3., 3.]], dtype=float32)

It's really great to see folks helping each other here! Actually it's impressive what you've figured out just by reading the code :) I'm sorry that I haven't been able to provide any useful help so far.
We're redesigning mask. That redesign, together with the fact that we've got our hands full with other tasks and support requests, means that we've made improving and documenting the current mask API a low priority (to the point where, in practice, we never get to responding in threads like this one, as much as we'd like to help).
Until we get our designs sorted out, I wouldn't recommend using mask unless you're just having fun experimenting. In addition to being undocumented, its implementation is incomplete and the error messages it gives are terrible, as you've already seen. And I don't expect them to get better in the near future, pending the redesign.
If you are just having fun experimenting, as for the question in the OP:

I am working with multiple time series of different lengths, that should all undergo the same operations.

Check out the "ragged batching" section of this gist. That shows a way to use vmap + mask together to operate on multiple time series of different lengths (using a scan). Instead of being concatenated/packed, the sequences are padded out to the same length and then operations on them are masked appropriately. That is, in terms of how many total FLOPs are expended, all sequences effectively have the maximum length. This approach can still be profitable on a parallel machine like a hardware accelerator, but I wanted to underscore that it's different from the concatenate/pack approach that I think the discussion in this thread is focused on (which is the approach you might see for RNNs on GPUs, for example).
To summarize, I don't recommend using mask, but we are working on this area and hope to provide some new solutions in the coming months. In the meantime, it's really helpful to have users raise issues like this, since it helps guide our work! (That's actually how I just rediscovered this thread: I was mining our issues page for examples that our new design must be able to handle.)

It's really great to see folks helping each other here! Actually it's impressive what you've figured out just by reading the code :) I'm sorry that I haven't been able to provide any useful help so far.
We're redesigning mask. That redesign, together with the fact that we've got our hands full with other tasks and support requests, means that we've made improving and documenting the current mask API a low priority (to the point where, in practice, we never get to responding in threads like this one, as much as we'd like to help).
Until we get our designs sorted out, I wouldn't recommend using mask unless you're just having fun experimenting. In addition to being undocumented, its implementation is incomplete and the error messages it gives are terrible, as you've already seen. And I don't expect them to get better in the near future, pending the redesign.
If you are just having fun experimenting, as for the question in the OP:

I am working with multiple time series of different lengths, that should all undergo the same operations.

Check out the "ragged batching" section of this gist. That shows a way to use vmap + mask together to operate on multiple time series of different lengths (using a scan). Instead of being concatenated/packed, the sequences are padded out to the same length and then operations on them are masked appropriately. That is, in terms of how many total FLOPs are expended, all sequences effectively have the maximum length. This approach can still be profitable on a parallel machine like a hardware accelerator, but I wanted to underscore that it's different from the concatenate/pack approach that I think the discussion in this thread is focused on (which is the approach you might see for RNNs on GPUs, for example).
To summarize, I don't recommend using mask, but we are working on this area and hope to provide some new solutions in the coming months. In the meantime, it's really helpful to have users raise issues like this, since it helps guide our work! (That's actually how I just rediscovered this thread: I was mining our issues page for examples that our new design must be able to handle.)

@mattjj Thank you for all the detailed comments here.
I am starting my adventure with JAX and other great libraries built around it.
In particular, I want to test Jraph library for GNNs, however, the example of masking they have throws an exception about broken masking in JAX.
Since the mask is not recommended right now I wanted to implement efficient masking by hand.
TLDR I need to apply  NN to padded batches (I have a boolean mask).
Right now I am using jnp.where to select masked parts and zeros for padding to save computations.
I am curious if this will be properly jitted to avoid the materialization of extra tensors of zeros?
Or maybe there is a better way of doing handmade masking?

I have the opposite problem; I have some fixed length arrays, and I want to drop a postfix of them (i.e., ignoring batching, a.at[x:].set(0))(to make the network work with variable length inputs, and reduce overfitting). What's the efficient way to do this?

We deleted mask, and the discussion here is almost 3 years old, so this issue is stale. If folks have questions about how to implement padded-and-masked computations, don't hesitate to open new issues! But I'm closing this one.


bug-fix release to include the VASP6 timiming fix

#71 fixed a major issue when working with VASP6. Without it, the aiida-vasp package would not be functional for VASP6.
Perhaps a bug-fix release (e.g. 2.0.2) would make sense?

@zhubonan, but we might as well do a 2.1.1? Alternatively we do a new release altogether. Thoughts?


selected group vehicles shown on live map

I want that once a particular group is selected , only the vehicles on that selected  group should be shown on the live map. what changes should i do?  please advice.

You need to modify MapController class.

Thanks  sir
Can you please guide what  modification I need to do in MapController ?

What kind of guidance do you need?

I want only vehicles on that selected group will show on map.  not other groups or all vehicle.  what necessary changes i need to do in  MapController as u suggested  before.

Do you want me to write code for you? If yes, send me an email to discuss it.

my e mail id is<EMAIL_ADDRESS>On Sun, May 8, 2016 at 5:39 PM, Anton Tananaev<EMAIL_ADDRESS>wrote:

Do you want me to write code for you? If yes, send me an email to discuss
it.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/tananaev/traccar/issues/1929#issuecomment-217712239

--
Mangesh Mane
Digital Icon Solutions
9822876332
#CCTV #CCTV-AMC #Computers & Laptops #Computer Accessories
#Computers/Networking AMC

My email address is in GitHub profile.


Add instruction to install haskell before running build commands

Add instruction to install haskell before running build commands

Fixes #1


Error running istanbul check-coverage --statements 90

Getting this error:
/Users/bavidar/.nvm/v0.10.26/lib/node_modules/istanbul/lib/object-utils.js:58
var line = statementMap[st].start.line,
^
TypeError: Cannot read property 'start' of undefined
Has anyone solves this problem?

@leore - Is this still an issue for you? I think that it's an easy fix that I can do an submit a PR for if it's still an issue for you or someone else.

I hit this problem recently. What solutions do you have in mind if you don't mind me asking, @guyellis?

https://github.com/gotwarlost/istanbul/blob/master/lib/object-utils.js#L59
@chengyin I was going to skip that section of code if statementMap[st] was falsey. Thought that would be better than having it fail.
Are you hitting this error as well?

This is most probably because it is trying to process a Json file that doesn't have coverage info. The error message is terrible and doesn't indicate which gold had the problem. If you want to submit a pr, you should probably focus on improving the message and / or skipping files that don't look like a coverage json

I did some investigation and this is what I got for our specific case:
The issue is caused by a mismatch between statements and statementsMap. The length of the two didn’t agree. One recorded more statements than the other for the same file.
I dug deeper and in our codebase, this is because we are using webpack inject-loader for our unit tests. If the injected version and the original version both get required, then there are two files registered to the same filename in Istanbul. The extra code for injection threw Istanbul off and eventually caused the exception.
Now that’s an issue that Istanbul doesn’t and probably shouldn’t deal with. There are multiple places in Istanbul runs into exceptions because of this. I agree better error message would help.
I plan to fork inject-loader and add Istanbul ignore comments for the injection related code. A different inject loader does this.

@chengyin I agree with @gotwarlost - would be great to also submit a PR for istanbul that did one or more of:

improved the message
skip files that don't look like coverage
and based on your use case also

checked that the lengths of statements and statementsMap were the same or printed an error
or did some checking while iterating through each one so that missing properties weren't use as in my previous comment.

As per my previous "fix" idea my feeling is that istanbul should still try and work and give a partially good result if not complete one while printing out error messages about what it can't do while processing.
i.e. given a choice between:

complete failure with no result and a good error message

AND

partial failure with some result and a good error message
I'd take the latter

Just so it may help others with the same error message, I had the same problem and it was a similar situation as the one reported by @chengyin: the same file with two different coverage information.
As we use broserify, the first was coming from a browserify transform (with browserify-istanbul) and the other from the karma-coverage preprocessor. Turns out, of course, the second is unnecessary and was causing problems when generating the report.

@gotwarlost since this is basically a mistake in the build process and also related to an external library, we should close this for good, don't you think?

@gotwarlost or create an FAQ from it?


Add support for attaching DOM event listeners declaratively in the template

Allow DOM events to be mapped to widget methods using a custom w-on*="<target_method>" attribute (e.g., w-onclick="handleClick"). When the DOM event is triggered in the DOM then the specified widget method will be invoked (with this being the widget instance) and two arguments will be provided to the widget method when invoked:

event - The raw DOM event object
el - The raw DOM element that the event listener was attached to (NOTE: This is not necessarily the same as event.target if the event bubbled up)

Example Usage
template.marko:
<div w-bind="./widget"
    w-onclick="handleRootClick">

    <input type="text"
        w-onchange="handleInputChange"
        value="Hello world">
</div>

widget.js
function Widget() {

}

Widget.prototype = {
    handleRootClick: function(event, el) {
        // "this" will be the widget instance!
        this.setColor('red');
    },

    handleInputChange: function(event, el) {
        var value = el.value;
        // Do something with the element
    },

    setColor: function(color) {
        this.el.color = color;
    }
};

module.exports = Widget;

Event Delegation
For performance reasons, whitelisted events that bubble will be handled differently from events that do not bubble. For whitelisted events that bubble, a single DOM listener will be attached to the document.body for each event type. For events that are not whitelisted or do not bubble, a DOM event listener will automatically be attached directly to the DOM element when needed.
When a whitelisted event that bubbles makes it to document.body, Marko Widgets will walk up the DOM starting at event.target to determine if the DOM event is mapped to any widget methods. The walk up will stop once the containing widget is reached (or the root of the DOM is reached). Special data-w-on* attributes (e.g., data-w-onclick="handleClick" will be added to the DOM to record the mapping of DOM events to widget methods.

Very cool. Nice job! Going to start using this right away.

Coding is done, but adding tests. Be patient :)

Work completed. New version of marko-widgets published<EMAIL_ADDRESS>


Slash (/) in video title causes application to lock up

When trying to download a video with an illegal character in the title such as a "/", youtube-dl locks up.
Example: youtube-dl "https://www.youtube.com/watch?v=lFSFdkXMOZo" with the title "Myself ; Yourself Ending Song (ENGLISH & JAPANESE LYRICS) |HD/HQ|"
Using "--restrict-filenames" does not solve the problem. However, getting the path with -g and downloading the video using an external program works.
Possible solution: Replace a / with an _.
youtube-dl -v "https://www.youtube.com/watch?v=lFSFdkXMOZo"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', 'https://www.youtube.com/watch?v=lFSFdkXMOZo']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2014.10.05
[debug] Python version 2.7.6 - Linux-3.13.0-36-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] Proxy map: {}
[youtube] Setting language
[youtube] Confirming age
[youtube] lFSFdkXMOZo: Downloading webpage
[youtube] lFSFdkXMOZo: Downloading video info webpage
[youtube] lFSFdkXMOZo: Extracting video information
[debug] Invoking downloader on u'https://r5---sn-35cxacf-nuge.googlevideo.com/[...]'

@cclassic latest youtube-dl veresions support the --force-ipv4 option (but it's still experimental).


Pre-trained weights.

Can please you share the link for the pretrained weights in order to do some testing and finetuning?
It is not found in the README file.
Thanks :D

Hey, I believe the dev has already answered this question in the closed issue https://github.com/kynthesis/StarSRGAN/issues/3


RuntimeError: cannot release un-acquired lock

Installed HASS and activated zwave module.
(
Compiled from the python3 branch with PYTHON_EXEC=python3 set.
Went far better than INSTALL_ARCH method and the script :)
)
But after enabling
15-09-29 23:13:46 homeassistant.bootstrap: Error during setup of component zwave
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/bootstrap.py", line 96, in _setup_component
    if not component.setup(hass, config):
  File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/zwave.py", line 67, in setup
    from openzwave.option import ZWaveOption
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 269, in __exit__
  File "<frozen importlib._bootstrap>", line 221, in release
RuntimeError: cannot release un-acquired lock

Awesome, you've got it compiling!
This seems to be an issue within Python Open Z-Wave, you might want to
consider opening an issue on their repo.
You should be able to repo it by running Python3 in interactive mode and
running this line:
from openzwave.option import ZWaveOption
On Tue, Sep 29, 2015 at 2:21 PM, Jonas Marklén<EMAIL_ADDRESS>wrote:

Installed HASS and activated zwave module.
(
Compiled from the python3 branch with PYTHON_EXEC=python3 set.
Went far better than INSTALL_ARCH method and the script :)
)
But after enabling
15-09-29 23:13:46 homeassistant.bootstrap: Error during setup of component zwave
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/homeassistant/bootstrap.py", line 96, in _setup_component
if not component.setup(hass, config):
File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/zwave.py", line 67, in setup
from openzwave.option import ZWaveOption
File "", line 2237, in _find_and_load
File "", line 269, in exit
File "", line 221, in release
RuntimeError: cannot release un-acquired lock
—
Reply to this email directly or view it on GitHub
https://github.com/balloob/home-assistant/issues/464.

--
PaulusSchoutsen.nl
It's nice to be important but it's more important to be nice.

Paulus, i'm totally lost on python :/
If i run that line python doesn't give any feedback
$ python3
Python 3.4.3 (default, Jul 28 2015, 18:20:59)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from openzwave.option import ZWaveOption
>>>
>>> print(ZWaveOption)
<class 'openzwave.option.ZWaveOption'>
>>> print(openzwave.option)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'openzwave' is not defined
>>>

I can help out with anything if you need that.

@TXC openzwave isn't defined as you didn't import it directly. For your second statement to succeed you'd need to do:
import openzwave.option

This does however seem to be a bug in the library you're using.


without a cookies-file newsblur does weird things

Newsboat version (copy from newsboat -v):
newsboat 2.10.1-r2.10.1-19-gbbfee
System: OpenBSD 6.2 (amd64)
Compiler: g++ 4.9.4
ncurses: ncurses 5.7.20081102 (compiled with 5.7)
libcurl: libcurl/7.55.1 LibreSSL/2.6.1 zlib/1.2.3 nghttp2/1.26.0 (compiled with 7.55.1)
SQLite: 3.20.1 (compiled with 3.20.1)
libxml2: compiled with 2.9.5
Steps to reproduce the issue:

Add newsblur as a newssource

urls-source "newsblur"
newsblur-login "user"
newsblur-passwordeval "gpg2 -q --for-your-eyes-only --no-tty -d /home/user/.passwd/newsblur.passwd.gpg"

Add a cookies-cache that doesn't exist
cookie-cache /home/user/.foobar/cookies.txt
start newsboat

**Other info you think is relevant
newsboat loads feeds from newsblur but not mine and shows tags that I do not have.
**Expected behavior
Do not start and complain about the non-existent cookies-cache

Thank you for reporting this! I don't know why Newsblur API returns something when the cookie is garbage, but I've added a check on startup and Newsboat shouldn't start if cookie cache doesn't exist and can't be created.


generate complete scenario test without a local charm repo

At the moment scenario snapshot is only able to guess the charm type name to use (from charm import X) to trigger the state execution if you execute it from the charm root (the charm repo). It searches for ./src/charm.py.
This is because the most common use case is: you are developing/debugging a charm that you have locally cloned, and if you create a snapshot, you probably want to put it in /charm-root/tests/scenario/snapshots/ and run them as part of your test suite.
This feature request is about a different user story:

you don't have access to the local charm root
there's a charm running somewhere on some cloud that you want to debug/inspect locally without having to clone the source repo first

Suppose you don't have access to the charm root, and want to trigger a snapshotted state. That would mean snapshot would have to fetch not only the state, but also the charm sources, libs, venv, etc... Basically clone the unit's /path-to/charm/ subtree in a local dir and prep it for use with the obtained state.
One would:

pip install ops-scenario[all]

which installs
ops, black, pytest, other deps

then run
/home/ubuntu/.local/bin/scenario snapshot demo-api-charm/0 --format=full-test  > my_excellent_test.py

that will ssh into the charm container, extract charm folder, copy to local machine
then generate readable pytest file with extracted CharmClass name

I would edit the test file to add an event name and probably some assertions

and finally pytest my_excellent_test.py

and then I could adjust the charm source, iterate over the test code, etc...

@phvalguima is this a good use case in your opinion?

use case is foggy IMHO and we have no concrete requests for it. Closing for now.


[RFE] Run local index on kube-burner failure

Is your feature request related to a problem? Please describe.
A kube-burner job can fail for any number of reasons. When a job fails, all pod measurements and data are lost.  This can be frustrating when the data from the failed run may hold some value in finding the root cause of the test failure.
Describe the solution you'd like
I would like improved error handling, such that regardless of why the create job might fail (expected error like a timeout, or unexpected errors), pod measurements and metrics profiles are still created and indexed (at least) locally.
Whether indexing needs to happen remotely, I am not sure. I think local indexing would be helpful for other tooling (e.g. prow) to backup the measurements/metrics for offline analysis while keeping this bad data out of the growing elastic/opensearch systems.

Closing this issue as a related PR: https://github.com/cloud-bulldozer/kube-burner/pull/441 is merged.


Fix build on nightly

rand hasn't been updated yet, so the test won't build.

I've amended the commit to include the new rand version, so it should be fine now.

Thanks!


auto-complete/intellisense extremely slow

Does this issue occur when all extensions are disabled?: Yes (tested both with extensions enabled, and with all extensions disabled; same behavior both cases)

VS Code Version:
Version: 1.79.0 (Universal)
Commit: b380da4ef1ee00e224a15c1d4d9793e27c2b6302
Date: 2023-06-07T14:29:00.206Z (6 days ago)
Electron: 22.5.5
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 22.5.0

OS Version: macOS Ventura 13.4

Starting very recently, approximately 2023-06-13T00:00Z, all auto-complete/intellisense functionality has slowed down dramatically, even though no updates to VS Code or installed extensions occurred recently.
Steps to Reproduce:

Open VS Code
In a .ts file, start typing a symbol or function, wait 5+ seconds for the editor to suggest auto-completion options

This occurs for a project with a decent-sized number of packages installed in node_modules (551 packages installed, with 8372 total files in node_modules). It does not occur, and performance is fine, when opening a single file. But the slowness experienced in the first case, with many installed packages, is new as of yesterday, didn't occur for the same project prior to yesterday.

Performance profile:
Profile-20230613T131326.json.zip

Additionally, the problem is resolved if I delete node_modules, but of course I can't leave these deleted. I also tried adding node_modules to the excluded files ("files.exclude": { "node_modules": true }) but this did not resolve the issue.

Does this reproduce in the latest VS Code insiders build with all extensions disabled?
If it does, can you share a project which demonstrates the issue?

@mjbvz this seems to have resolved after I updated to


FileBeat Not Starting Inside the Container

Cloned the repository and started the container but FileBeat doesn't seem to be starting automatically.
I had to log into the container and start FileBeat manually using the following command:
service filebeat start
I am also trying to start FileBeat using supervisord in a dot net core microservice, not sure if it has something to do with FileBeat

Please run this command. CONTAINER_ID should bu your container ID
docker exec -it CONTAINER_ID bash

After that could you send me this command results
cat /var/log/supervisord/supervisord.log

root@e85344019c1c:/app# service filebeat status
[FAIL] filebeat is not running ... failed!
root@e85344019c1c:/app# cat /var/log/supervisord/supervisord.log
2018-04-29 16:37:21,611 CRIT Supervisor running as root (no user in config file)
2018-04-29 16:37:21,615 INFO supervisord started with pid 1
2018-04-29 16:37:22,618 INFO spawned: 'value-service' with pid 8
2018-04-29 16:37:22,620 INFO spawned: 'filebeat' with pid 9
2018-04-29 16:37:24,256 INFO success: value-service entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2018-04-29 16:37:24,256 INFO success: filebeat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Including the log. Even thought the log says filebeat entered into RUNNING it is not running
Check the first line of the log with which I am verifying the status.

Filebeat service manages by the Filebeat-god. That means it's a different process. You can not check process like that. You already have a running Filebeat process and it's managing by Superviserd.
When you run the following command you will see 2 different Filebeat processes. One is started by Superviserd and other is started by you.
docker top CONTAINER_ID

You don't need to use Filebeat service. Filebeat already managing by Superviserd. Please check http://supervisord.org/ documentation.

Thanks for the clarification.
However I have another observation, when I am starting the container the Filebeat log folder is not created and no logs are generated here.
"/var/log/filebeat"
But if I start the service using "service filebeat start" the log folder is created and log files are being generated.

Because they are writing another directory, which is defined in https://github.com/burakince/aspnetcore-supervisor-filebeat-example/blob/d7e726ee424807750ff28a2370d12dc226857588/supervisord.conf#L4 line. You can find all logs in that directory ( /var/log/value-service ). I strongly recommend you http://supervisord.org/ documentation. Because all process managing by Superviserd in this example.

Could you send me following command results?
ls -al /var/log/value-service

root@d7d7d6abe36e:/var/log/value-service# ls -al
total 36
drwxr-xr-x  2 root root  4096 Apr 29 17:29 .
drwxr-xr-x 12 root root  4096 Apr 29 17:29 ..
-rw-------  1 root root 18930 Apr 29 17:30 filebeat-stderr---supervisor-rXfbN1.log
-rw-------  1 root root     0 Apr 29 17:17 filebeat-stdout---supervisor-Hea7GL.log
-rw-------  1 root root     0 Apr 29 17:17 value-service-stderr---supervisor-QOehaY.log
-rw-------  1 root root   665 Apr 29 17:17 value-service-stdout---supervisor-gSIgu2.log

And could you run following command?
service filebeat stop

After that could you send me following command results?
docker top CONTAINER_ID

docker top d7d7d6abe36e
PID                 USER                TIME                COMMAND
27055               root                0:00                {supervisord} /usr/bin/python /usr/bin/supervisord -c /etc/value-service/supervisord.conf
27083               root                0:01                dotnet /app/ValueService.dll
27084               root                0:00                /usr/share/filebeat/bin/filebeat -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat -e -c=/etc/filebeat/filebeat.yml

Cool! :) We have running filebeat process and it writing all errors to /var/log/value-service/filebeat-stderr---supervisor-rXfbN1.log file. Errors make sense in here because in https://github.com/burakince/aspnetcore-supervisor-filebeat-example/blob/d7e726ee424807750ff28a2370d12dc226857588/filebeat.yml#L155 line we defined localhost:5044 for logstash server but you don't have any logstash server in there. So we can change that line with real logstash server IP address or domain name. After that is should send all logs to logstash.

Could you try it and send me results?

Let me connect it directly to my Elastic Search instance and update the yml file and share the results with you.
Has been fun interacting with you :)

How do I restart Filebeat running under supervisor if I making a change in the yml file?

 Superviserd will create another filebeat process with your new configuration file. But I do not recommend this way.

-rw-------  1 root root 15490 Apr 29 14:12 filebeat-stderr---supervisor-6dzpYx.log
-rw-------  1 root root     0 Apr 29 14:03 filebeat-stdout---supervisor-Z1082w.log

When i run the service the "filebeat-stderr" seems to be updated and I can see the logs in Elastic Search
It seems to be working now. I added this to my supervisord config file:
childlogdir=/var/log/micro-service
I created the DockerFile using the aspnet core base image and included FileBeat as part of the Docker Image.
https://github.com/neeldeep/Dot-Net-Core-MicroService-FileBeat/blob/master/MicroserviceTest/Dockerfile
Also what is your thought in running FileBeat in a different container?

You can mount your log directory to host machine and you can read them with Filebeat. In that case, you can install Filebeat on the host machine. Or you can use a different container. But in this case, you don't need to use Superviserd. Because you have just one process in your container.


DSD-180: StatusBadge Component Set Default Width

Jira ticket: https://jira.nypl.org/browse/DSD-180
This PR does the following:

Sets a default width of fit-content to StatusBadge component and adds more padding inside to match Figma. Previously, this component would just expand full width, and require custom styles. But in all cases in Figma, the component's width should match the width of the inner text.

Front End Review:

[ ] View the example in Storybook

@kaplanmichael I added the prefix for moz FF. Also, this is pre-existing, but we're setting the border radius with this:
border-radius: 4px;

Should this use a css var instead of hardcoding a specific px value?

Yes, @wluisi if you wouldn't mind using  --space-xxs, that would be great!  Thanks!


TH Param Spring Cleaning: inconsistent centerline temperature adjective

The adjective for "centerline" in centerline temperature parameters do not have a consistent naming scheme. For example:

CL in THTfuelCL, and
Centerline in TH0SigmaFuelCenterlineT

are not consistent.
The two obvious ways to resolve this are:

change "CL" to "Centerline"
change "Centerline" to "CL".

Additional options could also be considered. Another possibility is that both could be changed to some abbreviation of centerline (e.g. cntrln)?
Thoughts?
Parent Issue #970

@dlangewisch @andfranklin @jakehader Opinions on naming?

One vote for CL. I don't like cntrln

I think CL is acceptable. It's terse, unlikely to clash with anything else, and easy to remember. Count it as two votes for CL.

These ticket has been open for 7 months.  Can we close them, or at least close them all but the umbrella ticket, and move this one variable name change into the umbrella?


Account Deletion

Specification
One of the most asked feature on support. It will not be available for accounts with transactions, this one will be proposed  the "deactivation" feature.
Frontend side
Add a form to delete a collective (User or Organization)

This should be an additional form in the "Advanced" section of EditCollectiveForm
This should be using a new separated component: ie: DeleteCollective or together with the archive form ArchiveOrDeleteCollectiveForm
The Component should use the following layout:

Delete this Organization|Collective|Account
-------------------------------------------

This will delete this organization|collective|individual account
and delete all related data such as: memberships, payment methods etc ...

 --------------------------------------------------------
| Delete this organization|collective|individual account |
 --------------------------------------------------------

There needs to be a confirmation screen (before the action: are you sure you want to do that?)
On success, a confirmation page is displayed. If it's a user account, the user should be logged out (delete the token).
If deletion is not available for the account (check the property returned by the API), the interface should be disabled and it should be explained why.
Every string in the UI should be localize.

API side

Add a GraphQL mutation to delete an account (named a collective in the model)

When deleting an account, behind the scenes (synchronous today / async later):

check that the authenticated user is an admin
check that the account is available for deletion
delete (soft delete)

payment methods
tiers
memberships (soft delete)
connected accounts (soft delete)

if a user, delete
non-paid expenses
user entry in the the user table
finally delete the account/collective itself (soft delete)

Add a GraphQL property to know if a collective is deletable.

This should check if there is any recorded transaction (Order, Transaction, Paid Expenses), and return false if that's the case.

Closed in #1819 and #1574.


Modify Header Value Match action to pivots on expecting match

The Header Value Match action sets a descriptor entry depending on if the expected outcome of comparing request headers to the config is to match or not.

@lyft/network-team


feat: add wallet client optional for all the modals

Due to some codebases not being able to migrate fully to wagmi, creating a custom client can help during the transition.
Ive added that so users can override the client!

Going to merge this into a local branch so I can test and make some revisions directly since it will be faster. Thanks for the contribution!


Add RavenContext and Breadcrumbs helper.

This builds on https://github.com/getsentry/raven-java/pull/216

Does this comment make any more sense? https://github.com/getsentry/raven-java/blob/2e37aa3019817afa8e1ed020de07ea1c734eedca/raven/src/main/java/com/getsentry/raven/RavenContext.java#L19-L31

To recap this PR, this isn't code integrating with logging frameworks yet. This is for supporting users doing things like,
Breadcrumbs.record(<a build crumb of useful info>) within their app. A next step (maybe here?) is to hook into servlet API to clear crumbs after each req.
My thought was after this PR we can look into how users will setup secondary loggers with "lesser" levels, so that breadcrumbs collect WARN but are later sent by another logger with ERROR.

Does this comment make any more sense? https://github.com/getsentry/raven-java/blob/2e37aa3019817afa8e1ed020de07ea1c734eedca/raven/src/main/java/com/getsentry/raven/RavenContext.java#L19-L31

Yeah, this is way better. I kept overlooking the static keyword for some reason, so highlighting that makes a lot more sense. 👍
Is there any reason not to implicitly activate the RavenContext object when the Raven instance is created? I can't think of another place where it'd make sense to activate the context, unless you had one in mind.

A next step (maybe here?) is to hook into servlet API to clear crumbs after each req.

Makes sense as a follow-up.

Is there any reason not to implicitly activate the RavenContext object when the Raven instance is created?

Nope, agreed, and this is what Python does.

👍


[BUG/YOUTUBE] can't get youtube's video upload_date when downloading info from playlist.

Checklist

[ x ] I'm reporting a broken site support issue
[ x ] I've verified that I'm running youtube-dl version 2021.12.17
[ x ] I've checked that all provided URLs are alive and playable in a browser
[ x ] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ x ] I've searched the bugtracker for similar bug reports including closed ones
[ x ] I've read bugs section in FAQ

Verbose log

youtube-dl -v --get-filename --flat-playlist --playlist-end 50  -o '{"%(id)s","%(duration)s","%(upload_date)s"}' https://www.youtube.com/watch\?v\=sjNRpkQd68s\&list\=UUr8oc-LOaApCXWLjL7vdsgw
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--get-filename', '--flat-playlist', '--playlist-end', '50', '-o', '{"%(id)s","%(duration)s","%(upload_date)s"}', 'https://www.youtube.com/watch?list=UUr8oc-LOaApCXWLjL7vdsgw']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.4 (CPython) - Linux-5.16.14-arch1-1-x86_64-with-glibc2.35
[debug] exe versions: none
[debug] Proxy map: {}
{"sjNRpkQd68s","239.0","NA"}
{"COxrEesdRjk","250.0","NA"}
{"5gFutO20uKA","214.0","NA"}
{"iAHqbXzN_Mk","229.0","NA"}
{"QOWtPSRfJG8","209.0","NA"}
{"myT3fz2WX_U","184.0","NA"}
{"3IqakRHVcyw","170.0","NA"}
{"ngLoYqHKFYM","225.0","NA"}
{"Alu8o0OyhTM","344.0","NA"}
{"iAhToBXzW_o","187.0","NA"}
{"jczlW-SQk0A","229.0","NA"}
{"Z4xOdxWahEE","232.0","NA"}
{"vNpdZbz7X3A","273.0","NA"}
{"ZnE2hVzB3H0","249.0","NA"}
{"UjOCFUhoC5M","276.0","NA"}
{"Ga5Dr_JBHqE","237.0","NA"}
{"i-z8duJIYBE","251.0","NA"}
{"TRqrChB3iOM","251.0","NA"}
{"nFq6xBI5vC0","219.0","NA"}
{"eQN1h5d5qR8","227.0","NA"}
{"6JauWWN62aQ","231.0","NA"}
{"8SWUXurJPNA","223.0","NA"}
{"F9aU8KZoS5c","249.0","NA"}
{"r_sV2XScwTM","212.0","NA"}
{"vST6Z7XOA58","254.0","NA"}
{"epWr9E3rB5g","250.0","NA"}
{"9YwWGvbqWSI","263.0","NA"}
{"7a3IsI8h2-s","314.0","NA"}
{"RSVw5hEomKM","325.0","NA"}
{"5t1hD6L3KA4","251.0","NA"}
{"31yoffwZd6M","277.0","NA"}
{"HVU5ApnXJSM","201.0","NA"}
{"QK-gX1nVtuI","261.0","NA"}
{"366yT-8gxPw","271.0","NA"}
{"oAVrEB4rROY","235.0","NA"}
{"4v4loxBkW5E","209.0","NA"}
{"Zaf5bb7wjaM","291.0","NA"}
{"hY2IB2gGC14","227.0","NA"}
{"ff0W3CAHksM","254.0","NA"}
{"9tW9XYbyW3s","256.0","NA"}
{"TfA-GRTccMw","236.0","NA"}
{"OnWoIn3fRzk","218.0","NA"}
{"U7EJIri14HQ","227.0","NA"}
{"lVEG_wOBGi4","245.0","NA"}
{"O_s7R5PqNdI","267.0","NA"}
{"xRDDPdt09Po","316.0","NA"}
{"J0DOta5QiAM","203.0","NA"}
{"2sLHwuW8Tjc","151.0","NA"}
{"l3nVRW29xHk","241.0","NA"}
{"XRv1-Jn6AXQ","190.0","NA"}

Description

Like title says: upload_date - having "NA" value when I'm trying get info about individual videos.
It works for an individual videos:
youtube-dl -o '%(upload_date)s.%(ext)s' "2sLHwuW8Tjc"
[youtube] 2sLHwuW8Tjc: Downloading webpage
[download] Destination: 20220131.mp4

and drops proper json dump:

It might be because of the client. For example, I think only the WEB and MWEB return the date:
{Name:MWEB Version:2.20220322.05.00} "2022-03-25"
{Name:WEB Version:2.20220325.00.00} "2022-03-25"

where the others dont:
{Name:ANDROID Version:17.12.34} ""
{Name:ANDROID_EMBEDDED_PLAYER Version:17.12.34} ""
{Name:TVHTML5 Version:7.20220323.10.00} ""
{Name:WEB_CREATOR Version:1.20220324.00.00} ""
{Name:WEB_EMBEDDED_PLAYER Version:1.20220323.01.00} ""
{Name:WEB_KIDS Version:2.20220323.08.00} ""
{Name:WEB_REMIX Version:1.20220321.01.00} ""

https://github.com/89z/mech/blob/v1.50.5/youtube/client.go#L9-L19

--flat-playlist tells yt-dl not to extract the items in the playlist, but just to assemble the playlist with the IDs of its items. So the upload_date is not known. If you stop hitting yourself with a hammer, the pain will go away.

If you stop hitting yourself with a hammer, the pain will go away.

Seems you're right...
But those queries for separate videos are soo long...
time echo "[$(youtube-dl --get-filename --playlist-end 10  -o '{"id": "%(id)s","duration": "%(duration)s", "upload_date": "%(upload_date)s"},' https://www.youtube.com/watch\?v\=sjNRpkQd68s\&list\=UUr8oc-LOaApCXWLjL7vdsgw | sed '$ s/.$//')]" | jq
youtube-dl --get-filename --playlist-end 10 -o    1,74s user 0,09s system 4% cpu 44,496 total
sed '$ s/.$//'
---
echo   1,74s user 0,09s system 4% cpu 44,497 total

Thanks anyway. Case closed.

The YT extractor does a lot of work, especially to get playable URLs. It might be possible to detect the case where the extracted data is only going to be used to print a few fields like duration and skip the extraction work that won't be used, but the extractor's structure doesn't make this easy.


Add Azure.Batch AssemblyAttributes version info

test this please

This is I believe the last change needed before we can ship our new C# library to nuget.  It would be great to get this reviewed ASAP.


Remove use of deprecated SlingSettingsService in HelloWorldModel.java

HelloWorldModel.java creates "Open Issue" the CS CICD pipeline.
Expected Behaviour
CICD pipeline should not produce any open issues based solely on the archetype since this is considered best practice for AEM projects.
Actual Behaviour
Code Scanning produces an Open Issue for HelloWorldModel.java. It seems like the rules of CICD seem to be updated recently to include deprecated code and HelloWorldModel.java contains deprecated code apparently. https://docs.adobe.com/content/help/en/experience-manager-cloud-manager/using/how-to-use/assets/CodeQuality-rules-latest.xlsx

File Location
Line Number
Issue
Type
Severity
Effort
Rule
Tags
Documentation

com.adobe.training:devops.core:src/main/java/com/adobe/training/devops/core/models/HelloWorldModel.java
45
Remove this use of "SlingSettingsService"; it is deprecated.
Code Smell
Minor
15min
squid:CallToDeprecatedMethod
cert,cwe,obsolete
https://www.adobe.com/go/aem_cmcq_calltodeprecatedmeth_en

Reproduce Scenario (including but not limited to)

Create a project based on Archetype 23+
Check your code into Cloud Manager Git
Rune a CICD pipeline
Observe the deprecated important issue produced

Agreed, we need to remove the deprecated SlingSettingsService in the generated model of the HelloWorld component:
https://github.com/adobe/aem-project-archetype/blob/master/src/main/archetype/core/src/main/java/core/models/HelloWorldModel.java#L45
While at it, also remove the output of which instance is running at line 63:
"This is instance: " + settings.getSlingId() + "\n"

I don't see class org.apache.sling.settings.SlingSettingsService being deprecated in either https://github.com/apache/sling-org-apache-sling-settings/blob/ccabdd306892b7c1a2675ce7190a67c546e1ce25/src/main/java/org/apache/sling/settings/SlingSettingsService.java#L36 nor in the latest SDK at https://repo1.maven.org/maven2/com/adobe/aem/aem-sdk-api/2020.10.4329.20201007T024940Z-200924/aem-sdk-api-2020.10.4329.20201007T024940Z-200924.jar. To me this rather looks like a false positive. @gabrielwalt Can you explain?

@kwin , check https://repo1.maven.org/maven2/com/adobe/aem/aem-sdk-api/2020.10.4423.20201028T010735Z-201028/

It's correct that we didn't deprecate the class in Sling as - in the general usage of Sling - this class still makes sense; it does not make sense in AEM as a Cloud Service. Therefore we only deprecate it in the API jar (the aem-sdk-api that vlad linked).

that hopefully gets rid of all these hardcoded "I can only run on author" services" 👍

What is the recommended way then to figure out if I am on author or on publish (there are a few edge cases where this is useful)? ACS AEM Commons has a helper relying on that in https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/fe1d698b3012909597490690b4fbcd054a10f4fa/bundle/src/main/java/com/adobe/acs/commons/util/ModeUtil.java#L180.

Can you explain these edge cases? Under what circumstances isn't it possible to rely on OSGI configuration policy?

One edge case is described in https://github.com/adobe/aem-core-wcm-components/pull/1248#issuecomment-723634334. Having a mandatory configuration just on author just to figure out one is on author, feels really awkward and complicated!


Implement bachnorm layer and add it to some tests

https://en.wikipedia.org/wiki/Batch_normalization
https://penkovsky.com/neural-networks/day4/
I'm sure there are good blog posts about that. Looking this up in pytorch and/or tensorflow API may help, too.
Perhaps adding this to the existing tests with convolutional and recurrent neural networks would be a good idea. We could measure how the training improves. With batchnorm perhaps we could switch activation function to relu, in examples where it's not already relu, and not lose convergence. Probably normalizing data from -1 to 1 (zero mean, unit variance) would also be useful for relu, so a convenient tools for normalizing is a related task (probably batchnorm is just much more general, e.g., it needs to be differentiable).
Two other keywords that may be related or may be even the same thing as one of the above, so worth googling:

regularization functions, to keep params not too small or big

activity_regularizer: Regularizer function applied to the output of the layer (its "activation")

A TODO left over from an experimental implementation of the algorithms in https://arxiv.org/pdf/2202.08587.pdf mentions similar kewords. When this ticket is closed, let's create a new one that mentions the parts of the TODO not completed and clarifies the terms used.

Consider weight decay instead of normalization/regularization/gradient clipping. Verify if it's on by default in pytorch or tensorflow. When the forward gradient paper is published with source code, verify what they have used to avoid gradient explosion. If nothing, investigate why I'm quikly getting NaN in mnistTestCase2D 1024 1024 test and they don't.

Related transcript from datahaskell/lobby (https://matrix.to/#/!JSHTXUPHaIJhjEINXX:matrix.org?via=m.topoi.dev&via=gitter.im&via=matrix.org) follows the line:

Man of Letters
Hi!  It’s basically Algorithm 1 on page 3 and Algorithm 2 on page 4.
Man of Letters
Man of Letters
Oh, thanks, well explained, definitely easier to follow than source code of tensorflow or pytorch --- BTW, is that exactly what they are implementing as batch normalization? Things could have changed since 2015...
anton_5
From the TF docs https://www.tensorflow.org/api_docs/python/tf/keras/layers/BatchNormalization it appears to me that it’s implemented exactly as discussed in the aforementioned paper. See “During training” and “During inference” sections.


Bugs with the touchscreen editor.

This is one of those things where I don't really have enough information to raise the issue properly. Nonetheless I want to track the issue to ensure it doesn't get lost.
There seem to be two vaguely separate issues with relation to  touchscreen computers - laptops, ultrabooks, large-screened devices with touchscreens.
Firstly, some people are reporting that the editor doesn't work for them in Chrome on Windows on these sorts of devices.
Secondly, regardless of whether the editor works or not, these devices have mouse and keyboard as their primary inputs, so the touchscreen editor is not the right thing for them.

Orion editor works on touch screen well (because Orion editor is directly use contenteditable, not simulate everything)


Bug: Event listener Activated result type seems wrong for toast notification

Which crate is this about?
windows
Crate version
0.29.0
Summary
Context : I'm making a tauri app where i need to launch a os notification from a tauri command. In the beginning  i was using a "easy to use" crate for notification, but they don't have the possibility to make actions and listen to them. So i found this library where i think it can handle what i need. I started a implementation where i can show a notification toaster with two button and attach a listener to it like this :
  let toast_notification = ToastNotification::CreateToastNotification(toast_xml).unwrap();

  toast_notification.Activated(TypedEventHandler::new(|sender, result: | {
    println!("activated");
    Ok(())
 })).unwrap();

  toast_notification.Dismissed(TypedEventHandler::new(|sender, result| {
    println!("dismissed");
    Ok(())
  })).unwrap();

  toast_notification.Failed(TypedEventHandler::new(|sender, result| {
    println!("failed");
    Ok(())
  })).unwrap();

Expected behavior
Since the result type of the Dismissed event is ToastDismissedEventArgs and the result type of Failed event is ToastFailedEventArgs i suspect that the result type of Activated must be of type ToastActivatedEventArgs
Actual behavior
Result type of Activated listener is currenlty of IInspectable and if found this in the source code :
    #[doc = "*Required features: 'UI_Notifications', 'Foundation'*"]
    #[cfg(feature = "Foundation")]
    pub fn Activated<'a, Param0: ::windows::core::IntoParam<'a, super::super::Foundation::TypedEventHandler<ToastNotification, ::windows::core::IInspectable>>>(&self, handler: Param0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
        let this = self;
        unsafe {
            let mut result__: super::super::Foundation::EventRegistrationToken = ::core::mem::zeroed();
            (::windows::core::Interface::vtable(this).11)(::core::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
        }
    }

Failed event from source code :
    #[doc = "*Required features: 'UI_Notifications', 'Foundation'*"]
    #[cfg(feature = "Foundation")]
    pub fn Failed<'a, Param0: ::windows::core::IntoParam<'a, super::super::Foundation::TypedEventHandler<ToastNotification, ToastFailedEventArgs>>>(&self, handler: Param0) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
        let this = self;
        unsafe {
            let mut result__: super::super::Foundation::EventRegistrationToken = ::core::mem::zeroed();
            (::windows::core::Interface::vtable(this).13)(::core::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
        }
    }

Additional comments
For now i'm using this turnaround :
toast_notification
    .Activated(TypedEventHandler::new(
      |sender, result: &Option<IInspectable>| {
        println!("activated");
        let t: &IUnknown = &result.as_ref().unwrap().0;
        let t: ToastActivatedEventArgs = t.cast().unwrap();
        println!("{:?}", t.Arguments());
        Ok(())
      },
    ))
    .unwrap();

The windows crate merely matches whatever is described in metadata and it looks like the API in question is designed this way (object in C# equates to IInspectable).

Is there a way this could be fixed in the metadata? Or would "fixing" this to use the correct type require adding a new function to the metadata?


Setup repo

📦 Published PR as canary version: 0.0.1-canary.1.f552b360ccab5f6fb3339c0519def8ea1b53e2e2.0

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:

:rocket: PR was released in v0.0.5 :rocket:


Revert "systemd: add Provides: for the "bootstrap" package names"

This reverts commit e2f7ca6f2f705b2447aa3e98f6ef8bf76ec6f08f.
This commit exposes a limitation in our build-cycle resolution code. Will need to fix it, but revert in the meantime.
We should not have been able to publish this package as-is, so I believe the revert of the release number is ok.
Bug: https://microsoft.visualstudio.com/OS/_workitems/edit/49601294
Build: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=533021&view=results

I won't make any comment on what the toolkit needs or how to fix it, but keep in mind that package upgrades to the entire systemd package WILL BE BROKEN until this revert is unreverted. The systemd rpm macros MUST be available when building systemd.

I won't make any comment on what the toolkit needs or how to fix it, but keep in mind that package upgrades to all the systemd packages WILL BE BROKEN until this revert is unreverted. The systemd rpm macros MUST be available when building systemd.

oh sorry I thought you were reverting #8471? The bug referenced that PR, not #8467?
Reverting #8467 is simply annoying, so that's fine (but disappointing that the toolkit can't handle it). If that's really all the toolkit needs to unbreak itself.


Add metadata in description

I'm not sure what Alfred calls the second line of each item, but here's what I mean by "description," using forecast as an example:

It'd be great if that line could include metadata such as:

last modified date
creation date
whether it's my file or shared with me
parent folder

I'm not sure how best to format those or if they'd all fit, but having some of that information displayed -- at the very least last-modified -- would be really helpful.
Thanks for this helpful workflow!

sounds great - will work on this weekend


Bump to v0.0.20

I am not sure what is going on with the rpms but I am going to merge.  And then tag a release and see if the test starts passing.
@smooge @lsm5 do you know what is happening?

RPM build errors:
    File not found: /builddir/build/BUILDROOT/python-ramalama-0.0.19-1.20241021192157934603.pr349.58.g81f3ad8.fc40.x86_64/usr/lib/python3.12/site-packages/ramalama-0.0.19.dist-info

Failed fedora copr builds: https://copr.fedorainfracloud.org/coprs/packit/containers-ramalama-349/build/8163678/ . See the builder-live.log.gz against each target.

I bumped the version in the spec file after cutting the release.  I can bump them again simultaneously to see if this fixes the problem.


Coefficient bug with derivative calculator

If there is a coefficient in front of any trig function, lnx, or e^x the calculator does not work properly.

Fixed with patch-deriv-2


luacrypto: add luacrypto (WIP)

Import luacrypto from
https://github.com/mkottman/luacrypto
d519433bc037cb8010a4fcb1c83a89519cc3c99a
It seems to work but I don't know if it is the right direction.

It's certainly a start. We will want to fork the project and add RSA signature verification.

@rphillips How does that patch look? I can send it upstream if it seems sane.

Next up is working on x509

looks good... it would be good to fork lua-crypto and submit a PR for review. It's a little difficult to see the changes in this PR.

The only change is in da4c0e5

lgtm, +1. Thanks for pointing out that patch.


Fix redirect loop

Add temporary fix for redirect loop.
Also moved the db.commit() to run before any yield.

Looks good. Thanks for finding this ... I was lost :sob:


indented arguments weirdness

I'm not sure this is a bug, it smells weird to me, thought I'd report
obj
  .method
    param: "val" # Line contains inconsistent indentation
obj.
  method
    param: "val" # Line contains inconsistent indentation
obj
  .method(
    param: "val" # Line contains inconsistent indentation
  )

obj
.method
  param: "val" # Line contains inconsistent indentation

obj.
method
  param: "val" # Line contains inconsistent indentation

obj
.method(
  param: "val" # Line contains inconsistent indentation
)

obj
  .method()
obj.
  method()
obj
.method()
obj.
method()

a = () ->
  obj # Line contains inconsistent indentation
  .method
    param: "val"
  obj
  .method
    param: "val"
a = () ->
  obj. # Line contains inconsistent indentation
  method
    param: "val"
  obj.
  method
    param: "val"
a = () ->
  obj # Line contains inconsistent indentation
  .method(
    param: "val"
  )
  obj
  .method(
    param: "val"
  )
a = () ->
  obj # Line contains inconsistent indentation
  .method(
    param: "val"
  )
  obj
  .method(
    param: "val"
  )

@ddlsmurf: Out of curiosity, do you consider all of these cases valid or just inconsistent?

That's a good question. I wouldnt mind avoiding some formats to avoid indenting-related surprises in the generated js, but I don't really have any suggestions about that...

Is this supposed to be flagged? It seems like whether or not the below code is flagged depends on whether the dots appear on even column numbers or odd (odd numbers trigger the error):
$('#some_element').attr('disabled', false)
                  .removeClass('disabled')
                  .val(someValue)

We follow this style of indentation for our Ruby code as well (using Rubocop) and I couldn't figure out if there was a linter option for this or not, but it seems like this style of indentation is sometimes marked as valid and sometimes invalid depending on what column the first dot appears at.


giving kudos

how can I give kudos? It's documented in Strava's api, but here there is only retrieve kudos
thanks

Hello @OzQu, according to the information from the https://developers.strava.com/ soon we will have library developed by Strava as I understand.
Please see Client Libraries section. Hope that it will be really soon

Code sample from docs with usage of the new library:
var StravaApiV3 = require('strava_api_v3');
var defaultClient = StravaApiV3.ApiClient.instance;

// Configure OAuth2 access token for authorization: strava_oauth
var strava_oauth = defaultClient.authentications['strava_oauth'];
strava_oauth.accessToken = "YOUR ACCESS TOKEN"

var api = new StravaApiV3.AthletesApi()

var id = 56; // {Integer} The identifier of the athlete.

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.getAthleteById(id, callback);

That's great! Any idea when that is going to be published? Just that it's sad that at the moment there is no up to date library, not from community or Strava itself.

@OzQu They gonna release new update of the API January 15, 2018. Hope that the libraries also will be ready. You should receive this email from Strava Team. Subject: Activity-update webhook events coming Jan 15

Looks like Strava isn't supplying a new JavaScript library, but instead is suggesting that user's use Swagger to use code-generation to generate their own JavaScript client. This could work, but code-generated interfaces can be ugly and awkward to work with. Look at the sample that Swagger provides about a fake "Pet Store" project generated with the project:
https://github.com/swagger-api/swagger-codegen/tree/master/samples/client/petstore/javascript-promise/src/model

I Installed Swagger on Ubuntu Linux today and only found an option to generate nodejs-server code. No option was found to generate Node.js client code for the Strava swagger file. So it's not clear to me that Strava is actually supporting a Node.js client through Swagger. Please correct me if I'm wrong here.

@markstos you can create a node.js client using https://github.com/swagger-api/swagger-js
You likely will need to provide your own fetch implementation using something like https://github.com/lquixada/cross-fetch

@markstos I'll put something together and get back to you. Looks like swagger-js already uses cross-fetch, so that step isn't necessary.

@svanzoest is there any advantage using your provided swagger code instead of this module? Any additional functions to use?

In theory, the Swagger code supports a maximal amount of features and is maximally up to date and officially supported.
Practically: Good luck. I just checked out the Github repo above and it doesn't document what method names are provided. It links to the Strava Swagger Playground. I followed the link. I didn't see how the Node.js method names are derived there either. So I read the source code in the new git repo. No method names are contained there either, as the entire API is apparently generated on the fly.
Somewhere I'm sure there is away to find all the docs for the method names and the structures returned.
If someone developers a Swagger-based client for Strava with decent docs, I'll take another look. In the meantime, this module works well enough for my needs, has some documentation and lacks the layer of magic and complexity that the Swagger code-gen solution contains.

@lavolp3  What @markstos is saying is correct. It wraps the swagger document to create the API.
The majority of the heavy lifting is actually done by swagger-client and uses the tags interface.
Strava recommends using a Swagger Code Generator and that is basically what I have done an initial version of for JavaScript. Their example is for Java.
All the methods are defined by the Swagger/OpenAPI document provided by Strava, so if Strava makes a change this is very easily integrated in the client library.
The way I started documenting the API is by writing tests.  This is also a good way to keep track of the API changes when it loads in a new Swagger Document. It also should not be too difficult to automatically make documentation for the API based on the Swagger document, so you know the exact methods and structure, however, this is not something I have spent any time on. I wanted to publish this as soon as it was functional. It is therefore best to review the tests and Strava Swagger Playground for full understanding of the API.
The swagger document does not take into account a bunch of nuances such as image upload and oauth, so I still think it is best to use this library. There is nothing wrong with this library :) I actually contributed to this library to support binary uploads better, as that was no longer functioning after a refactor.
Since the current swagger document provided by Strava does not provide full oauth flow, it is something that needs to be specifically coded as this library does. So, in regards to the swagger generated version, that either needs to be added or the appropriate oauth configuration needs to be added to the Swagger/OpenAPI document for that functionality to be available.
My main reasoning for building the swagger version is that in the long run it will be easier to maintain, but since it may not provide all the functionality you are looking for it might be better to use this library instead. It really depends on what functionality you need.

Closing since no one has provided a patch for this since 2017. As the conversation above indicates, using Swagger-generated client code is another option-- that approach should support all the Strava API features except perhaps the OAuth flow.


How to remove comma from  Url.ArticulateTagUrl

How would you remove the comma (,) from the tags listed in the following list? The tags currently show up as: tag1, tag2, tag3, etc. I am trying to get them to not be separated by the comma, similar to how it is with TagCloud.

                              @Html.ListTags(Model,                                                     @@item)

ListTags has a delimeter parameter, have you tried setting it to string.Empty?

  @Html.ListTags(Model, @@item, delimiter: string.Empty)


Correct link to contribution-guidelines repo

Incorrect link to contribution-guidelines repo in the dos-and-donts.md

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

https://people.sap.com/thomas.jung

https://people.sap.com/marco.buescher

Hi @marcobuescher - can you tell us why you added your SAP Community profile URL to this PR?

That was a mistake, I forgot to delete it…sorry…
Von: DJ Adams @.>
Gesendet: Dienstag, 29. Juni 2021 10:53
An: SAP-docs/contribution-guidelines @.>
Cc: buescher @.>; Mention @.>
Betreff: Re: [SAP-docs/contribution-guidelines] Correct link to contribution-guidelines repo (#40)
Hi @marcobuescherhttps://github.com/marcobuescher - can you tell us why you added your SAP Community profile URL to this PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/SAP-docs/contribution-guidelines/pull/40#issuecomment-870408224, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACMJNP3MFJS44SXITJZTYCLTVGCVXANCNFSM45DGEIPQ.


invalid END header

Description:
Trying to follow the tutorial on windows and running the command "ballerina pull wso2/twitter" return ballerina: Oh no, something really went wrong. Bad. Sad.
Steps to reproduce:
ballerina pull wso2/twitter
package already exists in the home repository
ballerina: Oh no, something really went wrong. Bad. Sad.
There should be a file named "ballerina-internal.log" in the current directory.
If you are able to share with us the code that broke Ballerina then
we would REALLY appreciate if you would report this to us:
go to https://github.com/ballerina-platform/ballerina-lang/issues and
create a bug report with both this log file and the sample code.
We thank you for helping make us better dancers.
Log file contain:
[2018-07-19 08:28:16,349] ERROR {org.ballerinalang.launcher.Main} - invalid END header (bad central directory offset)
java.util.zip.ZipError: invalid END header (bad central directory offset)
at com.sun.nio.zipfs.ZipFileSystem.zerror(ZipFileSystem.java:1605)
at com.sun.nio.zipfs.ZipFileSystem.initCEN(ZipFileSystem.java:1045)
at com.sun.nio.zipfs.ZipFileSystem.(ZipFileSystem.java:130)
at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:117)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at java.nio.file.FileSystems.newFileSystem(Unknown Source)
at org.wso2.ballerinalang.compiler.packaging.converters.ZipConverter.initFS(ZipConverter.java:56)
at org.wso2.ballerinalang.compiler.packaging.converters.ZipConverter.pathWithinZip(ZipConverter.java:45)
at org.wso2.ballerinalang.compiler.packaging.converters.ZipConverter.resolveIntoArchive(ZipConverter.java:33)
at org.wso2.ballerinalang.compiler.packaging.converters.ZipConverter.combine(ZipConverter.java:27)
at org.wso2.ballerinalang.compiler.packaging.converters.ZipConverter.combine(ZipConverter.java:19)
at org.wso2.ballerinalang.compiler.packaging.Patten.callReduceForEach(Patten.java:93)
at org.wso2.ballerinalang.compiler.packaging.Patten.lambda$convert$33(Patten.java:73)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.forEach(Unknown Source)
at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.stream.Streams$StreamBuilderImpl.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at org.ballerinalang.packerina.cmd.PullCommand.execute(PullCommand.java:119)
at java.util.Optional.ifPresent(Unknown Source)
at org.ballerinalang.launcher.Main.main(Main.java:66)
Affected Versions:
Ballerina 0.980.1
OS, DB, other environment details and versions:
Windows 10 64 bit
suggest possible assignees-->

This issue can exist if the twitter package pulled is corrupted. Can you delete the twitter package from your home repository (.ballerina) and try pulling it again?

@NatashaWso2 If that is the case, it should not result in the BVM crashing right?

That fixed it ;-) Probably adding a function to delete and redownload the package when corruption is suspected would make things easier ;-)

Sure @bmaltais  will consider the option of adding such a function. Closing this issue since it is resolved.

@NatashaWso2 I too experienced the same. Is there any way we can handle such a case without getting the BVM to crash? Since we now have the uninstall command we can give meaningful instructions to the user as well


New align + news descriptors + some cleaning

Checklist:

[x] Add tests to cover the fixed bug(s) or the new introduced feature(s) (if appropriate).
[ ] Update the API documentation is a new function is added or an existing one is deleted.
[x] Added a news entry.

copy news/TEMPLATE.rst to news/my-feature-or-branch.rst) and edit it.

I still need to add the new align code.

It seems like a long PR but most of it are adding Optional[] and types cleaning. New things are essentially the descriptors and the new align module + tests.

In short you can simply do:
import datamol as dm

# get a list molecules
mols = dm.cdk2(as_df=False)

# align them
aligned_mols = dm.align.auto_align_many(mols)

Very nice, once this is release I'll replace my copy-paste of Manu's code too, currently working on it
(I like the API)

Thanks!