[JS] pre-epoch Timestamps are off by a fixed amount

Describe the bug, including details regarding any error messages, version, and platform.
While constructing a Vector of Timestamp values, any pre-epoch values end up offset by approximately 2^32 * 10^(3n), where n depends on the precision.

I've written a script for minimal repro using the latest version of the apache-arrow NPM package (12.0.0).

// test.mjs
import {
  Date_,
  makeBuilder,
  Timestamp,
  TimeUnit,
  DateUnit,
} from "apache-arrow";

/**
 * @param {Date} value
 * @param {TimeUnit} precision
 * @returns {number}
 */
const testTimestamp = (value, precision) => {
  const columnBuilder = makeBuilder({ type: new Timestamp(precision) });
  columnBuilder.append(value);
  const vec = columnBuilder.finish().toVector();
  const valueInVec = Array.from(vec)[0];

  return +value - +valueInVec;
};

console.log("Testing TIMESTAMP\n");

[
  ["2000-01-01", TimeUnit.NANOSECOND],
  ["2000-01-01", TimeUnit.MICROSECOND],
  ["2000-01-01", TimeUnit.MILLISECOND],
  ["2000-01-01", TimeUnit.SECOND],
  [],
  ["1900-01-01", TimeUnit.NANOSECOND],
  ["1900-01-01", TimeUnit.MICROSECOND],
  ["1900-01-01", TimeUnit.MILLISECOND],
  ["1900-01-01", TimeUnit.SECOND],
  [],
  ["1969-12-31 23:59:59Z", TimeUnit.NANOSECOND],
  ["1969-01-01", TimeUnit.NANOSECOND],
  ["1900-01-01", TimeUnit.NANOSECOND],
  ["1800-01-01", TimeUnit.NANOSECOND],
  ["1700-01-01", TimeUnit.NANOSECOND],
].forEach(([dateStr, precision]) => {
  if (!dateStr) {
    console.log();
    return;
  }
  const outcome = testTimestamp(new Date(dateStr), precision);
  const label = `${dateStr} w/ ${TimeUnit[precision]}`;
  console.log(`${label.padEnd(40)} => ${outcome}`);
});

console.log("\n\nTesting DATE\n");

/**
 * @param {Date} value
 * @returns {Date}
 */
const testDate = (value, precision) => {
  const columnBuilder = makeBuilder({ type: new Date_(DateUnit.DAY) });
  columnBuilder.append(value);
  const vec = columnBuilder.finish().toVector();
  const valueInVec = Array.from(vec)[0];

  return valueInVec;
};

[
  ["1969-12-15 01:00:00Z", "rounded up"],
  ["1969-12-31 01:00:00Z", "rounded up"],
  ["1970-01-01 00:00:00Z", "rounded down"],
  ["1970-01-01 23:00:00Z", "rounded down"],
  ["1970-01-15 01:00:00Z", "rounded down"],
].forEach(([dateStr, label]) => {
  const date = new Date(dateStr);
  const outcome = testDate(date);
  console.log(`${date.toISOString()} => ${outcome.toISOString()} (${label})`);
});

Here's the output:
Testing TIMESTAMP

2000-01-01 w/ NANOSECOND                 => 0
2000-01-01 w/ MICROSECOND                => 0
2000-01-01 w/ MILLISECOND                => 0
2000-01-01 w/ SECOND                     => 0

1900-01-01 w/ NANOSECOND                 => -4294.96728515625
1900-01-01 w/ MICROSECOND                => -4294967.2958984375
1900-01-01 w/ MILLISECOND                => -4294967296
1900-01-01 w/ SECOND                     => -4294967296000

1969-12-31 23:59:59Z w/ NANOSECOND       => -4294.967296
1969-01-01 w/ NANOSECOND                 => -4294.967296600342
1900-01-01 w/ NANOSECOND                 => -4294.96728515625
1800-01-01 w/ NANOSECOND                 => -4294.9677734375
1700-01-01 w/ NANOSECOND                 => -4294.966796875

Testing DATE

1969-12-15T01:00:00.000Z => 1969-12-16T00:00:00.000Z (rounded up)
1969-12-31T01:00:00.000Z => 1970-01-01T00:00:00.000Z (rounded up)
1970-01-01T00:00:00.000Z => 1970-01-01T00:00:00.000Z (rounded down)
1970-01-01T23:00:00.000Z => 1970-01-01T00:00:00.000Z (rounded down)
1970-01-15T01:00:00.000Z => 1970-01-15T00:00:00.000Z (rounded down)

As you can see, for the Timestamp type, values post-epoch pass through unscathed, but values pre-epoch end up off by a fixed increment of:

approximately 2^32 / 1,000,000 for NANOSECOND precision
approximately 2^32 / 1,000 for MICROSECOND precision
2^32 for MILLISECOND precision
2^32 * 1,000 for SECOND precision

Note: I say "fixed", but the amount actually varies slightly when it's a float (for NANOSECOND and MICROSECOND precisions), as you can see in the last block of tests for Timestamp -- it varies a bit, seemingly varying more as the value gets further from the epoch.
It seems like the Arrow Timestamp type is a 64-bit int of {precision} since the epoch, but is represented as two 32-bit ints in JS. Something is getting messed up for pre-epoch timestamps, which have a negative number for their internal representation. I'm guessing it has to do with 32bit arithmetic and/or float precision issues.
Additionally, for the Date_ type, values post-epoch seem to "round down" to the nearest day properly, but values pre-epoch seem to "round up" to the next day. I'm guessing that this is a related issue.
Component(s)
JavaScript

It looks like this was introduced by https://github.com/apache/arrow/commit/cde18a6ba525d090d11ac6f3563370dce60d03a1 to resolve Read timestamp low bits as Uint32s.
The problematic code is here:
const epochMillisecondsLongToMs = (data: Int32Array, index: number) =>
<PHONE_NUMBER> * data[index + 1] + (data[index] >>> 0);

and related code is here:
const setEpochMsToMillisecondsLong = (data: Int32Array, index: number, epochMs: number) => {
    data[index] = Math.trunc(epochMs %<PHONE_NUMBER>);
    data[index + 1] = Math.trunc(epochMs /<PHONE_NUMBER>);
};

The code is transforming the 64bit epochMs value into two 32bit values, and then transforming them back. We can reduce these two steps to a simple test like this:
const toInt32sAndBack = (epochMs) => {
  data = [];
  data[0] = Math.trunc(epochMs %<PHONE_NUMBER>);
  data[1] = Math.trunc(epochMs /<PHONE_NUMBER>);
  return<PHONE_NUMBER> * data[1] + (data[0] >>> 0)
};

const test = (epochMs) => toInt32sAndBack(epochMs) - epochMs;

test(2_000_000_000_000)
// 0

test(-2_000_000_000_000)
//<PHONE_NUMBER>

When epochMs is negative, data[0] is negative but data[0] >>> 0 is positive.
So, while https://github.com/apache/arrow/commit/cde18a6ba525d090d11ac6f3563370dce60d03a1 solved the precision issue, it introduced a new issue for pre-epoch timestamps.

Hi @domoritz, I noticed you changed the label from "bug" to "enhancement" — does that mean supporting Timestamps before 1970 is not a feature the Arrow JS library supports at this time?

Ehh, no. I must have been on the wrong issue. I'm sorry for causing confusion.


Release compatiblity with rh7

Default release package may present
'/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

For reference: origin release build was done using
Description:	Ubuntu 16.04.6 LTS
Release:	16.04
Codename:	xenial
may need to downgrade default build box - investigating...

Issue recreated

Changing to trusty release instead of xenial - works again on rh7. Performing further tests before change ...

xenial - rh8 ok. Older broke
trusty - rh7 & rh8 ok - rh6 gives '/lib64/libc.so.6: version `GLIBC_2.14' not found
precise - same as trusty
rh5 end-of-life - rh6 end-of-life nov2020

Changes made as part of https://github.com/KxSystems/solace/pull/151

Added to 1.0.0-rc.1


Fixed #15

Codecov Report

Merging #16 (e28b4c8) into develop (6e9c88f) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop      #16      +/-   ##
===========================================
- Coverage    90.48%   90.47%   -0.01%
===========================================
  Files           79       69      -10
  Lines         1987     1796     -191
===========================================
- Hits          1798     1625     -173
+ Misses         189      171      -18

Flag
Coverage Δ

flat_generator
90.47% <100.00%> (ø)

flat_orm
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

flat_generator/lib/value_object/entity.dart
94.44% <100.00%> (ø)

flat_orm/lib/src/adapter/insertion_adapter.dart

flat_orm/lib/src/callback.dart

flat_orm/lib/src/adapter/update_adapter.dart

flat_orm/lib/src/adapter/deletion_adapter.dart

...src/extension/on_conflict_strategy_extensions.dart

flat_orm/lib/src/adapter/migration_adapter.dart

flat_orm/lib/src/adapter/query_adapter.dart

flat_orm/lib/src/util/primary_key_helper.dart

flat_orm/lib/src/migration.dart

... and 1 more

Continue to review full report at Codecov.

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


Improved clarity and consistency in README.md

hey assign me this isssue please I will make sure it happens asap!


Missing load balancer values

What this PR does / why we need it:
There were missing values in the default values.yaml file, which required visiting the implementation for discovering how to configure the proxy Service.
This PR reports those values in the default values.yaml file.
Special notes for your reviewer:
Checklist

[x] PR is based off the current tip of the main branch.
[x] Changes are documented under the "Unreleased" header in CHANGELOG.md
[x] New or modified sections of values.yaml are documented in the README.md
[x] Commits follow the Kong commit message guidelines

 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.

 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.

Hi @pmalek, thanks for your review and support!
I rebased the commits on top of main.


fix: match sway workspace order with sway one

Ensure that sway workspaces are always displayed in the same order as
used internally by sway. The previous sorting code always sorted
unnumbered workspaces lexicographically. This isn't the order used by
sway internally. Therefore, commands such as "workspace next" might have
jumped arbitrarily in waybar.
This commit reworks the sorting code such that the internal order is
always obeyed. Additionally, numbered persistent workspaces are inserted
at their natural position at the front of the workspace list while
unnumbered ones are appended. This should match the expectations of
workspace ordering known from sway's behavior.
The changes make the configuration property "numeric-first" unnecessary
as this will always be the case now. There's also no reasonable way
around this behavior now. Otherwise, persistent workspaces would jump
around in the visual representation as soon as they become known to
sway.
Fixes #802

Thanks!

Is there a chance for a release including this fix?

Sure, I'll try to do a release this weekend!

I notice wlr/workspaces has an ordering option but sway/workspaces doesn't.  I was a little confused today noticing my painstaking "use format-icons to alias my alphabetically ordered workspace names to the human readable names" hack was no longer working.  What option do I have now to sort workspaces?
For context, I have 0-13, f1-f12, and m, in that order.  I previously had them as 00-13, f1-f12, and f99 for "m" for the actual workspace names.  Now f99/m is just showing up the middle again.

