Error removing jobs from the reserved queue

Laravel Version
10.13.1
PHP Version
8.2.6
Database Driver & Version
No response
Description
We encountered problems with job uniqueness. The jobs, which are configured to have a maximum of 1 attempt, failed multiple times and couldn't be written to the failed_jobs table due to the failed_jobs_uuid_unique constraint.
It seems that the failed_jobs_uuid_unique constraint may be a separate bug for jobs that have a "ShouldBeUnique" implementation, and there is an issue with error handling when they fail multiple times. Upon further investigation through the stack trace, we found that the issue was caused by the MaxAttemptsExceededException.
[2023-06-05 13:59:10] production.ERROR: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'b0985078-42cd-4512-a70f-91fad1f69ca5' for key 'failed_jobs.failed_jobs_uuid_unique' (Connection: mysql, SQL: insert into `failed_jobs` (`uuid`, `connection`, `queue`, `payload`, `exception`, `failed_at`) values (b0985078-42cd-4512-a70f-91fad1f69ca5, redis, default, {"backoff":null,"uuid":"b0985078-42cd-4512-a70f-91fad1f69ca5","timeout":290,"tags":{},"id":"b0985078-42cd-4512-a70f-91fad1f69ca5","job":"Illuminate\\Queue\\CallQueuedHandler@call","pushedAt":"1685973367.0205","maxExceptions":null,"maxTries":1,"data":{"command":"O:47:\"App\\Domain\\Caching\\Jobs\\FullyCacheIdentifierJob\":1:{s:56:\"\u0000App\\Domain\\Caching\\Jobs\\FullyCacheIdentifierJob\u0000refUuid\";s:36:\"63f3cb9c-66f4-47af-a915-882d37e999d6\";}","commandName":"App\\Domain\\Caching\\Jobs\\FullyCacheIdentifierJob"},"failOnTimeout":true,"silenced":false,"retryUntil":null,"type":"job","displayName":"App\\Domain\\Caching\\Jobs\\FullyCacheIdentifierJob","attempts":2}, Illuminate\Queue\MaxAttemptsExceededException: App\Domain\Caching\Jobs\FullyCacheIdentifierJob has been attempted too many times or run too long. The job may have previously timed out. in /home/www-data/api/vendor/laravel/framework/src/Illuminate/Queue/Worker.php:780
Stack trace:
#0 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(514): Illuminate\Queue\Worker->maxAttemptsExceededException(Object(Illuminate\Queue\Jobs\RedisJob))
#1 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(423): Illuminate\Queue\Worker->markJobAsFailedIfAlreadyExceedsMaxAttempts('redis', Object(Illuminate\Queue\Jobs\RedisJob), 1)
#2 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(384): Illuminate\Queue\Worker->process('redis', Object(Illuminate\Queue\Jobs\RedisJob), Object(Illuminate\Queue\WorkerOptions))
#3 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(175): Illuminate\Queue\Worker->runJob(Object(Illuminate\Queue\Jobs\RedisJob), 'redis', Object(Illuminate\Queue\WorkerOptions))
#4 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(136): Illuminate\Queue\Worker->daemon('redis', 'default', Object(Illuminate\Queue\WorkerOptions))
#5 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(119): Illuminate\Queue\Console\WorkCommand->runWorker('redis', 'default')
#6 /home/www-data/api/vendor/laravel/horizon/src/Console/WorkCommand.php(51): Illuminate\Queue\Console\WorkCommand->handle()
#7 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Laravel\Horizon\Console\WorkCommand->handle()
#8 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#9 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
#10 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#11 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Container/Container.php(661): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)
#12 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Console/Command.php(194): Illuminate\Container\Container->call(Array)
#13 /home/www-data/api/vendor/symfony/console/Command/Command.php(312): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#14 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Console/Command.php(163): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
#15 /home/www-data/api/vendor/symfony/console/Application.php(1040): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /home/www-data/api/vendor/symfony/console/Application.php(314): Symfony\Component\Console\Application->doRunCommand(Object(Laravel\Horizon\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /home/www-data/api/vendor/symfony/console/Application.php(168): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /home/www-data/api/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(200): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /home/www-data/api/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#20 {main}, 2023-06-05 14:00:40)) {"exception":{"errorInfo":["23000",1062,"Duplicate entry '3ca6725e-ed61-45b1-8df2-109631e964bb' for key 'failed_jobs.failed_jobs_uuid_unique'"],"connectionName":"mysql"}}

After removing the unique constraint from the database (for easier debugging), we narrowed down the error to the following log line:
[2023-06-05 13:43:54] production.ERROR: App\Domain\Caching\Jobs\BuildCacheJob has been attempted too many times or run too long. The job may have previously timed out. {"exception":[]}

After diving deeper into debugging, we discovered that the jobs were not being removed from the "reserved" queue correctly, and the workers were executing them again, resulting in the MaxAttemptsExceededException.
Further examination of the source code revealed a failed removal of entries in \Illuminate\Queue\RedisQueue::deleteReserved. The result of the execution was always 0, indicating that the entry was not being removed.
After spending more hours experimenting with different Redis clients and configurations, we found that setting either compression and/or serialization in the Redis database configuration resulted in a faulty zrem request to Redis. As a workaround, we disabled the two options for the default database, which is used by the worker, and did not investigate the problem further.
Our hypothesis is that the lack of compression or serialization in the Redis client causes a mismatch between the member in the zrem request, leading to the entry not being deleted.
Workaround was to disable serializer and compression
'redis' => [

    'client' => env('REDIS_CLIENT', 'phpredis'),

    'options' => [
        'cluster' => env('REDIS_CLUSTER', 'redis'),
        'prefix' => 'XXX:',
        'serializer' => 2, // Redis::SERIALIZER_IGBINARY,
        'compression' => 2 // Redis::COMPRESSION_ZSTD,
    ],

    'default' => [
        'url' => env('REDIS_URL'),
        'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
        'password' => env('REDIS_PASSWORD'),
        'port' => env('REDIS_PORT', '6379'),
        'database' => env('REDIS_DB', '0'),
        'scheme' => env('REDIS_SCHEME', 'tcp'),
        'options' => [
            'serializer' => 0, // disabled global configuration due to failing removing jobs from reserver queue
            'compression' => 0, // disabled global configuration due to failing removing jobs from reserver queue
        ],
    ],

    'cache' => [
        'url' => env('REDIS_URL'),
        'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
        'password' => env('REDIS_PASSWORD'),
        'port' => env('REDIS_PORT', '6379'),
        'database' => env('REDIS_CACHE_DB', '1'),
        'scheme' => env('REDIS_SCHEME', 'tcp'),
    ],
],

Hope i haven't forgotten anything :)
Thanks
Steps To Reproduce
Configure redis DB
phpredis as client
serializer option 2 (Redis::SERIALIZER_IGBINARY)
compression option set to 2 (Redis::COMPRESSION_ZSTD)
'redis' => [

    'client' => env('REDIS_CLIENT', 'phpredis'),

    'options' => [
        'cluster' => env('REDIS_CLUSTER', 'redis'),
        'prefix' => 'XXX:',
        'serializer' => 2, // Redis::SERIALIZER_IGBINARY,
        'compression' => 2 // Redis::COMPRESSION_ZSTD,
    ],

    'default' => [
        'url' => env('REDIS_URL'),
        'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
        'password' => env('REDIS_PASSWORD'),
        'port' => env('REDIS_PORT', '6379'),
        'database' => env('REDIS_DB', '0'),
        'scheme' => env('REDIS_SCHEME', 'tcp'),
    ],

    'cache' => [
        'url' => env('REDIS_URL'),
        'host' => env('REDIS_HOST', '<IP_ADDRESS>'),
        'password' => env('REDIS_PASSWORD'),
        'port' => env('REDIS_PORT', '6379'),
        'database' => env('REDIS_CACHE_DB', '1'),
        'scheme' => env('REDIS_SCHEME', 'tcp'),
    ],
],

Create a simple job with tries set to 1 (I have also added the ShouldBeUnique to provocate the DB constraint error which from my point of view is a separate error)
class SomeJob implements ShouldQueue, ShouldBeUnique
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public $tries = 1;

    public function handle(): void
    {
        sleep(1);
    }

    public function uniqueId(): string
    {
        return 7411;
    }
}

Dispatch the job and wait for second execution
As described above this will result in multiple executions on the second worker run due to the job was not removed from the reserved queue

@tillkruss seems that works:

My first thought is Lua scripts. They are used by the Queue component, but will disregard any serializer or compression options that PhpRedis may use. So PhpRedis may set queue:job-123 to {foo: "bar"} and then the Lua script would consider it gibberish and fail.
For this scenario the only solution is: Don't use data mutations for queue Redis connections.
Alternatively, refactor everything to not use Lua (not a bad idea) and use atomic MULTI transactions.
It may be good to actually unset the two Redis::OPT_* options on the connection in there queue module.

@tillkruss nice finds. Thanks!
@andrej-schaefer are you willing to work on a PR?

@driesvints im sorry but im not
Im not so deep in laravel that i can somehow find the error fast enough, and I have very limited time
What i can offer is discussion and analysis on proposals :)
BTW: do i have to create the commit for the reproduction if it is already reproduced :), due to my limited time it will take a while.
And keep in mind the second error regarding the DB constraint on unique jobs and multiple fails (If you want i can prepare a ticket for it separate) Or you say it is not a bug and i have misunderstood the documentation for unique jobs?

No worries. I'll keep this open then and see if anyone can help here.

I mean, when creating unique jobs through ShouldBeUnique interface it means it is unique for the current execution, that multiple workers are not picking a job with the same jobId in parallel?
If so then if the same job with the same jobId fails multiple times (f.e. first run fail, second run succeed, third run fail again) it will result in a unqie constraint error
I think it is solvable by using the WithoutOverlapping middleware due to this not effect the jobID.
As I said, maybe i misunderstand the ShouldBeUnique interface, but even then it is a bug (I think :) )

@tillkruss : Would this be something relay.so, being the successor of phpredis, would/could handle differently?
Besides, I'd guess there's quite a connection to https://github.com/laravel/framework/pull/40569 & https://github.com/laravel/framework/pull/41718 , which sadly wasn't tackled back than.

Thanks @tillkruss - I've drafted a PR, fixing the same issue as reported by @andrej-schaefer. I'll submit it against the current 10.x branch tomorrow.
Sad that it's prohibiting using compression within queues, guess we'll stick to manually compressing our larger objects within our event listeners & jobs prior to dispatching 😌

455y654645

Can somebody advise whether this issue would also affect Laravel Horizon. I can't reproduce the issue from a quick test.

Looks like Taylor noted he'd appreciate a note being added to the docs: https://github.com/laravel/framework/pull/48180#issuecomment-1699685697.


Reuse of different patches stashing them on main branch

Signed-off-by: Matthias Wessendorf<EMAIL_ADDRESS>As per title.
Here is a list of commits, where I used the different patches for our scripts (not on generated files):

