Use the native docker-machine SSH driver.

See this PR for a summary of how much faster this makes starting minikube:
https://github.com/kubernetes/minikube/pull/1731

@dlorenc LGTM, but comment out?

ah, CI was fail because OCaml third-party. tired :(
I'll fix .travis.yml after merge it.

Ah, I had it commented out for a before/after time comparison. Fixed now :)

@dlorenc Merged, Thanks!!


IPv6 support

The electronjs.org website is inaccessible over IPv6.

Thanks for reporting, @tambry. What do we need to do to resolve this?

@zeke Depends. What host is used for the website?

Heroku

Heroku unfortunately lacks IPv6 support, despite their underlying hosting platform (AWS) supporting IPv6. If you can be bothered, you could try writing them an email encouraging them to get with the times.
Aside from that, unless you're willing to switch hosts or put a proxy in front of the site (e.g. Cloudflare), then we're out of luck for the time being.


Initial draft of snapshots age monitoring plugin

As with several other plugins in this project, this one borrows heavily from existing projects. In particular, this plugin was initially based on a PowerShell / PowerCLI plugin I wrote in 2019.
Doc updates have been applied, example usage has been added, including a command definition "contrib" file illustrating how the plugin would be referenced within a production Nagios configuration.
Note: Some minor scratch notes from my attempt at crafting a combined age/size plugin are also included. Those notes mostly focus on my attempts to understand the process of determining the size of a snapshot using govmomi and the vSphere Web Services API.
Partial work towards implementing snapshot size monitoring has also been included, though it is non-functional at this time. I hope to return to this once I understand how the vSphere API (through govmomi) can be used to reliably determine snapshot size information.
Other small (unrelated) fixes have also been included, including some bad copy/paste/modify attempts in the README, doc comments, etc.

refs GH-4
refs GH-32

GitHub is experiencing issues with Actions right now:
https://www.githubstatus.com/incidents/rk5rhrklkdk3
Local builds and linting checks are passing, so using that as an indicator we're good here.

GitHub is experiencing issues with Actions right now:
https://www.githubstatus.com/incidents/rk5rhrklkdk3
Local builds and linting checks are passing, so using that as an indicator we're good here.


Implement datediff using sqglot (Splink4)

Benefits of this approach:

Much less code
Get new dialects for free so long as they're supported by sqlglot

Downsides of this approach:

SQLGlot versioning issues?  But seems unlikely there would be a regression
If we later add a dialect that's not supported by SQLGlot, we'd need custom code to workaround

Testing script:
import sqlglot
from splink.comparison_level_library import LevenshteinLevel, DatediffLevel
from splink.input_column import InputColumn

sqlglot.__version__
LevenshteinLevel("name", 2).get_comparison_level("duckdb").as_dict()

DatediffLevel("my date", 2, "day").get_comparison_level("duckdb").as_dict()
DatediffLevel("my date", 2, "day", cast_strings_to_date=True).get_comparison_level(
    "duckdb"
).as_dict()

DatediffLevel("`my date`", 2, "day").get_comparison_level("spark").as_dict()
DatediffLevel("`my date`", 2, "day", cast_strings_to_date=True).get_comparison_level(
    "spark"
).as_dict()

from sqlglot import parse_one, Dialect, Dialects

query = parse_one('abs(date_diff(mydate_l, mydate_r, "day")) <= 2')

for dialect in sorted(Dialects._member_map_.values()):
    print(f"{dialect.name}: {Dialect.get(dialect)().generate(query)}")

query = parse_one(
    'abs(date_diff(STR_TO_TIME(mydate_l, "%Y-%m-%d"), STR_TO_TIME(mydate_r, "%Y-%m-%d"), "day")) <= 2'
)

for dialect in sorted(Dialects._member_map_.values()):
    print(f"{dialect.name}: {Dialect.get(dialect)().generate(query)}")

I'm generally in favour of this approach for more complicated SQL strings. It minimises the amount of work that needs to go in on our end.
Just be aware that sqlglot will produce invalid SQL where functions aren't registered against specific backends.
For example, if you try to use sqlite here it will produce something that looks like so:
'ABS(DATEDIFF(STR_TO_TIME("test_l", "%Y-%m-%d"), STR_TO_TIME("test_r", "%Y-%m-%d"))) <= 2'
              ^^^^^^^^^^^                        ^^^^^^^^^^^
               Not valid                          Not valid

I'm generally in favour of this approach for more complicated SQL strings. It minimises the amount of work that needs to go in on our end.
Just be aware that sqlglot will produce invalid SQL where functions aren't registered against specific backends.
For example, if you try to use sqlite here it will produce something that looks like so:
'ABS(DATEDIFF(STR_TO_TIME("test_l", "%Y-%m-%d"), STR_TO_TIME("test_r", "%Y-%m-%d"))) <= 2'
              ^^^^^^^^^^^                        ^^^^^^^^^^^
               Not valid                          Not valid

That's a very good spot.
My rationale for (attempting) to use sqlglot rather than a dialect was that all of these functions should be supported by all current (and hopefully all future) dialects.
I'd tested this with:
query = parse_one('abs(date_diff(mydate_l, mydate_r, "day")) <= 2')

for dialect in sorted(Dialects._member_map_.values()):
    print(f"{dialect.name}: {Dialect.get(dialect)().generate(query)}")

But hadn't tested the STR_TO_TIME function translated.
I will investigate whether there is some way in sqlglot to automatically detect when a function is not actually implemented.
Incidentally, the picture here for sqlite is weird - there is actually a strftime function but it's a bit confusing.  Chatgpt says:
SQLite does not have a separate DateTime datatype. Instead, dates and times can be stored as TEXT, REAL, or INTEGER values:

TEXT as strings in the format "YYYY-MM-DD HH:MM:SS.SSS".
REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.
When you use the strftime function in SQLite, it returns a string, not a datetime object. This is because SQLite does not have a built-in datetime type like some other SQL databases.

If you want to work with the result as a datetime object in Python, you can convert the string to a datetime object using the datetime module:

)
This code fetches the result from the database, which is a string, and then uses the strptime function from the datetime module to convert the string to a datetime object.

We can see this in this script:

import sqlite3

# Create a connection
conn = sqlite3.connect(':memory:')

# Create a cursor
cur = conn.cursor()

# Create a table with a date string
cur.execute("CREATE TABLE test (mydate_r TEXT)")
cur.execute("INSERT INTO test (mydate_r) VALUES ('2022-01-01')")

# Use strftime to convert the date string to a date
cur.execute("SELECT strftime('%Y-%m-%d', mydate_r) FROM test")

# Fetch the result
result = cur.fetchone()

# Print the result
print(result)

# Close the connection
conn.close()

Let's look at the existing implementation so we know what the outputs should look like:
from splink.duckdb.comparison_level_library import (
    datediff_level as datediff_level_duckdb,
)
from splink.spark.comparison_level_library import datediff_level as datediff_level_spark
from splink.athena.comparison_level_library import (
    datediff_level as datediff_level_athena,
)
from splink.postgres.comparison_level_library import (
    datediff_level as datediff_level_postgres,
)

sql_duckdb = datediff_level_duckdb("hi", 2, "day", cast_strings_to_date=True, date_format="%Y-%m-%d").as_dict()['sql_condition']
sql_spark = datediff_level_spark("hi", 2, "day", cast_strings_to_date=True, date_format="%Y-%m-%d").as_dict()['sql_condition']
sql_athena = datediff_level_athena("hi", 2, "day", cast_strings_to_date=True, date_format="%Y-%m-%d").as_dict()['sql_condition']
sql_postgres = datediff_level_postgres("hi", 2, "day", cast_strings_to_date=True, date_format="%Y-%m-%d").as_dict()['sql_condition']

DuckdB:
abs(
  date_diff(
    'day',
    strptime("hi_l", '%Y-%m-%d'),
    strptime("hi_r", '%Y-%m-%d')
  )
) <= 2

Spark:
abs(
  datediff(
    to_timestamp(`hi_l`, '%Y-%m-%d'),
    to_timestamp(`hi_r`, '%Y-%m-%d')
  )
) <= 2

Athena:
abs(
  DATE_DIFF(
    'day',
    DATE_PARSE("hi_l", '%Y-%m-%d'),
    DATE_PARSE("hi_r", '%Y-%m-%d')
  )
) <= 2

Postgres:
abs(
  datediff(
    to_date("hi_l", '%Y-%m-%d'),
    to_date("hi_r", '%Y-%m-%d')
  )
) <= 2

Postgres used to have StrToTime implemented:
https://github.com/tobymao/sqlglot/blob/8bf529d1c3cf8089f34df10a4ad0f9b038ff0b09/sqlglot/dialects/postgres.py#L104C13-L104C106

Ruff isn't happy. If you - source scripts/lint_and_format.sh -f then it should resolve itself.

sorry, my bad, should have checked before i asked for re-review - fixed now

The repr (for at least postgres) has some weird formatting on the SQL:

I'm not sure if this is something you want to fix/we can fix.

The repr (for at least postgres) has some weird formatting on the SQL:
I'm not sure if this is something you want to fix.

that's a good spot, but it's a problem with the underlying ComparisonLevel so a fix for splink3.  I'll do an issue


Added docker file and updated the manifest file

@tmckayus Please review for merge:

Added the Dockerfile.CI
Updated the presto.yaml to require less cpu and memory limits.

Thank you!

lgtm!


remove FTP_ITC.1.1?

Is this covered sufficiently in the App PP?
http://common-criteria.rhcloud.com/emailclient/output/emailclient.html#FTP_ITC.1.1
Do we need to add commentary to support our expectations for email communications (IMAP and POP3 over TLS etc)?

Commented out FTP_ITC.1.1.


Integration with React Native Firebase V6. Initial Notification on Android is undefined

Hi,
I integrate your librairy with react native firebase v6 (cloud messaging).
I receive the notification on Android, but when i click on it, the notification is undefined (PendingNotifications.getInitialNotification()) :
Initial notification was: N/A
I made no change on AndroidManifest.xml (Autolinking)
When app is opened, the "notificationOpenListener" work correctly
Could you help me ?
Thanks

Got the same problem and have to add some native workaround to make it work  :s

Hi @Aurelienlajoinie ,
Could you share your native workaround plz ?

I use something like this in MainActivity.java:
    @Override
    public void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);
        // .....
        handleReactNativeNotifications();
    }

public void handleReactNativeNotifications() {
       Bundle intent = this.getIntent().getExtras();
       if (intent != null && (intent.getBoolean(LAUNCH_FROM_PUSH_FLAG) == true
           || intent.get("google.message_id") != null)) {
           WritableMap params =  Arguments.fromBundle(intent);
           sendEventToJavaScript(mReactInstanceManager.getCurrentReactContext(), NOTIFICATION_OPENED_EVENT_NAME, params);
       }
   }