use format-icons to alias my alphabetically ordered workspace names to the human readable names

I don't get how your hack works. What do you want to achieve?
The basic idea of this patch was to make the ordering of workspaces in waybar more consistent with the ordering used by sway internally such that commands like "workspace next" are consistent with the ordering of workspaces visible in waybar. This wasn't the case before and iterating workspaces with multiple "workspace next" calls could actually have been a wild jumping through the workspace list in the bar.
So, at least any naming scheme that sorts the workspaces the way you want in sway should be sufficient here.

I want to have a deterministic sorting by name or something.  Right now it seems to be sorted by sway's numeric workspace IDs which means my "mail" window will be at an arbitrary position in the list (I think based on order of workspace creation after sway startup) instead of guaranteed to be at the last position like before.

I think it's impossible to fullfil both requirements (always last and being consistent with sway) without a configuration flag. The sway/i3 way of sorting would always be to name the workspace appropriately. But there's no such thing as "always the last workspace" in case unnumbered workspaces exist. Creation order is what counts there.

Well, it's "always last" in terms of my specified workspaces alphabetically.  So alphabetical sort would take care of it for my needs.  I can do a PR for the config flag?

Well, it's "always last" in terms of my specified workspaces alphabetically. So alphabetical sort would take care of it for my needs. I can do a PR for the config flag?

The only thing I see critical about this is that there's no such behavior in sway itself.
@Alexays what do you think?

I take it back, I was opening the file to change it and figured out how I'm supposed to be doing this.
sway config:
set {
  $ws0 "0:0"
  $ws1 "1:1"
  [...]
  $ws10 "10:10"
  [...]
  $wsf1 "101:f1"
  [...]
  $wsfm "120:fm"
}
[...]
bindsym {
  [...]
  $mod+grave exec /whatever/sway/switch_workspace.sh $ws0 current
  $mod+1 exec /whatever/sway/switch_workspace.sh $ws1 current
  $mod+2 exec /whatever/sway/switch_workspace.sh $ws2 current
  [...]
  $mod+Shift+grave move container to workspace $ws0
  $mod+Shift+1 move container to workspace $ws1
  $mod+Shift+2 move container to workspace $ws2
}

waybar config:
[...]
     "sway/workspaces": {
         "numeric-first": true,
         "disable-scroll": false,
         "disable-markup" : false,
         "all-outputs": true,
         "format": "  {icon}  ",
         "format-icons": {
             "0": "0",
             "1": "1",
             "2": "2",
              [...]
             "fm": "",
         }
     },
[...]

You can drop the numeric-first option now. It has been removed with this PR.


client_https doesnt validate if the certificate match the server

Hi,
while Client<HTTPS> does check for the certificate validity, it doesnt verify that this host is actually allowed to use this certificate. So https://piratestuff.com could provide the certificate from https://www.google.com and get away nicely.
To implement this, you've to loop throw all the X509 common/general names and match the url name you're connecting to. It's a bit painfull to do, and I dont know if boost provide anything usefull for this.
I'm not actually requiering this for now. That's why this is an issue and not a pull request. I wanted to take a note and made sure you were aware of this problem