https://github.com/openshift-knative/eventing-kafka-broker/commit/1caea011e697b118b514553d2ed5fe30da438805#diff-d1f6a0b482e1186e9e185284cbc46751b4d0ddd6c510abeadc21ce798ee192d6
https://github.com/openshift-knative/eventing-kafka-broker/commit/9e02488963ff1c6b6f01f5dda8fa9895a2c82ab8#diff-d1f6a0b482e1186e9e185284cbc46751b4d0ddd6c510abeadc21ce798ee192d6
https://github.com/openshift-knative/eventing-kafka-broker/commit/eed13f2ec2243c920aaab378c53c2c0d6918668a#diff-d1f6a0b482e1186e9e185284cbc46751b4d0ddd6c510abeadc21ce798ee192d6
https://github.com/openshift-knative/eventing-kafka-broker/commit/85b5a1cb476bf6ccfe35597b860c5ac8dfdff84f#diff-d1f6a0b482e1186e9e185284cbc46751b4d0ddd6c510abeadc21ce798ee192d6

NOTE: This is a prerequisite for creating 1.2 branch, and later the release-next automation

/assign @pierDipi


Corrected ykman command usage and added Cache options

According to https://github.com/drduh/YubiKey-Guide#require-touch, ykman uses set-touch instead of touch (and tested myself). I also added mentions about the cached options if frequent OpenPGP operations will be done to benefit the user's convenience.

Awesome, thanks!


GATT table size checking / setting

I have an ESP32 BLE server and a BLE32 BLE client talking to each other. The server, which uses the Arduino ESP32 BLE library, has five Characteristics, three Read and notify and two write. The Client is handling them correctly. When I introduce a 2904 descriptor into any one of the Read, Notify Characteristics, the Client stops being able to talk to the last Characteristic, whichever that is in the creation process (at end of GATT, I assume). The Client's code is not changed. The Server and Client are not bonded. I have changed the order in which the Characteristics are declared and found that the last is always affected. My question is: In this Arduino ESP32 BLE library, is there a function I can use to check GATT size / usage or to allocate more memory to GATT? There is a large amount of unused memory available in the ESP32. 2902 descriptors don't seem to cause a problem. I have verified the client behavior with the nRF Android App as well.

Actually i cant say how many handles currently is available, but it would be easier if you tell us how many characteristics and descriptors are you using in overall.

Here is the code for registering the Characteristics in the GATT. Note that last Characteristic (humidity) has a 2904 descriptor defined but the Temperature characteristic has it commented out. This code works but there is no 2904 descriptor visible for Humidity in the nRF app. If I uncomment the 2904 descriptor for temperature, the Humidity characteristic is no longer visible in the nRF app. If I put the write Characteristics last, one of them drops off the edge.

BLEService *pService = pServer->createService(SERVICE_ENVIRONMENTAL_SENSING_UUID);
// Create BLE Characteristics
pSetLoThreshCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_UUID_LoThresh,
BLECharacteristic::PROPERTY_WRITE
);
pSetLoThreshCharacteristic->setCallbacks(new MyLoThreshCallback());
pSetHiThreshCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_UUID_HiThresh,
BLECharacteristic::PROPERTY_WRITE
);
pSetHiThreshCharacteristic->setCallbacks(new MyHiThreshCallback());
pStatCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_UUID_STATUS,
BLECharacteristic::PROPERTY_READ   |
BLECharacteristic::PROPERTY_NOTIFY
);
pStatCharacteristic->addDescriptor(new BLE2902());
BLE2904 * pStatDescriptor = new BLE2904();
pStatCharacteristic->addDescriptor(pStatDescriptor);
pStatDescriptor->setFormat(BLE2904::FORMAT_UINT8);
pStatDescriptor->setUnit(0x2700); //Unitless
ptempCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_TEMPERATURE_UUID,
BLECharacteristic::PROPERTY_READ   |
BLECharacteristic::PROPERTY_NOTIFY
);
ptempCharacteristic->addDescriptor(new BLE2902());
/*
BLE2904 * ptempDescriptor = new BLE2904();
ptempCharacteristic->addDescriptor(ptempDescriptor);
ptempDescriptor->setFormat(BLE2904::FORMAT_SINT16);
ptempDescriptor->setExponent(-2); //Divide this by 100
ptempDescriptor->setUnit(0x272F); //Temperature in Celsius per BLE SIG
*/
phumidCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_HUMIDITY_UUID,
BLECharacteristic::PROPERTY_READ   |
BLECharacteristic::PROPERTY_NOTIFY
);
phumidCharacteristic->addDescriptor(new BLE2902());
BLE2904 * phumidDescriptor = new BLE2904();
phumidCharacteristic->addDescriptor(phumidDescriptor);
phumidDescriptor->setFormat(BLE2904::FORMAT_UINT16);
phumidDescriptor->setExponent(-2); //Divide this by 100
phumidDescriptor->setUnit(0x27AD); //Percentage per BLE SIG

The environment is an ESP32-C3-DevkitM-1 V1.0 from Espressif

I remember now. This function has additional argument with default value:
pServer->createService(SERVICE_ENVIRONMENTAL_SENSING_UUID, handles);

You should increase handles value.

Ah, thanks a lot, I will try that.


V2 - In the “configure repos” screen, if the org / repo name is longer than the table cell, it is cut off and doesn’t wrap or scroll

In the “configure repos” screen, if the org / repo name is longer than the table cell, it is cut off and doesn’t wrap or scroll, and hovering doesn’t show it either -- see screenshot below. That means it isn’t possible to tell which repo is which without opening every link

@manishv09 , this is a Project Console issue, please log this issue in the Admin Console JIRA board.
And then delete or close this ticket from here.

Raised this issue on LFX Admin Console Board hence closing this issue.


getting executed sql string using bluebird promise

using promise the conn.queryAsync returns a promise, and does not return an object which i can get the executed sql string with the key sql
what is the way to get that string?

Hi @yosiweinreb this module has no .queryAsync method, so I'm not sure. Can you provide the code you are using? Our .query method returns the Query object you can get the SQL string from.

using :
 const Promise = require('bluebird')
 const mysql = require('mysql');
 Promise.promisifyAll(mysql);
 Promise.promisifyAll(require("mysql/lib/Connection").prototype);
 Promise.promisifyAll(require("mysql/lib/Pool").prototype);

You get a new method queryAsync on a connection, which returns a promise
Not sure if this related to bluebird or to this module

Yea, this is an issue with Bluebird; when it does the callback style function wrapping, it doesn't expose what the original function returned in any way.


Update terraform config

Summary of Changes
I encountered the following error when deploying changes in the Housing Search API:

The error specified that I should move the provider version to the required_providers block.
https://developer.hashicorp.com/terraform/language/providers/requirements#requiring-providers

You will need to be very careful here - Your screenshot shows you about to "modify" the housing search DB - are you confident this is not a destructive merge?

I don't think updating the version would resolve the error (it might resolve the warning). The error is complaining about autotune not being supported with the instance type we are using. Maybe it's something that needs to be upgraded within the common module  as that's where the error is referring to (although I don't see any autotune setup there)...

It must be from common. I have not made any changes to terraform

Have a look at the terraform spec - see if there's a parameter to enable/disable autotune - IMO we'd want to disable it because we're on a very small instance size (the smallest allowable for ES) so it's not going to make a massive difference.

I agree we should look into disabling autotune in common and hopefully that should solve the issue, this might help

Have a look at the terraform spec - see if there's a parameter to enable/disable autotune - IMO we'd want to disable it because we're on a very small instance size (the smallest allowable for ES) so it's not going to make a massive difference.

Its like you read my mind


JSDoc comments are not produced in generated declaration files

I looked high and low for this issue having already been brought up OR an option in the typescript compiler to control this behavior.
Basically, my code has JSDocs all over it explaining how everything works, but when the typescript compiler generates the d.ts files ALL the JSDocs are stripped away.  I get definition files that describe the classes, methods, and interfaces but nothing else.  No documentation.
I would like to see an option to tell the TS compiler to leave the comments in the definition files it generates.

Do you have removeComments enabled in your tsconfig.json file - seen here: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html?

No,
My compile command is this:
./node_modules/.bin/tsc --stripInternal -d --declarationDir "." -t "ES5" --rootDir "src"
You can see the file where it's being executed here.
The source typescripe file for the project I'm referencing is here and the resulting definitions are here.

I can not get this to reproduce locally.. i copied your file locally, and ran the same command, and no luck. something else is going on here, can you share a self-contained repro project?
Here is what i see. file contents redacted for brevity.
c:\test\13209>Tree /F
C:.
└───src
        a.ts

c:\test\13209>type src\a.ts
import { TSMap } from "typescript-map";
import { TSPromise } from "typescript-promise";
import { SomeSQLMemDB } from "./memory-db";

/**
 * This is the format used for actions and views
 *
 * @export
 * @interface ActionOrView
 */
export interface ActionOrView {
    name: string;
    args?: Array<string>;
    call: (args?: Object) => TSPromise<any>;
}

c:\test\13209>tsc -v
Version 2.1.5-insiders.20161229

c:\test\13209>tsc  --stripInternal -d --declarationDir "." -t "ES5" --rootDir "src" src\a.ts
src/a.ts(1,23): error TS2307: Cannot find module 'typescript-map'.
src/a.ts(2,27): error TS2307: Cannot find module 'typescript-promise'.
src/a.ts(3,30): error TS2307: Cannot find module './memory-db'.

c:\test\13209>type a.d.ts
import { TSPromise } from "typescript-promise";
/**
 * This is the format used for actions and views
 *
 * @export
 * @interface ActionOrView
 */
export interface ActionOrView {
    name: string;
    args?: Array<string>;
    call: (args?: Object) => TSPromise<any>;
}

Yes, the project where the comments aren't being exported is here:
https://github.com/ClickSimply/Some-SQL
Just run npm install && npm run build on the repo.

https://github.com/ClickSimply/Some-SQL/blob/58d897e0a51be7b5e328518531b3e48161225836/tsconfig.json#L6 ?

Yes, but if you look at the build.sh command you'll see that I'm explicitly passing command line arguments to TSC instead of telling to use the config file.  Maybe that's the confusing part?  I want to build the tsd files with comments, but the final JS file shouldn't have them.  Seems like a pretty common use case to me.
Anyway I got it working now.  With the repo above, this command generated tsd files without comments:
./node_modules/.bin/tsc --stripInternal -d --declarationDir "." -t "ES5" --rootDir "src"
But when I changed the build command to this it worked:
./node_modules/.bin/tsc --stripInternal -d --declarationDir "." -t "ES5" --rootDir "./src" src/index.ts
Working on recreating this behavior in a cleaner environment.

if you call tsc with no files or no --p, the tsconfig.json in the current folder is used. so your command
./node_modules/.bin/tsc --stripInternal -d --declarationDir "." -t "ES5" --rootDir "src"

is actually using the tsconfig.json to build...
the other one specifies a list of files, i.e. src/index.ts. and thus the tsconfig.json is not used.

Ah, I don't think I was expecting the compiler to merge my CLI commands with the TSConfig stuff.