And the flag is set in my custom PushNotification class:
public class FirebaseCloudMessagingPushNotification extends PushNotification {
public FirebaseCloudMessagingPushNotification(Context context, Bundle bundle, AppLifecycleFacade appLifecycleFacade, AppLaunchHelper appLaunchHelper, JsIOHelper jsIoHelper) {
super(context, bundle, appLifecycleFacade, appLaunchHelper, jsIoHelper);
}
@Override
protected Notification.Builder getNotificationBuilder(PendingIntent intent) {
    final Resources resources = mContext.getResources();
    Bundle intentBundle =  mNotificationProps.asBundle();
    RemoteMessage remoteMessage = new RemoteMessage(intentBundle);
    final Notification.Builder builder = super.getNotificationBuilder(intent);

    // Set Notification content
    builder.setContentTitle(remoteMessage.getNotification().getTitle());
    builder.setContentText(remoteMessage.getNotification().getBody());

    Intent notificationIntent = new Intent(mContext, MainActivity.class);
    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    notificationIntent.putExtras(intentBundle);
    notificationIntent.putExtra(LAUNCH_FROM_PUSH_FLAG, true);
    PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, notificationIntent,
            PendingIntent.FLAG_ONE_SHOT);
    builder.setContentIntent(pendingIntent);

    return builder;
}

}

Thanks for sharing this @Aurelienlajoinie . I finally decided to downgrade react native firebase to v5 but I will try your solution on a sample project :)

have the same issue selecting a notification from cold start launches the app but gives a null initial notification

I also have this issue with version 3.1.2

I also have this issue on version 3.1.2

I also have this issue on version 3.1.2

@efstathiosntonas - Were you able to come up with a solution to this issue?


feat(Tooltip): implement afterShow and afterHide callbacks

fix: https://github.com/ReactTooltip/react-tooltip/issues/898

Hey, thanks for the contribution.
Since we're already here, would you mind doing afterHide as well?

@gabrieljablonski done 😄

Thanks. At first glance everything looks good. I'll test it out and review the PR later today.

By using useEffect, it seems to work nicely, tell me if I had understand correctly the bugs and if it is fixed.
Below some videos with my tests

events={['click']}

https://user-images.githubusercontent.com/15279620/212007258-a5e5ffa0-c621-46c2-8650-f59228e37692.mov

delayShow

https://user-images.githubusercontent.com/15279620/212007850-860291da-b830-4e60-8968-b343c7478502.mov

By using useEffect, it seems to work nicely, tell me if I have understood correctly the bugs and if it is fixed.

This fixed the problems I mentioned, but it still left the issue of the useEffect() being called on the first render.
There were a few other ways to fix this, but I ended up adding a wasShowing ref to ensure the callbacks are only called when show actually changes value.

Everything should be good to go. As soon as @danielbarion reviews this, I'll merge it and do the v5.5.0 release.

The code looks good to me.
Thanks for the implementation @Oupsla!
Thanks, @gabrieljablonski, and feel free to merge when you want.


Compatible with e2e redirect to third-party site sourcemap parsing error

When using e2e testing to jump to a third-party site, the coverage of the opened third-party site is parsed back, but some of the amd static resources they load do not have a sourcemap, resulting in an error during load() execution and the inability to generate a coverage report

自动回复：     您好，我已收到您的邮件。

Thanks! Released as 0.2.2


utils.async unit tests and minor fix

I have added some tests for the two functions in utils.async. A small modification to listen_tcp - I have changed the check not list to is int because this is more accurate as the argument to listenTCP must be integral. Also I have moved down the assert statement because otherwise len will fail on integer arguments, thus the is int if statement won't be reached.
I have used Clock to mock the reactor for CallLaterOnce, and I have used MemoryReactor to mock the reactor for listen_tcp.

Hey Preet,
Tanks for the PR. That looks interesting, I see you put some thought into it. Let me look through it more deeply tomorrow.
Отправлено с iPhone

9 апр. 2016 г., в 10:49, Preetwinder Singh Baath<EMAIL_ADDRESS>написал(а):
I have added some tests for the two functions in utils.async. A small modification to listen_tcp - I have changed the check not list to is int because this is more accurate as the argument to listenTCP must be integral. Also I have moved down the assert statement because otherwise len will fail on integer arguments, thus the is int if statement won't be reached.
I have used Clock to mock the reactor for CallLaterOnce, and I have used MemoryReactor to mock the reactor for listen_tcp.
You can view, comment on, or merge this pull request online at:
https://github.com/scrapinghub/frontera/pull/133
Commit Summary
utils.async unit tests and minor fix
File Changes
A frontera/tests/test_utils_async.py (84)
M frontera/utils/async.py (13)
Patch Links:
https://github.com/scrapinghub/frontera/pull/133.patch
https://github.com/scrapinghub/frontera/pull/133.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

So far your code looks good!

Thanks. I have added asserts for returned values. The delay can be decreased, but it isn't a problem since there is no actual reactor running so there is no delay.

Thank you! 👍


fix: empty snapLines arrays would cause re-render

When moving the mouse on the canvas, the interactive canvas will re-render because isShallowEqual return false as the snapLines are two empty arrays.
It's unnecessary to re-render just because mouse moves, so I added a condition to filter out this condition.

Thanks for the fix @lynda0214! I've also made sure the array comparison works with custom comparators, and that we don't update the state itself unnecessarily.

Thanks for your quick review!


Python comments are broken

Previously it would comment out lines and blocks with a prepended hash #, now every line is treated as a docstring with """" I'm not sure in what commit this broke but I suspect it's a fairly recent change.
Expected behaviour (filetype=python)
a = 1
# a = 1

Actual behaviour:
a = 1
""" a = 1 """

Working just fine for me. Make sure you are on 0.9 stable.

Yes seems to be related to nvim-ts-context-commentstring and its configuration breaking some things. Had to disable it as well to get the Comment to work as expected.


feat(single node): get a parameter to control memory usage of single node mode.

Currently, we haveRW_TOTAL_MEMORY_BYTES to control the memory usage of compute nodes. But in single node mode, it's confusing as it looks like a parameter to limit the whole RW's usage. Ideally, we should have another parameter to control the overall memory usage of single node mode. Or we can change the semantics of RW_TOTAL_MEMORY_BYTES in single node mode.

I think we need to adjust the behavior of single-node mode, such as using the memory in a more reasonable ratio.


Add ./bin/pylint tool

For now, requires manual extra steps to install.
Once it's upgraded to the point where it can be included into requirements-dev.txt, the script will be simplified.

Output example:
❯ ./bin/pylint.sh
+ pylint -rn bin framework

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

+ pylint --rcfile=./tests/.pylintrc -rn tests

--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)

+ exit 0


Simplify-assets-sidebar

simplifies the asset sidebar in advance of adding a section for metrics definitions:

break up one big component into smaller components
move file upload functionality to a JS function rather than needing a permanent input element

closed in favor of #252


What means "serializing" in this sentence?

Issue description

Quote:
the ONLINE keyword allows the creation of the index without serializing with concurrent DML operations.
What is the meaning of serializing?
Feedback Type (Optional)
clarity
Page Title on SAP Help Portal (prefilled)
CREATE INDEX Statement (Data Definition)
Page URL on SAP Help Portal (prefilled)
https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-sql-reference-guide/create-index-statement-data-definition?locale=en-US

Hi, thanks for bringing this up. This intended meaning is that the ONLINE keyword allows you to create an index without placing an exclusive lock on the table. It shouldn't mention "serializing". The description will be updated the next time we publish the documentation.

Thank you for your valuable feedback contribution, @cleancodethomas! So that we can recognize your contribution in the SAP Community, please check your SAP Community user ID (this is a number) in your personal settings page and share it with us in a reply to this comment. Make sure you just include the number in the reply.
Your user ID is displayed as follows:
Change display name for User ID N
where N is your user ID. For example, 53 is the user ID of the user 'qmacro'.
Please note that we are currently refactoring our profile and badge system on the SAP Community, and will start assigning badges again when that's complete.

1870757


#1324 pkix/bugfix/est npe on chunked transfer encoding

Fixes #1324

Thanks for the patch, merged with minor revisions.


Prometheus AlertManager not clearing alerts in AlertManager even though The services are  up and running

Issues:
We got warning alerts because some endpoints went down to 1 min due to unexpected downtime. But the problem is that those alerts are not cleared after starting the service.
Prometheus config yaml
global:
scrape_interval: 41s
scrape_timeout: 40s
evaluation_interval: 41s
alerting:
alertmanagers:

follow_redirects: true
enable_http2: true
scheme: http
timeout: 10s
api_version: v2
static_configs:

targets:

localhost:9093
rule_files:

/etc/prometheus/prometheus.rules

Alertmanager configuration
alerting:
alertmanagers:

static_configs:

targets:

localhost:9093

** AlertManager config yaml **
global:
resolve_timeout: 5m
http_config: {}
smtp_hello: localhost
smtp_smarthost: ************
** Prometheus Version: 2.44.0 **
** AlertManager Version: 0.21.0**

it got fixed the issue by restarting the prometheus service , thank you

So closing now


Decimal Could not install decimal on PHP 8.3.12

Describe the bug

Our CI Pipeline failed today at the afternoon, when i was trying to make some pull request, and after that it hasn't been possible to do anything with the CI, because it can't install the decimal extension.
Version

[ ] I have checked releases, and the bug exists in the latest patch version of v1 or v2.
[X] v2
[ ] v1

Runners

[x] GitHub Hosted
[ ] Self Hosted

Operating systems

Ubuntu-latest
PHP versions

PHP 8.3.12
To Reproduce

name: Our-Company

on:
  push:
    branches:
      - master
  pull_request:
    types: [opened, synchronize]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  tests:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        php: ["8.3"]
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php }}
          extensions: uuid, mcrypt, decimal, igbinary
          tools: composer:v2, cs2pr
          coverage: pcov
          ini-values: short_open_tag=Off
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      - name: Get Cache
        uses: actions/cache/restore@v3
        with:
          path: |
            ~/.cache/composer/files
            ./.php-cs-fixer.cache
            ./packages/our-company/shared/.cache
            ~/.npm
          key: shared-${{ matrix.php }}-${{ github.sha }}
          restore-keys: |
            shared-${{ matrix.php }}-
            shared-

      - name: Install dependencies
        working-directory: ./packages/our-company/shared
        run: composer install

I have called our company "our-company" because it's not relevant in this particular setup
Expected behavior

It should continue our pipeline so it can be possible if all standards are met, then it should be possible to merge to our master (Monorepo)
Screenshots/Logs

Additional context

And after we setup php, our next ci is install dependencies, and then i get this error log because of decimal is not installed.
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires PHP extension ext-decimal * but it is missing from your system. Install or enable PHP's decimal extension.
  Problem 2
    - Root composer.json requires php-decimal/php-decimal ^1.1 -> satisfiable by php-decimal/php-decimal[v1.1.0].
    - php-decimal/php-decimal v1.1.0 requires ext-decimal ^1.1 -> it is missing from your system. Install or enable PHP's decimal extension.