Thank you again, but just so I understand this 100%: part of verifying a certificate is to check that the address is correct. Next, if one does reuse a certificate (let's say you have set up a wireless router with your own dns server someone is connecting to), one would need to someway find the corresponding private key for the public key that is in the certificate for exchanging the symmetric key. This way, reusing a certificate is not very useful (you would not be able to decrypt the symmetric key sent from the client), unless you have managed to steal the private key for the host the certificate is for. Or am I missing something?

See it the other way around :
You're currently consuming some REST service, say https://api.somesite.com/something.json.
Any pirate able to take over the URL (DNS cache poisoning, any man in the middle attack...) could use any valid certificate (and matching private key) to over take the service.
In this situation, your browser would report the communication unsecure with the error : (net::ERR_CERT_COMMON_NAME_INVALID).
but the Client<HTTPS> would be glad to accept the data as the certificate is valid... even if not for this host.
To have your browser accept the certificate as valid the commonName of the certificate has to match the hostname in the url.
On a side note, I wrote a documentation on how to setup ssl certificate for my project : https://sebt3.github.io/watched/doc/secure_back/
You could use the last part to test the scenario I'm refering.

I think you are right, and thank you again for the explanation and finding this critical issue. I'll read up on this a bit more, but at the moment I belive the following diff might solve the issue
diff --git a/client_https.hpp b/client_https.hpp
index bd67665..4cca119 100644
--- a/client_https.hpp
+++ b/client_https.hpp
@@ -16,6 +16,7 @@ namespace SimpleWeb {
                 ClientBase<HTTPS>::ClientBase(server_port_path, 443), context(boost::asio::ssl::context::tlsv12) {
             if(verify_certificate) {
                 context.set_verify_mode(boost::asio::ssl::verify_peer);
+                context.set_verify_callback(boost::asio::ssl::rfc2818_verification(host));
                 context.set_default_verify_paths();
             }
             else

Does it look ok to you?

If the I set an incorrect host, the client throws the following exception: boost::system::system_error: certificate verify failed

great ! Sound like it. Now if only this could be disabled :P

Great, should be fixed in the above commit.

Perfect, thanks a lot :)


First pass at WebdriverCSS Dockerfile.

This is a basic Dockerfile for WebdriverCSS. There is a build on https://hub.docker.com/r/grugnog/webdrivercss if you want to try it out (docs still WIP).
I am installing the webdrivercss module as a link, rather than from the NPM repo, so that it can be used more easily to test specific revisions/forks etc that don't have an official release.

@grugnog what's the purpose of having that Docker file in the repo? Is it only for documentation or is it required by hub.docker.com

@christian-bromann sorry for delay in replying.
A Dockerfile is required for hub.docker.com to build the image - the Dockerfile does not need to be in the project repository itself (i.e. I could have created a totally separate repo with just a Dockerfile in it). However it is nice for projects to include a Dockerfile if they are willing (and dockerizing it is not a complex project involving multiple scripts/images etc), since it can then be maintained and versioned alongside the project code and it's less likely to get out of sync. If the project owner adds a build on hub.docker.com then there is an additional benefit in that people are more likely to trust the project owner, as well as simplified adoption and contribution etc.


Enhancement ADD deaths and recovered

Add this Confirmed deaths
https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv
Recovered
https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv

Any success @james-muriithi ?

Yeah i solved it

Nice one

https://rona-api.herokuapp.com - for the combined data
https://rona-api.herokuapp.com/reported - for reported cases
https://rona-api.herokuapp.com/recovered - for recovered cases
https://rona-api.herokuapp.com/deaths -for deaths

https://rona-api.herokuapp.com - for the combined data
https://rona-api.herokuapp.com/reported - for reported cases
https://rona-api.herokuapp.com/recovered - for recovered cases
https://rona-api.herokuapp.com/deaths -for deaths

@azim254 hii iko sawa?


Only use regex_macros as a plugin (remove runtime dependency)

This avoids the following error:
target/hello-rustless: error while loading shared libraries: libregex_macros-bdbdbfedad0748ac.so: cannot open shared object file: No such file or directory

There were the following issues with your Pull Request

Commit: 30880667c35d0dbad175c381632bedf0ed2a856e
Your commit message body contains a line that is longer than 72 characters
Commits must be in the following format: %{type}(%{scope}): %{description}

Guidelines are available at https://github.com/rustless/rustless

This message was auto-generated by https://gitcop.com

Addressed by https://github.com/rustless/rustless/commit/410f3fbefaf3a54a5b0730d4f345698524f05909.


bump github actions

Description
This PR:

Bumps GitHub Actions to their latest major versions, which now use Node 16 internally instead of Node 12 (EOL as of end of April 2022, no longer receives security updates):

Changelog for actions/checkout can be found here
Releases for actions/setup-node can be found here

Uses npm ci --ignore-scripts over npm install (See OWASP NPM security best practices section 2 and 3)

References
N/A
Testing

[ ] This change adds test coverage for new/changed/fixed functionality

Checklist

[ ] I have added documentation for new/changed functionality in this PR or in Slab
[ ] I have updated or added public documentation
[ ] All active GitHub checks for tests, formatting, and security are passing
[x] The correct base branch is being used, if not main

There's probably a few more things that could be done to beef up CI security:

Declares the minimum permissions for CI workflows to run at the workflow level, following principle of least privilege; see related GitHub security post
Removes Git credentials/SSH keys after checkout as a security precaution by setting persist-credentials to false for actions/checkout action

@Fdawgs good looking on the updating the actions, bad C+P on our end 😄
I'll take a look at the permissions.
On the npm install that was intentional as the prismaclient is a peer dep, we have to rely on the installers dep due to prisma nesting the client in the .prisma dir unless I'm misunderstanding how prisma generates its client.

@Fdawgs looks like its still failing (no idea why tbh) also made changes to deploy process so might conflict
I'm happy to merge just the updates to the GHA actions and do the npm changes in diff PR?

@Fdawgs looks like its still failing (no idea why tbh) also made changes to deploy process so might conflict
I'm happy to merge just the updates to the GHA actions and do the npm changes in diff PR?

sounds good, will update PR.


Current length in message

How can I read and pass current length of attribute?
I want to create message like: "10 characters is not enough"

You can use the message option

attribute, that makes sense :)
thanks!


How to add the internationalization config in spring security oauth2 (login page)

How to add the internationalization config in spring security oauth2 (login page).
plz help me, thx

I am also looking for the options to have internationalization in spring security oauth 2.0. Please suggest.
{
"error": "invalid_grant",
"error_description": "Bad credentials"
}
{
"error": "invalid_token",
"error_description": "7896d62f-04ce-42ad-b7bc-bd2436b73f8b"
}
For example, We are getting those messages in related cases, I would like to have localization support for those messages which are raised from framework code.


About geneSelection function

I want know where the “geneSelection” function in single_cell_tools.py come from?
Is it from other paper or author's original work?

Hi,
It comes from the paper "Kobak, D., & Berens, P. (2019). The art of using t-SNE for single-cell transcriptomics. Nature communications, 10(1), 5416."
The code: https://github.com/berenslab/rna-seq-tsne/blob/master/rnaseqTools.py

Thx！


Example with text as well as graphic

Do you have an example where the annotation is a graphic (eg speech bubble) with a text label on it?
Thanks

Here you go.
This fork as a implementation for adding a Custom View and get notifications when the annotations are touched on the screen
https://github.com/developerark/ARKit-CoreLocation/tree/develop
Checkout the develop branch

thats great thanks


Add @edmorley as component maintainer

For https://github.com/buildpacks/github-actions

Does this mean I can be given permissions to https://github.com/buildpacks/github-actions ? :-)
(I'd just like to release a new version that includes https://github.com/buildpacks/github-actions/pull/317)


Reduce npm tarball size (23MB)

The file size of https://registry.npmjs.org/materialize-css/-/materialize-css-0.97.2.tgz is pretty big due to the images and other static assets for the website, which are not necessary for package user.
It would be great if this could be improved, even though internet speed is fast these days.

I added the images folder to the npmignore. But I will leave the rest of the documentation in because others have requested it to be in there.


Activation visualization

Hi, is there any suggestion for implementing the visualization of activation in Niftynet? Thanks!

Hi @YilinLiu97 at the moment there are two options:

in your network implementation adding visusalisations to tensorboard, for example in dense_vnet: https://github.com/NifTK/NiftyNet/blob/v0.3.0/niftynet/network/dense_vnet.py#L285

change your network to return the activation map to here:
https://github.com/NifTK/NiftyNet/blob/v0.3.0/niftynet/application/segmentation_application.py#L364 and modify interpret_outputfunction (https://github.com/NifTK/NiftyNet/blob/v0.3.0/niftynet/application/segmentation_application.py#L387) to save the numpy array to some file.

Hi @wyli,
Can we print the activation map of a VAE layer (in training), e.g: the last layer of encoding? Thank you.

Not sure what is meant by print but should it help you can visualise the activation maps as scalar images in tensorboard using the image summary as defined here https://github.com/NifTK/NiftyNet/blob/0f0d73670ac5e9892619004da3108deacecc75c7/niftynet/engine/application_variables.py#L20


Script to show masternode status

Dashman provides a dashman status function that shows an overview of the masternode health.

I'd like to implement something similar here, can anyone suggest an appropriate design and language to do this? Then I will make an initial attempt.

Yeah, that's a good idea. There is a lot of L1 and L2 status information that we can output. It would be cool to define what exactly we what to print out for the beginning. Maybe we need several status commands? Or just one with overall info + options that provide more details for a specific section.

@strophy NodeJS would make sense for language/platform, built as cli tool (but you could potentially add a web interface)

Cool, thanks for kicking this off! I really like the way Docker commands are structured, with general information on the first command and more specific information when further options are provided. How about this for an initial set of commands:
mn status           ----> status overview and guide to further commands
mn status core      ----> L1 status, similar to dashman output
mn status platform  ----> L2 status, focus on evo services
mn status network   ----> status of P2P and incoming/outgoing connections
mn status ....      ----> more?

This could be followed by further helper commands related to adding config info (mn config xxx) and possibly even walking the user through creating and using the registration transactions. Thoughts?

Will mn status network be core or platform p2p info?

I was thinking of it as similar to the network and peers tab of Dash Core, so L1 status. I don't know enough about what is going on at L2 yet to know what could/should be included from there. Maybe things like status of tendermint consensus could be there too? Input from you, other devs or maybe @thephez would be helpful.

Yeah, I think we need both mn status core network and mn status platform network

I would add:
mn status network          --> Both core & platform network status
mn status network core     --> Same as "mn status core network"
mn status network platform --> Same as "mn status platform network"

@mangus I guess we will have more mn status core ... than just network.

I'd like to keep the length of commands to 1 or 2 words to keep things simple if possible. How much network information will we realistically be displaying for each one? Maybe we could just include network information in status core and status platform initially and move it out to a separate command status network for both later if we feel it is necessary...

@strophy sounds good!

I've prepared a list of suggested output for each command, please add your thoughts! In particular I need help with the platform status, since I am not sure what we can/should be tracking there.

I agree with @cloudwheels it's easier to use JavaScript and something like https://github.com/nexe/nexe
or https://github.com/zeit/pkg

@strophy Cool! I will take a look tomorrow.

@strophy was the feature merged and this issue can be closed?

Yes, this is done. Thanks!


[VideoConferenceMute] Allow F13-F20 as shortcuts

Description of the new feature / enhancement
Currently shortcuts must be a combination of Windows, Crtl, Alt or Shift and another key.
"Only shortcuts that start with Windows key, Ctrl, Alt or Shift are valid."
It would be cool if F13 - F20 would also be allowed.
Scenario when this would be used?
I own a keyboard with makro keys. Since the software of the keyboard doesnt always work propperly I have the marco keys set to F13-F17 and then just use these keys as shortcuts within the application e.g. Teamspeak has F13 set as toggle mic mute. I like this a lot because I do not have to press multiple keys to mute/unmute.
Supporting information
No response

Thanks for the feedback but VCM is moving to maintenance only in the 0.67 timeframe. Our team will only directly address critical bugs, security and accessibility issues.
We'll accept community PRs for enhancements.


Question about the emptyVnode passed to the first arg of create hooks

What's the purpose of this ? It seems to me create having the same signature as insert would be more straightforward.

It is to have the same signature as as the update hook. Thus we can reuse the same function to handle both hooks. This is for instance used in the style module.

I see!


merge from arlac77/template-arlac77-github,arlac77/template-esm-only

package.json

merge from template package.json

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


WiP: Add PyPy tests to Cirrus CI

Follow-up on #121

Oops, I didn't notice because it was marked as an allowed failure in Travis (which doesn't report status on individual jobs), but I think tests/memory is broken under PyPy (because pympler doesn't work there)  :(

Indeed it doesn't.
I'm pretty ok with not running that test under pypy? It's a test for performance, not correctness, so I consider it significantly less important. That is, I care much more that it works under PyPy than I do that it has the same performance characteristics.

Sure, I think skipping that test under PyPy (or at least allowing it to fail) is the right thing to do; I just left a comment so I'll know about it when I pick it up again.

@astronouth7303 I just fixed the merge conflict (happened since #133 also touched the list of container images), this should now be good to go.  :)


[SPARK-41508][CORE][SQL] Rename _LEGACY_ERROR_TEMP_1180 to UNEXPECTED_INPUT_TYPE and remove _LEGACY_ERROR_TEMP_1179

What changes were proposed in this pull request?
The main changes of this pr as follows:

Introduce UNEXPECTED_INPUT_TYPE instead of _LEGACY_ERROR_TEMP_1180 and rename the method name from incompatibleRangeInputDataTypeError to unexpectedInputDataTypeError
Refactor Range#toLong and Range#toInt to pass paramIndex to UNEXPECTED_INPUT_TYPE
Throw existing AnalysisException in TableFunctionBuilder instead of throwing a new AnalysisException
Remove unused _LEGACY_ERROR_TEMP_1179 and _LEGACY_ERROR_TEMP_1180

Why are the changes needed?
Proper names of error classes to improve user experience with Spark SQL.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass GitHub Actions

Test first and will update pr description later

GA passed


Azue SQL Managed Instances and backups storage.

I have deployed Azure SQL Managed Instance but cannot find storage container details for backups, do one needs to create one separately?

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

ID: a73c2387-dd09-c1fe-a5bd-66ec176194b4
Version Independent ID: d615c55b-caf1-5d78-072d-88614b8af9ff
Content: Azure portal: Create a SQL Managed Instance
Content Source: articles/sql-database/sql-database-managed-instance-get-started.md
Service: sql-database
GitHub Login: @jovanpop-msft
Microsoft Alias: jovanpop

@DMKmod Thank you very much for your interest in Azure products and services. May I ask which service tier your deployment is based upon?
The higher end service tier (Business Critical) uses local SSD where as the lower end service tier (General Purpose) uses Azure Storage, which is accessible via Storage Explorer and the Azure Portal. With the higher end service tier using SSD, you will need to use the Azure Portal to initiate any back up activity. One is automatically provisioned for you and automatic back ups are currently taking place, as part of either service tiers.
If this is not the case or you had to manually create this item, I would like to learn more about that.

Automated backups and point in time restore. Customer can initiate copy-only backups that do not interfere with automatic backup chain.

If you are running a General Purpose instance, the storage account details should be available in the instance overview page, and should be able to plug that information into Storage Explorer. The Business Critical, and the General Purpose, service tiers have database export/import and backup/restore functionality in the Azure Portal.
Please let us know if you have additional questions. ~Mike

Thanks for the reply Mike, I am using General Purpose tier instance. But unfortunately I don't have storage account details in the Instance Overview or Storage Explorer. Also I have installed SSMS on vm I had in the same v-net and was able to connect to instance and see/able to query System Databases that come default with Instance, but having problem creating new DB and some other issues:
TITLE: Microsoft SQL Server Management Studio
Create failed for Database 'TestDB'.  (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=14.0.17285.0+((SSMS_Rel_17_4).180821-0238)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Create+Database&LinkId=20476

ADDITIONAL INFORMATION:
Object reference not set to an instance of an object. (Microsoft.SqlServer.Smo)

BUTTONS:
OK
I guess Instance deployment wasn't successful after all.

Hi again Mike, I have redeployed the Instance, and having same issues. Info I have available in Instance Overview:
Resource Group, Status, Location, Subscription name, Subscription ID, Managed instance admin, Host, Pricing Tier, Virtual network/subnet, virtual cluster.

@DMKmod Do you have an Azure Support plan? If not, can you send me your Azure Subscription GUID to AzCommunity at Microsoft dotcom, and I will send you instructions on how to file this issue and receive support. Thank you!

@DMKmod We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.

Are you looking for your backups or for a separate storage account? A separate storage account could be setup through T-SQL but backups take place automatically and is part of your provisioned storage. You would access this through the portal or via PowerShell for automatic backups.

@DMKmod Please set the compatibility level of the user database to 140 and then attempt to perform the same action. Azure Managed Instance is currently deployed as version 15 and you are attempting to restore a version 15 user database to an SQL Server currently at version 14. So, run the below T-SQL to change to 140 and then attempt the same action again. You do not need to run the T-SQL on the master database. There is more information available via the linked document with regard to the compatibility of different SQL versions: ALTER DATABASE (Transact-SQL) Compatibility Level
ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = { 150 | 140 | 130 | 120 | 110 | 100 | 90 }


Add estimateChildHeight for calculate  maxScrollExtent when sliver_list not in viewport at first.

Partial fix
https://github.com/flutter/flutter/issues/92276
List which issues are fixed by this PR. You must list at least one issue.
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Hi, complie success, and make a test for code.

We should have a more systematic solution. This pr is a bandage fix, I don't this is the approach we want to take. I will close this PR


[story/ECP-887] - Add GOVUK Notify SMS functionality

To test locally you will need to add to your .env file the key NOTIFY_API_KEY and its value can be found in the KV store on Azure development


[RSDK-8342]  Bump Viam Python SDK dep and fix bug I found along the way

RSDK-8342

Are you merging this in or closing it?


changeset: allow override the revision through ldflags

Changes
The main reason for this is to support cases where the go build happens on a non git folder but we want to pass a revision anyway.
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>/kind enhancement
/cc @imjasonh @dprotaso
Release Note
NONE

/test unit-tests

Do we still need this if we go with https://github.com/tektoncd/pipeline/pull/5573 ?

Do we still need this if we go with tektoncd/pipeline#5573 ?

Yes, this is unrelated with tektoncd/pipeline#5573 👼🏼. Downstream, we are building tekton (and I guess knative as well), through a cachito cache/proxy, which means, when we build the project, we are not in a git repository (we have the information about it but we are not). Hence proposing this to be able to set the correct revision in that case 🙃.

@dprotaso it would be something like
go build -ldflags="-X 'knative.dev/pkg/changeset.rev={the-commit-sha-or-something}'"

/lgtm
/approve

/retest


Gradle Wrapper

Adopt the Gradle wrapper, upgrade the latest version, and add editorconfig.

In order to upgrade to the latest Gradle version, Java7+ must be used.  Therefore, this ticket will also upgrade the Java version to 8.


ChromeOS cant update due to wrong commands

Describe the bug
When trying to Update ChromeOS, it doesn't update due to some commands being wrong.
To Reproduce
Steps to reproduce the behavior:

Go to mush
Choose Update ChromeOS
See error

Expected behavior
Able to update with no issues
Screenshots
I have some terminal logs:
Do you want to use the default ChromeOS bootsplash? [y/N] n

Updating to 16033.51.0. THIS MAY DELETE ALL USER DATA! Press enter to confirm, Ctrl+C to cancel.

Dumping emergency revert backup to stateful (this might take a while)...
Finding correct partitions...
Connection to <IP_ADDRESS> closed.
Dumping kernel...
8+0 records in
8+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.176408 s, 190 MB/s
Connection to <IP_ADDRESS> closed.
Dumping rootfs...
377487360 bytes (377 MB, 360 MiB) copied, 4 s, 94.0 MB/s
90+1 records in
90+1 records out
379019264 bytes (379 MB, 361 MiB) copied, 4.02329 s, 94.2 MB/s
Connection to <IP_ADDRESS> closed.
Creating restore flag...
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Backups complete, actually updating now...
Connection to <IP_ADDRESS> closed.
Downloading 16033.51.0 from "https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_16033.51.0_trogdor_recovery_stable-channel_mp-v14.bin.zip"...
Pseudo-terminal will not be allocated because stdin is not a terminal.
1633104384 bytes (1.6 GB, 1.5 GiB) copied, 56 s, 29.2 MB/s

3216465+1 records in
3216465+1 records out
1646830156 bytes (1.6 GB, 1.5 GiB) copied, 56.3054 s, 29.2 MB/s
Unzipping update binary...
Pseudo-terminal will not be allocated because stdin is not a terminal.
4962855936 bytes (5.0 GB, 4.6 GiB) copied, 127 s, 39.1 MB/s
gzip: stdin: invalid compressed data--length error

9693869+0 records in
9693869+0 records out
4963260928 bytes (5.0 GB, 4.6 GiB) copied, 127.014 s, 39.1 MB/s
Connection to <IP_ADDRESS> closed.
Invoking image patcher...
                      __                      .___
  _____  __ _________|  | __ _____   ____   __| _/
 /     \|  |  \_  __ \  |/ //     \ /  _ \ / __ |
|  Y Y  \  |  /|  | \/    <|  Y Y  (  <_> ) /_/ |
|__|_|  /____/ |__|  |__|_ \__|_|  /\____/\____ |
      \/                  \/     \/            \/

        The fakemurk plugin manager - v6.1.1
/usr/share/vboot/bin/ssd_util.sh
Not using a custom bootsplash.
Will unfuck stateful partition upon boot.
Creating loop device...
/dev/loop9
Setting up loop with /dev/loop9 and /mnt/stateful_partition/update_tmp//image.bin
Disabling kernel verity...
DEBUG: Prerequisite check
DEBUG: Probing Kernel B information
DEBUG: Reading Kernel B from partition 4
DEBUG: Checking if Kernel B is valid
DEBUG: Changing boot parameter to remove rootfs verification
DEBUG: New kernel config: console= loglevel=7 init=/sbin/init cros_secure drm.trace=0x106 root=PARTUUID=%U/PARTNROFF=1 rootwait rw dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=0 dm="1 vroot none ro 1,0 5324800 verity payload=ROOT_DEV hashtree=HASH_DEV hashstart=5324800 alg=sha256 root_hexdigest=0d09180217ec8efe138c199dd8bf173cec31ca383ba006358525c2da6920e54d salt=bfca9a16c5f1135b4a66c553a008facb5724b4f481eb720b8ca2c05933bedcf5" noinitrd vt.global_cursor_default=0 kern_guid=%U cros_lsb_release_hash=8uMwDbi49NXrTHM20zLE8cdxpBfTAUbnBFgGBEV1uJI= cpuidle.governor=teo irqchip.gicv3_pseudo_nmi=1
ssd_util.sh: INFO: Kernel B: Disabled rootfs verification.
DEBUG: Removing rootfs verification for legacy boot configuration.
DEBUG: Re-signing Kernel B from /tmp/tmp.Po8ZvyZpvo to /tmp/tmp.mf9oSvzju0
DEBUG: Using key: /usr/share/vboot/devkeys/kernel_data_key.vbprivk
DEBUG: Creating new kernel image (vboot+code+config)
DEBUG: for debug purposes, check *.dbgbin
DEBUG: Verifying new kernel and keys
DEBUG: Backup old kernel blob
ssd_util.sh: INFO: Backup of Kernel B is stored in: /mnt/stateful_partition/cros_sign_backups/kernel_B_20241114_105218.bin
DEBUG: Writing Kernel B to partition 4
DEBUG: Make the root file system writable if needed.
DEBUG: Non-ext2 partition: /dev/loop95, skip.
ssd_util.sh: INFO: Kernel B: Re-signed with developer keys successfully.
DEBUG: Complete.
ssd_util.sh: INFO: Successfully re-signed 1 of 1 kernel(s)  on device /dev/loop9.
ssd_util.sh: INFO: Please remember to reboot before updating the kernel on this device.
Enabling RW mount...
DEBUG: Prerequisite check
DEBUG: Probing Kernel A information
DEBUG: Reading Kernel A from partition 2
DEBUG: Checking if Kernel A is valid
ssd_util.sh: INFO: Skipping resign for /dev/loop9
ssd_util.sh: INFO: dev: /dev/loop9 658505728
ssd_util.sh: INFO: Disabling rootfs ext2 RO bit hack
DEBUG: Complete.
Mounting target...
Staging populator...
Murkmod-ing root...
Disabling autoupdates...
Installing startup scripts...
Detected newer version of CrOS, using new chromeos_startup
Installing murkmod components...
Installing startup services...
Installing other utilities...
Chmod-ing everything...
Done.
Adding murkmod bootsplash...
Done. Have fun.
exiting successfully
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Performing update...
Overwriting partitions in 3 (this is your last chance to cancel)...2...1...
Installing kernel patch to p...
65536+0 records in
65536+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.358639 s, 93.6 MB/s
Connection to <IP_ADDRESS> closed.
Installing root patch to p1...
368034304 bytes (368 MB, 351 MiB) copied, 4 s, 92.0 MB/s
dd: writing to 'p1': No space left on device
740273+0 records in
740272+0 records out
379019264 bytes (379 MB, 361 MiB) copied, 4.18959 s, 90.5 MB/s
Connection to <IP_ADDRESS> closed.
Setting kernel priority...
ERROR: missing drive argument
Connection to <IP_ADDRESS> closed.
ERROR: missing drive argument
Connection to <IP_ADDRESS> closed.
ERROR: invalid argument to -i: "-P"

Usage: cgpt add [OPTIONS] DRIVE

Add, edit, or remove a partition entry.

Options:
  -D NUM       Size (in bytes) of the disk where partitions reside;
                 default 0, meaning partitions and GPT structs are
                 both on DRIVE
  -i NUM       Specify partition (default is next available)
  -b NUM       First block (a.k.a. start of partition)
  -s NUM       Size (in blocks)
  -t GUID      Partition Type GUID
  -u GUID      Partition Unique ID
  -l LABEL     Label
  -S NUM       set Successful flag (0|1)
  -T NUM       set Tries flag (0-15)
  -P NUM       set Priority flag (0-15)
  -R NUM       set Required flag (0|1)
  -B NUM       set Legacy Boot flag (0|1)
  -A NUM       set raw 16-bit attribute value (bits 48-63)

Use the -i option to modify an existing partition.
The -b, -s, and -t options must be given for new partitions.

The partition type may also be given as one of these aliases:

    firmware    ChromeOS firmware
    kernel      ChromeOS kernel
    rootfs      ChromeOS rootfs
    data        Linux data
    basicdata   Basic data
    reserved    ChromeOS reserved
    efi         EFI System Partition
    unused      Unused (nonexistent) partition
    minios      ChromeOS miniOS
    hibernate   ChromeOS hibernate

Connection to <IP_ADDRESS> closed.
Setting crossystem and vpd block_devmode...
Connection to <IP_ADDRESS> closed.
Connection to <IP_ADDRESS> closed.
Cleaning up...
Connection to <IP_ADDRESS> closed.
Done! Press enter to continue.

System (please complete the following information):

Board: trogdor
Version v105
Installation method used fakemurk > murkmod

Additional context
Judging by my very inexperienced skill in terminals and bash, it looks like one of the commands is wrong.

The terminal output says that there is no space left on the device, it could have something to do with that.
I also see this as an error: ERROR: invalid argument to -i: "-P"
There is also an invalid compressed length error, which could have something to do with this as well.

It's just found an invalid loopdev somehow. Can you recover and see if you can repro again?

Let me see

It's just found an invalid loopdev somehow. Can you recover and see if you can repro again?

Tried it, gave the same error, just without the no space.

Found the error, my PR (#104 ) should fix it.

Merged.

Still get a no space left error
...on a directory that doesn't exist

@rainestorme please reopen this issue, this might require a slightly more involved fix

I also am getting this error while trying to update.

Again, I will state that this feature is absolutely not supported and is not guaranteed to work. I welcome a fix, but I won't waste time implementing one myself since you can just backup your recovery partitions and install a fresh murkmod image with the VT2 installer.


Create help command.

🔢 Which version of Glitter are you currently using?
🐣 Pre-Release
🧬 What type of command is this?
💻 Slash Command
🗝 What should the key for the command be?
help
🤔 What should the command do?
This command simply print a list of all available commands.

Creating this command requires a few elements that do not exist yet. As such, I'm not ready to assign the workload to others because I'm not sure how I want to tackle retaining the command list.


Parallel Consumer keeps committing the old offset after OFFSET_OUT_OF_RANGE in auto.offset.reset = latest

Hi @astubbs,
Thanks for this great library. Recently, I have been consistently seeing the consumer lag on some partitions of the topic when offset become out of range for that partition. This happens even with latest PC version - <IP_ADDRESS>. I'm using KEY ordering.
This might be related to #352. Sample logs below.

Last committed offset is 86321 and it's no longer available on broker due to retention policy.
And it gets reset to latest offset - 88617

12-09-2022 11:48:42.904 TraceId/SpanId: / [pc-broker-poll] INFO  org.apache.kafka.clients.consumer.internals.Fetcher.handleOffsetOutOfRange - [Consumer clientId=my-topic-consumer-client, groupId=my-topic-consumer] Fetch position FetchPosition{offset=86321, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[localhost:6668 (id: 1 rack: null)], epoch=596}} is out of range for partition my-topic-4, resetting offset 12-09-2022 11:48:43.148 TraceId/SpanId: / [pc-broker-poll] INFO  org.apache.kafka.clients.consumer.internals.SubscriptionState.maybeSeekUnvalidated - [Consumer clientId=my-topic-consumer-client, groupId=my-topic-consumer] Resetting offset for partition my-topic-4 to position FetchPosition{offset=88617, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[localhost:6668 (id: 1 rack: null)], epoch=596}}. ..
New message at offset 88618 get consumed by the consumer
12-09-2022 11:49:32.550 TraceId/SpanId: c65c59c9b8c75d88/b26a1c4eea95894d [pc-pool-3-thread-1] INFO  my.test.kafka.consumer.MyConsumer.consume - event=PROCESSING_COMPLETED, Event details: [id=cfd1d7e0-324d-11ed-8e3e-99871a3f782d, name=Event started, partition=4, offset=88618] 12-09-2022 11:49:32.550 TraceId/SpanId: a49e9995c6147711/d466506b2f29b224 [pc-pool-3-thread-1] INFO  my.test.kafka.consumer.MyConsumer.consume - event=PROCESSING_COMPLETED, Event details: [id=cbabd4e0-324d-11ed-8e3e-99871a3f782d, name=Event completed, partition=4, offset=88617] 12-09-2022 11:49:32.781 TraceId/SpanId: c2a3cfd96ea76036/37104cfb0345e5b1 [pc-pool-3-thread-3] INFO  my.test.kafka.consumer.MyConsumer.consume - event=PROCESSING_COMPLETED, Event details: [id=cff676e0-324d-11ed-8e3e-99871a3f782d, name=Other event created, partition=4, offset=88619] ..
But, old offset 86321 was being repeatedly committed. Hence, the consumer lag happens and it's continuously growing.
12-09-2022 11:49:35.552 TraceId/SpanId: / [pc-broker-poll] DEBUG io.confluent.parallelconsumer.internal.AbstractOffsetCommitter.retrieveOffsetsAndCommit - Commit starting - find completed work to commit offsets 12-09-2022 11:49:35.552 TraceId/SpanId: / [pc-broker-poll] DEBUG io.confluent.parallelconsumer.internal.AbstractOffsetCommitter.retrieveOffsetsAndCommit - Will commit offsets for 5 partition(s): {my-topic-4=OffsetAndMetadata{offset=86321, leaderEpoch=null, metadata='bgAKAAMACgACAAsBDgACB8Y='}, my-topic-3=OffsetAndMetadata{offset=89148, leaderEpoch=null, metadata='bAAJfgEA'}, my-topic-2=OffsetAndMetadata{offset=88725, leaderEpoch=null, metadata='bAATPIAGAA=='}, my-topic-1=OffsetAndMetadata{offset=107886, leaderEpoch=null, metadata='bAAGIAA='}, my-topic-0=OffsetAndMetadata{offset=89200, leaderEpoch=null, metadata='bgALAAE='}} 12-09-2022 11:49:35.552 TraceId/SpanId: / [pc-broker-poll] DEBUG io.confluent.parallelconsumer.internal.AbstractOffsetCommitter.retrieveOffsetsAndCommit - Begin commit ..

Is it possible that PC is not aware of "auto.offset.reset=latest" event and highest committable offset somehow remains 86321 and that's why it gets committed with every commit loop?
Is it possible for PC to be able to recover from this situation just like normal consumer does and be aware of "auto.offset.reset=latest" and commit the offsets of new messages as it consumes, avoiding consumer lag.
Under normal circumstances, are there any possible exceptional scenarios where we can run into consumer lag and PC is not able to recover from it hence the lag continue to grow? E.g. what happens if it somehow failed to commit an offset, how can PC recover from this without restarting the consumer?

Yup, you got it in one! Nice find! The WorkManager needs to be informed from the consumer of the issue, and update the state accordingly. Want to take a stab at a PR?
Is your work around for this, restating PC?

E.g. what happens if it somehow failed to commit an offset, how can PC recover from this without restarting the consumer?

PC will keep trying to do the commit every commit frequency - i.e. it will retry. I'm not aware of any state the underlaying consumer could get into, which would prevent a retry from happening.
However, as you've identified - if the partition's state has changed on the broker (through retention or compaction) - WorkManager must be made aware.

Hi @astubbs, thanks for looking into this and confirming it's a verified bug on "offset out of range" scenarios.
As for PR, I don't feel like I'm ready for it at this point. Will definitely try later if I can.

"Is your work around for this, restating PC?"

No, restarting PC didn't help at all. I had to manually reset the offset on topic to clear the CG lag. The reason why I asked that specific question was that I could be wrong, but have a suspicion that CG lag might have started happening before "offset out of range" issue comes in.
Could you help confirm if my understanding below is correct?

The reason why PC was able to continue polling new messages in above scenario is because, with each poll, it was downloading new messages from the "last consumed offset" of the CG.
However, when re-balancing happened due to consumer restart or some reason, offset would get reset to "last committed offset". Should the offset be valid, consumer would start to download the messages and skip those that it has already seen before.
Then we got this "offset out off range" error as it's no longer available on broker and offset would get reset again to latest offset based on "auto.offset.reset=latest" setting.

Also, please help me understand how PC would behave in below hypothetical scenario. Please assume, they all belong to same key and we are using KEY ordering.

Suppose, something went wrong with consumer thread processing message at offset 4 in below example
Maybe, it got interrupted or stuck, I have seen the evidences where some consumer thread with log printing "PROCESSING_STARTED" but not printing "PROCESSING_COMPLETED" in the end.

1,2,3,4(unknown),5,6,7,8,9,10,..N,...
Where,

N is the last consumed offset - offset seen by this consumer group
Last committed offset and highest committable offset in this case is 4.

Do you think this is a valid scenario. If yes, how will PC recover from such situation without causing the CG lag?

At any point, will PC try to reprocess this message at offset 4 again? Or will it keep processing new messages while last committed offset would remain at 4, causing huge CG log that's continuously growing?
Does PC already have any resiliency in place to deal with such scenarios while tracking the consumer thread status?

The WorkManager needs to be informed from the consumer of the issue, and update the state accordingly

Can I expect that the fix for this verify bug will also take care of such consumer problem?
Please share if you think there's any other possible edge case scenarios where highest committable offset somehow remains the same, but Consumer continue to process new messages, and eventually run into "offset out of range" issue when last committed offset is no longer available on broker due to retention policy.

Hi @astubbs, appreciate if you could share ETA on when the fix for this bug could be released and if you could answer some of my questions in previous comment? This will really help with my investigation on future CG lag issues. Thanks!

Hi again! Just finished prepping for Confluent's Current conference next week, then there's these issues in the merge queue for this week:

#355
#417

Then I'll look at patching this, I consider this the next highest priority for PC.

Can you help me understand in your example - is record 86321 effectively disappearing underneath PC, so it's unable to successfully complete processing of it?

Hi @leonoah86 , take a look at the direction I'm heading in:

#425

I thought this wold only need to be done on startup, but it probably needs to be checked continuously. Take a look and let me know if you think that will cover your situations.

Hi @astubbs, thanks for your response and looking into this.

Can you help me understand in your example - is record 86321 effectively disappearing underneath PC, so it's unable to successfully complete processing of it?

Logs were rolling fast when this record was being processed, but I think consumer thread may have been interrupted while processing it.
To simulate in my local, I used a topic with smallest possible retention time and size. Start the consumer which is slow and intermittently trying to interrupt the consume thread. And then I kept pumping the messages faster than what consumer can process. After a while, I start another consumer to trigger the rebalance. Then this "off out of range" error started showing up.
I'm still trying to figure out what caused the CG lag before we eventually ran into "offset out of range" scenario. I suspect it's the scenario where consumer thread somehow got interrupted and caused the highest committable offset stuck. We had the similar issue in 2 other different environments. I have seen evidences in Splunk, where processing of some records in the partition in question got interrupted (i.e. didn't print "PROCESSING_COMPELTED") and were not retried.

A failure is denoted by any exception being thrown from the user's processing function.
The system catches these exceptions, logs them and replaces the record in the queue for processing later.

Please note that my consumer implementation skips the record on failure. So, retry may not be applicable for scenario. Can you confirm if PC guarantee that in scenarios where consumer thread got interrupted, such records will remain in the queue and will be retried later?

Yes unless there's explicit success, things will always get retried.
If you have the time - writing an integration test with the scenario you describe would be awesome. But I think I've figured it out. Will try finish the draft on the flight to Austin today for Current :)

Regarding retries - try with the version released yesterday <IP_ADDRESS> - there were some fixes there related to retrying.

Thanks @astubbs. Will try to replicate the scenario I described using latest version and update.
Regarding fixes for truncating state on offset high reset, with normal Kafka consumer, sometimes, we manually reset the offset of CG to an earlier offset to force replay and reprocess old messages.

Is the feature already supported by PC? Otherwise, do you think PC should be able to identify if the offset reset was triggered by client/consumer (due to auto.offset.reset) or was triggered on broker (due to manual offset reset action on CG) and make sure to truncate the state on manual reset not to skip the messages it has processed before?

Yes exactly. It's not currently supported, but on the flight I figured it out. There's three things that need to be added, each of which straightforward to add, but need to be careful as it's critical path.
Reset scenarios:
Newest - detected via - bootstrap popped offset higher than expected. Action: truncate all previous Offset state on bootstrap
Earliest - Detected by bootstrap offset less than expected. Action: remove all offset state and start from nothing.
Compacted / retention:
To detect:
For each poll batch:
For each previously incomplete tracked offset inside this range (range of the polled batch - lowest to highest):
Check if each tracked incomplete offset exists in the polled batch:
Any incomplete offset which isn’t returned in a poll - remove, as we know we’ll never be sent it again to retry as it doesn’t exist in source partition anymore.

Hi @astubbs, I was able to replicate the CG lag caused by consumer thread getting stuck or interrupted for PC version <IP_ADDRESS>. Retry was not triggered when thread was stopped. It started printing warning message after 10s, saying 1 records in the queue have been waiting longer than 10s for following topic, etc.
However using latest PC version <IP_ADDRESS>, I can no longer replicate the same scenario because you recently modified UserFunctions.java file to catch Throwable. Now it printed this error stack trace on the console and retry was triggered after a while. However, if the consumer thread ever get stuck or interrupted, it may still cause the CG lag, do you agree?

        ...
        private int inCompleteOffset = -1;
        ...
        // user function invoked by PC
        public void process(ConsumerRecord<String, String> record) {
            log.info("event=PROCESSING_STARTED, partition={}, offset={}", record.partition(), record.offset());
            if (record.partition() == 0 && inCompleteOffset != -1 && record.offset() == inCompleteOffset) {
                log.info("Retry was triggered for inCompleteOffset, partition={}, offset={}", record.partition(), record.offset());
            } else {
                if (record.partition() == 0 && inCompleteOffset == -1) {
                    inCompleteOffset = record.offset();
                    // Stop the thread simulating scenario where consumer thread somehow get stuck or interrupted
                    Thread.currentThread.stop();
                }
            }
            log.info("event=PROCESSING_COMPLETED, partition={}, offset={}", record.partition(), record.offset());
        }```

CG lag will go away when rebalance happens and partition get reassigned. Otherwise, it will keep on growing. If it continues running for a few days, then we will run into "offset out of range" error scenario. Do you think if processing of a message is taking longer than a certain threshold, PC should do something about it?

Do you think if processing of a message is taking longer than a certain threshold, PC should do something about it?

Generally, in your user function, you can access the retry count for a record, and choose to skip it if you don't want to retry it anymore. Is that what you're asking?
Otherwise - I've just pushed the draft of the solution for detecting the resets - lower and higher offset commits, as well as missing offsets other than the committed one.  Take a look and see what you think?

https://github.com/confluentinc/parallel-consumer/pull/425

Specifically:
https://github.com/confluentinc/parallel-consumer/pull/425/files#diff-0a5cdd11b7b28cea2b8ccc7ec062457bf1328cd52ffe5c2ad8ed99bbe1a362ceR255
and
https://github.com/confluentinc/parallel-consumer/pull/425/files#diff-0a5cdd11b7b28cea2b8ccc7ec062457bf1328cd52ffe5c2ad8ed99bbe1a362ceR456

I haven't tested it yet, but if you want to try it - you can check out that branch and give it a go.

Generally, in your user function, you can access the retry count for a record, and choose to skip it if you don't want to retry it anymore. Is that what you're asking?
Not really, in the scenario where thread invoking user function get stuck or interrupted, I don't think there's anything we can do from user function. I think PC could do something about it. Right now, it prints the warning message if the messages remain in queue for more than 10s. I'm wondering if PC should invoke the user function with timeout and either retry or drop the message from queue (skip), but not everyone may want to retry or skip, configurable behavior? if it's taking longer than a certain threshold so that the lag doesn't happen when this happened. What do you think?

In normal kafka client, we have max.poll.interval.ms which is 5 minutes by default. If the processing of the messages in a batch take longer than 5 minutes, rebalance will occurs. Unfinished offsets will be reprocessed again on next poll. This is how it can recover from such scenario. So, I thought it would be nice if PC could do something similar with timeout.
Meanwhile, let me check out your branch and give it a go.

FYI that code as pushed def doesn't work - sorry if you spent some time on it. I have a tested branch now that's looking good. Just finishing some refactoring. Will push it up soon.

I'm wondering if PC should invoke the user function with timeout and either retry or drop the message from queue (skip), but not everyone may want to retry or skip, configurable behavior? if it's taking longer than a certain threshold so that the lag doesn't happen when this happened. What do you think?

ok I got what you were saying the other week. That would be a completely separate issue / feature. It should also only /ever/ happen if your user function continues to fail processing. In which case the user should choose to skip it or not - not PC. Anything else is a bug in PC, which should be fixed. (i.e. this).
I guess you could argue the feature could be a "fail safe" for bugs in PC. But you could also do the same by monitoring consumer lag like any consumer application, and if lag gets too big - try kill the app.
If you want to pursue this feature - please open a new issue and we can discuss it there, I'd like to keep this one focused.
I've fixed the issue, and am pushing up the clean brach today.

Hi @leonoah86 this is merged now. Can you please test the snapshot version?

Hi @astubbs, thanks for your responses and working on the fix.

please open a new issue and we can discuss it there

yes. I will open a new issue.

Can you please test the snapshot version?

Currently, I'm a bit busy with BAU works. Will test it in a few days and update.

Hi @astubbs, sorry for the delay. I ran into some issue building the snapshot version behind proxy, using latest master branch and downloading the latest snapshot version into company workspace where I have test setup and everything.
Could you release the new version if you are good with the changes? Even if I do test, it will just be a random test specific to my use case. I can always file a new bug against the release version or update here if it's not working as expected.

Please ignore. I just saw you have already released the new version 4 days ago. Will try that out. Thanks!


Ruby: Release 3.3

Ref: #866

@microsoft-github-policy-service agree

@tiagogodinho please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

Thank you for your contribution. We will review it soon.
I have approved for workflow runs


remove native scale and vector sum in linalg

For #3072.

Just to make sure: these are all covered by an eigen3 implementation yes?


Derive Switch for Structs

it should be possible to implement deriving Switch for struct.
eg:
#[derive(Switch)]
#[to = "/user/{user_name}/{user_id}"]
pub struct UserRoute {
    user_name: String,
    user_id: u32
}

Closed via: https://github.com/yewstack/yew_router/pull/95


[Feature] Data API changes

Options

[ ] Related to an issue: (Mention the issue)
[ ] Breaking change(s).
[X] Related to a cog: All cogs

Contents
Red is ready for the Data API PR, and it's me for cogs to be ready for the next versions.

Pushed.


Remove facebook package from pub

Is it possible to remove facebook package from pub.
I have rename it to  better match what it did here is the new one : facebook_web_sdk

It seems that facebook is a popular package. I'd keep it around until all of the users migrate to the new one.

@Kleak I can definitely mark the package as discontinued if it won't be updated any more. You can update the README to point to the new package.
I'm not sure we'll want to delete the package. The initial version was uploaded Jun 6, 2018; which isn't very recent. No pub packages depends on this package, but user applications might. It currently has 57 of 100 popularity.
@isoos How easy is it for a package to get 57 popularity? Do I understand it correct this is just the normalized rank of the package in terms of downloads? So out of some 3600 packages, 57 popularity means it's the (100−57)÷100×3600 = 1548 top package? Looks like in my popularity data that this package has 19 unique downloads. So that's not a lot, but there are someone using it and removing it can cause breakages.
@mit-mit What package deletion policy do we have? So far I've only been removing very recent packages that aren't used. As soon as people start using a package, removing that package can cause breakages. Should we have a mechanism for more smoothly transitioning people to a new package? E.g. pub upgrade could warn people that the package now has a different name.

You can mark it since all the following improvement will arrive in the new one.
I will update the README this week.
we are using it a lefty but we have already updated to the new one :)

https://pub.dartlang.org/packages/facebook has been marked as discontinued, it should soon show up as that on the website.

So out of some 3600 packages, 57 popularity means it's the (100−57)÷100×3600 = 1548 top package?

Roughly that, but it is a bit better: only the active packages are considered, and those are <2000 I think.

@Kleak to make sure developer can locate your new package, I suggest you update the readme (https://pub.dartlang.org/packages/facebook) to link to https://pub.dartlang.org/packages/facebook_web_sdk


Misalignment

Misalignment of the border characters. I'm using this on spacemacs.

Misalignment issue is not related to this package.
You can check the following references:

https://github.com/syl20bnr/spacemacs/tree/master/layers/%2Bintl/chinese#set-monospaced-font-size设置等宽字体
https://github.com/hick/emacs-chinese


Fix #565

I have made things!

Checklist

[x] I'm sure that I did not unrelated changes in this pull request
[x] I have created at least one test case for the changes I have made
[x] I have updated the documentation for the changes I have made
[x] I have added my changes to the CHANGELOG.rst

Related issues
Format is:

Closes #565

Other significant changes.

Now you can add to Generic only providers which are subclasses of BaseProvider to ensure a single instance of random.Random() for all providers.
Updated documentation.
Annotated .add_providers() method of Generic()

That's done!


Question: Is it safe to use the global ThreadPool in test when using rayon?

Hi,
I am using rayon in my project and my first thought about writing tests is to use separate ThreadPool to avoid tests to interefere with each other. (With thread pool with 1 thread, to avoid CPU thread overload).
But I see that in the tests in the rayon repository uses the global ThreadPool.
So is it ok? When a panics occurs in one test, can it interfere with another test?
Bests!

As long as you're OK with their execution interleaving in the thread pool, competing for resources, then yes it should be fine. Panics are caught and propagated to the original caller, without perturbing other tasks or the thread pool itself.

Ok thanks for the answer!


Fix stuck-on-ground issue from failure of sanityCheck()

FlightManager constructor initializes pose (_position, _rotation) kinematics.


Update list of known breaking changes compared to 4.0-stable (2)

The open_library argument no longer exists, instead one was added to add_code_completion_option, also update the comment for the 4.0.2 hash changes to no longer imply that we are planning to to do anything about them.
Fixes the warning/error annotations that currently happen about these.

Thanks!


Router - service instances registered multiple times in lazyLoaded module (with different URL)

[x ] bug report
Versions_
@angular/cli: 1.0.0
node: 7.6.0
os: win32 x64
@angular/common: 4.1.1
@angular/compiler: 4.1.1
@angular/core: 4.1.1
@angular/forms: 4.1.1
@angular/http: 4.1.1
@angular/material: 2.0.0-beta.3
@angular/platform-browser: 4.1.1
@angular/platform-browser-dynamic: 4.1.1
@angular/router: 4.1.1
@angular/animations: 4.1.1
@angular/cli: 1.0.0
@angular/compiler-cli: 4.1.1
Node: v7.6.0
NPM: 4.0.5
Windows 10
Repro steps.
If you have 1 LazyLoaded Module in multiple Paths, for example:
 {
        path: '',
        loadChildren: 'app/dashboard/dashboard.module#DashboardModule'
      },
      {
        path: 'dashboard',
        loadChildren: 'app/dashboard/dashboard.module#DashboardModule'
      }

All instances (in our example - all Effects) are instanced 2 times. The uniqueness  or Identity of a Module is propably identified only by PATH
Desired functionality.
The identity of a Module (and his injectables) should not be identified only by PATH.
Comment:
If we need more than 1 Path for the same module and you won't change this behavior, how to use multiple Path, for the same LazyLoaded Module?

I'm not sure this is a bug with Angular CLI. It sounds like the intended behaviour of the Angular Router. Can you open an issue in https://github.com/angular/angular instead?

@filipesilva  i dont think it is intended, but i will create this jira in there.


[wxwidgets] build failure: Windows VS 16.6.5: Internal compiler error

Host Environment

OS: Windows Insider Preview Dev Channel (Build: 20180.1000)
Compiler: Visual Studio 16.6.5

To Reproduce
Steps to reproduce the behavior:
./vcpkg install wxwidgets:x64-windows-static
Failure logs
Console output:
Starting package 6/1: wxwidgets:x64-windows-static
Building package wxwidgets[core]:x64-windows-static...
Could not locate cached archive: C:\Users\rkitover\AppData\Local\vcpkg\archives\26\26f55be17126046d61da4d50582349ef31232355.zip
-- Using cached C:/Users/rkitover/src/vcpkg/downloads/wxWidgets-wxWidgets-v3.1.3.tar.gz
-- Cleaning sources at C:/Users/rkitover/src/vcpkg/buildtrees/wxwidgets/src/v3.1.3-d3ae26deac.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Users/rkitover/src/vcpkg/downloads/wxWidgets-wxWidgets-v3.1.3.tar.gz
-- Applying patch disable-platform-lib-dir.patch
-- Applying patch fix-macos-clipboard.patch
-- Using source at C:/Users/rkitover/src/vcpkg/buildtrees/wxwidgets/src/v3.1.3-d3ae26deac.clean
-- Configuring x64-windows-static
-- Building x64-windows-static-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:136 (message):
    Command failed: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" --build . --config Debug --target install -- -v
    Working Directory: C:/Users/rkitover/src/vcpkg/buildtrees/wxwidgets/x64-windows-static-dbg
    See logs for more information:
      C:\Users\rkitover\src\vcpkg\buildtrees\wxwidgets\install-x64-windows-static-dbg-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_cmake.cmake:91 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
  ports/wxwidgets/portfile.cmake:38 (vcpkg_install_cmake)
  scripts/ports.cmake:79 (include)

Error: Building package wxwidgets:x64-windows-static failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: wxwidgets:x64-windows-static
  Vcpkg version: 2020.06.15-nohash

Additionally, attach any relevant sections from the log files above.

Build log error (full log attached):
C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1426~1.288\bin\Hostx64\x64\cl.exe   /TP -DUNICODE -DWXBUILDING -DWX_PRECOMP -D_CRT_NON_CONFORMING_SWPRINTFS=1 -D_CRT_SECURE_NO_DEPRECATE=1 -D_LIB -D_SCL_SECURE_NO_WARNINGS=1 -D_UNICODE -D_WINSOCK_DEPRECATED_NO_WARNINGS=1 -D__WXMSW__ -DwxUSE_BASE=1 -DwxUSE_GUI=0 -IC:\Users\rkitover\src\vcpkg\buildtrees\wxwidgets\src\v3.1.3-d3ae26deac.clean\src\regex -IC:\Users\rkitover\src\vcpkg\installed\x64-windows-static\include -Ilib\vc_x64_\mswud -IC:\Users\rkitover\src\vcpkg\buildtrees\wxwidgets\src\v3.1.3-d3ae26deac.clean\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /MP /D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1    /W4  /Yu"C:\Users\rkitover\src\vcpkg\buildtrees\wxwidgets\x64-windows-static-dbg\libs\base\cotire\base_CXX_prefix.hxx" /Fp"C:\Users\rkitover\src\vcpkg\buildtrees\wxwidgets\x64-windows-static-dbg\libs\base\cotire\base_CXX_prefix.pch" /FI"C:\Users\rkitover\src\vcpkg\buildtrees\wxwidgets\x64-windows-static-dbg\libs\base\cotire\base_CXX_prefix.hxx" /Zm170 /showIncludes /Folibs\base\CMakeFiles\base.dir\__\__\__\__\src\common\datstrm.cpp.obj /Fdlibs\base\CMakeFiles\base.dir\base.pdb /FS -c C:\Users\rkitover\src\vcpkg\buildtrees\wxwidgets\src\v3.1.3-d3ae26deac.clean\src\common\datstrm.cpp^M
cl : Command line warning D9025 : overriding '/W3' with '/W4'
C:\Users\rkitover\src\vcpkg\buildtrees\wxwidgets\src\v3.1.3-d3ae26deac.clean\src\common\datstrm.cpp: fatal error C1001: Internal compiler error.
(compiler file 'msc1.cpp', line 1533)
 To work around this problem, try simplifying or changing the program near the locations listed above.
If possible please provide a repro here: https://developercommunity.visualstudio.com
Please choose the Technical Support command on the Visual C++
 Help menu, or open the Technical Support help file for more information
INTERNAL COMPILER ERROR in 'C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1426~1.288\bin\Hostx64\x64\cl.exe'
    Please choose the Technical Support command on the Visual C++
    Help menu, or open the Technical Support help file for more information

install-x64-windows-static-dbg-out.log

Link to Visual Studio problem report:
https://developercommunity.visualstudio.com/content/problem/1131900/internal-compiler-error-building-wxwidgets-from-vc.html

I uninstalled Visual Studio 16.6.5 and installed Build Tools 16.6.1 and the port compiled successfully.

Thanks for posting this issue. I can't reproduce this issue locally, I can install wxwidgets:x64-windows-static successfully with Visual Studio 16.6.5 on the latest VCPKG.

Could be something in my configuration, I don't know, but if that is the case I have no objections to closing this, especially as there's a separate Visual Studio report anyway.

Waiting for Visual Studio report has new progress, if it confirm this is not related with VCPKG, I will close this issue.

Now wxwidgets:x64-windows-static can build successfully on the latest VCPKG, so I an closing this issue for now.


Landscape mode back camera will autmatically zoom in

hi @nitheeshskiploop  this repo has been deprecated. could you pls try https://github.com/AgoraIO-Community/Agora-RN-Quickstart and double check if the issue also exists there? cheers, Qianze


Backport Simple Stubs Codegen to 1.28

Original implementation in #22218. Still just an experimental API.

Faliures:

Interop: infrastructure flake
https://github.com/grpc/grpc/issues/22313
Obj-C Unrelated
Core unrelated


[Exasol] Hyperlinks aren't working in SQL editor

Description
Hyperlinks aren't working in SQL editor
Nothing happens on Ctrl+click on table name and schema_name.table_name
https://github.com/dbeaver/dbeaver/assets/31996417/5962d75a-5042-4fd0-9a29-744ee1d07fbf
DBeaver Version
23.2.1
Operating System
win10
Database and driver
EXASolution 7.1.15
EXASolution JDBC Driver 7.1.16
Steps to reproduce
No response
Additional context
No response

Can't reproduce


Relation extraction from text.

Hi. I wanted to know if you support any methods to extract relational triples from text. Please let me know.

Hi, this repo do not contain methods to extract relational triples from text, you can try https://github.com/zjunlp/DeepKE such as https://github.com/zjunlp/DeepKE/tree/main/example/triple or https://github.com/zjunlp/KnowLM


Format project and add format check in the CI

This closes #49.

Coverage increased (+0.04%) to 95.789% when pulling 734464399e42ab8ab26ed0ae4645aa38a4a607c4 on ludovicm67:formatter into 04a437e54ee1fbb6ed507015360b7bdd71db0b62 on bernardolins:master.

Nice one, @ludovicm67! Thanks for your contribution.
The CI is failing with the following error on elixir 1.7:
$ mix format --check-formatted
** (Mix) mix format failed due to --check-formatted.
The following files were not formatted:
  * lib/fake_server.ex
The command "mix format --check-formatted" exited with 1.

Can you take a look at it, please?

Closing this since #52 solves this issue.


Changing all instance of address book

Pull Request Test Coverage Report for Build 231

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

Totals

Change from base Build 230:
0.0%

Covered Lines:
1887

Relevant Lines:
2445

💛  - Coveralls

Good job on documentation and thanks for the 's' --> 'z'


--version does not show the version

wstunnel --version does not really "print version information"
$ /srv/wstunnel/wstunnel --version
Use the websockets protocol to tunnel {TCP,UDP} traffic
wsTunnelClient <---> wsTunnelServer <---> RemoteHost
Use secure connection (wss://) to bypass proxies

Putting it in the backlog, I never implemented this command
Thanks for reporting :)

fixed in https://github.com/erebe/wstunnel/releases/tag/v6.0


Feature Request: Mute websites

i'm not all too familiar with what is possible via this extension, but i've been really wanting a way to mute specific website links from showing up in my feed (and hiding those tweets from view).
at first it may seem like a weird request, but a lot of people use websites like Marshmallow or https://zabuu.site/, for example, which can produce a lot of unwanted clutter on my timeline of questions being answered when i only follow them for art (or for anything in particular).

We could certainly look at adding this - does Twitter's built-in Add muted word not work for these because they're links?

I've tried it before, but it's never worked. I can't tell if its because the links often use search params or if its because the filter only looks for the literal words you add.


[WIP] Test mibserver with new feature of compiling local MIB files

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix
[ ] New feature
[ ] Refactor/improvement
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist

[ ] My commit message is conventional
[ ] I have run pre-commit on all files before creating the PR
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have checked my code and corrected any misspellings

Codecov Report

Merging #679 (744776b) into develop (f875285) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 744776b differs from pull request most recent head 683ea03. Consider uploading reports for the commit 683ea03 to get more accurate results

@@           Coverage Diff            @@
##           develop     #679   +/-   ##
========================================
  Coverage    86.83%   86.83%
========================================
  Files           25       25
  Lines         1603     1603
========================================
  Hits          1392     1392
  Misses         211      211

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Document standard CLI help format

The CLI has a few options for how to represent help contents.
This issue tracks a proposal for that format to include:

[ ] Include format for positional arguments
[ ] Include format for global arguments
[ ] Include format for examples
[ ] Formatting, including the command and whether : is specified.

See #223 for an example for why a formatting template is needed across multiple PRs

Hi @SteveLasker @yizha1 @shizhMSFT @iamsamirzon
I can start to work on this issue to add more examples to the CLI help doc in these source files and format for arguments.

@SteveLasker Can you elaborate more on this issue? Do you want a CLI help template for each CLI command help information?
BTW, we are adding some examples to the CLI help doc to make it user-friendly, see this PR  as an example.

@SteveLasker we have CLI specs  and help doc for each notation commands. Can we close this issue?

Closed as we have CLI specs and CLI help in the output of commands.


Improve statement cache, and remember what sqlite3_bind_parameter_count returned.

Arc has a little overhead (really way less than people think...) but far less than cloning the string every time. This way we never need to clone it.

sqlite3_bind_parameter_count has zero cost, no !

It's more expensive if you're dynamically linked but I see your point and removed that bit.
The statement cache is a bigger deal.


Bump prost and tonic

Rationale for this change

audit vulnerable: https://rustsec.org/advisories/RUSTSEC-2021-0073
What changes are included in this PR?

Try to bump prost and tonic .
Make filter::prep_null_mask_filter public

Are there any user-facing changes?

public filter::prep_null_mask_filter

Codecov Report

Merging #560 (fe32115) into master (f873d77) will decrease coverage by 0.02%.
The diff coverage is 1.58%.

@@            Coverage Diff             @@
##           master     #560      +/-   ##
==========================================
- Coverage   82.47%   82.45%   -0.03%
==========================================
  Files         167      167
  Lines       46144    46158      +14
==========================================
  Hits        38059    38059
- Misses       8085     8099      +14

Impacted Files
Coverage Δ

arrow-flight/src/arrow.flight.protocol.rs
0.00% <0.00%> (ø)

arrow/src/compute/kernels/filter.rs
91.98% <100.00%> (ø)

Continue to review full report at Codecov.

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


Feat: Import TypeScript typings

Import typings from DefinitelyTyped into repo.
Update typings header to cite contributors from history and git blame.
Update package.json to add typings field.

Testing done:

Verified typings against @glimmer/syntax by removing its dependency on @types/handlebars and ensuring VSCode recognized the new typings from the package directly.

Open questions:

If I'm reading contributing.md correctly, this should target the 4.x branch in the upstream repo, correct? If not, let me know and I'll either update this or open a new PR.
Do we want to add linting to the typings file? If so, what type of TS linting rules would be preferred?

Thanks for taking the time to review this PR! Let me know if you have any questions or concerns.

Thanks. I'll have a look at it. This evening (CET).
Nils
Am 19. Dezember 2018 00:22:46 MEZ schrieb Tim Lindvall<EMAIL_ADDRESS>

Import typings from DefinitelyTyped into repo.
Update typings header to cite contributors from history and git
blame.
Update package.json to add typings field.

Testing done:

Verified typings against @glimmer/syntax by removing its dependency
on @types/handlebars and ensuring VSCode recognized the new typings
from the package directly.

Open questions:

If I'm reading contributing.md correctly, this should target the 4.x
branch in the upstream repo, correct? If not, let me know and I'll
either update this or open a new PR.
Do we want to add linting to the typings file? If so, what type of TS
linting rules would be preferred?

Thanks for taking the time to review this PR! Let me know if you have
any questions or concerns.
You can view, comment on, or merge this pull request online at:
https://github.com/wycats/handlebars.js/pull/1487
-- Commit Summary --

Feat: Import TypeScript typings

-- File Changes --
A lib/handlebars.d.ts (356)
M package.json (1)
-- Patch Links --
https://github.com/wycats/handlebars.js/pull/1487.patch
https://github.com/wycats/handlebars.js/pull/1487.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/wycats/handlebars.js/pull/1487

--
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

awesome!

Do we want to add linting to the typings file?

How many dependencies would we pull into the project by adding tslint?
Usually, I'm all for linting. In this special case, I'm not sure. It's just this one file and I don't see a lot of changes coming in the future.

If so, what type of TS linting rules would be preferred?

The same linting rules that were apply in the DefinitelyTyped project.

Thanks for merging and the feedback! Regarding the above items...

Once we've made a build of Handlebars with typings and published to NPM, we'll want to follow the process in https://github.com/DefinitelyTyped/DefinitelyTyped#removing-a-package to deprecate @types/handlebars as of the NPM version that bundles typings; Handlebars itself will become the source of truth for typings. Let me know if you'd like me to drive this process or if you'd like to submit this change to DefinitelyTyped.
No rush on a new build... totally cool with waiting until after the holidays. ^_^
Well, tslint would be a dev dependency, but it's true that it might be overkill to add it for one typings file.

I've just started removing the package from DefinitelyTyped, but I noticed that information will be lost.
There is a test that will disappear, a tsconfig.json  and a tslint.json.
Despite what I said earlier, I think we should take over those things and include them into the normal build process. Otherwise, taking the types over is essentially a loss of quality, because they might diverge from the actual API.
@zimmi88 Could you do that?

@nknapp, sure I can work on this. I'll post a PR when it's ready.

thanks

@nknapp, finally have the bandwidth to move this testing and linting over. And finally getting the bandwidth to catch up on the latest posts to this repo. I'm really sorry... this PR appears to have caused a lot of headaches I didn't anticipate. =(
Given the discussion in other threads, did you want to move forward with supporting types with Handlebars, or did you want to roll back to the previous status quo - having other packages rely on @types/handlebars?

I was having a rollback in mine, but it would have been a bad option, actually. It would have been another breaking change in a patch-release, so I am happy to say:
Kudos to @mike-north and @chriskrycho from DefinitelyTyped for their help in making this happen. Mike seems to have removed the bugs from the ember-typings that prevented the merge.
As far as I know, everything is working again. I haven't tested that myself though.
I would appreciate if you continue porting the linter-rules and tests. I think I have also discovered a flaw that might need fixing (#1513), but that is not critical and might be a good starter for new contributers.

The TL;DR of what was done to resolve these issues upstream

Ember exposed such a small subset of the handlebars API surface that we decided to just include equivalent types rather than re-exporting anything from @types/handlebars (now removed) or handlebars
The issues that were previously blocking this effort required some upstream changes to the TS compiler, and some workarounds in @types/ember* in response to breaking TS changes with 3.4
You should be aware that, due to the way dependencies work in packages published with DefinitelyTyped (they always target version "*"), your consumers may have a version of @types/handlebars as a transitive dependency for a while

Thanks for these explanations.
So, if anyone still uses<EMAIL_ADDRESS>and we publish<EMAIL_ADDRESS>with breaking changes, those people will have a problem? That sounds suboptimal to me. Not that this will happen any time soon...

So, if anyone still uses<EMAIL_ADDRESS>and we publish<EMAIL_ADDRESS>with breaking changes, those people will have a problem?

Depends which 3.x release, but yes -- if and only if they have and older non-deprecated version @types/handlebars as a dependency. The solution for affected users would be to yarn upgrade @types/ember* packages until they can confirm that handlebars ambient types are no longer in the dep graph.

@nknapp Alright... PR #1515 posted. Please let me know if there is any feedback or concerns. Thanks!


Filters

Added an image/filter selector.
Issues:

In the description below the images, the card component has a column flex orientation, but this is also applied to <em> tags within <p> tags (when I change them using JS). How can I make it so the <em> is displayed in the usual way, in line with its surrounding text?
on the deployed version, it takes a long time for the image to change after choice is selected

To add:

link to slides
some description stuff
credit to another website

I tried to fix the issues mentioned; I'm still working on some additional content but wasn't sure if you wanted the changes incrementally so it's easier to parse.  I'm also not sure if the @media thing I put in (regarding the concern I voiced on slack) holds up for every device.

Okay now I'm done feel free to review

I'm finished with the filters part! (i think i) Fixed the whole wrap issue and realized how much i dislike display: block

Can you describe the issue? I don't know if the filters-holder container is inheriting something that I'm unaware of, but from what I can tell I removed all flexy stuff, and on my screen it works as intended when going from 1435px to 1436px.

I am still seeing it at 1440px, but this is getting incredibly nitpicky, so it shouldn't be too big address in a later PR. Here's a screenshot of the breakpoint:

The fix I was talking about was not to remove flexbox, but to rather lean into it, and to leverage flex-basis to control the way that elements wrap (see here for an example).

Okay I wrapped the latter two elements in a div and made it all flexy again; it now has a different "buggy" wrap effect but I'm okay with this one and honestly think it looks better/is slightly more intuitive than immediately going all in a column. Thanks for all your help!

Code review aside, the filter demo works really well and I love it! Great work @mayaraman19 ❤
(I'll leave it to Leo to give this the go-ahead)


support for webm-wasm

There's a really new project that seems to allows you to 'create webm videos in JavaScript via WebAssembly': https://github.com/GoogleChromeLabs/webm-wasm
Perhaps this can replace/work as alternative to Whammy @muaz-khan?

Hi I manage to make this work with Safari 12 with no playback (webm), but video recorded is too short. Am I missing something in the options or configs? Thanks!

@pwob please test this (i.e. pass bitrate:200): [ via WebAssemblyRecorder.js#L31 ]
<title>WebAssembly Recorder using RecordRTC</title>

WebAssembly Recorder using RecordRTC

<button id="start">Start Recording</button>
<button id="stop" disabled>Stop Recording</button>

<video id="video" controls autoplay playsinline></video>

Works! Also I needed to add timeout when stopping the recording. In my case it does not record my last gesture before stopping (i smiled before ending the 10 second video to test, but I did not see it in the preview).
`setTimeout(() => {
terminate();
this.blob = new Blob(arrayOfBuffers, {
type: 'video/webm'
});
		callback(this.blob)
	}, 3000);`

Looks good to me, closing as fixed.


[5.3][build] set CMAKE_OSX_ARCHITECTURES in swift_cmake_options

This augments #31023 to make sure CMake invokes the compiler checks
correctly -- this is needed to avoid errors in certain
configurations.
Addresses rdar://62339814
(cherry picked from commit e42bcb0c5fa071b48c3983662485a20d7bd8f67c)

@swift-ci please smoke-test

@swift-ci please test

This cherry-picks #31414

@swift-ci please test Windows

@swift-ci please clean test Windows

@swift-ci please clean test Windows


Allow multiple selection layers

Allowing multiple selection layers allows to plot in all modes simultaneously as well as user generated layers.
This gives the users more freedom in how to combine and match source and selection layers.
This should add:

Simultaneous selection trough Points and Shapes layers
The specific selection of selection layers for source layers
Always active live plotting

To achieve this we need to:

[x] Detect all layers that are valid as a selection layer
[x] Define a way to select selection layers for specific source layers
[x] Reduce performance impact by calculating the time series once and holding the data in the selector
[x] Items that store additional data besides the parent layer

The selector rework leads to the need of intensive reworks of nearly all parts of the plugin.
To make live easier all overhauls will be part of the layer_selection_rework branch.
Some info on the rework:
The view is now a tree view and no longer a list view and only source layers (images) appear as first level items, while every layer that is valid as selection layer appears as child items of the first level items. Furthermore, I moved the time series index and data extraction to the model items. Now everything regarding data selection and extraction is handled by this single model. All previous plotting modes work simultaneously now. ROI selection through Shapes layers now works if the layers have scale or translate (or other position) information.
This lead to the need to rework the plotter widget. All code responsible for data extraction was removed. Now the widget is really only responsible for plotting. The plotting is now less performance intensive as only plots whose data changed are updated.
Subsequently, the table widget had to be changed as well to get the data from the LayerSelectionModel now holding the time series data. As a bonus, the table is now updated live.
To accommodate to the new structure the main dock widget (Explorer) had to undergo some changes as well.
After some more testing and the rework of the tests I will make a pull request.