@ClickSimply so you can just pass --removeComments false to tsc and everything will work 😃


ADBDEV-56. Sync with upstream 5.10.0

Merge changes from upstream 5.10.0 into adb-5.x.
The most important change in upstream (that influences our build) is that enable_filter_pushdown GUC parameter was renamed to gp_external_enable_filter_pushdown.
Warning: the upstream also changes build / test pipeline. See https://github.com/arenadata/gpdb/commit/7464c9f091a3d4ed3f53d0dae71db7a3446ec90a#diff-83df00db68da63c09b3530698dbcd090 for the details.

Useless pull request. We done it another way.


[Dart] use explicit types

It is common to enable stricter type checks in dart projects.
For the following json
{
    "field": "value"
}

quicktype outputs
import 'dart:convert';

DataObject dataObjectFromJson(String str) => DataObject.fromJson(json.decode(str));

String dataObjectToJson(DataObject data) => json.encode(data.toJson());

class DataObject {
  DataObject({
    this.field,
  });

  String field;

  factory DataObject.fromJson(Map<String, dynamic> json) => DataObject(
        field: json["field"] == null ? null : json["field"],
      );

  Map<String, dynamic> toJson() => {
        "field": field == null ? null : field,
      };
}

here is how it would look with types being explicitly defined
import 'dart:convert';

DataObject dataObjectFromJson(String str) => DataObject.fromJson(json.decode(str) as Map<String, dynamic>);

String dataObjectToJson(DataObject data) => json.encode(data.toJson());

class DataObject {
  DataObject({
    this.field,
  });

  String field;

  factory DataObject.fromJson(Map<String, dynamic> json) => DataObject(
        field: json["field"] == null ? null : json["field"] as String,
      );

  Map<String, dynamic> toJson() => <String, dynamic>{
        "field": field == null ? null : field,
      };
}

Thank you very much, I use quicktype and it saves me immense amount of time, but for some reason (maybe as a preparation for NNBD) it is not possible to ignore analyzer errors on files since Dart 2.8, so in order to let the analyzer pass, either the strict type checking needs to be disabled, or types added manually.
My problem is, the json format which I use is not yet final, so if I change it, I'd need to add the types manually again for ~200 errors

I've done it myself, can be found in here: https://github.com/harkairt/quicktype
it is shitcoded, but works for my semi-complex structure, don't judge 🙏

I've done it myself, can be found in here: https://github.com/harkairt/quicktype
it is shitcoded, but works for my semi-complex structure, don't judge 🙏


ignore ssl cert problems

Trying to get uptime to ignore ssl cert problems on ssl checks. Have tried adding rejectUnauthorized : false  in the http plugin options in the edit check dialog, but doesn't seem to work. Does anyone know the correct options syntax to tell uptime to ignore mismatched cert, self signed certs, etc. on ssl checks?
example of error on a check with ssl cert name not matching host:
responded with error "Hostname/IP doesn't match certificate's altnames"

I fixed this, in my fork, i altered the https poller and added the following things:
        this.target.rejectUnauthorized = false;
        this.target.requestCert = true;
        this.target.agent = false;

Hi @brantje can you point to me where exactly in your fork you added this fix? tried looking at it and could not locate it.
Thank you.
P.S what other changes have you made to your fork?

https://github.com/brantje/uptime/blob/master/lib/pollers/https/httpsPoller.js#L54
My fork differs from the other forks:

User system, separated checks per user
Using API key's to prevent fraud (eg false pings)
Ability to run a small nodejs cluster
Explaining:
When you do a node app only a single thread is running, so if that threat dies, then uptime will be offline.
With the cluster i spawn some workers, those workers offer the webgui.
If a worker dies, then the parent will spawn a new one, and uptime will still be online.
Also all load is balanced over the amount of workers.
And the amount of workers = core amount.


Does valid_email support procs as messages for errors

Hey I am having some issues with internationalization of the messages here. I wanted to know if the error message supports procs.
I have a class like this
require 'valid_email'

class CustomerValidator
  include ActiveModel::Validations

  ATTRIBUTES_LIST = %w(
    gender
    first_name
    last_name
    date_of_birth
    email
    street
    password
    password_confirmation
    postal_code
    country
    city
  ).map(&:to_sym).freeze

  attr_accessor(*ATTRIBUTES_LIST)

  validates :email, presence: true, email: { message: I18n.t('switch_reload.accounts.account_edit.please_valid_email') }

  def initialize(user_params = {})
    ATTRIBUTES_LIST.each do |attr|
      instance_variable_set(:"@#{attr}", user_params[attr])
    end
  end
end

But it is getting initialized with the default locale, and then for other locales it is still displaying messages from the default locale, is there a proc support for this. I have added this to the services directory in rails

Why not just using http://guides.rubyonrails.org/i18n.html#error-message-scopes instead of :message

Feel free to close or to discuss further.
Thanks for your contribution!


'MonacoEnvironment' was also declared here.

ERROR in node_modules/monaco-editor/monaco.d.ts:11:13 - error TS2451: Cannot redeclare block-scoped variable 'MonacoEnvironment'.
11 declare let MonacoEnvironment: monaco.Environment | undefined;
~~~~~~~~~~~~~~~~~
node_modules/monaco-editor/esm/vs/editor/editor.api.d.ts:12:9
12     let MonacoEnvironment: Environment | undefined;
~~~~~~~~~~~~~~~~~
'MonacoEnvironment' was also declared here.
This error is fairly easily resolved by deleting line 11 from monaco.d.ts

@kmaiya This looks like you are importing the editor both as ESM and as AMD (via globals) at the same time in your project. Can you please provide a reproducible sample?

when I install monaco-yaml and @materia-ui/ngx-monaco-editor , I have the same problem .
below is error log
`
ERROR in node_modules/monaco-editor/esm/vs/editor/editor.api.d.ts:12:9 - error TS2451: Cannot redeclare block-scoped variable 'MonacoEnvironment'.
12     let MonacoEnvironment: Environment | undefined;
~~~~~~~~~~~~~~~~~
node_modules/@materia-ui/ngx-monaco-editor/lib/interfaces/monaco.d.ts:11:13
11 declare let MonacoEnvironment: monaco.Environment | undefined;
~~~~~~~~~~~~~~~~~
'MonacoEnvironment' was also declared here.
node_modules/@materia-ui/ngx-monaco-editor/lib/interfaces/monaco.d.ts:11:13 - error TS2451: Cannot redeclare block-scoped variable 'MonacoEnvironment'.
11 declare let MonacoEnvironment: monaco.Environment | undefined;
~~~~~~~~~~~~~~~~~
node_modules/monaco-editor/esm/vs/editor/editor.api.d.ts:12:9
12     let MonacoEnvironment: Environment | undefined;
~~~~~~~~~~~~~~~~~
'MonacoEnvironment' was also declared here.`


H3 tests::incoming_request_stream_ends_on_client_closure hanging under coverage

For example, here: https://github.com/djc/quinn/runs/497269815?check_suite_focus=true

tests::incoming_request_stream_closed_on_client_drop seems to be similarly intermittent.

I think it's caused by the same problem as the one I'm trying to solve on the 0-RTT PR. Seems to me that CONNECTION_CLOSE makes some of the peer's API hang forever under certain conditions.
Maybe we can disable them on coverage or globally ?

Ideally you'd fix the hang (since users will be affected by it as well), but marking known-broken tests as ignored is acceptable in the spirit of keeping other work unobstructed if the issue is subtle.

@Ralith Do you think #686 could have an influence on this, by any chance?
I reactivated the faulty tests on master and ran them several times under tarpaulin, which did not reproduce the timeouts.