To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/8.3/cli/php.ini
    - /etc/php/8.3/cli/conf.d/10-mysqlnd.ini
    - /etc/php/8.3/cli/conf.d/10-opcache.ini
    - /etc/php/8.3/cli/conf.d/10-pdo.ini
    - /etc/php/8.3/cli/conf.d/[15]-xml.ini
    - /etc/php/8.3/cli/conf.d/20-amqp.ini
    - /etc/php/8.3/cli/conf.d/20-apcu.ini
    - /etc/php/8.3/cli/conf.d/20-ast.ini
    - /etc/php/8.3/cli/conf.d/20-bcmath.ini
    - /etc/php/8.3/cli/conf.d/20-bz2.ini
    - /etc/php/8.3/cli/conf.d/20-calendar.ini
    - /etc/php/8.3/cli/conf.d/20-ctype.ini
    - /etc/php/8.3/cli/conf.d/20-curl.ini
    - /etc/php/8.3/cli/conf.d/20-dba.ini
    - /etc/php/8.3/cli/conf.d/[20]-dom.ini
    - /etc/php/8.3/cli/conf.d/20-enchant.ini
    - /etc/php/8.3/cli/conf.d/20-exif.ini
    - /etc/php/8.3/cli/conf.d/20-ffi.ini
    - /etc/php/8.3/cli/conf.d/20-fileinfo.ini
    - /etc/php/8.3/cli/conf.d/20-ftp.ini
    - /etc/php/8.3/cli/conf.d/20-gd.ini
    - /etc/php/8.3/cli/conf.d/20-gettext.ini
    - /etc/php/8.3/cli/conf.d/20-gmp.ini
    - /etc/php/8.3/cli/conf.d/20-iconv.ini
    - /etc/php/8.3/cli/conf.d/20-igbinary.ini
    - /etc/php/8.3/cli/conf.d/20-imagick.ini
    - /etc/php/8.3/cli/conf.d/20-imap.ini
    - /etc/php/8.3/cli/conf.d/20-intl.ini
    - /etc/php/8.3/cli/conf.d/20-ldap.ini
    - /etc/php/8.3/cli/conf.d/20-mbstring.ini
    - /etc/php/8.3/cli/conf.d/20-mcrypt.ini
    - /etc/php/8.3/cli/conf.d/20-memcache.ini
    - /etc/php/8.3/cli/conf.d/20-mongodb.ini
    - /etc/php/8.3/cli/conf.d/20-msgpack.ini
    - /etc/php/8.3/cli/conf.d/20-mysqli.ini
    - /etc/php/8.3/cli/conf.d/20-odbc.ini
    - /etc/php/8.3/cli/conf.d/20-pcov.ini
    - /etc/php/8.3/cli/conf.d/20-pdo_dblib.ini
    - /etc/php/8.3/cli/conf.d/20-pdo_firebird.ini
    - /etc/php/8.3/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/8.3/cli/conf.d/20-pdo_odbc.ini
    - /etc/php/8.3/cli/conf.d/20-pdo_pgsql.ini
    - /etc/php/8.3/cli/conf.d/20-pdo_sqlite.ini
    - /etc/php/8.3/cli/conf.d/20-pdo_sqlsrv.ini
    - /etc/php/8.3/cli/conf.d/20-pgsql.ini
    - /etc/php/8.3/cli/conf.d/20-phar.ini
    - /etc/php/8.3/cli/conf.d/20-posix.ini
    - /etc/php/8.3/cli/conf.d/20-pspell.ini
    - /etc/php/8.3/cli/conf.d/20-readline.ini
    - /etc/php/8.3/cli/conf.d/20-redis.ini
    - /etc/php/8.3/cli/conf.d/20-shmop.ini
    - /etc/php/8.3/cli/conf.d/20-simplexml.ini
    - /etc/php/8.3/cli/conf.d/20-snmp.ini
    - /etc/php/8.3/cli/conf.d/20-soap.ini
    - /etc/php/8.3/cli/conf.d/20-sockets.ini
    - /etc/php/8.3/cli/conf.d/20-sqlite3.ini
    - /etc/php/8.3/cli/conf.d/20-sqlsrv.ini
    - /etc/php/8.3/cli/conf.d/20-sysvmsg.ini
    - /etc/php/8.3/cli/conf.d/20-sysvsem.ini
    - /etc/php/8.3/cli/conf.d/20-sysvshm.ini
    - /etc/php/8.3/cli/conf.d/20-tidy.ini
    - /etc/php/8.3/cli/conf.d/20-tokenizer.ini
    - /etc/php/8.3/cli/conf.d/20-uuid.ini
    - /etc/php/8.3/cli/conf.d/20-xmlreader.ini
    - /etc/php/8.3/cli/conf.d/20-xmlwriter.ini
    - /etc/php/8.3/cli/conf.d/20-xsl.ini
    - /etc/php/8.3/cli/conf.d/20-yaml.ini
    - /etc/php/8.3/cli/conf.d/20-zip.ini
    - /etc/php/8.3/cli/conf.d/20-zmq.ini
    - /etc/php/8.3/cli/conf.d/[25]-memcached.ini
    - /etc/php/8.3/cli/conf.d/30-ds.ini
    - /etc/php/8.3/cli/conf.d/99-pecl.ini