Maybe create a PR to reactivate them and rerun the CI jobs a few times (there's a button in the upper right corner of the Actions page)?

Done on #687

I haven't investigated the h3 tests, so I could only guess. It's certainly possible, though!

Let's close this for now, then.


Feature request: smaller icons

Some of the icons look a bit too big (typescript, c#, html). Would be cool if these were a little smaller in scale.

These icons that you're referring to were the default package from sublime. This is not a priority for me. I expect to provide custom icons functionality so anyone can use the ones they prefer but I'll keep this opened in case some designer takes the lead and prepares some cool icons for us :wink:

@jschwarty I'll close this issue in favour of #65 as they're similar


[BK7231N] [CB2L] [DUMP] [ROM] Tuya Generic 15W WiFi+ BLE RGBCW Downlight SWWFD1C412

15wRGBCWWifiDownlight.zip
DUMP + ROM
"No AP" in pairing mode, Only a Bluetooth device with "TY" name

Added as Tuya Generic SWWFD1C412 RGBCT Downlight
Not quite sure what you mean by "No AP" in pairing mode, the device configuration shows it uses the usual 3/6 power cycle mode and should have a "SmartLife" AP prefix.  It sounds like you're only making it into fast-blink mode.


Please publish to plugins.gradle.org

This will make the plugin available via the plugins block, instead of requiring a buildscript block and lone apply plugin in every build.gradle just for the Liberty plugin.
See also #316

The 3.0 release is available on plugins.gradle.org now. Note the new id.
https://plugins.gradle.org/plugin/io.openliberty.tools.gradle.Liberty


which dataset did you use for training?

Hi, I am interested to know the food dataset you used for training the network, can you please give some info about it? or some hint about public dataset about food recognition, thanks a lot!

google's tensorflow has built in datasets for object recognition, https://github.com/tensorflow/models/tree/master/research/object_detection


Highcharts?

Since this is an open source, non-profit project, would Highchart be considered over building charts manually?
https://www.highcharts.com/demo

We'll need custom charts so I've been using https://github.com/hshoff/vx


added support for OS X

Made changes to allow usage and testing for OS X apps.  To test, just do rake spec platform=osx.  The default platform is iOS.

Dude... this is GREAT! Thank you so much!

Yeah, no problem.  I'm now using it in one of my OS X projects!
Hope you don't mind, I have another PR coming...


ChromeOS

Full and short name of product
ChromeOS
Does this product have LTS versions? What are the intervals between each LTS version?
Yes, there is an LTS and LTC version (https://support.google.com/chrome/a/answer/11333726?hl=en). LTS has a 6-month cycle, LTC gets the LTS version 3 months earlier.
What is the website for the product and for its version information?
https://www.google.com/chromebook/chrome-os/
https://chromereleases.googleblog.com/search/label/Chrome OS
https://support.google.com/chromebook/answer/1086915?hl=en
https://support.google.com/chrome/a/answer/11333726?hl=en
Additional context

Relates to #3442.


Try to fix issue265. When 'store' is filtered, resolve agagin

Try to fix issue265.
When the 'store' is filtered, save to 'filteredStore'. At the end of function, call 'reResolve' function for 'store' which save to 'filteredStore'.

@youjiali1995 PTAL

It seems the follower method can be only called from the legacy GetTiKVRPCContext. But we have switched to replicaSelector for all TiKV requests. GetTiKVRPCContext is completedly unused now. cc @youjiali1995

It seems the follower method can be only called from the legacy GetTiKVRPCContext. But we have switched to replicaSelector for all TiKV requests. GetTiKVRPCContext is completedly unused now. cc @youjiali1995
So, I think to improve the similar case in the new implementation, we need to re-resolve the followers skipped by accessFollower?

It seems the follower method can be only called from the legacy GetTiKVRPCContext. But we have switched to replicaSelector for all TiKV requests. GetTiKVRPCContext is completedly unused now. cc @youjiali1995
So, I think to improve the similar case in the new implementation, we need to re-resolve the followers skipped by accessFollower?

New implementation means region_request.go ?

New implementation means region_request.go ?

Yes, it's in region_request.go.
But it seems to me that the exact problem does not exist now... When the store epoch is updated, it will inform asyncCheckAndResolveLoop to update store info. @youjiali1995 can help confirm if I understand the original issue correctly...


NOISSUE: rewrite runner adapter to use less goroutines

previous worker algo was:

SM sleeps
spawn goroutine that will prepare execution
spawn goroutine that will execute request
wait until it finished or outgoing request
notify SM that called adapter

new worker is:

SM sleeps
spawn goroutine that will execute request
eventually it will wakeup SM that called adapter (when
outgoing/request finished)

It can be implemented using DelegateAndSendResult function on
AdapterCall that is spawned by ExecutionAdapter that allows us
to wakeup parent SM (using fn return argument)
Also, when function is called, worker catches request, intercepts it
(using runnerServiceInterceptor), fills internal state and calls the
right function of real runner service.
Previously runner could work without adapter, but now it 'kinda' depends
on adapter (however it can work without it)
Also applied a couple of renames

rebased onto latest master


Issue with Windows 8 App - Cordova OAuth2 opening Iframe or Redirect

Hi,
I have been putting some code together with the objective to get the code to to work on all of the visual studio tools device emulators. So far this has been great, the only device that I am struggling to get working is the windows app simulator. So what the application does is its a Facebook Login using hello.js. I have a landing page and a login to Facebook button. When I click on the login button on all the other device simulators / emulators everything works great, I can either open the Facebook request in a popup or in the same screen. When I try this on a windows 8 app however the emulator seems to just loose focus from the app. (maybe trying to launch a browser)
So what I have tried is appending ms-appx:/// to the authorization url, looked something like this:
oauth : {
		version : 2.3,
		auth: 'ms-appx:///https://www.facebook.com/dialog/oauth/',
		grant: 'ms-appx:///https://graph.facebook.com/oauth/access_token'
	},

What happens now is that the app no longer looses focus but the content is a blank white page.
Any help would be appreciated. Thanks :)

is your code available in Github so that we clone it and look at it?

The current issue is not about bugs with existing samples or suggestion for new sample.  Hence closing this issue.
Please try Stack Overflow for Cordova related questions
http://stackoverflow.com/questions/tagged/cordova
http://stackoverflow.com/questions/tagged/visual-studio-cordova

hi guys I really need your help.
I am trying to install cordova ionic
but its shown me this error
node.js version = v0.12.7
npm version = 2.11.3
jdk version = jdk1.7.0_79
all sdk package installed
git installed
ant installed
the error is this
C:\Users\Yesus> npm update -g cordova
C:\Users\Yesus> npm install -g cordova
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs
\node_modules\npm\bin\npm-cli.js" "install" "-g" "cordova"
npm ERR! node v0.12.7
npm ERR! npm v2.11.3
npm ERR! code ENOTFOUND
npm ERR! errno ENOTFOUND
npm ERR! syscall getaddrinfo
npm ERR! network getaddrinfo ENOTFOUND host
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settin
gs.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\Yesus\npm-debug.log
C:\Users\Yesus>


Cannot download 1080p from bilibili anymore

Website name: bilibili.com

OS:: Windows

Video URL:: https://www.bilibili.com/video/BV1514y1V7Sh

Stack overflow

Screenshots
none

Additional context
none

Problems with cookies
https://github.com/iawia002/lux#cookies

之前不需要提供cookies也能够直接下载1080p.
现在是不是B站做了限制?

Problems with cookies https://github.com/iawia002/lux#cookies

Can you please provide more details on what the cookie setting should be?  Also having this issue.

Problems with cookies https://github.com/iawia002/lux#cookies

@rhaego989 can you please provide more details on what the cookie setting should be? Also having this issue.

It is detailed.
https://github.com/iawia002/lux/issues/1167#issuecomment-1327970673


Goal--Achieving generalized training and evaluation for agents

There are several steps for this goal:

[ ] Support multiple maps during training,
[ ] Support multiple maps during league evaluation.
[ ] PCG for generating different maps
[ ] Bridge to connect PCG with training and evaluation

Support multiple maps during training,

As we discussed, the naïve way of supporting this feature is to reinitialize the vectorized environment, along with the storage variables such as obs, actions, every once in a while.
However, the most desirable way I think is to swap the map after a sub-environment in the vectorized environment is done.
For instance, if 5th index in done in the following code is True,
https://github.com/vwxyzjn/gym-microrts/blob/3d7a42f46efbd39a0b806388b8a445fbee48d00f/gym_microrts/envs/vec_env.py#L339
Then, we know the 5th environment is done. We can then do something slightly hacky like calling
responses = self.vec_client.gameStep(self.actions, [0] * self.num_envs)
reward, done = np.array(responses.reward), np.array(responses.done)
obs = [self._encode_obs(np.array(ro)) for ro in responses.observation]
infos = [{"raw_rewards": item} for item in reward]

# reset the 5th environment with a new map
if done[:, 0][4] == Ture:
self.vec_client.clients[4].mapPath = desired_new_map_path
response = self.vec_client.clients[4].reset()
obs[4] = self._encode_obs(np.array(response.observation))
return np.array(obs), reward @ self.reward_weight, done[:, 0], infos


Create 0000-01-02-pdrzaic.md

created a branch, created a file and made a commit, and opened a pull request


Create repository.json

Adapt to latest HA, ref https://developers.home-assistant.io/docs/add-ons/repository

lots of missing stuff in fact to comply to HA, not so simple ...


Live Server Configuration Preventing Deployment to App Engine

For implementation related questions or technical support, please refer to the Stack Overflow and Server Fault communities.
Make sure these boxes are checked before submitting your issue -- thanks for reporting issues back to Parse Server!

[ 1] You've met the prerequisites.

[1 ] You're running the latest version of Parse Server.

[1 ] You've searched through existing issues. Chances are that your issue has been reported or resolved before.

@nlutsenko
Environment Setup
I'm on Google App Engine
Steps to reproduce

I added liveQuery code to my server.js
var parseServer = new ParseServer({
  databaseURI: ""
  cloud: ""
  appId: ""
  masterKey: ""
  fileKey: ""
  serverURL: ""
  push: {
      ios: {
        pfx: __dirname  + '/cloud/ParsePushDevelopmentCertificate.p12',
        bundleId: 'com.bundleId.appname',
        production: false
      }
    }
  liveQuery: {
    classNames: ['Message', 'Room']
  }
});

// Mount the Parse API server middleware to /parse
app.use(process.env.PARSE_MOUNT_PATH || '/parse', parseServer);

app.get('/', function(req, res) {
  res.status(200).send('Be Real');
});

var server = app.listen(process.env.PORT || 8080, '<IP_ADDRESS>', function() {
  console.log('App listening at http://%s:%s', server.address().address,
    server.address().port);
  console.log('Press Ctrl+C to quit.');
});

// Initialize a LiveQuery server instance, app is the express app of your Parse Server
let httpServer = require('http').createServer(app);
httpServer.listen(port);
var parseLiveQueryServer = ParseServer.createLiveQueryServer(httpServer);

I then run gcloud preview app deploy
During the deployment i get (I get this even when deployment succeeds)
WARN
engine
<EMAIL_ADDRESS>wanted: {"node":">=4.3"} (current: {"node":"4.2.3","npm":"2.14.7"})

Then deployment fails with
ERROR: (gcloud.preview.app.deploy) Error Response: [13] Timed out when starting VMs.  It's possible that the application code is unhealthy.  (0/2 ready, 2 still deploying).

My package.json has
"engines": {
    "node": "~4.3"
  },

and - I tried with parse-server 2.2.1 but i heard that had problems so reverted back
 "dependencies": {
    "express": "^4.13.4",
    "parse-server": "^2.2.0"
  }

Logs/Trace
In my npm-debug.log (NOTE: I only get deployment problems when I have liveQuery code in my server.js. Removing it, my parse server deploys fine
1402 info postuninstall<EMAIL_ADDRESS>1403 silly gentlyRm /usr/local/lib/node_modules/npm is being purged from base /usr/local
1404 verbose gentlyRm don't care about contents; nuking /usr/local/lib/node_modules/npm
1405 silly vacuum-fs purging /usr/local/lib/node_modules/npm
1406 error error rolling back Error: EACCES: permission denied, rmdir '/usr/local/lib/node_modules/npm'
1406 error error rolling back     at Error (native)
1406 error error rolling back  { [Error: EACCES: permission denied, rmdir '/usr/local/lib/node_modules/npm']
1406 error error rolling back   errno: -13,
1406 error error rolling back   code: 'EACCES',
1406 error error rolling back   syscall: 'rmdir',
1406 error error rolling back   path: '/usr/local/lib/node_modules/npm' }

In a previous failed deployment with liveQuery code my npm.debug.log had
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart<EMAIL_ADDRESS>6 info start<EMAIL_ADDRESS>7 verbose unsafe-perm in lifecycle true
8 info<EMAIL_ADDRESS>Failed to exec start script
9 verbose stack Error<EMAIL_ADDRESS>start: `node server.js`
9 verbose stack Exit status 1
9 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:214:16)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at EventEmitter.emit (events.js:172:7)
9 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at ChildProcess.emit (events.js:172:7)
9 verbose stack     at maybeClose (internal/child_process.js:821:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
10 verbose pkgid<EMAIL_ADDRESS>11 verbose cwd /Users/otymartin/Documents/dev/app-server
12 error Darwin 15.3.0
13 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
14 error node v4.3.1
15 error npm  v2.14.12
16 error code ELIFECYCLE
17 error<EMAIL_ADDRESS>start: `node server.js`
17 error Exit status 1
18 error Failed at the<EMAIL_ADDRESS>start script 'node server.js'.
18 error This is most likely a problem with the appengine-parse-server package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     node server.js
18 error You can get their info via:
18 error     npm owner ls appengine-parse-server
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

cc @wangmengyan95

Hi @otymartin

We have an issue in parse-server 2.2.1 related to ParseServer. createLiveQueryServer(), it has been fixed in #1153, could you try the latest master to see whether it work for you
If you still have issue, could you try deploy locally and see what happen

2.2.2 is now on npm

@nlutsenko @wangmengyan95 @drew-gross
The problem still persists.
 Does this error reproduce locally?

@drew-gross I think it was on my end. Had to give npm permissions to access certain directories

@drew-gross I am having the same issue on app engine. What was the specific fix ?

@EricNetsch i never managed to get live queries working. its the only feature of parse that i couldn't wrap my head around despite weeks of debugging :(


Hmmm, jsk shell seems doesn't work

Describe the bug
Something going on when trying to use jsk shell.
Traceback (most recent call last):
  File "/home/ordinaryender/.local/share/Red-DiscordBot/data/Aliya/cogs/Downloader/lib/jishaku/features/shell.py", line 45, in jsk_shell
    interface = PaginatorInterface(ctx.bot, paginator, owner=ctx.author)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/ordinaryender/.local/share/Red-DiscordBot/data/Aliya/cogs/Downloader/lib/jishaku/shim/paginator_200.py", line 73, in __init__
    self.timeout = kwargs.pop('timeout', 7200)
    ^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/discord/ui/view.py", line 249, in timeout
    if self.__timeout_task is not None:
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'PaginatorInterface' object has no attribute '_View__timeout_task'

Output of [p]help CogName and [p]debuginfo
**cancel** Cancels a task with the given index.
**cat** Read out a file, using syntax highlighting if detected.
**curl** Download and display a text file from the internet.
**debug** Run a command timing execution and catching exceptions.
**dis** Disassemble Python code into bytecode.
**git** Shortcut for 'jsk sh git'. Invokes the system shell.
**hide** Hides Jishaku from the help command.
**invite** Retrieve the invite URL for this bot.
**load** Loads or reloads the given extension names.
**override** Run a command with a different user, channel, or threa...
**permtrace** Calculates the source of granted or rejected permissi...
**pip** Shortcut for 'jsk sh pip'. Invokes the system shell.
**py** Direct evaluation of Python code.
**py_inspect** Evaluation of Python code with inspect information.
**repeat** Runs a command multiple times in a row.
**retain** Turn variable retention for REPL on or off.
**rtt** Calculates Round-Trip Time to the API.
**shell** Executes statements in the system shell.
**show** Shows Jishaku in the help command.
**shutdown** Logs this bot out.
**source** Displays the source code for a command.
**tasks** Shows the currently running jishaku tasks.
**unload** Unloads the given extension names.
**voice** Voice-related commands.

# Debug Info for Red:

## System Metadata:

CPU Cores: 2 (x86_64)
RAM: 1008.5MB/1.9GB (66.8%)

## OS variables:

OS version: Arch Linux
User: ordinaryender

Python executable: /usr/bin/python
Python version: 3.11.8 (64bit)
Pip version: 24.0

Red version: 3.5.9
Discord.py version: 2.3.2

## Red variables:

Instance name: Aliya
Command line arguments: ['/usr/bin/python', '-O', '-m', 'redbot', 'Aliya', '--no-prompt', '--dev']
Global prefix(es): 'al!'
Owner(s):<PHONE_NUMBER>17828352 (ordinaryender)
Disabled intents: None
Storage type: JSON
Data path: /home/ordinaryender/.local/share/Red-DiscordBot/data/Aliya
Metadata file: /home/ordinaryender/.config/Red-DiscordBot/config.json

idk hasn't been supported since dpy 2.0 release

jsk hasn't been supported since dpy 2.0 release

Gonna write a new update or something?

jsk hasn't been supported since dpy 2.0 release

Gonna write a new update or something?

nope


Organize features

Add feature Pipe (only pipe and deserialize BlockExtra)
by default include db and pipe features

done in a8863693a3fcac5ae4f899c91a54dae7b0af8f47


I encountered a problem when using Glide to load pictures, the pictures do not display

Glide.with(this)
                .load(objects.meDataResponse.avatar)
                .into(binding.navigationView.findViewById<CircleImageView>(R.id.profileImage))

The profileImage view cannot display the corresponding picture

Does it work when you replace the CircleImageView in your layout with a regular imageView?

Thank you very much for your reply, I have found the problem, it seems that my link cannot be loaded normally because my link starts with http.I modified the link as follows
val avatarUrl:String = objects.meDataResponse.avatar.replace("http://", "https://")
Glide.with(ApplicationUtils.context)
                .load(avatarUrl).into(binding.navigationView.findViewById<CircleImageView>(R.id.profileImage))

So it can run normally
Thank you again for your reply, I wish you a happy life and happy every day

That's great to hear.
Thanks, you too!


Requested feature: Get the context of when the button is pressed.

When you set a button with custom_id=ComponentsButton.ID_CALLER, you can set a funtion that execute with that button:
def say_hello(name: str):
    print('Hello', name)
call_followup = ComponentsButton.Followup()
call_followup.set_caller_details(say_hello, 'John')
caller_button = ComponentsButton(style=ComponentsButton.style.red, label='Say Hi', custom_id=ComponentsButton.ID_CALLER, followup=call_followup)

But actually, whoever push the button will receive "Hello, John.". What can i do to get the users that push the button name displayed ? I shoulf be able to receive the ctx of when the button is pushed in my call_followup, and not only when the menu is created.
Thanks !

This sounds like something relays do

If I have a good understanding, relays do not need ID_CALLER button ? Whichever the button that will be called, relay will be call to ?

I tested a little bit, it seems to work well thanks. I thinks I can close here.


LINK style troubles

I'm getting some problems, when creating hyperlink by +++LINK method. The link is creating and works well, when I click it, but it doesn't have "hyperlink" style and is not colored in "hyperlink" color. When I try to create it with +++HTML method, it's creating well, with proper style, but html method creates not a text fragment, but a paragraph. What am I doing wrong?
The template code is simple, as in the docs: +++LINK ({url:$item.url, label:$item.name})+++

Hi there! I suggest using +++LINK and styling the text of the command however you like. For instance, underlined and blue, or any other way…

Thank you for your answer!
I tried the floowing code with the floowing simple template https://drive.google.com/open?id=0B_I68hJqSZnPLWdJWHo4RlVDWFFSSHJaVFdJdlRLY3NIbDI4
In template I tried both ways - by simple coloring text and by styling it - none of them worked while generating hyperlink
Code in nodejs:
var report = require('docx-templates');
report({
template: 'template1.docx',
output: 'report.docx',
data: {"name":"Sample name","url":"http://gooogle.com"}
});

Fixed in v3.1.1, thanks for reporting!


Adds loading states for Profile and Post Detail

[x] Shows username and name placeholders during load
[x] Shows "image loading" animation on avatar and cover image
[x] Shows "pull to refresh" spinner on post detail and under profile header while posts are loading

A couple comments, otherwise. LGTM


Memory leak - camera/synology

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.53
Python release (python3 --version):
3.6.2
Component/platform:
Unknown
Description of problem:
Home Assistant starts to eat memory. Usually after a couple of hours.
Issue started in 0.52.1 and is still present in 0.53
When reaching about 1.7gb memory usage the automations stops working correctly and Home Assistant is sluggish.
Expected:
Problem-relevant configuration.yaml entries and steps to reproduce:

Traceback (if applicable):

Additional info:
Using docker release on Synology NAS.
Attached screenshot is total memory usage on my NAS (in Danish, sorry)

Happens to me too, but after few days.

Went from 0.52 to 0.53 earlier today and got the same issues tonight. I believe my memory usage also were around 1,7 GB when HA became really sluggish. CPU usage also went through the roof.

Forgot to mention that I'm also running the Docker release on a Synology NAS.

Same here. Didn't have this issue with 0.52.
Also run the Docker image on a Synology NAS.

A buddy of tested this on 2 different Synology DSM's with same Home Assistant version and configuration.
One of them works fine. The other one crashes with a memory leak.

Maybe I've should mention that the issue (at least for me) started between 0.52 to 0.52.1

Does anyone of you guys use cameras from Synology Surveillance Station in Home Assistant?
I've just disabled mine (synology camera platform) and also a few on the generic camera platfom.

Yes, I use them. Did you solve the problem by disabling the cameras?

Not sure yet. So far I'm been running 6 hours on 0.53.1 without issues.

0.53.1 still stable after 18 hours without cameras.
I'm trying the new 0.54 with cameras now.

Sounds promising! Thanks for keeping us in the loop.

23 sep. 2017 kl. 09:14 skrev ladefoged81<EMAIL_ADDRESS>0.53.1 still stable after 18 hours without cameras.
I'm trying the new 0.54 with cameras now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/home-assistant/home-assistant/issues/9352#issuecomment-331616450, or mute the thread https://github.com/notifications/unsubscribe-auth/AYLYCxbL06uxgPWqlCMvgzdMxMgzsmd_ks5slK_NgaJpZM4PSGeJ.

Memory usage is still an issue (at least for me) in 0.54 with the synology camera platform.
I've disabled them and only trying with the generic camera platform now.

I been fiddling around and I think this change is the reason there's a memory leak.
https://github.com/home-assistant/home-assistant/pull/9110
I've currently using 0.54 but with the aiohttp_client.py file from 0.52 and memory usage is much better.
There ain't a lot of changes from 0.52 to 0.52.1 but this file is one of them.
I have cameras using H.265, H.264 and MJPEG. MJPEG seems to use a lot more memory than the other ones. Maybe because theres more data being transferred?

Well that didn't really help. There's still a memory leak but not as much with the 0.52 file.
But when running on a standard 0.54 with synology camera component and NOT clicking/maximizing the video feeds seems to run okay without a memory leak?
Can anyone confirm/test this? (restart docker container and don't click video feeds after HA has booted)

0.54 was stable without additional memory usage for about 42 hours until i've clicked some of the video feeds. Then the memory leak started.

Still an issue in 0.55

#9959 fixed memory leak issue for me when I tried

I've just tested the dev version with a clean setting with only synology camera.
Memory usage after ~1 hour is ~1.1gb

Still an issue in 0.56.1
Memory usage after ~2 hours is ~1.8gb

I think that is a bug in aiohttp. Maybe that will be fix with 2.3.1

I think something related to SSL is leaking memory. I'm now using http instead of https and memory is pretty stable (ssl without verify is useless anyway).

I've set "verify_ssl: false" on the Synology camera component and don't use SSL in HA (never got it to work).

This is what I have currently:
camera:
  - platform: synology
    url: http://<IP_ADDRESS>:5000    <- this used to be https://<IP_ADDRESS>:5001
    username: ***
    password: ***
    timeout: 15

After switching to SSL, the memory usage is much better and stable even after a week

I’m so glad I’ve found this post I thought I was going mad. I’m having the exact same issues.
Running HA is docker on a Synology DS918+, happened for me on 0.56.x and now 0.57.x after a few hours of use. First time it happened it used the entire memory of the Synology (4GB) and everything became very unresponsive and I have to reboot the Synology. I since set aside 1GB allocated for the HA docker container but again it eats that up that after a few hours and becomes unresponsive.
Are we saying the culprit is the Synology camera component? I have it setup to use surveillance station cameras

@aptonline
Try restarting HA and don't click on any of the camera feeds.
Mine works fine until I click on one or more feeds. Then it starts to eat memory.

Yep exactly that. As soon as the image is shown it spikes. I actually thought it was related to the new Ring Camera component as thats giving me lots of errors too. Think I might disable ALL camera components for testing to see what happens.

aiohttp  seems to be at 2.3.2 now (https://pypi.python.org/pypi/aiohttp)
Does HA use the latest version with each new build? How can I check to see which version is running on 0.57.2?

Looks like it's 2.3.1
requirements_all.txt:

aiohttp==2.3.1

@ladefoged81 @aptonline are you guys still seeing memory leak using http instead of https?

@snjoetw
Currently running stable for 1 hour with http and so far no signs of a memory leak.

@snjoetw  I can confirm stable since not using HTTPS.

Ok then i don’t think it’s a leak in Synology component. Probably like @pvizeli said, it’s due to aiohttp. But I don’t know which issue is it

Probably, still getting a lot of errors in logs. Maybe they will help pinpoint the issue.
https://hastebin.com/ijekojelod.sql

No additional comments since November 2017. Closing this. Please open a new issue if there's still a problem. 👍


The download menu actions are not localized under one blob container explorer

Storage Explorer Version: 1.27.0-dev
Build Number: 20221027.6
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 22.04/MacOS Monterey 12.6 (Apple M1 Pro)
Reproduce Languages: Czech/German/Hungarian/Japanese/Portuguese (Portugal)/zh-TW
Architecture: ia32/x64
How Found: From running test cases
Regression From: Not a regression
Steps to Reproduce

Launch Storage Explorer -> Open 'Settings' -> 'Application -> Regional Settings'.
Select '日本語' -> Restart Storage Explorer.
Expand one storage account -> Blob Containers.
Open one blob container which contains items.
Click download arrow on the toolbar.
Check whether the menu actions are localized.

Expected Experience
The menu actions are localized.
Actual Experience
The menu actions are not localized.

Additional Context

The 'Download All...' action is not localized on the context menu.

The 'Download' action and the menu actions are not localized in one file share.

This string is translated now.

Verified this issue on the build main/20221111.1:

The download menu actions and the context menu are localized under one blob container explorer.
The 'Download' action and the menu actions are not localized in one file share:

The 'Download' action and 'Download All' action are not localized on the context menu in one file share:

Verified this issue on the build main/20221111.1:

This issue has been fixed under one blob container explorer.
The 'Download' action and the menu actions are not localized in one file share:

The 'Download' action and 'Download All' action are not localized on the context menu in one file share:

Verified this issue on the build main 20221203.4. Fixed.


get_positions returns same equity for each

Bot connected etc first print gives me specified account information. Second print gives me 20 entries for the same equity instead of the 20 different equity positions in the account.
Code:
trading_robot_accounts = trading_robot.get_accounts(account_number=ACCOUNT)

pprint.pprint(trading_robot_accounts)

trading_robot_positions = trading_robot.get_positions(account_number=ACCOUNT)

pprint.pprint(trading_robot_positions)

OUTPUT:
[{'account_number': '123',
'account_type': 'MARGIN',
'available_funds': 11.31,
'buying_power': 122.62,
'cash_available_for_trading': 0.0,
'cash_available_for_withdrawl': 0.0,
'cash_balance': 0.0,
'day_trading_buying_power': 0.0,
'long_market_value': 113.05,
'maintenance_call': 0.0,
'maintenance_requirement': 365.92,
'short_balance': 0.0,
'short_margin_value': 0.0,
'short_market_value': 0.0}]
[{'account_number': '123',
'asset_type': 'EQUITY',
'average_price': 125.51974,
'current_day_profit_loss': 54.723030000001,
'current_day_profit_loss_percentage': 0.57,
'cusip': '123',
'description': '',
'long_quantity': 43.089,
'market_value': 91.16,
'settled_long_quantity': 43.089,
'settled_short_quantity': 0.0,
'short_quantity': 0.0,
'sub_asset_type': '',
'symbol': 'VUG',
'type': ''},
{'account_number': '123',
It continues but I cut it there.

If you look at the pull request I put in you can see I was having the same issue.  I came up with a work around for it that I posted there but I don't think he has reviewed it yet.

If you look at the pull request I put in you can see I was having the same issue.  I came up with a work around for it that I posted there but I don't think he has reviewed it yet.

I see it. I will test this out today. Thank you!

Your welcome I'm happy it worked for you too.

Fix has been integrated, closing this issue.


Still get warnings on tree_util

Hi @patrick-kidger ,
I find recent version of diffrax has updated to jax 0.3.15, but there's still a place you use jax.tree_leaves intead of jtu.tree_leaves in diffax/misc/ad.py in line 32 which leads to warnings, this is a small mistake, maybe u have noticed it. : )

Thanks for the heads-up. :) I've opened a PR to fix this.


Module cannot find stubs when running application

When running a Mule application (not Munit tests), the wiremock module cannot find the stubs. I've tried placing the following into src/{main,test}/resources/mappings/test.json:
{
  "request" : {
    "method"  : "GET",
    "urlPath" : "/test"
  },
  "response" : {
  	"status"        : 200,
  	"body"          : "Hello"
  }
}

Here's my xml config:
<wiremock:config name="WireMock_Config" doc:name="WireMock Config" doc:id="ea4347cf-85c6-4a98-b2c1-7457e5c48225" >
		<wiremock:connection host="<IP_ADDRESS>" port="8080" resources="src/main/resources"/>
	</wiremock:config>
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="d8bd718c-a7d0-4e09-8efd-480b1aea4223" >
		<http:listener-connection host="<IP_ADDRESS>" port="8081" />
	</http:listener-config>
	<http:request-config name="HTTP_Request_configuration" doc:name="HTTP Request configuration" doc:id="53c6f7be-ae3e-413c-897b-2dfa95e4ccb2" >
		<http:request-connection host="localhost" port="8080" />
	</http:request-config>
	<flow name="wiremock-testFlow" doc:id="bbfda619-e80b-41c7-82cd-86eac60971b1" >
		<http:listener doc:name="Listener" doc:id="0a63a6ef-43e8-455c-a9d9-c0cd3c510575" config-ref="HTTP_Listener_config" path="/test"/>
		<logger level="INFO" doc:name="Logger" doc:id="9f6c5548-48da-4ca9-a050-085aacfc1c50" message="Before mock"/>
		<http:request method="GET" doc:name="Should get stubbed" doc:id="494451c9-a839-4492-926a-bae0fd09de02" config-ref="HTTP_Request_configuration" path="/test"/>
		<logger level="INFO" doc:name="Logger" doc:id="ef831d7c-1964-4a70-913f-d125b411a73d" message="After mock"/>
	</flow>

Thank you kindly in advance for a quick resolution on this issue.

Seems to only happen when using the module in a regular mule config file, ie outside of munits.
Since using wiremock with munits was the original use case I'll label this as feature request. Though I guess there could be some advantages to using wiremock outside of munit


Add argument -a for delete all supported resources.

This option has a danger and wouldn't provide big profit. Deletion should be done carefully.

This option has a danger and wouldn't provide big profit. Deletion should be done carefully.


feat(typing): change timeout args type to timedelta

change the type of timeout args  to timedelta
and raise a depreciation warning when provided type is an integer
fixes #167
Change Summary
change the type of timeout args in client generation and in connect method of client  to timedelta
and raise a depreciation warning when provided type is an integer
Checklist

✅ Unit tests for the changes exist
✅ Tests pass without significant drop in coverage
✅ Documentation reflects changes where applicable
✅Test snapshots have been updated if applicable

Agreement
By submitting this pull request, I confirm that you can use, modify, copy and redistribute this contribution, under the terms of your choice.

Thanks for the review.
I just have one question regarding the test case you recommended, pls check the corresponding conversation.

Sorry for the long delay. it's been a hectic couple of weeks.
i've made the requested changes, and would appreciate another review.


Hack Session 499 ✼ Remotely

24.11.2021
Wrap-up of our Gōng-fu I/O Weekly · Hack Session #499 ✼ Remotely ✼ meetup.
Projects
• ‹Bouboucle› generative art with Javascript — @andreaskundig and @david-hodgetts
• ‹Distributed Arcade› Game World & Boards with H3 & hex-coordinate systems — @olange and @rudifa
See also

#498 Previous session
#500 Next session

Study of @olange and @rudifa
Continued workin on our ‹h3-minimap› web component in ObservableHQ:

selected a set of projections from the Projection Comparison notebook;
started to embed the Worldmap (SVG) notebook code in a Web Component; struggled to get the projection function working; studied d3-geo › Projections source code.

Post-study

fixed the projection constructor function — it simply needed an additional invocation, before being used;
added caching of the various intermediate functions and compound objects;
added scaling of the projection.


Update sbt-tpolecat to 0.1.20

Updates io.github.davidgregory084:sbt-tpolecat from 0.1.19 to 0.1.20.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.github.davidgregory084", artifactId = "sbt-tpolecat" } ]

labels: sbt-plugin-update, semver-patch

Codecov Report

Merging #139 (5338ffc) into develop (673dcad) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #139   +/-   ##
========================================
  Coverage    52.56%   52.56%
========================================
  Files            5        5
  Lines           78       78
========================================
  Hits            41       41
  Misses          37       37

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 673dcad...5338ffc. Read the comment docs.


Affix flickering in Chrome when there is an iframe containing Flash object

Browser: Chrome 39.0.2171.71 (Win 7, Win 8.1)
Bootstrap version: 3.3.0+
I put my code in gist here. On the top is a navbar set as affix, and on the right there is a iframe, with given width and height, contains only one Flash element. When I scroll down from the top of page using mouse wheel quickly, the affix element keeps flickering.
(Disclaimer: to show the effect of iframe contains Flash object I randomly googled an example script from a commercial website called bannersnack.com.. not sure if this is appropriate)

I tested 3.2.0, 3.3.0, 3.3.1, and latest commit to bootstrap.css and bootstrap.js which is 181f4aebea957f364a1b42a6331d0fa4624cf5e9 . All 3.3.0+ can reproduce this problem. However, I found that if I mix the css from 3.2.0 with any version of bootstrap.js, it will not flicker.
I tested Firefox 34 and IE 11, both seem freed from this problem.
In the gist I styled position: absolute on the containing div, though the position/float seems have nothing to do with the flickering.
I tried replacing Flash object as image, and it seems no flickering.

FWIW, I can't repro on Mac Chrome.

Seems reproducible in Win 8.1 Chrome 39 on Sauce Labs.

@fat Should we close this as a problem on Pepper Flash's side that we can't remedy from the Bootstrap side?

Seems adding .translate3d(0, 0, 0); to .affix could workaround this problem but I'm well aware that there was tons of pain as this was reverted in 3e8cddf. Just leave these here for references.

Yeah, we can;t use the 3d hack.

@mdo What would be your opinion on closing this as CantFix?

Closing as a can't fix sounds fine by me.


Abstract Controller

Hi Team,  My thought is to create a generic abstract controller which is extended all my controller, that abstract controller has all basic CRUD operation. but here the problem is if extend the abstract base class I can get only request and response value from method param but am expecting query params and body

Version: 5.x
Packages:

A few sentences describing the overall goals of the issue.
Example
http://localhost:8083/child/list?search=test
The expectation is search query param value(string) but iam getting the request object in list method in BaseCtrl class.
import {Get, QueryParams} from "@tsed/common";
import {SomeService} from "./SomeService";

export abstract class BaseCtrl {
  constructor(private someService: SomeService) {
  }

  @Get("/list")
  async list(@QueryParams("search") search: any) {
//expectation is search queryparam value but iam getting request object
    return this.someService.list(search);
  }
}

import {Controller, Get, PathParams} from "@tsed/common";
import {BaseCtrl} from "./BaseCtrl";

@Controller("/child")
export class ChildCtrl extends BaseCtrl {
  @Get("/name")
  get(@PathParams("id") id: string): any {
    return {id: id};
  }
}

[x] Criteria 1

Hello,
Why have you abtract instruction on the child class? It should not have this right?

Hi Romakita, Actually I don't want to create CURD basic operation method in each controller.  create one abstract class with all curd operation and pass respective service from child class and use it. if want to change that in any one of the controllers I will override  that method alone and use it

This is not my point and I understand what you to ascomplish, you are not the first you want to do. Other contributors use this approach and it works. I just said, in your previous example, the ChildCtrl you use also the abtract instruction (childctrl should not have it). I just want to know if it’s just an error on your example.
I try to reproduce your issue :)

Fixed with v5.65.2 :)

Fixed with v5.65.2 :)

Thanks @Romakita

:tada: This issue has been resolved in version 6.0.0-alpha.16 :tada:
The release is available on:

v6.0.0-alpha.16
GitHub release

Your semantic-release bot :package::rocket:


Channel names are not displayed as links.

Description
Channel names are not displayed as links.
Devices and Versions
Your Rocket.Chat.Android version: 3.0.0.
Your Rocket.Chat Server version: 0.69.2 and 0.71.0-rc.0 (open.rocket.chat)
Mobile device model and OS version: BQ Aquaris X5 Plus and Android 7.1.1
Steps to reproduce
After entering a channel name, e.g. #test , this is not displayed as a link, but as plain text.

This is quite a navigational challenge for new users as in the app it is very hard to go to a channels.

I still have this problem with 3.4.2 (2070) version, but could it be due to our old server version (0.66.3) ?

You should really test this against the lastest Rocket which is v1.1.1 (use open.rocket.chat)
Versions mentioned here are way out of date and should be upgraded.


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

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


Pickerfield component issue

While running in Android, the stack shows:
AndroidRuntime: com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type string', but had type object'
2-22 11:56:58.629  5377  5377 E AndroidRuntime: com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type string', but had type object'
While running in iOS, the app runs but raises a warning on the PickerField.
Warning: Failed prop type: Invalid prop label of type object supplied to  _class expected string.
I am wondering if someone is seeing the same issue.   Thanks for your assistance.

My bad. Had initialized it incorrectly.


Record changes in other entities

While customers can break a lot of things through config, they are also able to break a lot of things in products, categories or even other custom objects. Would be a good idea to start supporting the catalog changes for instance

I think that the revert feature on changes to the catalog needs to be perfectly controlled

@ronangr1 are you actively working on this? I might have some time to try to build this


Bugs on using new relic with next js

Here are some bugs I encountered when trying to integrate New Relic to our NextJS application:
We're using Vercel and we currently have the issue in https://github.com/newrelic/newrelic-node-nextjs/issues/135. I think newrelic needs to create a nextjs middleware (similar to "next-auth/middleware" "withAuth") that does similar things as the one you're loading with '-r @newrelic/next''.
Also, in my local, I modified my "dev" script like
NODE_OPTIONS='-r @newrelic/next' next dev

and added newrelic.js in my application root.
The problem here is that when I reference process.env.NEW_RELIC_LICENSE_KEY within newrelic.js, it is coming out as undefined (even if I have NEW_RELIC_LICENSE_KEY in my env.local) . If I hardcode the license_key value, everything works in local.
Lastly, if I use an INGEST - BROWSER type license key, it is coming out as an Invalid License Key, but if I use INGEST - LICENSE type, then it works. Our new relic instance is in EU if that matters.

@karlo-humanmanaged I want to make sure I answer all your concerns to make sure there isn't any uknown issues here.

We're using Vercel and we currently have the issue in https://github.com/newrelic/newrelic-node-nextjs/issues/135. I think newrelic needs to create a nextjs middleware (similar to "next-auth/middleware" "withAuth") that does similar things as the one you're loading with '-r @newrelic/next''.

We are aware that this package does not work in Vercel at the moment.  We have an item on our roadmap to have a solution to this.

it is coming out as undefined (even if I have NEW_RELIC_LICENSE_KEY in my env.local)

We have found that this is a next.js construct to parse the env.local but since our instrumentation runs in a -r the next CLI cannot parse the env.local.  Your solution would have to be to do something like this:
npm i dotenv
NODE_OPTIONS='-r dotenv/config -r @newrelic/next' next dev

Lastly, if I use an INGEST - BROWSER type license key, it is coming out as an Invalid License Key, but if I use INGEST - LICENSE type, then it works. Our new relic instance is in EU if that matters.

Yes that is correct.  This package is maintained by the Node.js agent team and you need the INGEST - LICENSE type not the INGEST - BROWSER.


Overrun errors on serial interface

This originates from a customer support request https://www.flowdock.com/app/rulemotion/public-s-premium/threads/cs0W8ikizb2UkFFjLxj4ZenuCTc
Converging on test setups, the error can be reproduced using the linux-serial-test app [1] with the following setup:
RPI4 ----- USB TTL cable ------ PC
First of all let's free the serial port with:
systemctl stop getty@tty1 systemctl stop serial-getty@serial0
Then run a test with the PC transmitting and the RPI4 receiving:
On the RPI4:
./linux-serial-test -s -e -p /dev/ttyS0 -t -b 115200
On the PC:
./linux-serial-test -s -e -p /dev/ttyUSB0 -r -b 115200
After some time the test above reports overrun errors.
The other direction, with the RPI4 sending and the PC receiving also reports errors:
On the PC:
./linux-serial-test -s -e -p /dev/ttyUSB0 -t -b 115200
On the RPI4:
./linux-serial-test -s -e -p /dev/ttyUSB0 -t -b 115200
Loopback tests (connecting pins 8 and 10 on the expansion header) run fine.
The next step would be to reproduce the tests on a Raspberry Pi 3 (64bits), and then on Raspberry Pi 3 (32 bits) to isolate the issue to the 64bits OSes.
[1] https://github.com/cbrake/linux-serial-test

[nghiant2710] This issue has attached support thread<EMAIL_ADDRESS>

On Raspbian Buster Lite on the RPI4:
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

The same transmission at 115200 bps as above works fine:
PC transmitting and the RPI4 receiving (no errors):
    On the RPI4:
    ./linux-serial-test -s -e -p /dev/ttyS0 -t -b 115200
    On the PC:
    ./linux-serial-test -s -e -p /dev/ttyUSB0 -r -b 115200

RPI4 sending and the PC receiving (no errors):
    On the PC:
    ./linux-serial-test -s -e -p /dev/ttyUSB0 -t -b 115200
    On the RPI4:
    ./linux-serial-test -s -e -p /dev/ttyS0 -t -b 115200

While software flow control does not to work:
PC transmitting and the RPI4 receiving (no transmission):
    On the RPI4:
    ./linux-serial-test -c -s -e -p /dev/ttyS0 -t -b 3000000
    On the PC:
    ./linux-serial-test -c -s -e -p /dev/ttyUSB0 -r -b 3000000

RPI4 sending and the PC receiving (errors):
    On the PC:
    ./linux-serial-test -c -s -e -p /dev/ttyUSB0 -t -b 3000000
    On the RPI4:
    ./linux-serial-test -c -s -e -p /dev/ttyS0 -r -b 3000000


Socks4/5 and http Spport same times

I add Multi proxy support

https://github.com/dahquan/rattlesnake/pull/80


Fix blkio.weight cgroup handling

Testsuite passed

@tomponline @brauner should be good to go

I believe this is now our last hardcoded cgroup limit getting moved over to the abstraction.
With this I can now get our testsuite to pass on cgroupv2 for:

cpuset (CPU pinning)
memory (except for priority/swappiness which I need to find a way to map)
pids
network limits (minus net_prio which doesn't exist on v2)
blkio
freezer

I still have CPU shares and reporting and memory priority to sort out and we'll be as close to parity as we can get.
The main gaps right now on the kernel side is net_prio, hugetlb as well as CFS quotas.


add compatibility with Green Hills Compiler

The Green Hills Compiler only has support for the .incbin macro in Realview style syntax. This pull request will make it work as expected with that compiler while not changing behavior for other compilers.

I personally prefer macro naming to follow namespaing convention. Make this macro INCBIN_MACRO opposed to what you did here and I'll merge.

On second thought, I'll pull this down and fix it myself.

You beat me to it :+1:

master now contains Green Hills support.


remmina not usable as NX client

I am trying to use 'remmina' as a client towards a legacy NX server. Using remmina as a legacy NX client does work on other platforms, e g Ubuntu 14.04.
My Nix version is 1.9. Here is what happens:
Starting remmina-1.0.0 succeeds, a GUI comes up and I get the following progress messages in the console (NX is mentioned which makes hope rise):
Remmina plugin GKEYRING (type=Secret) registered.
NX: detected keyboard type pc105/se
Remmina plugin NX (type=Protocol) registered.
Remmina plugin XDMCP (type=Protocol) registered.
Remmina plugin VNC (type=Protocol) registered.
Remmina plugin VNCI (type=Protocol) registered.
Remmina plugin RDP (type=Protocol) registered.
Remmina plugin RDPF (type=File) registered.
Remmina plugin RDPS (type=Preference) registered.
Remmina plugin SFTP (type=Protocol) registered.
Creating a connection (Connection->New) works. I give the connection a name, set the Protocol to NX and specify Server as host:port.
Menu-clicking the connection and selecting Connect works. I enter username and password and I get an "NX Sessions" window. In this window I can see my existing session (previously started from a different NX client).
However, clicking Restore does not work. I get a pop-up saying
Failed to execute child process "nxproxy" (No such file or directory)

You should install nxproxy in your environment -- I think maintainers avoided adding it as a dependency on purpose, to make package closure smaller.

Thanks for the hint! I installed 'remmina' and 'nxproxy' now and all seems fine (the channel is nixos-15.09).


Add LinalgExt -> loops transform to cuda backend.

This also enables mhlo.sort testing on cuda backend.

This would do sort sequentially though... on the GPU that would be "bad".
Ill let Thomas weigh in on that.

This would do sort sequentially though... on the GPU that would be "bad".
Ill let Thomas weigh in on that.

Is it getting tiled at the flow level? If it is we will just need to add to kernel configuration to have it being distributed. I think this is good to start with a serialized version, it's great that it just works!


sharing from Documents directory

I have an audio app where I record mp4's to the Documents directory. I had to modify your code to get it working.
I added this case to getFile :
else if ([fileName hasPrefix:@"documents://"]) {       // stripping the first 11 chars, because the path should start with / instead of documents://       NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);       NSString *documentsDirectory = [paths objectAtIndex:0];       fileName = [fileName substringFromIndex:11];       NSString *fullPath = [NSString stringWithFormat:@"%@/%@", documentsDirectory, fileName];       file = [NSURL fileURLWithPath:fullPath];
Is this correct?

If it works it works..


time: document that package does not support leap seconds

The time package does not support leap seconds.  This is further explored in these two issues:
#15190
#8728
While it looks like this won't be fixed until Go 2.0, we can at least document the current behavior. Specifically the following things should be documented:

The definition of a "second". Specifically, it should be clarified that go uses the "POSIX-second".  A POSIX-second is equal to one standard second in all cases except when a POSIX-second is followed by a leap-second, in which case the POSIX-second is equal to two standard seconds, and the leap-second is skipped.  This means that when calculating the Duration between two dates as a number of seconds, the unit being calculated is POSIX-seconds. To convert to standard seconds, add the number of leap seconds that occurred between the two dates in question.

The time package does not support parsing datetimes that contain a leapsecond. For example, the package will not parse 2005-12-31T23:59:60Z.

The behavior of time.Sleep is unaffected and uses standard seconds in all cases, since it uses a monotonic clock provided by the runtime package.   (As far as I can figure it, this needs to be confirmed)

The behavior of the above items on non-POSIX systems (like windows)

There are no good solutions here but I don't really agree with your proposed docs.  As I see it, the time.Time value is not affected by leap seconds at all.  The question is how we handle methods like Day and Second and Format, and functions like Parse.
We actually do have leap second information in the zoneinfo files.  We could even use it, just as we use the zone offset.  We would have to subtract the current leap second offset to gettimeofday when calling time.now.  We would change time.abs to consider leap seconds.  We would change Format and Parse accordingly.  I don't know what the consequences of doing this would be.
Barring that, it seems to me that we should document that when we say UTC we actually mean TAI, and document that time.Now automatically adds the appropriate number of leap seconds.
(To be clear, in issue #15190 you say that there is a problem with time.Sub, but I think the problem is actually with time.Parse.)

Thanks for your comments @ianlancetaylor .
I completely agree with your assessment of where the problem actually lies and how best to fix it.
The tricky thing is how to document current behavior in a way that makes sense. This could be best summarized as "go does it like linux".  I've tried my best to do a compact and technically correct summary of this above, but maybe the best thing would be to say "go does it like linux" and link to an off-site URL with the gory details.
I think invoking TAI would actually make it more confusing.  TAI is currently 36 seconds offset from UTC. 26 due to leap-seconds and an additional 10 seconds due to epoch differences.  It's also an incorrect summary of current behavior, since TAI is a monotonic counting of seconds, and the current behavior uses the POSIX system, which is not strictly monotonic when crossing a leapsecond.   However, having said that, using TAI an internal representation as part of a larger fix seems like a good idea.

The calendrical calculations always assume a Gregorian calendar.

can be changed to say

The calendrical calculations always assume a Gregorian calendar, with no leap seconds.

Decision is what I commented on Apr 12. That's the CL anyone can send.

Done.


OpenCV ASCII safeguard no longer necessary?

Hi,
I just ran into this error and checked by using cv2.imread("/path/with/aöu.jpg") and it worked. Is this bug resolved upstream so the restriction can be removed or should I write my own image read function and pass the result to deepface?
https://github.com/serengil/deepface/blame/3690f329496e27ec003efc03f1a5d26c9a967ed7/deepface/modules/preprocessing.py#L53
Kind regards,
Alex

different versions of opencv may still have this issue. enforcing user for english chars for file names is a good practice.

The argument that some versions of OpenCV and maybe even some builds on different OS might still have this issue has merit. But I think a lot of use-cases concerning face detection and recognition will stem from consumer based photo collections where the author using your library won't have control over file naming. So I think in the sense of UX you could add a recommendation to the error message suggesting to provide a preloaded numpy array if control over filenames is not possible as you do for example with the force detection parameter.
Kind regards,
Alex

Disagree, because people having that issue are raising issue and I have to deal with them all. Having a meaningful business rule will provide no one having this issue.


Failed to install

Hi
i'm preparing a docker image that contains OIDC plugin and the luarocks fails to install the rock.
any help would be appreciated.
Shlomi
Warning: Failed searching manifest: Failed extracting manifest file
Installing https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/kong-oidc-1.0.4-0.src.rock

Hi
i installed unzip , now i got this (openssl headers)
lua-resty-openidc 1.4.0-1 depends on lua-resty-hmac (not installed)
Installing https://luarocks.org/lua-resty-hmac-v1.0-1.rockspec
Missing dependencies for lua-resty-hmac v1.0-1:
luacrypto (not installed)
lua-resty-hmac v1.0-1 depends on luacrypto (not installed)
Installing https://luarocks.org/luacrypto-0.3.2-2.src.rock
Error: Failed installing dependency: https://luarocks.org/lua-resty-openidc-1.4.0-1.src.rock - Failed installing dependency: https://luarocks.org/lua-resty-hmac-v1.0-1.rockspec - Failed installing dependency: https://luarocks.org/luacrypto-0.3.2-2.src.rock - Could not find header file for OPENSSL
No file openssl/evp.h in /usr/local/include
No file openssl/evp.h in /usr/include
You may have to install OPENSSL in your system and/or pass OPENSSL_DIR or OPENSSL_INCDIR to the luarocks command.
Example: luarocks install luacrypto OPENSSL_DIR=/usr/local
sh-4.2#

i also see that in the kong docker luassl is already installed , while this library dependent somehow on
luacrypto - which fail to compile.

Can you try to install OpenSSL development package libssl-dev?

i did (both sslib-dev and openssl-devel) none did work.
the problem is that openrest works with openssl 1.0 (i believe) and i have openssl 1.1
after installing devel - i get this compilation error.
Error: Failed installing dependency: https://luarocks.org/lua-resty-openidc-1.4.0-1.src.rock - Failed installing dependency: https://luarocks.org/lua-resty-hmac-v1.0-1.rockspec - Failed installing dependency: https://luarocks.org/luacrypto-0.3.2-2.src.rock - Build error: Failed compiling object src/lcrypto.o

I got it working by installing the following packages before installing kong-oidc:
RUN apk add gcc libc-dev git openssl-dev

I believe you can remove gcc and git at the end of the Dockerfile to save space.

this is what i get on the instance of docker (alpine latest)
/ # apk add gcc libc-dev git openssl-dev
WARNING: Ignoring APKINDEX.84815163.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.24d64ab1.tar.gz: No such file or directory
ERROR: unsatisfiable constraints:
gcc (missing):
required by: world[gcc]
git (missing):
required by: world[git]
libc-dev (missing):
required by: world[libc-dev]
openssl-dev (missing):
required by: world[openssl-dev]
/ #

ok i managed to continue - but there are several wrongs here.
need git + gcc to be able to install on alpine.
centos does not work - since it has openssl 1.1 and not 1.0 (like alpine does)


Changed .container max-width for large from 940px to 948px

As discussed here:
https://github.com/twbs/bootstrap/issues/13120 and https://github.com/twbs/bootstrap/issues/18510
The two options that make sense are either 948px or 936px. Bootstrap 3 uses 940px. I think it's better to err on the side of having a few pixels more instead of less.
Then all containers will be divisible by 12 by default, which does away with uneven column widths.

Thanks, but I'm going to leave it as-is for now. Might take another look before finishing v4, but we've run 940px for a few years now :).

@mdo: Thanks for considering my pull request. Please consider your comments here and here from two years ago.
This is your only chance for another few laps around the sun.


The example are bounded to Jersey: can't migrate to another JAX-RS implementation

I would like to migrate the example project from Jersey to OpenLiberty. The problem is in the Application.class where the two last methods calls are bounded to the ResourceConfig Jersey's class.
(https://stackoverflow.com/questions/79148968/migrate-from-jersey-to-openliberty#79148968)

There has to be OpenLiberty-specific solutio for explicitly configuring features and resources, though I can't seem to find any docs.
My default hypothesis based on JAX-RS 3 specification, is that both resources (API endpoints) and features should be auto-discoverable. Resources - by the @Path annotation (so this may actually work already). But features will require a @Provider annotation. Agrest feature doesn't have this annotation, but you can create your own custom feature and use it to register Agrest stuff:
@Provider
public class MyFeature implements Feature {
     public boolean configure(FeatureContext context) {

       ServerRuntime cayenneRuntime = ServerRuntime.builder()
                .addConfig("cayenne-project.xml")
                .build();

        AgCayenneModule cayenneModule = AgCayenneBuilder.build(cayenneRuntime);
        AgRuntime runtime = AgRuntime.builder().module(cayenneModule).build();
        AgJaxrsFeature feature = AgJaxrsFeature.builder().runtime(runtime).build();

        context.register(feature);
     }
}

If this doesn't work, please ask the OpenLiberty community directly.

  Below is the code adapted to version 5.x of Agrest, tested on OpenLiberty 24
I have been using your creations in my work with great satisfaction for 20 years.
Perhaps your weak point is personal marketing, because you deserve much more fame and your products more diffusion.
Greetings from Italy.
import jakarta.ws.rs.core.Feature;
import jakarta.ws.rs.core.FeatureContext;
import jakarta.ws.rs.ext.Provider;
import io.agrest.cayenne.AgCayenneModule;
import io.agrest.jaxrs3.AgJaxrsFeature;
import io.agrest.runtime.AgRuntime;
import org.apache.cayenne.configuration.server.ServerRuntime;

@Provider
public class MyFeature implements Feature {

     public boolean configure(FeatureContext context) {
       ServerRuntime cayenneRuntime = ServerRuntime.builder()
                .addConfig("cayenne-project.xml")
                .build();
        AgCayenneModule cayenneModule = AgCayenneModule.build(cayenneRuntime);
        AgRuntime runtime = AgRuntime.builder().module(cayenneModule).build();
        AgJaxrsFeature feature = AgJaxrsFeature.builder(runtime).build();
        context.register(feature);
        return true;
     }
}

Glad it worked, and thanks for the kind words 🙂  We are trying. I just had two DFLib presentations in Italy in September. Here is one of them in Milan: https://www.youtube.com/watch?v=1P1UtWxwdYM&t=551s


Convert ref_date to UTC in encode_cf_datetime

[x] Closes #2649
[x] Tests added
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API

I think this should be an appropriate fix for #2649, but I'd appreciate input from those who are more experienced dealing with timezones in NumPy/pandas.
My understanding is that NumPy dates are stored as UTC and do not carry any timezone information. Therefore converting the ref_date with tz_convert(None) here, which converts it to UTC and removes the timezone information, should be appropriate for encoding.

Is there a CF convention for time zones?
Numpy’s datetime objects are time zone agnostic (often, but not necessarily UTC). It seems a little dangerous to assume a time zone.

I looked up CF conventions -- see my comment in #2649.
I'm pretty sure this is the right fix here, so I'm going to merge this.