You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-decimal` to temporarily ignore these required extensions.

Are you willing to submit a PR?

Duplicate of https://github.com/shivammathur/setup-php/issues/845

The solution was:
jobs:   tests:     runs-on: ubuntu-22.04     strategy:       matrix:         php: ["8.3"]
Duplicate of #845


Remove-unused-identifiers codefix skips assigned identifiers

Previously, fixUnusedIdentifier would delete any variable-like declaration with no reads, even if it had writes:
function f(a) { }
f(1)
let x = 0
x = 1
export {}

becomes
function f() { }
f()
export {}

But any kind of argument will be deleted, even one with side effects.
Now fix-all will only delete parameters and variable declarations with no assignments, and a single fix will only delete parameters with no assignments:
function f(a) { }
function g(a) { }
f(1)
g
let x = 1
let y

becomes
function f(a) { }
function g() { }
f(1)
g
let x = 1

Fixes part 2 of #32196

@amcasey I tagged you for a review of the behaviour since I believe you've thought about this before. @gabritto you might have opinions as well.

function g(x: number, y: number): void {}

Should remove-all remove both?  It seems like non-trailing parameters can be removed if all following parameters are unused.

More generally, do we expect that there will be no more unused declaration suggestions after applying the code fix or might the user need to locate another one and fix-all again?

Before: function g({ x, y }: { x: number; y: number; }): void {}
After: function g({ }: { x: number; y: number; }): void {}

Before: function g(x = sideEffects() ): void {}
After: function g( ): void {}

Before:
function f() {
    const { x, y } = { x: sideEffects(), y: sideEffects() };
}

After:
function f() {
}

Is this case interesting?  Your example in the description leads me to believe we'd rather not remove x.
function g(x) { }
const f = g;
f(1);

Replies:

function g(x: number, y: number): void {}

should result in function g(): void {}. My comments in the bug are misleading; it's fine to delete any unused parameters.

do we expect that there will be no more unused declaration suggestions after applying the code fix or might the user need to locate another one and fix-all again?

There shouldn't be any unused declarations left and one fix-all should be enough.

function g({ }: { x: number; y: number; }): void {} -- I assume that this is your desired output. I added a type to the test case to show that the type is left behind.

function g(x = sideEffects()): void {} -- this should be preserved. I'll add a test and fix.

const { x, y } = { x: sideEffects(), y: sideEffects() }; -- same

I don't mind missing aliasing too much, although it'd definitely be nice; the type system will catch incorrect, explicitly typed aliases -- although removing parameters usually won't add a type error.

I don't think it does remove both (or is offered on x).  I could be misremembering.
Cool
I thought that was undesirable.  Why would I require the argument to have two properties I'm not going to use.  I would have thought the parameter would be removed.
Sounds good
Sounds good
It seems weird to me that g's parameter is unused in this case f(g), but used in this case f(x => g(x))

Replies:

I'll see about removing the parameter entirely.
Hmm. I guess it makes sense to treat an uncalled reference to a function as referring to, at least, its required parameters. Probably its optional ones as well. If we wanted to be precise, it would be (1) only when used as an argument and (2) based on the parameter type, but that's the commonest usage so I don't think it's worth the effort.

I think the latest commit about covers it.

@sandersn Cool, I'll have another look.  I should mention that I'm buddy testing and not actually reviewing the code.

@typescript-bot pack this

No playground? ☹

(5) appears to still be removed?

Before: function g([x, y] = [sideEffects(), sideEffects()]): void {}
After: function g([] = [sideEffects(), sideEffects()]): void {}
That seems plausible (maybe?), but this is weird:
Before: function g([x, y]: number[]): void {}
After: function g([]: number[]): void {}

Do you expect the parameter and the type parameter to be fixed up in a single step (i.e. by fix-all)?
function g<T>(t: T): void {}

Call site isn't cleaned up:
class Base {
    constructor(x: number) {} // Remote unused parameter
}

class Derived extends Base {
    constructor(x: number) {
        super(x);
    }
}

Updates:

(5) should no longer be removed; declarations with initialisers are now skipped, unless they're partially-used destructurings, in which case the unused elements are still removed.
Array bindings weren't handled completely. I fixed that.
Parameter and type parameter should be fixed in a single step, if the example use of g is g(); if there's no use of g, the whole function is deleted.
Still need to look at the class example.

https://github.com/microsoft/TypeScript/issues/41521 tracks the fact that the codefix doesn't understand super calls.

function F() {
    const [x, y] = [1, 2];
}

Removing unused variable x yields
function F() {
    const [x, y] = [1, 2];
}

Is the leading comma expected?

function F(y: number) {
    var y: number; // Remove all unused here
}

var y is not removed - only the parameter.

Before:
function G() {
    let y = 1; // remove y
    y++;
}

After
function G() {
    y++; // error
}

Filed #41618, #41621 to track the last two. I realised I didn't actually test codefix-all for array binding, and had to fix the code, which I did in the latest commit.


how to use dynamic schema

can we use dynamic schema with async-graphql?
can we pass dynamic schema from a url
Can we pass ast to validate query , its types and its field?
Can we pass json returned by introspection query to validate query , its types and its field?
Can you give an example how to use the same ?

Today I asked myself some questions about dynamic schema. If I understand correctly:
Yes, it has been implemented. But it seems that some parts are missing:
dynamic schema open issues
Besides, I couldn't find any documentation. But I found this:

Example
https://github.com/async-graphql/async-graphql/discussions/1338

can we pass dynamic schema from a url

Not sure what do you mean. It seems like the interface is imperative. I think while you can build your schema on every request dynamically, it could be inefficient. Maybe you are interested in:

https://github.com/async-graphql/async-graphql/issues/1214


Fix TSLint warnings in msbot-generic.ts

Related to #313
Proposed Changes
The following TSLint issues have been fixed in msbot-generic.ts

typedef
no-any
interface-name
curly
prefer-const
no-var-keyword
forin
newline-before-return
eofline

A key had to be added to IConnectGenericArgs to be able to iterate through its properties.
Testing
Travis will no longer report this issue.

Pull Request Test Coverage Report for Build 637

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

Totals

Change from base Build 622:
0.0%

Covered Lines:
2836

Relevant Lines:
3526

💛  - Coveralls


Duplicate transactions showing in Transaction History modal

Steps to repro:

Using account 0x913dA4198E6bE1D5f5E4a40D0667f70C0B5430Eb on Rinkeby, go to the Account page and click View Transactions. Select the action "Claim Trading Proceeds". Count the number of txs that show up.
Select the action "Dispute".
Select the action "Claim Trading Proceeds" again. Note that the number of txs has increased. This is because there are duplicate txs getting shown, and the number of them keeps increasing as you switch from Claim Trading Proceeds to another action and back.

looks better - closing


TypeError: Argument 'alpha' can not be treated as a doubl

File "/home/ubuntu/anaconda3/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/home/ubuntu/anaconda3/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/ubuntu/video_to_3dmodel/joints_detectors/Alphapose/dataloader.py", line 678, in update
img = vis_frame(orig_img, result)
File "/home/ubuntu/video_to_3dmodel/joints_detectors/Alphapose/fn.py", line 198, in vis_frame
img = cv2.addWeighted(bg, transparency, img, 1 - transparency, 0)
TypeError: Argument 'alpha' can not be treated as a double

@jaya24 you ever figure this out?

https://github.com/zh-plus/video-to-pose3D/issues/35

#49 merged.


[pub] do a smallest update heuristic for security updates

When there is a security update to a package dependabot should be able to make a smallest possible update that gets the security fix.
For pub we'll probably need to apply a heuristic, @sigurdm we should continue the discussion on this.

@jonasfj @sigurdm 👋 I'm planning to wire up security updates for Pub in the next few weeks.
Do you have interest/time to create a PR adding support for the smallest update / minimal version required to bump to a non-vulnerable version?
My focus will primarily be on wiring up the plumbing so that security alerts can trigger Dependabot PR's, so it's doubtful I'll have time to add a new version strategy (esp as I'm not super familiar with the pub ecosystem).
If you can't get to it, no problem, I can just default to using the latest version strategy for now. But thought I'd check, as it'd be more efficient to wire it all up correctly from the get go rather than have to circle back to update it later.

Hmm, I'll chat with sigurdm@ when he is back tomorrow.
I think we had a plan to do sometime. But there is lots of balls in the air -- as always. And its been some time.
I don't recall if we figured out how we were supposed to integrate/expose a new upgrade strategy.
@sigurdm as I recall we were thinking of increasing the lower bound constraint in-memory and then doing a downgrade solve.. or something like that. Because we want a newer version than the advisory affects, and we don't want older versions of anything we have. But otherwise we're not interested in upgrading anything beyond that -- hence, a downgrade solve with those lower bound constraints.

@sigurdm as I recall we were thinking of increasing the lower bound constraint in-memory and then doing a downgrade solve..

Yeah I suggested that - but after we discussed a bit I think we found out that won't work if there are more affected versions coming after the current.
I think we really need a way for dependabot to communicate all the affected versions to pub dependency_services such that we can forbid all of them in a solve.

That should be simple enough... at the point that dependency_services are called, the full array of security_advisories is available... here's a quick example of what's available using a fake advisory I injected into the dry-run script:
SECURITY_ADVISORIES='[{"dependency-name":"retry","patched-versions":[],"unaffected-versions":[],"affected-versions":["<= 3.0.2"]}]' bin/dry-run.rb pub test_org/test_repo --cache=files --dep=retry

results in:
(ruby) security_advisories
[#<Dependabot::SecurityAdvisory:0x00007f9d3e099150
  @dependency_name="retry",
  @package_manager="pub",
  @safe_versions=[],
  @vulnerable_version_strings=["<= 3.0.2"],
  @vulnerable_versions=[Gem::Requirement.new(["<= 3.0.2"])]>]

Before we go down this path too far, I did have one question:
I'm still coming up to speed on the codebase, but it looks like in most other ecosystems we rely on the native helper to return a list of possible versions that may match, and then we do post-processing to filter out the git versions, ignored versions, vulnerable versions etc in Ruby.
Versus here in Pub if I read the code correctly the native helper returns a single matching version, which then gets dropped if it's an ignored version. But what about the scenario where a user is on 3.1.0, ignores 3.2 and latest is [3.1.1, 3.2]? I assume the pub helper will return 3.2, which we'll filter out as ignored... but we won't bump the user up to 3.1.1, right?
The reason I ask is if we start to go into the realm of passing data to the native helper, should we also be passing in ignored versions?
FWIW, going forward I'd like to see us move toward the model across all our ecosystems of exposing a list of ignored/vulnerable versions to the native helper and letting them handle the resolving internally.

But what about the scenario where a user is on 3.1.0, ignores 3.2 and latest is [3.1.1, 3.2]?
I assume the pub helper will return 3.2, which we'll filter out as ignored... but we won't bump the user up to 3.1.1, right?

Correct, this is a known limitation.

Versus here in Pub if I read the code correctly the native helper returns a single matching version....

For most eco-systems the entire resolution logic is reimplemented in ruby. This is hard to do correctly.
In the case of pub it requires writing a CDCL solver (an implementation of PubGrub). It's a wonderful algorithm, but making an implementation is non-trivial.
And rooting out all the bugs would take a long time.
For this reason we opted to write dependency-services kind of thing, see:
https://github.com/dependabot/dependabot-core/tree/main/pub#dependabot-pub
The idea is that we implement a CLI interface which dependabot then uses. We ended up fighting the abstractions in dependabot a lot -- so there is a few hacks like caching files... but it works fairly well.
When we did this the discussion was that many dependabot could eventually publish a specification for the CLI interface, such that each eco-system just implements the CLI interface in their native language -- ideally reusing the logic they have in their package manager.
I could even imagine package managers implementing such a specification, similar to how many compilers ship an LSP implementation today.

Correct, this is a known limitation.

And to fix it we would have to pass the ignored versions to the native helper, such that they can be ignored in the solve.
Just like we would have to pass the vulnerable versions to the solver to be able to avoid them.
One complication here is how the ignored versions are represented as ranges in dependabot - where we would much prefer it to be a list of single affected versions, simplifying the communication between the processes. (We'd prefer dependabot to handle versions as opaque strings, such that the ecosystem specific details won't have to be re-implemented in the ruby-side).
Sure there are ways around this, I'm just not sure what is the best way.

Ah good point, I didn't think of the version handling bit... Yeah, the version handling is a known pain point... and something we'd like to do differently.
I think a lot of this is themes I've heard folks internally kinda noodle on, and the https://github.com/dependabot/cli is starting to explore it a bit, but this past few months we've been heads down on various internal infra / product things (like auto-disabling forks etc) and the package manager / dependabot interface hasn't changed much.
But it's a known pain point, and fairly separate from our other work, so it's not blocked on our other technical work, just lacking the engineering time. However, I know a number of folks on the team have a high degree of interest in it, so I'd expect us to start to make progress on it in the not too distant future.
I'll try to carve out a little time this coming week to look at the version strings... that feels like an obvious baby step for us if we could start peeling that off for ecosystems that were able to handle all the version solving internally.

But it's a known pain point, and fairly separate from our other work, so it's not blocked on our other technical work, just lacking the engineering time. However, I know a number of folks on the team have a high degree of interest in it, so I'd expect us to start to make progress on it in the not too distant future.

Any news here?
I'd like to get started on implementing the smallest update heuristic in the native helper.
But would like to know how the vulnerable versions will be encoded.

I started prototyping this, and saw one potential issue here.
We do the update-check for all dependencies at once - that means we need to know the vulnerable versions of all the dependencies of a package up-front.
Not sure how well that works with the current dependabot pipeline...

Thanks for the nudge. I'm going to start a conversation with a few folks internally on ways to solve this... as you noted, it'd be very helpful if we could figure out a better way to handle passing versions around than coercing them to/from ruby-equivalent versions. Tough part will be that it'll probably be a multi-team effort, but hopefully we can at least figure out a blueprint forward, even if actual implementation may take a while.

I started prototyping this, and saw one potential issue here.
We do the update-check for all dependencies at once - that means we need to know the vulnerable versions of all the dependencies of a package up-front.
Not sure how well that works with the current dependabot pipeline...

@sigurdm For a security update the job will be filtered to only the vulnerable dependency so we won't be attempting to check for updates to any other dependency.

@sigurdm For a security update the job will be filtered to only the vulnerable dependency so we won't be attempting to check for updates to any other dependency.

Ok, that makes sense - will think about this!

FWIW, I have not forgotten about this. I've had a few internal conversations, and there's a lot of places we use versions, and for some usages we perhaps could treat as opaque strings, and others would be far more difficult. There's definite interest in improving things, but no one has taken the time to tease it all apart and see what's possible and what's not... it's something I'm interested in working on, but the short answer is don't expect changes in the near term re: how we pass around version strings. 😢

Thanks for the heads-up. I will work on a solution that takes in a list of restricted version constraints and assumes they can be parsed as pub version constraints.
That might be ok.

Looking into integrating this in dependabot-core, and have a few further questions.

I realize that not only do we have a set of somewhat opaque requirements, we have two sets of those (vulnerable and safe)
Could a method be provide a method that took all vulnerable requirements and subtracted all safe requirements (possibly cutting holes in the ranges)? Those could then be sent as disallowed constraints to the pub helper. Sending two lists seems redundant. But I am a bit intimidated by the Gem::Requirement API.
Another possibility would be for dependabot to fetch the list of all versions and do the filtering, and send the versions to the helper. That would work, but now both the helper and dependency services would access pub.dev

Can we assume that all vulnerabilities for pub are pertaining to the https://pub.dev host or is the repository url for a security vulnerability available somewhere?

I don't understand the difference between https://github.com/dependabot/dependabot-core/blob/7d0ff2b39fd344601b33ff160895da321153ce5e/common/lib/dependabot/security_advisory.rb#L23 and https://github.com/dependabot/dependabot-core/blob/7d0ff2b39fd344601b33ff160895da321153ce5e/common/lib/dependabot/security_advisory.rb#L76 do they do the same thing?

Can we expect the ranges of a security vulnerability to always be parsed with the Pub::Requirement class?


LR200 Pixel Deprojection

Required Info

Camera Model
LR200

Firmware Version
<IP_ADDRESS>

Operating System & Version
Windows 10

Build System
VS2014

I'm trying to map pixels from screen space to point space. Specifically, when a user clicks on the screen, I'd like to retrieve the corresponding point. When I do this, the program crashes here because of the distortion type. I've noted in the documentation here that deprojection from screen space isn't always possible, but does anyone know how I would work around this in my case?
Reference Code:
float depth = depthImage[y * depthIntrinsics.width + x] * depthScale;
rs::float3 colorPt = colorIntrinsics.deproject(pixel, depth);
rs::float3 depthPt = _color_to_depth.transform(colorPt);

Thanks

Hi @danem, I think I am facing the same problem. I managed to map from depth pixels to color pixels (to colorize the cloud). But now I would like to map from color pixels to depth pixels, so I can get the 3d coordinate os a color pixel.
I read the documentation in "https://github.com/IntelRealSense/librealsense/blob/master/doc/projection.md" but doesn clarified me too much.
Have you found a solution?

@Bardo91 yes, it's been a little while and I don't have to code in front of me, but what I found to work was some combination of rectified_color / color_aligned_to_depth + depth / depth_aligned_to_rectified_color streams instead of using just color + depth. Once I made that change the projection / deprojection  code worked as expected.
Let me know if that works for you.

@danem I am trying to understand the different streams of data as defined in
 enum class stream : int32_t
    {
        depth                           ,  /**< Native stream of depth data produced by RealSense device */
        color                           ,  /**< Native stream of color data captured by RealSense device */
        .......
        rectified_color                 ,  /**< Synthetic stream containing undistorted color data with no extrinsic rotation from the depth stream */
        color_aligned_to_depth          ,  /**< Synthetic stream containing color data but sharing intrinsic of depth stream */
       .....
        depth_aligned_to_color          ,  /**< Synthetic stream containing depth data but sharing intrinsic of color stream */
        depth_aligned_to_rectified_color,  /**< Synthetic stream containing depth data but sharing intrinsic of rectified color stream */
        ....
    };

There is an extrinsic calibration between the cameras that is the extrinsic rotation and tranlation, that can be obtained using mRsDevice->get_extrinsics(rs::stream::color, rs::stream::XXXXX);. Also, for each stream it can be obtained the intrinsic calibration using the similar method: mRsDevice->get_stream_intrinsics(rs::stream::XXXX);. The intrinsic calibration is the class that has the methods for projecting and deprojecting, but these methods needs the value of the depths.
I am not sure if the aligned stream means that pixels in one image correspond directly to pixels in the other images (for example color_aligned_to_depth pixels are aligned with pixels in depth image) or not.
I end did some math  for getting this correspondence between the depth pixels and the color pixels (correct me if I am wrong):

But this is happening to me:

The feature points are shifted in the cloud toward the right side. I don't mind to do it using the aligned streams as you said but I would like to understand them better.

After playing around I found what you said. Here is the result:

I only enabled the color and depth stream (as it it not posible to use the other due to being not native streams)
mRsDevice->enable_stream(rs::stream::depth, 640, 480, rs::format::z16, 60);
mRsDevice->enable_stream(rs::stream::color, 640, 480, rs::format::rgb8, 60);
I get the intrinsics of the depth.
mRsDepthIntrinsic = new rs::intrinsics();
auto tempDepthIntrinsic = mRsDevice->get_stream_intrinsics(rs::stream::depth);
memcpy(mRsDepthIntrinsic, &tempDepthIntrinsic, sizeof(rs::intrinsics));
Then for each frame I get both depth and color
cv::cvtColor(cv::Mat(mRsColorIntrinsic->height, mRsColorIntrinsic->width, CV_8UC3, (uchar*)mRsDevice->get_frame_data(rs::stream::color_aligned_to_depth)), mLastRGB, CV_RGB2BGR);
mLastDepth = cv::Mat(mRsDepthIntrinsic->height, mRsDepthIntrinsic->width, CV_16U, (uchar*) mRsDevice->get_frame_data(rs::stream::depth));
and finally pixels in color and depth are completely aligned so for each (X,Y) in color image you can directly take the (X,Y) on the depth and deproject using the intrinsic matrix of the depth.
Maybe this issue can be closed.

Actually I think that this is quite simple.

Select the pixel(s) you are interested in from the raw colour stream (rs::stream::color)
Those pixels {x,y} will map directly to the synthetic depth stream rs::stream::depth_aligned_to_color
from there you can gather the depth and get a 3d point of the pixel from the depth intrinsics

consider the following code... where x1 and y1 are pixel coordinates from the color stream
const uint16_t * depth_image = (const uint16_t *)dev->get_frame_data(rs::stream::depth_aligned_to_color);
float scale = dev->get_depth_scale();
uint16_t p1_depth_value = depth_image[y1 * depth_intrinsics.width + x1];
float p1_depth_in_meters = p1_depth_value * scale;
rs::float2 p1_depth_pixel = {(float)x1, (float)y1};
rs::float3 p1_depth_point = depth_intrinsics.deproject(p1_depth_pixel, p1_depth_in_meters);

I believe this to give you a way to get a 3d point (p1_depth_point above) of a pixel coordinate from the color stream.
If you use the color stream to segment an object. You can get its 3D points via this means.
I haven't tested this extensively but it appears to work where I'm measuring the size of a test object.


fsdp error

i run the finetune.py without lora and use the fsdp ,but there is a error, fsdp/_init_utils.py,line889 inconsistent compute device and'device_id ' on rank 3: cuda:0 vs cuda:3; i run the programmer in Single machine multi card

Yes, WIP: https://github.com/h2oai/h2ogpt/pull/644/, known regression from the early days.


WIP rdr2geo + geo2rdr unit tests

This PR is based the rdr2geo and geo2rdr unit tests @hfattahi created for the now deprecated Cython ISCE3. All test inputs are generated by the test. The objective for the this PR is have the 4 following tests:

rdr2geo with satellite orbit over equator and zero DEM with zero DEM
rdr2geo with satellite orbit over constant 45° lat with zero DEM
rdr2geo with satellite orbit over equator and zero DEM with zero DEM
rdr2geo with satellite orbit over constant 45° lat with zero DEM

TBD:

Decide whether to use existing SimpleNamespace to mimic RunConfig shortcut or introduce test yamls and SAFE zip for comprehensiveness. Using SimpleNamespace.

To do:

debug so rdr2geo test passes
implement both equator and 45° lat geo2rdr tests
more documentation and comments

The rdr2geo test is currently failing because the DEM interpolator is returning the wrong height. The indices computed by DEM interpolator do not fall within the synthetic DEM so the default value (DEM average) is returned for all points in the radar grid. I think a couple things need addressing:

a DEM that fits the radar grid. I'm not sure how to do this.
ability to change DEM interp method to nearest neighbor so the DEM can remain small. This I can fix.

Since the Cython rdr2geo test tests point by point, it avoids this problem by changing the DEM interpolator default value to expected height per point.


Adding Ledger Tendermint provider

Renaming/deprecating signatory-cosval.
Adding signatory-ledger-tm
Initial basic benchmarks
Adding provider to README.md

Closing to add support for changes in the Tendermint app


Slight performance boost in pingora-limit::Estimator

I was tinkering with the code, to my surprise I made Estimator run faster just by using iterators instead of for-loops
The overall diff is about 60% faster on single thread
Pingora Estimator single thread 2.334566806s total, 23ns avg per operation
vs
Pingora Estimator single thread 868.937015ms total, 8ns avg per operation
There is 2ns gain per thread, from 25ns -> 23ns (8%).
I have attached the complete bench diff for my machine: https://www.diffchecker.com/9EnuDEot/
I may be missing/ignoring something here, cause this is too good to be true.
Though this is a documented and tested behavior.
I have also added a test for reset method, which might be redundant.

Hey @fee1-dead , I applied your suggested changes, and it seems like .min() is loosing performance compared to .fold().
Can you run the benchmark and tell if that's the same case on other machines too?

I don't have much time to run benchmarks myself, but I can trust the results. fold doesn't look that bad stylistically when compared to min.

This has been merged to the main branch. Thank you for contributing!


Deduplicate, sort output from cert_database lookup

cert_database.lookup() uses a list for storing subdomains, but the
respose from the service can contain (many) duplicate subdomains.  In
addition, the subdomain list is not in a deterministic order, so future
diffs may be inaccurate.
This PR switches from a list to a set for storing the subdomains,
which automatically deduplicates them.  It also returns a sorted
version, guaranteeing a consistent order for every call.
I tested this using the python.org domain, before and after applying the code in this PR:
$ wc -l python.org.txt.before python.org.txt.after
    1696 python.org.txt.before
      40 python.org.txt.after

You can see there are a lot of duplicates for this domain.  paypal.com was worse at 7550 before and 2031 after.
This issue is very evident when using Slack, as the code makes individual requests to the Slack API for each subdomain; with a lot of subdomains this can take hours.

Hi Ross,
I was going to work on the deduplication since it would improve diff efficiency and accuracy as well as some people are using the output files with some other tools. Thanks a lot for helping me cross off this item from my list, very much appreciated.


istio.io/rev label broke a functionality of log aggregation in Elasticsearch

Bug description
We are using docker containers log collection through Filebeat and ship them to Elasticsearch.
Filebeat enrich log events with Kubernetes metadata for each workload. One of enrichment is a collection of labels. #22522 pull request added a istio.io/rev  label that is incompatible with istio label from perspective of Elasticsearch mapping.
In Elasticsearch labels transforming to json
istio: ingressgateway is just a string field {"istio": "ingressgateway"} , but
istio.io/rev: 1.6.2 is on object {"istio": {"io": {"rev" : "1.6.22"}}}
Depending of which case appears earlier, all other events just discarded by Elasticsearch due to mapping conflict.
1.6.x
Expected behavior
New labels added to Istio components don't mess with existing labels, preserve structure and semantics.
How was Istio installed?
istioctl

I reviewed our issue after Your suggestion, and found this is not a Istio bug, but some kind of our bad luck :(
We upgraded our cluster from 1.5 to 1.6 (unsuccessfully then) and seems that when old containers without new label produced previous logs, Elasticsearch created mapping for istio label as string.
Then new containers starting produce new label as object "labels":{"pod-template-hash":"68f4cc78ff","istio":{"io/rev":"default","value":"pilot"},"app":"istiod"} and Elasticsearch discard those events.
It looks like in our environment we needed to upgrade data plane first on all containers, and then drop Elasticsearch log index with all intermediate events.


Alpine conversion due to Debian Critical Vulns

Fixes Issue
Fixes #513
Changes proposed
Changes debian base images to alpine in the dockerfile
Change asyncio.wait to asyncio.gather in the client engine due to continuous restarting.
ddtrace package requires update to install within alpine
Check List (Check all the applicable boxes)

[x] I sign off on contributing this submission to open-source
[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

For now making it a draft PR.
@devine12 - We don't want your work to get loss, lmk if you want to complete the work here (adding alpine as another option rather than replacing Debian all together). If not, I'll try finding the time to do it myself.


More rate of GPU utilization instead of one gpu for one trial

Hello, in nni, I can set trialGpuNumber: 1  to let one trial use a gpu. If I have two gpu, just two trial can concurrently run.
So, how can one gpu support many trials in the same experiment when gpu space is enough?
Thank you~

@coasxu , you can use maxTrialNumberPerGpu, more detailed here: https://nni.readthedocs.io/en/stable/reference/experiment_config.html#maxtrialnumberpergpu

Wow, it's really helpful, I will get a try!


redirect action on libModSecurity is relying upon SecDefaultAction by default

It seems like the redirect action on the current master is behaving differently from ModSecurity v2.
When investigating an issue it was found that in order for the action to work as intended, on my environment, it was mandatory for the rule writer to specify the actual status code for the redirect in the form of:
SecRule REQUEST_URI "@contains /administrator" "id:2000001,\
phase:1,\
log,\
status:301,\
redirect:'http://<IP_ADDRESS>/failed.html',\
t:none,\
msg:"Unauthorized administrator request'"

One could expect that by simply adding the redirect action and omitting the status code libModSecurity would still trigger the 302 by default when the action is initialized here but instead it's triggering the SecDefaultAction defined for the phase on which the rule is running even without specifying the block action.

How about add a disruptive action to this rule, such as 'deny'?


Fixes #30010 -- Add docker-compose support

Ticket: https://code.djangoproject.com/ticket/30010
This adds docker-compose support to Django. You can run the test suite like so:
docker-compose run postgres
or for specific Python/DB versions:
PYTHON_VERSION=3.7 POSTGRES_VERSION=9.6 docker-compose run postgres
Some thoughts/notes:

We need the .env file to be called .env and be at the root of the project. See here: https://github.com/docker/compose/issues/4189#issuecomment-274915631

The django .git directory is huge. If we include it in the .dockerignore file then we cannot use the bisect stuff in runtests. If we don't include it then images get significantly bigger, and many builds can eat disk space. Also: for some reason the .git exclusion in dockerignore is not respected on my machine Edit: Not relevant anymore

I needed to include docker-specific settings under docker/settings. A lot of this feels like it could be de-duplicated, but at the same time it's annoyingly different (different DB hosts, different backends, backend specific config etc)

I was not sure if we want to include wait-for-it.sh or download it at build time. I opted for including it, but we can download it easily enough as well. The reason we need this is because when using docker-compose run it does not respect healthchecks, so the database may not be ready by the time the tests are running.

You can DRY this up by creating a base settings file (Jenkins configuration uses test_sqlite3.py) with all the common settings. The other settings files look like:
from test_sqlite3 import *  # NOQA

DATABASES = {
   ...
}

Thanks @timgraham. I've done that and I've added documentation. Can you give any advice on how you want to structure it? I've split the Quickstart into two sections: one with docker and one without.
I'm a little bit biased, but in my mind running the suite through docker-compose is more of a quickstart than the current quickstart we have (especially when it comes to installing system packages!), so I moved this to the top of the documentation.

Another possibility is to have only one DJANGO_SETTINGS_MODULE and in it switch over a DJANGO_SETTINGS_PROFILE variable. Then you can have only one settings file and still vary the settings on an env var. Maybe worth trying and see if you like that better.

Unfortunately this kills the isort and windows jenkins jobs, as they create a virtualenv in a directory called .env. This PR introduces a .env file, who's name cannot be changed :/

what is blocking this pr?

hi,
@auvipy
think there is an ongoing discussion on the origin project for this PR (https://github.com/orf/django-docker-box/issues/1), they are discussing if this should be merged to django/django or a seperate project under the django github account.

@orf IMO we can keep this as a documentation issue (see #11838) after we moved django-docker-box into Django. Thanks!


fix(asinput): Remove control of state.value from asInput

asInput component was overriding state.value that was set by the parent component. This allows parent to call setState on input components.

Coverage decreased (-0.001%) to 99.52% when pulling 74713fe636ecbcb622afc3345d7530afd1150cf4 on mroytman/asInput-value into 805e888da6e3ad449980a6eb23e7f39b9c155d96 on master.

I wanted to write this down before I forgot.
SFE#61 is using InputText as part of a form. After a form is submitted, the form fields should be cleared for future use. Unfortunately, passing an empty string to the InputText value prop is not clearing the form field.
I think this is because of

How the asInput component handles change events for the InputText component
How the asInput component applies props and state to InputText during render

Here's the crucial piece of code from asInput
    handleChange(event) {
      this.setState({ value: event.target.value });
      this.props.onChange(
        event.target.type === 'checkbox' ? event.target.checked : event.target.value,
        this.props.name,
      );
    }

    render() {
      const { description, error, describedBy } = this.getDescriptions();
      return (

          {labelFirst && <label id={`label-${this.state.id}`} htmlFor={this.state.id}>{this.props.label}}
          <WrappedComponent
            {...this.props}
            {...this.state}
            className={[classNames(
              styles['form-control'],
              { [styles['is-invalid']]: !this.state.isValid && this.hasDangerTheme() },
              { ...this.props.className },
            )]}
            describedBy={describedBy}
            onChange={this.handleChange}
            onBlur={this.handleBlur}
          />
          {!labelFirst && {this.props.label}}
          {error}
          {description}

      );
    }
  }

The first thing to remember is that asInput takes some component and then returns a new component (in this case, literally called NewComponent) that implements styling as well as some event handling, essentially wrapping the passed-in component (InputText, for example).
Part of this event handling is the onChange handler on the WrappedComponent in the render method of asInput.  The onChange handler calls the handleChange method, which changes the state of NewComponent and then calls the passed in (from props) onChange event handler.
So as somebody is filling out the email address portion of the form the state of NewComponent is updating (first they type j => state.value = j, then they type b =>state.value = jb, etc.).
Now let's say that after the email address portion of the form is filled out (i.e. state.value is<EMAIL_ADDRESS>we want to clear this portion of the form by setting the value prop of InputText to an empty string - what happens?
Here's how the WrappedComponent gets rendered in asInput.
<WrappedComponent
    {...this.props}
    {...this.state}
    className={[classNames(
      styles['form-control'],
      { [styles['is-invalid']]: !this.state.isValid && this.hasDangerTheme() },
      { ...this.props.className },
    )]}
    describedBy={describedBy}
    onChange={this.handleChange}
    onBlur={this.handleBlur}
/>

Note how {...this.props} comes before {...this.state}. This means that if they share a key, the state key value will override the props key value.
Here's an example in RunKit.
So thus, the empty string we pass to InputText gets overridden by the<EMAIL_ADDRESS>stored in state and thus we can't "clear" the InputText form field.

Coverage decreased (-0.5%) to 99.054% when pulling 2b95c799fc959649124286564213ec226a41fdbe on mroytman/asInput-value into 805e888da6e3ad449980a6eb23e7f39b9c155d96 on master.

Coverage increased (+0.006%) to 99.527% when pulling ef47d0145f8f60621f7f7a6dfe31bfd1ced97388 on mroytman/asInput-value into 805e888da6e3ad449980a6eb23e7f39b9c155d96 on master.

Coverage increased (+0.006%) to 99.527% when pulling ef47d0145f8f60621f7f7a6dfe31bfd1ced97388 on mroytman/asInput-value into 805e888da6e3ad449980a6eb23e7f39b9c155d96 on master.

@edx/educator-dahlia -- would one of you guys mind verifying that this branch fixes the form-not-resetting issue in SFE?

Just validated with SFE locally -- triggering the state change to clear the fields properly clears the input forms on the page, so 👍 here

Great! I'm going to squash and merge. Thank you to everyone for getting this resolved :).

Coverage increased (+0.005%) to 99.527% when pulling 8391ed4f1e54163a10fdf720cb7a03594555e6ff on mroytman/asInput-value into a18fd5d74e1ecdf75d3fe3764568242b3cd29d8a on master.


Add local file tests

these are the two places that I think this could be resolve least disruptively:

https://github.com/ExaDev-io/labs-prototypes/commit/97fc7d9d53d639ae02dfb1a5c42b11c3badd7a30#diff-296fc4a0e792ae1a11d5c16a284b6aded6f0637f7fe2f359d71b2cd590ca4374R35
https://github.com/ExaDev-io/labs-prototypes/commit/74b0433ec43d4fdaa697aa2d5c786ffdfba9a030#diff-296fc4a0e792ae1a11d5c16a284b6aded6f0637f7fe2f359d71b2cd590ca4374R60

Green across the board for both changes. @dglazkov are there any cases you can think of that this might break?

Ohhh, is the bug that readFile doesn't accept URLs? So it needs to have the path part of the URL decoded?

Thank you for writing these tests! They are a bit too chunky -- test more than they need to. I would instead write a unit test for the resolveURL in loader.ts.

Green across the board for both changes. @dglazkov are there any cases you can think of that this might break?

The change in loadFromFile seems right, since it's localizes the knowledge of how to load files there. Thank you for spotting it!
Would you be up for rewriting the unit test for just loadFromFile?

Green across the board for both changes. @dglazkov are there any cases you can think of that this might break?

The change in loadFromFile seems right, since it's localizes the knowledge of how to load files there. Thank you for spotting it!
Would you be up for rewriting the unit test for just loadFromFile?

sure thing. I'll bring in the change for loadFromFile and revise the tests.

@dglazkov. for the chunkier tests, they definitely ended up going more towards integrationey tests.
But I think they still might be adding coverage.
IF we were to keep theses tests or similar, less-atomic tests, where should they live?

Breadboard has graduated to a new dedicated repo! 🎉 🎓 We were able to transfer everything except for open PRs, so this one will need to be re-created at https://github.com/breadboard-ai/breadboard/pulls if it is still relevant. Thank you! Sorry for the disruption.


Problem: no way to write quick unit tests

The issues with #85 were much easier to understand with a simple test suite to look at variations of "openrc" data.
This work introducing elm-test and defines a test suite for Helpers.processOpenRc. It includes a "narrow accepted arguments" change for Helpers.processOpenRc that makes the tests much easier to write.

A note for reviewers, I ported the commit ac43a91c0be19e141d0b781c187b86849a3a784b from this branch over to #87 as the final regex for these was the most complete and resolved the problem highlighted in #87.
It should not prevent a clean merge. But it might be puzzling regarding whether this needed to be merged to get that aspect (and you don't). But I found that issue thanks to these tests.


mdt-custom-cell inside ngRepeat creating new rows

Hey, nice library you have here. I'm trying to create a column of buttons in a mdt-table that will hopefully take in a toggle button to disable/enable the row. I couldn't find a working example for the documentation of mdt-custom-cell with ng-repeat, but could anyone take a look? It's creating new duplicated rows and refuses to populate the coupon.currency column.
  <mdt-table
    mdt-row="{'data': couponList, 'table-row-id-key': 'coupon._id', 'column-keys': ['coupon.promo', 'coupon.desc', 'coupon.start_date', 'coupon.end_date', 'coupon.currency', 'coupon.discount_value', 'coupon.discount_per']}">
    <mdt-header-row>
      <mdt-column align-rule="left">Promo code</mdt-column>
      <mdt-column align-rule="left">Description</mdt-column>
      <mdt-column align-rule="left">Start date</mdt-column>
      <mdt-column align-rule="left">End date</mdt-column>
      <mdt-column align-rule="left">Currency</mdt-column>
      <mdt-column align-rule="left">Discount value</mdt-column>
      <mdt-column align-rule="left">Discount %</mdt-column>
    </mdt-header-row>
    <mdt-row ng-repeat="coupon in couponList">
      <mdt-cell>{{coupon.coupon_code}}</mdt-cell>
      <mdt-cell>{{coupon.description}}</mdt-cell>
      <mdt-cell>{{coupon.start_date}}</mdt-cell>
      <mdt-cell>{{coupon.end_date}}</mdt-cell>
      <mdt-custom-cell column-key="coupon.currency">
        click{{value}}{{rowId}{{coupon.currency[0]}}}
      </mdt-custom-cell>>
      <mdt-cell>{{coupon.discount_value}}</mdt-cell>
      <mdt-cell>{{coupon.percent_off}}</mdt-cell>
    </mdt-row>
  </mdt-table>

Scratch that, i figured it out after digging through the demos

That's cool 👍

where did you get the coupon._id in your table-row-id-key? teach me master :)

@gerome0123 coupon._id is a key inside my couponList array. that id can be anything as long as it exists inside the array, like numbers or strings. i could use coupon.promo as the table-row-id-key if i wanted and get the id by {{value}} and passing that inside a ng-click="".
i never managed to get rowId working so I had to use value

{{rowId}} works only if you defined mdt-table-row-id inside mdt-row table attribute (!not the <mdt-row> element directive)

@iamisti can you give an example?? :)

from source

@example

 <mdt-header-row>

     <mdt-column>Product name</mdt-column>

     <mdt-column>Price</mdt-column>

 </mdt-header-row>

 <mdt-row

     ng-repeat="product in products"

     table-row-id="{{product.id}}">

     <mdt-cell>{{product.name}}</mdt-cell>

     <mdt-cell>{{product.price}}</mdt-cell>

 </mdt-row>

*/


[Loader] define RCTBridgeDelegate and delegate JS loading to it

hey @tadeuzagallo - I would like to be able to control the JS loading process myself so that I can handle errors differently and implement other custom behavior. Do you have plans to do this or would you accept a PR that makes this change? The idea I have is to add a delegate to the bridge called RCTBridgeDelegate. It would look like this:
@protocol RCTBridgeDelegate
@optional
- (void)loadJavaScriptAtURL:(NSURL *)URL
                 onComplete:(void (^)(NSError *error, NSString *script))block;
@end

The default implementation of this delegate method would use the existing RCTJavaScriptLoader and it is backwards-compatible with existing code.

I'm wanting better control over this as well.  This was my hope with https://github.com/facebook/react-native/issues/1463.
I was investigating the route more like the executorClass is done.

Depending on the intent of use for the loader, another issue which is related is https://github.com/facebook/react-native/issues/1652.

Re: use cases -- another thing I wanted to do was add a progress bar to get a better visual sense of whether loading the script is slow or if the bottleneck is elsewhere.

I've filed a few issues around the loading and the bridge setup.  In my case, the code is coming off disk.  I changed the loader to page is directly, and my code is in UTF16 format.  There is no UTF8 conversion cost, no overhead allocation cost, and it helps the lex a little bit as well.  I've moved the loader creation to be earlier, so I can start the paging right away and allow the bridge to get set up in the meantime.  There is a semaphore wait in the bridge which causes a stall.  Moving some things around and allowing the bridge to do some things in parallel has dropped the stall.
My point is if you aren't downloading off the network, the bridge is adding overhead.  The majority of the time is the JS lex.
I'm processing through more performance runs to see what can be done.

:+1: this is a nice idea

Thanks @tadeuzagallo =)


Tree widget: Models Tree category visibility determined incorrectly in specific case

http://localhost:3000/?iTwinId=892aa2c9-5be8-4865-9f37-7d4c7e75ebbf&iModelId=f34cc831-7139-4419-b502-b165e4294ca3
https://bentley.sharepoint.com/:v:/s/Rules-DrivenPresentation/Eci4fI6ADNdBkbQYV8i8Lz0B9Jg9PJ5ZOOIHRQT_SmHzLw?e=FwYHNC

The problem is that when some elements are in always/never drawn lists, category selector is ignored in determining visibility.
This is also somewhat related to #912 because models tree and categories tree use 2 different ways of determining visibility


Translation fixes (ru)

Corrected a few minor grammatical errors I found yesterday while going through the mod
russian.txt

Thanks!

@Svetaleet Thank you!
It is released in v0.5.1! (It is available in Outer Wilds Mod Manager.)
If you have any problems, please reopen this issue.


500 error: GetTreeEntryByPath

I just created a fresh git repo for a new project. The project consists of javascript stuff only, has no submodules and was pushed to a fresh empty repository via ssh. When i am accessing the repository through the webbrowser i get a 500 error and the following error message in the logs:
[Macaron] Started GET /foo/bar for <IP_ADDRESS>
2014/12/05 17:24:09 [view.go:142 Home()] [E] GetSubModule: GetTreeEntryByPath: error not exist
[Macaron] Completed /foo/bar 500 Internal Server Error in 22.237619ms

@Unknwon
I'm having the same issue on a repo that's reasonably safe to publish (it's a vimrc repo)
Here is the error on my system:
[Macaron] Started GET /rdrake/vimrc for <IP_ADDRESS>
2015/01/08 20:04:27 [view.go:142 Home()] [E] GetSubModule: GetTreeEntryByPath: error not exist
[Macaron] Completed /rdrake/vimrc 500 Internal Server Error in 144.236261ms

I've uploaded it if you have a chance to take a look:
https://try.gogs.io/rfdrake/vimrc

Hi @rojaro , any updates on this since Gogs has some changes about submodule?

I could reproduce it when cloning a repository from Bitbucket (not mirror).
I could access the repository settings directlry using /settings (/ threw error 500 with the error reported here) and delete it and push it from my machine and it worked correctly.
Unfortunately it's not a public repository so I cannot help to reproduce it.

Hi @Unknwon ,
I ran into the same error today.
It turned out I had another git repository in a subfolder of the newly created repository.
As soon as you push a subfolder that contains a git repository, gogs will throw a 500 when trying to display the repo.
Gogs Version <IP_ADDRESS>5 Beta

@Caerostris Yup, having exactly the same issue. Hoping this gets fixed soon!

:+1:  got the same error

I'm having the same issue when importing an existing GitHub private repository. Strange.

Hi all, I think the real problem is what @msimpson said.
Please follow on https://github.com/gogits/gogs/issues/1061 for updates.
Also, if you guys have any idea how to solve this, please help and comment.
Best regards, :beer:


FOSDEM 2018, February 3 & 4, Brussels

After the great fun of FOSDEM 2016 and FOSDEM 2017, here comes FOSDEM 2018.
Who is planning on going next year? Are you down for an IPFS community meetup while at the conf or post conf??

I will likely go, and sure I would attend an IPFS community meetup before, after or during the conf.

Thank you all that joined, it was really great to catch up with the community. See you again next year!

Count me in for FOSDEM 2019!!


Link URL hosts aren't updated on import

Links parsed into the Rich text field still link to the original wordpress host URL. Are we able to update these to the new host URL?

Tried this again with WAGTAIL_WORDPRESS_IMPORTER_SOURCE_DOMAIN set to both the full domain with https:// and http:// and with a trailing slash and this still didn't work for me.

Thanks for trying again 👍


Parameterized decorator check

I went back and forth on whether to throw, or just console.error, but ultimately decided to throw.
If you were to just spell the decorator wrong, (e.g. 'feild') it throws at runtime in the browser, so I thought it made sense to do the same here.

Very cool!  Merging now.


/bin/sh: 1: adb: not found

VSCode Version:1.1.1
OS Version:Linux

Steps to Reproduce:

/bin/sh: 1: adb: not found
[vscode-react-native] [Error : 0101] Cannot debug application: Error while executing command 'adb devices': Command failed: /bin/sh -c adb devices
/bin/sh: 1: adb: not found

Looks like debugging? @rajeshbhagat can you explain what you do?

@rajeshbhagat This looks like a vscode-react-native problem. Please file this issue here https://github.com/Microsoft/vscode-react-native/issues

anybody solved it?

@brunobraga95 we don't know because this issue does not seem to be a VS Code issue but a vscode-react-native problem. Please file the issue in the vscode-react-native repository: https://github.com/Microsoft/vscode-react-native/issues


Implemented full screen feature

Besides some minor changes, I connected to the signal_window_state_event to identify when fullscreen is set or not. It is possible in some window managers to (un)fullscreen applications, and one thus have to track these changes. It did not work entirely well in MacOS, but I guess it's working on Linux at least.

It didn't work 100% in Manjaro either sadly.

I think the above commit fixes the issues with identifying if the window is already fullscreen or not. Merging if everything is ok on MacOS and Manjaro at least.

Well done! Minor detail but the keybinding is defaulted to nothing now. Perhaps there is a good reason for it but if it is unintentional, I would dare say F11 is the most common keybinding for full screen mode.

I forgot to mention this. The reason is that IDEs have quite a few keybindings compare to regular applications, and only the most used functions should have a default keybinding or else we would fast not have keybinding slots for important new functions. Also, we have to consider many OS'es, and the F keys for instance are not regularly used in MacOS. My F11 for instance is already bound to some OS function and cannot be overwritten by an application. Though Chrome have the following keybinding for fullscreen on MacOS: cmd-control-F, and Chrome for Linux must have some other keybinding for this, maybe F11.

Could maybe use cmd-control-F for MacOS and F11 for other OS'es. I checked a couple applications on Linux and it seems that F11 is quite common.

I added the default shortcuts for full screen discussed above in 25c0b88df204041d029fdf7ad2a82265ecadd723


Fix deprecated warning of StatusBarIOS

StatusBarIOS.setHidden is deprecated since react-native v0.22.
Use StatusBar instead of StatusBarIOS.

Thanks!


Understanding configuration updates for split tunnel to a dynamic list of hosts

The situation: I'm setting up a split tunnel to allow access to a bunch of individual hosts via a VPN. There's a longish list of them, all on different /32s, and from time to time that list will change.
What I want to avoid is having the client's OpenVPN configuration have to change when this list changes. I know I'll have to bump something on the server container to get this to work, but I'd hate to have to pull down new OVPN files every time.
Suggestions welcome to help me puzzle this out - I promise to write up whatever I find.

I think I can do this with a series of
[-p PUSH ...]

commands, but I didn't see an example in the docs of how this is used in any detail.

If it's a split tunnel, then I assume you're avoiding routing on to the Internet, correct?
Could you use a VPN with a private subnet and send the /24 (or whatever) on to the VPN for private routing?  Use ovpn_genconfig -d to make the subnet private.
Then you'll have a collection of /32s that are connected to larger subnet (i.e. /24) and routed by the openvpn daemon once the packets get there.
I use this for private networks that don't need to route to the Internet over the VPN.

Thanks for all the help. We decided to back off on the split tunnel config and just run this as a full tunnel - hope to revisit this when the VPN/VPC configuration is less complex.
This got written in the process:
http://vielmetti.github.io/post/2015/2015-12-04-split-tunnels-considered-harmful/
for what it's worth. I'll close the issue.


sfaira search command

Hi,
currently working on the CLI as discussed.
Maybe it would also be nice to add a sfaira search command?
The flattened DOI format is not really user friendly. People looking for datasets should not have to transform DOIs into a different representation that they are not familiar with.
I for one would have to be able to search and subset me results

by DOI
organism
tissue
maybe even size/number of cells
much more that we could collect
Any combination of the above

I know that the sfaira website also does this. Hence, I would propose to add the underlying filter logic to sfaira and use this for the web frontend and a CLI frontend with Rich tables.
Thoughts @davidsebfischer @le-ander ?

Seaching by tissue outside of python is difficult because we are switching to UBERON for anatomy and you would need to check sub terms (and maybe also super terms) of the given anatomical term. It would be nice but in practice this would require a lot of hit mitigation rules. For this reason, search by organism would not be very fruitful then.
Search for data set size I would keep to the website or python, both are / will support it, I do not think this is relevant for writing data loaders, the core use of the CLI?
Searching for author would be nice, this is very restrictive and would likely help with finding data loaders in question.
Searching for DOI would be nice, here converting raw DOI to our DOI representation would also be easy.

So I would restrict to searching either author or DOI for now, would do you think?

Seaching by tissue outside of python is difficult because we are switching to UBERON for anatomy and you would need to check sub terms (and maybe also super terms) of the given anatomical term. It would be nice but in practice this would require a lot of hit mitigation rules. If we don't allow search by anatomy, search by organism would not be very fruitful either because it would be too broad.

Guess I'll have to look more into UBERON first :)

Search for data set size - I would keep to the website or python, both are / will support it, I do not think this is relevant for writing data loaders, the core use of the CLI? I would not want people to check if a data set exists by looking for one with the matching number of cells.

Searching and filtering available datasets via the CLI is something that I envision beyond the dataloader writing stuff that I pitched. They don't overlap besides the fact that you can easier check whether a given dataset is already implemented in sfaira which you must know before attempting to write a dataloader for it.
Author & DOI sound good as a start and we can later still easily expand it if we want to :+1:


'No tests found' when directory has a '-'

I am using<EMAIL_ADDRESS>when my directory that include my git repo has a '-', I see the following behavior:
No tests found
74 files checked.
testPathDirs: <DIRECTORY_PATH> - 0 matches
testRegex: /tests/.*.(ts|tsx|js)$ - 1 match
testPathIgnorePatterns: \node_modules\ - 74 matches
if I rename the repo directory not to have a dash, this will work fine and I can see a test. I am assuming this not an expected behavior.

Can you post your configuration?

"jest": {
"scriptPreprocessor": "./preprocessor.js",
"moduleFileExtensions": [
"ts",
"tsx",
"js"
],
"testRegex": "/tests/.*\.(ts|tsx|js)$",
"verbose": true,
"collectCoverage": true
}

Duplicate: 1568 1551

for people finding this issue, would it be possible to close the duplicates, noting which issue they are a duplicate of, so that only the issue where actual work towards fixing it happens stays open?

This isn't resolved. :-\
my config:
const {defaults} = require('jest-config');

const wd = process.cwd().replace(/\//g, '\\/');

console.log(wd);

module.exports = {
  // moduleDirectories: ["node_modules", ".", "src", "tests"],
  moduleFileExtensions: [...defaults.moduleFileExtensions, 'ts', 'tsx'],

  projects: [
    {
      displayName: 'End to End',

      preset: "jest-puppeteer",

      globalSetup: "<rootDir>/tests/support/acceptance/setup.js",
      globalTeardown: "<rootDir>/tests/support/acceptance/teardown.js",
      testEnvironment: "<rootDir>/tests/support/acceptance/puppeteer-environment.js",

      testRegex: `${wd}/(.+)\\.e2e\\.ts`,
    },
    {
      displayName: 'Unit and Integration',

      setupTestFrameworkScriptFile: '<rootDir>/tests/support/setup.js',

      testRegex: "(.+)test\\.ts"
    }
  ],
  transform: {
   "^.+\\.(t|j)sx?$": "ts-jest"
  },
  globals: {
    "ts-jest": {
      tsConfigFile: "tsconfig.jest.json"
    }
  },
}

given that all three issues are closed, you probably want to file that as a new issue.

I'm actually giving up on jest. Mocha "just worked" (by following the docs). :-\

That's entirely your call, but I'd still recommend filing your issue as a new issue so that devs are notified of it, and people who aren't you, but also run into this problem, may eventually get the fix they need still anyway.


Introduce Record Formatting

Added formatting and sanitzation for social records such that links & other standard compliant formats are interpreted correctly and give a rich output. See before and after image below
In addition this also updates the links of the following records for more rich user interaction:

email -><EMAIL_ADDRESS>telegram -> https://t.me/username
twitter -> https://twitter.com/@username
github -> https://github.com/username

Todo: Add Linkedin


Added prompt to flip "inheritEnv" setting to false to fix conda activation issue

For #7607

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[x] Title summarizes what is changing
[x] Has a news entry file (remember to thank yourself!)
[x] Appropriate comments and documentation strings in the code
[x] Has sufficient logging.
[x] Has telemetry for enhancements.
[x] Unit tests & system/integration tests are added/updated
~[ ] Test plan is updated as appropriate~
~[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed)~
~[ ] The wiki is updated with any design decisions/details.~

Codecov Report

Merging #7633 into master will decrease coverage by 0.8%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master    #7633      +/-   ##
==========================================
- Coverage   58.69%   57.88%   -0.81%
==========================================
  Files         493      494       +1
  Lines       21995    21682     -313
  Branches     3533     3536       +3
==========================================
- Hits        12909    12550     -359
- Misses       8278     8316      +38
- Partials      808      816       +8

Impacted Files
Coverage Δ

src/client/telemetry/index.ts
86.13% <ø> (ø)
:arrow_up:

src/client/interpreter/serviceRegistry.ts
100% <100%> (ø)
:arrow_up:

src/client/telemetry/constants.ts
100% <100%> (ø)
:arrow_up:

src/client/common/utils/localize.ts
93.93% <100%> (+0.01%)
:arrow_up:

...t/interpreter/virtualEnvs/condaInheritEnvPrompt.ts
28.2% <28.2%> (ø)

...nt/datascience/jupyter/invalidNotebookFileError.ts
0% <0%> (-75%)
:arrow_down:

.../client/datascience/jupyter/jupyterConnectError.ts
0% <0%> (-66.67%)
:arrow_down:

...science/jupyter/jupyterKernelPromiseFailedError.ts
0% <0%> (-50%)
:arrow_down:

...ent/datascience/jupyter/jupyterWaitForIdleError.ts
0% <0%> (-50%)
:arrow_down:

src/client/common/utils/platform.ts
64.7% <0%> (-23.53%)
:arrow_down:

... and 39 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 fc0e70f...1ac53ee. Read the comment docs.

Smoke UITest Linuxstable27Smoke times out😞


update security settings of favonia/cloudflare-ddns

Thanks for using my DDNS updater. Since version 1.13.0 (released on 16 July), the updater has stopped dropping superuser privileges by itself, instead relying on Docker's built-in mechanism to drop those privileges. The new way is safer, cleaner, and more reliable; but it requires an update to the configuration. In particular, the environment variables PUID=uid and PGID=gid should be replaced by user: "uid:gid" or --user uid:gid. I am on a mission to eliminate the old template from the internet. Please help me promote security best practices!
For more information about this design change, please read the CHANGELOG. If copyright ever matters, this PR itself is licensed under CC0, which should allow you to do whatever you want. Thank you again for your interest in the updater.
PS: I know you are using an older version of the updater, but the template works even for older ones. (An upgrade is recommended, though.)
PPS: I do not have a VyOS to test the script. Please let me know whether it works or not. BTW, it’s sad that VyOS does not seem to provide many other useful protections such as “dropping all Linux capabilities” or “making the filesystem read-only”.

@favonia Not sure how I missed this, but thank you!
I've upgraded the version used in my deployment and removed the env vars entirely.

f0bcf0e0d8a8261305cf2b2a7717c8306acc582e
af8b46ee8fcbd706a38c286cea14a8965c27e981

Thanks again!


Button icons aria labels changes #14998

Hi jelbourn, As per documentation area label is hidden for icon as it does not convey any useful information alone. That's I added aria label to the button even though we can enable area label for icon using aria-hidden="false". Let me know if you want me to use aria-hidden="false" instead of button area label.


Field type Text in CMA is less specific than in the back-end app

In the CMA API I can use Constants.CMAFieldType.Text to make a field of type text, but in the back-end app (https://app.contentful.com/) there are Short Text and Long Text field types.
When I created a field of type Text via the CMA API, I've at times seen it appear as Short Text, at other times as Long Text, without obvious reasons for the change. This seems to be problematic because I have multiple contents types with a slug field, which should have the same type.
When created manually, the type is Short Text and I am able to request entries via the CDA API, with the equals operator ( .where("slug", slug) ). When Contentful decides to create a field of type Long Text, the CDA API complains that the equals operator cannot be applied on fields.slug.de-DE because it has type Text.

Hey,
for the short text four slugs I recommend using Constants.CMAFieldType.Symbol as those are querryable using strict equality and fit the purpose of a slug.
I just generated some random ContentTypes, trying to recreate the issue of the type not being consistent. Sadly I cannot reproduce the behaviour you described :( Can you give me some more details, and/or some code samples to look at?
This sounds like a bug, either in the documentation or in our SDK, and I would be happy to fix that either way ... ;)
Thank you for spotting this, I hope we can fix that issue together …

Thanks for your help! I also tried to re-produce the behaviour but did not succeed. Most likely I lost track of things when I switched from a manually-created content type (which had Short Text fields only) to the programmatically generated one (which had Text/Long Text fields only).
Maybe it was not a great idea of mine to stick to the Java API (having no JavaDoc for Constants.CMAFieldType.*) and the App (using the terms Long Text and Short Text) instead of reading the REST API docs (that explain that the Symbol type in the API is not a single character, but a Short Text in the terms of the App and the Text type in the API is the Long Text in the terms of the App).
Thanks again and sorry for causing some confusion/overhead :-/.

Hey,
thank you for your input. I put writing more javadoc for the CMA SDK on our roadmap to avoid ambiguity in future.
Thank you for your feedback. We really appreciate this kind of feedback, it helps us making the SDK as friction less as possible. If you feel there is more to be improved, feel free to create another issue, for now I'll close this one.
Thanks,
Mario


Document Intelligence Readme Issue

Section link1

Reason:
list object has no attribute words
Suggestion:
Update code to page
@rohit-ganguly  , @lmazuel  ,  @achandmsft , @mayurid for notification.

Hi @jerryshia , we did some updates for the sample recently, can you take a look? Additionally, the Reason is not correct: result.pages is a list object, page is in DocumentPage type which has attribute words.

This is a duplicate issue of https://github.com/Azure/azure-sdk-for-python/issues/35404 , close this issue as it has been fixed.