Ability to call method on object?

I've got a use-case where I'd like to be able to do something like this:
{% for page in pages.get() %}
    {{page.name}}
{% endfor %}

Where pages.get() returns a promise.
I've tried doing something like this to test it but it doesn't seem to work:
var pages = {
    get: function () {
        return new Promise(function (resolve, reject) {
            setTimeout(function () {
                return resolve([{name: 'Page 1'}, { name: 'Page 2'}]);
            }, 5000);
        }
    }
};

return res.render('index', { pages: pages });

If I swap the context out for: { pages: pages.get() } and replace the pages.get() call to just pages in the template it works as expected. Basically, I want to pass in an object that has methods to allow users to get certain types of page. E.g; pages.mostViewed(10) which would then do the query to get the top 10 most views pages etc.
Alternatively I'm going to need to write a custom tag which I'm keen to avoid as it means maintaining it separately.
Any thoughts / tips would be appreciated. Thanks

I've managed to get something along these lines working here.
One thing I'm not entirely comfortable with is whether or not there's any security implications with this approach. Especially since I actually had to modify one of the tests which "protects regular objects".

:+1:

:+1:

Sorry for not replying to this further.
I don't want to deviate from Liquid. The correct solution to doing this is to use Drops. Example in here:
https://github.com/sirlantis/liquid-node/blob/master/src/liquid/drop.coffee


Use of JSON instead of PJSON

during my research, I stumbled upon this website
http://geobern.blogspot.com/2017/02/the-difference-between-json-and-pjson.html
and on this site i found this:

 If you want the JSON object response to be more readable, you can use pjson. This option should only be used for debugging purposes, since it takes longer to process the response.

in Issue #68 you wrote

This API gets 6 million hits per day, which ..............

Maybe it is a good idea to switch to
=&resultRecordCount=&sqlFormat=none&f=json&token=
instead of
=&resultRecordCount=&sqlFormat=none&f=pjson&token=
in your requests?
This is not a real issue, more a note, and if you have your reasons to do so ................ close it right now :-)

Hello @Rubber1Duck
Thanks for pointing that out, this was definitely not intended.
Will fix this soon!
Thank you for improving the API!

Hello @Rubber1Duck
Thanks for pointing that out, this was definitely not intended.
Will fix this soon!
Thank you for improving the API!

Fixed with bf7ccc6ab1e37cf64ac70d3e7cbb1bdb1877aad3

Fixed with bf7ccc6ab1e37cf64ac70d3e7cbb1bdb1877aad3


Update docs / overview with browser compatibility notes

This template seems to use newer JS features that aren't supported in older versions of IE, this should be made clear in the usage docs / notes.

Just discovered the concept of "Sandboxed javascript" https://developers.google.com/tag-manager/templates/sandboxed-javascript


Title in readme

Hello folks!
Can someone please change the readme to indicate that Seasocks is now Linux and Windows?
Thanks!

PR is on the way.

tu!


Fix paginator when using translated 'all' option

Hi,
I found an issue when using translated 'all' option in items.
This code is searching for 'all' in values, but the value contains translated 'all' option so it resets the $per_page value.
if (($per_page !== 'all' && !in_array((int) $this->per_page, $items_per_page_list, true))
  || ($per_page === 'all' && !in_array($this->per_page, $items_per_page_list, true))) {
     $per_page = reset($items_per_page_list);
}

It could be fixed using key_exists instead of in_array.
if (($per_page !== 'all' && !key_exists((int) $this->per_page, $items_per_page_list))
  || ($per_page === 'all' && !key_exists($this->per_page, $items_per_page_list))) {
     $per_page = reset($items_per_page_list);
}

If this is acceptable fix then I would be glad if you put it in 5.x version as well.
Thank you

Last 5.7 version (for Nette < v3) - v5.7.2 - still has this issue. There are new commits fixing this issue - pls release new version for Nette < v3 too. Thanks.

Could you please try branch v5.x? It should be fixed there. Thanks.

There is an error:
File: .../vendor/ublaboo/datagrid/src/DataGrid.php:2786
array_key_exists() expects exactly 2 parameters, 3 given
array_key_exists has only 2 parameters, not 3 ...

New issue https://github.com/contributte/datagrid/issues/851, fix here https://github.com/contributte/datagrid/issues/850 ...


Error while playing video(issue)

I am using this package for playing YouTube URL video.
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
E/ExoPlayerImplInternal(12691):       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/ExoPlayerImplInternal(12691):       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/ExoPlayerImplInternal(12691):       at java.lang.Thread.run(Thread.java:764)
[POD] ERROR ON POD_PLAYER:  PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error, null, null)
[POD] [#eef56] Pod Player Controller failed to initialize
E/flutter (12691): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error, null, null)
E/flutter (12691): #0      PodPlayerController._checkAndWaitTillInitialized (package:pod_player/src/controllers/pod_player_controller.dart:73:9)
E/flutter (12691): #1      PodPlayerController._checkAndWaitTillInitialized (package:pod_player/src/controllers/pod_player_controller.dart:82:11)
E/flutter (12691):
in console its show exception and  in UI its show Error while playing video.

me too !

+1

I solved the issue by upgrading the packages. the dependencies YouTube explode and http were old, so I upgraded them and now the video players works like a charm.
https://github.com/GeorgeReda/pod_player
that's my fork and I've made a PR.

I solved the issue by upgrading the packages. the dependencies YouTube explode and http were old, so I upgraded them and now the video players works like a charm. https://github.com/GeorgeReda/pod_player that's my fork and I've made a PR.

Thanks for give me a solution  @GeorgeReda

I got the same problem here. I'm gonna try upgrade the packages and point to George's fork.

I'm sorry if it's not an elegant solution, but it can help others.
The team here achieved a solution changing to https://pub.dev/packages/youtube_player_flutter . We were too late regarding the pod_player version in our project. Upgrading it required too much work to fix libs conflicts.
After change to that other lib, pointing to the exactly same youtube URL, it worked well.

I have update the package but still getiing same error. Is there any solution?

Thanks bro, you save my life

You can also use modern_player. It offers qualities not only 360p.


Compress is actually CompressStream

Digging into this, I realized that XMemCompress is functionally XMemCompressStream with a different name. This is identified in the result of the data as well as the fact that the 5th argument is a reference to an int and not just a normal int. Compressed data ends up missing the last chunk since it's being held in a buffer somewhere and isn't being flushed.
I couldn't locate a flush function or anything similar so I'm not sure where to go from here.

That's interesting, I don't remember having trouble when I was actively using my XCompression to do compression. Do you have sample code that produces an incomplete compressed output?

I do. I translated your library to C++, however the issue was present in both your library and the C++ library. So the sample code I have would be C++.
For reference, here is a snippet taken from xcompress.h that shows there are 2 different compression implementations. Compress and CompressStream. The compress found in your library is functionally identical to CompressStream.
XBOXAPI
HRESULT
WINAPI
XMemCompress(
    __in    XMEMCOMPRESSION_CONTEXT         Context,
    __out_bcount_opt( *pDestSize ) VOID*    pDestination,
    __inout SIZE_T*                         pDestSize,
    __in_bcount( SrcSize ) CONST VOID*      pSource,
    __in    SIZE_T                          SrcSize
    );

XBOXAPI
HRESULT
WINAPI
XMemCompressStream(
    __in    XMEMCOMPRESSION_CONTEXT         Context,
    __out_bcount_opt( *pDestSize ) VOID*    pDestination,
    __inout SIZE_T*                         pDestSize,
    __in_bcount( *pSrcSize ) CONST VOID*    pSource,
    __inout SIZE_T*                         pSrcSize
    );

The flag of 1 sent in to CreateCompressionContext also stands for XMEMCOMPRESS_STREAM as indicated in xcompress.h and when it's set to 0, it leads to a crash.
Here is an example of my implementation using the C++ equivalent.
int XCompress(char *CompressedBuffer, char *UncompressedBuffer, int UncompressedSize)
{
    COMPRESSIONSETTINGS settings = { 1, DEFAULT_WINDOW_SIZE, DEFAULT_CHUNK_SIZE };

    void *context;
    int r;
    r = XMemCreateCompressionContext(1, &settings, 1, &context);
    SIZE_T newLen = UncompressedSize * 2;
    r = XMemCompress(context, CompressedBuffer, &newLen, UncompressedBuffer, &UncompressedSize);
    XMemDestroyCompressionContext(context);
    return newLen;
}

Starting with a compressed file of size 3.96Mb, decompressing it yields a full result. All data is there. When compressing it back down, it's only 3.91Mb. Decompressing THAT result shows the trailing chunk of data is not there. Also, when compressing small amounts of data, the Compress function doesn't return anything.
It's definitely a streaming function, I just don't know how to use it without a flush.

Flor clarification, using xcompress's XMemCompressStream yields the same exact file size changes and same data loss.

Looking up my old code where I use XCompression for compression, you pass 0 in inputSize to flush.

Which actually reveals I have a long outstanding commit I never pushed to change the bounds checking on the Compress wrapper.

Hmmm when I set UncompressedSize to 0, the output is empty.

@MRG95 Yeah, give me a bit to make some fix pushes on this repo to address the outdated code and modernization in general.

I just got it working.  Thanks so much.

@MRG95 Great to hear, I'll still fix up XCompression regarding flushing the compression output.


clippy: Fixup default initializations

This fixes up some default struct initializations as recommended by
clippy.

clippy fixes are best kind of PRs! :)
thanks


Add GitHub action for continuous integration

This will only act on branches: master & feature/*
Run the pipeline using PHP versions 7.3, 7.4 and 8.0.
Checks:

PHPUnit
PHPInsights (only enforce code style)
PHPStan

Notes:

This work flow uses .env.example to set up the project.
It uses composer update (as opposite of composer install) since it fail depending on php version.

NOTICE
The current codebase is dirty.
Run vendor/bin/phpinsights fix --no-interaction to automatically fix most errors.
Run vendor/bin/phpinsights analyse --no-interaction --min-style=100 to find the issues that have to me manually fixed.
Because of this problem, the workflow PHPInsight is allowed to fail. This should be removed.
BEFORE MERGE
Do you want me to repair the code base before merging this PR?
I think that also a CONTRIBUTING.md file is required to explain the build process to run it locally.
Should I include a CONTRIBUTING.md file on the project?

Hola @eclipxe13  antes que nada gracias por tus valiosas aportaciones
Respecto a tus dos preguntas
Si no te toma mucho tiempo eres libre de implementar las características que propones y sobre el archivo CONTRIBUTING.md creo que si será necesario

Este PR está esperando a #15 para aplicar los cambios que faltan

listo gracias


Add nonce to note hash.

A nullifier is often hash(commitment, secret_key). Such a hash will only be unique if the commitment is unique. So how do we ensure commitments are unique? Some private notes might contain "randomness", but we cannot guarantee that such randomness is unique (indeed, there's nothing stopping a sender from using the same 'random' value twice!). So we need a 'nonce' - a piece of information which can guarantee all notes are unique.
A simple nonce would be:
nonce = hash(new_nullifiers[0], i)
Which would be calculated by the kernel circuit. Where new_nullifiers is an array of all nullifiers so-far created across the entire tx (not just the single function call currently being processed by the kernel circuit). And i is the index of the new commitment (into which this nonce will be injected) in the entire tx's new_commitments array.
Note: an account contract SHOULD always emit a hash of the 'tx request' as the 0th nullifier of the tx (@spalladino please can you confirm?), so there should always be a new_nullifiers[0].
Note: Given that there are plans to squash new commitments which get spent in later function calls, there's still a chance of collisions if we're not careful with how i is calculated. The computation of i should not adjust for the squashing of new commitments.
Example (in pseudocode, and with naming which doesn't quite match the actual code!)
Kernel:
// let i = kernel.start.new_commitments.length; // Maybe don't do this, because this length might have been reduced through squashing in previous kernel iterations.
let i = kernel.start.nonce_index; // Maybe track a nonce index, which doesn't get warped by squashing.
kernel.end.nonce_index = i + call.public_inputs.new_commitments.length();
let nonce;
let unique_commitment;
let siloed_commitments = [];
for j in 0..new_commitments.length() {
    nonce = pedersen({ kernel.end.new_nullifiers[0], i}, NONCE_GENERATOR_INDEX);
    unique_commitment = pedersen(new_commitments[j], nonce, NONCE_INJECTION_GENERATOR_INDEX);
    siloed_commitments[j] = pedersen(unique_commitment, contract_address, OUTER_COMMITMENT_GENERATOR_INDEX);
}

// Maybe some squashing of siloed_commitments happens, but the kernel.end.nonce_index is unaffected.

kernel.end.new_commitments = siloed_commitments;

Note: an account contract SHOULD always emit a hash of the 'tx request' as the 0th nullifier of the tx (@spalladino please can you confirm?), so there should always be a new_nullifiers[0].

This is actually handled by the initial kernel circuit, who manually injects that nullifier:
https://github.com/AztecProtocol/aztec3-packages/blob/d9578973843903284b576a56b08fe34a40c1cfcf/circuits/cpp/src/aztec3/circuits/kernel/private/native_private_kernel_circuit_init.cpp#L140-L142


Detect Private CAPZ clusters from the AzureCluster spec

Towards https://github.com/giantswarm/giantswarm/issues/26647

Detect private capz clusters and configure the chart operator accordingly
Add push of releases to capz-app-collection
Add commented block to detect VNET CIDR Block ( As copied from azure cluster )

Checklist

[x] Update changelog in CHANGELOG.md.

Also confirmed to work for the creation of a new private cluster in Conti CAPZ


KeyError: 1152562 Dev Branch

Hello,
I tried to use the dev branch to export so that I could bypass the #44 issue but now I have this.
I installed using pip install git+https://github.com/KnugiHK/Whatsapp-Chat-Exporter.git@dev.
Traceback (most recent call last):
  File "/home/user/.local/bin/wtsexporter", line 8, in <module>
    sys.exit(main())
  File "/home/user/.local/lib/python3.9/site-packages/Whatsapp_Chat_Exporter/__main__.py", line 241, in main
    media(db, data, args.media)
  File "/home/user/.local/lib/python3.9/site-packages/Whatsapp_Chat_Exporter/extract.py", line 439, in media
    data[content["key_remote_jid"]].messages[content["message_row_id"]].media = True
KeyError: 1152562

@KnugiHK ?

Yes there is.

It's NULL though.

If it is NULL it cannot be 1152562.

You misunderstand, there is a row with that id but the message content is NULL

Perhaps message contents that are NULL should simply be ignored just like non UTF-8 weirdness?

A NULL message doesn't necessarily be invalid (e.g., the row represents other metadata or media). It shouldn't be ignored.

Then why did It error out on that?

The corresponding message entry didn't get added into the chat store probably.

So perhaps the ones that error out like this can be skipped too instead of stopping the whole process?

Is there a way to detect If something didn't get added to the chat store? If so, then you could just skip ones that didn't.

Could you provide me the outputs of SELECT * FROM message WHERE _id=1152562; and SELECT * FROM message_media WHERE message_row_id=1152562? I would like to further investigate the problem before I skipping it.

Can I just send you the row again? This didn't work out well last time.

Sure.

Done

I couldn't reproduce the bug after I inserted the rows you sent to me. What's the output of the following SQL?
SELECT jid.raw_string as key_remote_jid,
       message_row_id,
       file_path,
       message_url,
       mime_type,
       media_key,
       file_hash,
       thumbnail
FROM message_media
INNER JOIN message
    ON message_media.message_row_id = message._id
LEFT JOIN chat
    ON chat._id = message.chat_row_id
INNER JOIN jid
    ON jid._id = chat.jid_row_id
LEFT JOIN media_hash_thumbnail
    ON message_media.file_hash = media_hash_thumbnail.media_hash
WHERE message_row_id = 1152562 OR key_remote_jid = 1152562
ORDER BY jid.raw_string ASC

Since 3ed269e, the invalid flag is removed, and all possible messages are included in the output. You can try to re-install and re-run the exporter from dev to see if the problem persists.

It's persisting

I got a lot of gibberish but I did get audio/mp4 with this "|" around It. The quotes weren't there, of course.

I got a lot of gibberish but I did get audio/mp4 with this "|" around It. The quotes weren't there, of course.

I couldn't reproduce the bug after I inserted the rows you sent to me. What's the output of the following SQL?
SELECT jid.raw_string as key_remote_jid,
       message_row_id,
       file_path,
       message_url,
       mime_type,
       media_key,
       file_hash,
       thumbnail
FROM message_media
INNER JOIN message
    ON message_media.message_row_id = message._id
LEFT JOIN chat
    ON chat._id = message.chat_row_id
INNER JOIN jid
    ON jid._id = chat.jid_row_id
LEFT JOIN media_hash_thumbnail
    ON message_media.file_hash = media_hash_thumbnail.media_hash
WHERE message_row_id = 1152562 OR key_remote_jid = 1152562
ORDER BY jid.raw_string ASC

@KnugiHK ?

Could you show me the output?

Sure and sorry for taking a while.
�B.�Q�i)9~�23G�|H07O6FjcvxRvp+M1OKqJyqIG5ulpIGlfYDjv6SQA8T0=|/AvdxZMCJ2RXhBpJLY2IDedZ9ZaYfsqTWmSguEZFGaC6b.enc|audio/mp4|�_A6��k#�[3+�

Had the same issue with latest main branch, but dev worked.

I will try again then.

But It's telling me that the line of the program are different.
I will share the full error message soon.


[Docs] use "helm pull" instead of "git clone" to download helm charts faster

This pr is in response to issue #185, which asks for using helm pull instead of git clone to download charts.
Other fixes

Add auto-index to each section page (a.k.a folder page);
Improving styling by removing bash syntax highlights;

applied windson's review


Crash when document contains a (non-ASCII?) character

How to reproduce:

Create a shader file
Type ö
Server crashes with exit code -6

Observation:
When a comment contains a special character, the server does not crash.

@nolanderc feel like taking a look?


Child workflow with inner all causes activities to sometimes execute multiple times across queue workers

I have a child workflow being executed. Within that child workflow is ActivityStub::all. Activities are sometimes run more than once if multiple queue workers are open.
The following is a somewhat minimal reproduction.
I executed it in an artisan command using:
$workflow = WorkflowStub::make(ExampleWorkflow::class);
$workflow->start('123');

<?php

namespace App\Console\Commands\WorkflowTest;

use Workflow\Activity;
use Workflow\ActivityStub;
use Workflow\ChildWorkflowStub;
use Workflow\Workflow;

class ExampleWorkflow extends Workflow
{
    public function execute(string $someId)
    {
        yield ChildWorkflowStub::make(InnerWorkflow::class, $someId);

        return yield ActivityStub::make(FinishWorkflowActivity::class, $someId);
    }
}

class InnerWorkflow extends Workflow
{
    public function execute(string $someId)
    {
        yield ActivityStub::all([
            ActivityStub::make(InnerActivity1::class, $someId, 'one'),
            ActivityStub::make(InnerActivity1::class, $someId, 'one-two'),
        ]);
        yield ActivityStub::make(InnerActivity2::class, $someId, 'two');

        return yield ActivityStub::make(InnerActivity3::class, $someId, 'three');
    }
}

class FinishWorkflowActivity extends Activity
{
    public function execute(string $someId)
    {
        dump("Finishing for {$someId}...");
        sleep(3);
        dump("Finished for {$someId}.");
    }
}

class InnerActivity1 extends Activity
{
    public function execute(string $someId, string $innerId)
    {
        dump("Running inner activity 1 for {$innerId} on {$someId}...");
        sleep(3);
        dump("Ran inner activity 1 for {$innerId} on {$someId}.");
    }
}

class InnerActivity2 extends Activity
{
    public function execute(string $someId, string $innerId)
    {
        dump("Running inner activity 2 for {$innerId} on {$someId}...");
        sleep(3);
        dump("Ran inner activity 2 for {$innerId} on {$someId}.");
    }
}

class InnerActivity3 extends Activity
{
    public function execute(string $someId, string $innerId)
    {
        dump("Running inner activity 3 for {$innerId} on {$someId}...");
        sleep(3);
        dump("Ran inner activity 3 for {$innerId} on {$someId}.");
    }
}

The following is the output I received (only including the dump output and surrounding activity). Note how there are duplicate outputs in both workers. (There were no failures in the complete output.)
Worker 1:
2024-06-27 20:58:59 App\Console\Commands\WorkflowTest\InnerActivity1 ....................... RUNNING
"Running inner activity 1 for one-two on 123..." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:48
"Ran inner activity 1 for one-two on 123." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:50
2024-06-27 20:59:02 App\Console\Commands\WorkflowTest\InnerActivity1 ....................... 3s DONE
2024-06-27 20:59:02 App\Console\Commands\WorkflowTest\InnerActivity2 ....................... RUNNING
"Running inner activity 2 for two on 123..." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:58
"Ran inner activity 2 for two on 123." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:60
2024-06-27 20:59:05 App\Console\Commands\WorkflowTest\InnerActivity2 ....................... 3s DONE
2024-06-27 20:59:05 App\Console\Commands\WorkflowTest\InnerActivity3 ....................... RUNNING
"Running inner activity 3 for three on 123..." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:68
"Ran inner activity 3 for three on 123." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:70
2024-06-27 20:59:08 App\Console\Commands\WorkflowTest\InnerActivity3 ....................... 3s DONE
2024-06-27 20:59:09 App\Console\Commands\WorkflowTest\FinishWorkflowActivity ............... RUNNING
"Finishing for 123..." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:38
"Finished for 123." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:40
2024-06-27 20:59:12 App\Console\Commands\WorkflowTest\FinishWorkflowActivity ............... 3s DONE

Worker 2:
2024-06-27 20:58:58 App\Console\Commands\WorkflowTest\InnerActivity1 ....................... RUNNING
"Running inner activity 1 for one on 123..." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:48
"Ran inner activity 1 for one on 123." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:50
2024-06-27 20:59:01 App\Console\Commands\WorkflowTest\InnerActivity1 ....................... 3s DONE
2024-06-27 20:59:01 App\Console\Commands\WorkflowTest\InnerActivity1 ....................... RUNNING
"Running inner activity 1 for one-two on 123..." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:48
"Ran inner activity 1 for one-two on 123." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:50
2024-06-27 20:59:04 App\Console\Commands\WorkflowTest\InnerActivity1 ....................... 3s DONE
2024-06-27 20:59:04 App\Console\Commands\WorkflowTest\InnerActivity2 ....................... RUNNING
"Running inner activity 2 for two on 123..." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:58
"Ran inner activity 2 for two on 123." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:60
2024-06-27 20:59:07 App\Console\Commands\WorkflowTest\InnerActivity2 ....................... 3s DONE
2024-06-27 20:59:07 App\Console\Commands\WorkflowTest\InnerActivity3 ....................... RUNNING
"Running inner activity 3 for three on 123..." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:68
"Ran inner activity 3 for three on 123." // app/Console/Commands/WorkflowTest/ExampleWorkflow.php:70
2024-06-27 20:59:10 App\Console\Commands\WorkflowTest\InnerActivity3 ....................... 3s DONE

If it matters, I am using laravel/framework:10.48.2 with laravel-workflow/laravel-workflow:1.0.26.

Hi @CadenP, are you able to find a workaround for this issue? I’m facing the same issue here

Hello @yoonwaiyan, no, I didn't find a workaround. But I also didn't really look for one, as I was only assessing the package. We have a workaround in place with plain Laravel jobs to solve our needs, and I don't want to trade one workaround for another in this case.

I agree that duplicate work is bad/wasteful but you must be willing to accept it because of the constraints around potentially failed activities. If your activities are properly idempotent, this isn't an issue.

@rmcdaniel A couple of questions here:

In what way an activity would be considered a failed activity?
The activities that I have are idempotent, and another issue from this is that having an activity that run after .all finished doesn't seem to make much sense. This is a modified source code that I have:

class RecordWorkflow extends Workflow
{
    public function execute($configs)
    {
        $processes = array_map(
            fn ($config) => ActivityStub::make(ProcessRecordActivity::class, $config),
            $configs
        );

        $records = yield ActivityStub::all($processes);

        RecordProcessor::buildReport($records);

        return $records;
    }
}

Or do I have to make RecordProcessor::buildReport to be an activity so that it's queued to run after .all complete?

A failed activity is any failure that happens before the result is successfully stored. So this could mean that some remote API is down or it could be mean that the remote API executed properly but there was an error with the response.
RecordProcessor::buildReport should execute after the return value for $records is set. It does look like you would need another activity for RecordProcessor::buildReport.

@rmcdaniel and what is the constraint of possible failure of a job that makes Workflow queue multiple copies of the same jobs (activity)? Can you explain in detail how is the multiple jobs being queued? We have some activities that may take longer time to complete or more susceptible to failure such as database calls, but we can't seem to see any consistency or clear indication of what jobs are being queued multiple times.
If you mean that the jobs have failed halfway and that's the reason it's being rerun, it's not the case for the project I'm working on. No failure and it went to the last step which is the RecordProcessor::buildReport.

I agree that duplicate work is bad/wasteful but you must be willing to accept it because of the constraints around potentially failed activities. If your activities are properly idempotent, this isn't an issue.

Thanks for the answers, @rmcdaniel! :pray:
I understand that the need to handle failures implies an activity/workflow may be scheduled more than once and should be idempotent. The part I'm unclear about is this: if there are no failures, should we see the same activity/workflow being scheduled multiple times or is it guaranteed to be scheduled only once?

The only guarantee is that the entire workflow will be executed at least once. This is known as "at least once" semantics and it differs from "at most once" and "exactly once". This "at least once" semantics means activities may be executed multiple times.

@rmcdaniel I'm sorry for the confusion. We're facing an error and were too quick to assume it was related to this issue.
I have created a separate issue for the problem we're seeing: #187
Thanks for the assistance :pray:

Thanks for your explanation, @rmcdaniel. I was misunderstanding idempotency and its necessity, so I appreciate you helping clear that up. This ticket, as written, could be closed.
That said, looking further at the logs I posted, it seems as though there's a different issue I didn't see before: the same activity is being executed twice, simultaneously. Would this cause issues with idempotency, since the first run doesn't have a chance to indicate that it completed?
I've re-written the log output to hopefully make this clearer:

STRT: "Start"
QWx: "Queue worker #x"
ACTx: "Activity #x"

20:58:58 STRT QW1 ACT1A
20:58:59 STRT QW2 ACT1B
20:59:01 DONE QW1 ACT1A
20:59:01 STRT QW1 ACT1B // still running on QW2
20:59:02 DONE QW2 ACT1B
20:59:02 STRT QW2 ACT2
20:59:04 DONE QW1 ACT1B
20:59:04 STRT QW1 ACT2 // still running on QW2
20:59:05 DONE QW2 ACT2
20:59:05 STRT QW2 ACT3
20:59:07 DONE QW1 ACT2
20:59:07 STRT QW1 ACT3 // still running on QW2
20:59:08 DONE QW2 ACT3
20:59:09 STRT QW2 finishing all // ACT3 on QW1 is still running, but it finished on QW2
20:59:10 DONE QW1 ACT3
20:59:12 DONE QW2 finishing all


Update dependencies

coverage: 34.615%. remained the same
when pulling bce8e7784fc3b4738b2c7f554cd70e0238875676 on chore/update-dependencies
into e0b644ec79b14f933f0b96c8bbec47f0e8178bb3 on main.


configure pre-commit to run on the repository

This is mostly so I can make use of it in #36. Included hooks:

ruff
black / blackdoc (no ruff format for now)
prettier to format configuration files and markdown
miscellaneous hooks (remove trailing whitespace, fix the eof, mixed line endings, etc)

to be really useful, we might need to enable pre-commit.ci (but I'm not a repository owner / admin, so I can't do that myself)


Custom apache IP and port

In order to use a reverse proxy I modified the module with a configurable Apache listen IP and port number. Might be useful...

Thanks!


RSS feed for blog

I'm a bit late now, but this is fixed in #132b46f. I haven't tested it with any sort of real RSS reader (as I don't use RSS myself) but W3C's validator says it's okay. The changes have been deployed and you can consume the feed here. There's also a note about it on the top-level blog page, so hopefully nobody misses it.


Remarks typo

Under Remarks: "The other two are Height and Height."... shouldn't one of those say "MinHeight"?

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

ID: c35ae096-1edc-0c96-814d-3bd4d89831ac
Version Independent ID: aecc60fa-fd5e-5f14-9eb3-bbb53410395b
Content: FrameworkElement.MaxHeight Property (Windows.UI.Xaml) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.ui.xaml.frameworkelement.yml&version=GBlive&_a=contents
Product: uwp
Technology: winrt-reference
Git Login: jwmsft
Microsoft Alias: jimwalk

Also same issue appears to be under "See also"

Thanks for reporting this. Both MaxHeight and MinHeight were confused. Fixes are pending.


OMRS Restore relationship give Unknown guid Exception

The Enterprise OMRS restore code attempts to get the relationship, prior to the restore. The get fails as the relationship is deleted. We need to amend the code in line with the purge code to not get  the relationship

fixed the issue as described


ios CollectionView's refreshEnabled property issue

refreshEnabled: false, can not disable ios CollectionView's refreshing. But on Android, it works.

I cannot reproduce it. Can you provide a snippet with this problem?

@patrykmol  Let's use the official example https://tabrisjs.com/examples/#reddit-pet-pictures. By simply switching the refreshEnabled to false (line 12), you will be able to see the inconsistency between two platforms: on Android, no spinner will show when you try to refresh, but on ios 10, a spinner will show up.


Coq platform for research artifact evaluation

The research communities around programming languages, formal methods, and software engineering are continually expanding and improving artifact evaluation for their premier conferences. Some examples:

POPL 2020 Artifact Evaluation
Artifact Evaluation for TACAS 2020
ICSE 2020 Artifact Evaluation

The Coq platform is a natural focal point for research artifacts based on Coq and OCaml. Researchers can potentially target a Coq platform version for their submitted artifact, and this platform version is then used by the committee during artifact evaluation, which minimizes packaging and distribution effort for both parties, and ensures reproducibility. The Coq platform can also provide a format for packaging the artifacts for long-time archiving.
However, Coq platform maintainers will likely have to coordinate with artifact evaluation committee chairs so that the Coq platform is permitted as part of mandated evaluation environments. For example, a virtual machine may be mandated which does not directly support the Coq platform without significant work by the submitting researchers.
Since the POPL AE traditionally has many Coq artifacts, e.g., around 10 out of 40 artifacts submitted during 2019, coordinating with the chairs of that committee is a natural first step.

As do CPP and ITP of course.

To my knowledge, neither CPP nor ITP have a dedicated artifact evaluation committee, and doesn't currently provide any guidelines that restrict how artifacts are submitted or handled by any committees. This is why I believe we would have much better success in getting Coq platform adoption to the POPL artifact evaluation.

This would be great; just to add more data, in POPL 2020, 17 out of the 40 artifacts used Coq.

@palmskog : I am not sure what to do about this. Would you consider this solved by the recent paper by you, @gares and @Zimmi48 ?

@MSoegtropIMC our paper is only one piece of the puzzle in convincing venues such as TACAS, CPP, etc., to recommend submissions to use the Platform whenever they have a Coq artifact. I expect that the academic side of the Platform team will have to "evangelize" using the Platform for several years more. Hence, I think we should keep this issue open to track progress.

OK, I created a milestone "Longterm"

For the record, I counted 9 out of 25 accepted CPP 2023 papers using Coq: https://popl23.sigplan.org/home/CPP-2023#event-overview

Do you also have statistics for the other proof systems?

In CPP 2023, there were:

6 Lean papers
5 Isabelle/HOL papers
2 Agda papers
2 F* papers
1 other paper

In CPP 2024, there are:

12 Coq papers
3 Lean papers
2 Isabelle/HOL papers
1 Agda paper
1 PVS paper
1 Rzk paper

We're certainly working on getting our work on the Last Yard paper in CI: https://eprint.iacr.org/2023/185
We'd like to upgrade it to MC 2.0 and would like to get better CI for jasmin (I forgot what precisely).

Have you contacted any of the authors of the accepted papers?
https://popl24.sigplan.org/home/CPP-2024#event-overview

@spitters I don't really have cycles for that kind of outreach. My somewhat modest goal would be that CPP Coq artifacts are archived on a service like Zenodo along with instructions on how to reproduce them using a specific release/pick of the Coq Platform. If artifacts are made reusable and developed further with CI best practices, this is nice, but the baseline should be easy reproducibility.

@snyke7 we don't have a ready-made solution for this scenario, you have several options:

bundle the library that is not part of the Platform together with your code
document that your artifact works with a single opam install command on top of some specific Platform pick, e.g., opam install coq-library-undecidability.1.1+8.17 - recall that the Coq opam repo is added when using installation scripts
create a custom package pick (the work is anyway done by GitHub CI)

Thanks for your replies! I am not sure how people are using the Coq Platform if not through the snap, do they have a local clone of the Coq Platform repository?
Anyway, my approach for a relatively self-contained artifact will now be to:

Include the latest release of the Coq Platform repository
Create a custom pick file, with just the packages I need
Include an opam file for non-platform users

It would be ideal for future artifact packagers if 2 could be derived from 3 or vice-versa.

I would say this is solved by the publication of https://arxiv.org/abs/2203.09835, so I am closing this.

@MSoegtropIMC I personally don't think this is a solved issue, since we haven't been able to convince conferences/journals to at least recommend (much less require) supporting the Platform for Coq papers/artifacts.

@palmskog : please feel free to reopen. It is just so that I am not that close to research so I don't really know what to do about this. I am also not sure if this is the right place to discuss such things. I guess a discussion on Zulip would have more impact - very few people are reading this here.

I agree we can discuss research-related issues on Zulip, but I think it's very convenient to have this issue for tracking progress. Certain conferences may have specific requirements before they recommend the Platform.


Add zoneID parameter when retrieving service offering

Issue #, if available:
CAPC does not resolve service offering with zone as additional filtering parameter
Description of changes:
Add zoneID when calling CloudStack API to retrieve service offering by name
Testing performed:
Unit Test
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

#207

/ok-to-test

/lgtm

CLGTM
/lgtm
/approve


Add parameter to remove the verboseness of the deploy API command

Add parameter to remove the verboseness of the deploy API command. This would be useful when running unit tests and coverage as the verboseness clutters the console somewhat unnecessary. Add this as parameter as default overrides.
In addition add cli option --option that can be one of the following:

none - stop the output of the cli
console - print on stdout
structured - print in file

We need to apply these changes for Deployment Wrapper and the rest of the CLI commands


Fixes #158 - which reload to use

Attempting to fix the deprecation warning when using -3 by simply using imp.reload in py27.
Open Items:

[ ] Not able to install python2.6 via pyenv for some reason, so don't know if this same issue will pop up there (couldn't find any docs)
[ ] Looking for suggestions on testcases to add.

closing this to get it off my "Open Pull Request" - feel free to re-open/merge.


Docs: Mark row-based as its own verb

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Circular reference leads to stack overflow when FileSystem provider is not loaded

Steps to reproduce
Create
InitialSessionState iss = InitialSessionState.Create();
iss.LanguageMode = PSLanguageMode.ConstrainedLanguage;
iss.ImportPSModule("Microsoft.Powershell.Utility",  "Microsoft.PowerShell.Security");
Runspace myRunSpace = RunspaceFactory.CreateRunspace(_host, iss);
myRunSpace.Open();
PowerShell powershell = PowerShell.Create();
powershell.Runspace = myRunSpace;
powershell.AddScript("Hello World");
powershell.Invoke();

Expected behavior
Hello World

Actual behavior
TryModuleAutoDiscovery calls LookupCommandInfo which calls TryModuleAutoDiscovery which calls LookupCommandInfo forever
https://github.com/PowerShell/PowerShell/blob/9fe96f0d8e67a4d66e051b2f8d7fc4567f39dab0/src/System.Management.Automation/engine/CommandDiscovery.cs#L814
https://github.com/PowerShell/PowerShell/blob/9fe96f0d8e67a4d66e051b2f8d7fc4567f39dab0/src/System.Management.Automation/engine/CommandDiscovery.cs#L1114
This is where the Exception gets swallowed allowing for the infinite loop when FileSystem provider is not present:
https://github.com/PowerShell/PowerShell/blob/9fe96f0d8e67a4d66e051b2f8d7fc4567f39dab0/src/System.Management.Automation/engine/SessionStateProviderAPIs.cs#L756
Environment data
PowerShell 7.1.0 release 3

@dkattan
I've got a few notes on this topic:

I have not been able to reproduce the stack overflow with just the code in OP.  (See the code below for what I've tried.)
In our internal test suite I have witnessed nestedModule on this line bounce between "Microsoft.Powershell.Utility" and "Microsoft.PowerShell.Security" on its way to the stack overflow.
The infinite recursion causing the stack overflow in (2) seems very similar to the repro in #12039.

I think this issue and #12039 might be closely related.  Do you have any other hints that might help me reproduce the stack overflow you are seeing?
PowerShell versions of the code in the OP
$iss = [initialsessionstate]::Create()
$iss.LanguageMode = [System.Management.Automation.PSLanguageMode]::ConstrainedLanguage
$iss.ImportPSModule("Microsoft.Powershell.Utility",  "Microsoft.PowerShell.Security")
$rs = [runspacefactory]::CreateRunspace($Host,$iss)
$rs.Open()
$ps = [powershell]::Create()
$ps.Runspace = $rs
$ps.AddScript({'Hello World'}).Invoke()

Add-Type @'
using System.Collections.ObjectModel;
using System.Management.Automation;
using System.Management.Automation.Host;
using System.Management.Automation.Runspaces;
public static class c {
    public static Collection<PSObject> run(PSHost host) {
        InitialSessionState iss = InitialSessionState.Create();
        iss.LanguageMode = PSLanguageMode.ConstrainedLanguage;
        iss.ImportPSModule("Microsoft.Powershell.Utility",  "Microsoft.PowerShell.Security");
        Runspace myRunSpace = RunspaceFactory.CreateRunspace(host,iss);
        myRunSpace.Open();
        PowerShell powershell = PowerShell.Create();
        powershell.Runspace = myRunSpace;
        powershell.AddScript("'Hello World'");
        return powershell.Invoke();
    }
}
'@
[c]::run($Host)


Endpoint /api/application/{idApp}/file/{idFile} [DELETE] [Required for UI screen Publish Service]

Description
Values

Description:
Endpoint to delete a file from a specific application. NOTE: If the type of the file is 'tosca' will return an error. A 'tosca' file cannot be deleted, only updated.

Screen that needs the endpoint:
Publish Service

Endpoint required:
/api/application/{idApp}/file/{idFile}

Call Type:
DELETE

A param in the URL will be needed in order to keep track of the procces.
The param will be a QueryParam/RequestParam called "processInstanceId".

Endpoint created, please check in using your UI and then pass the task to guido.


Sanitize register's name

It's successor for https://github.com/japaric/svd2rust/pull/29, sanitize register's name too.

:pushpin: Commit 79aa408 has been approved by japaric

Makes sense. Thanks!
@homunkulus r+

:hourglass: Testing commit 79aa408 with merge 79aa408...

:sunny: Test successful - status-appveyor, status-travis
Approved by: japaric
Pushing 79aa408df686a969565c5520c11db6f382378716 to master...


Crashes on open with Android O

Keybase for Android crashes on Android O beta 1 at startup.
It seems to be crashing due to secomp blocking syscall 142, which is select. Unfortunately, I don't know exactly where the failure happened, This could be an upstream issue in libgojni.

Having the same issue on my Nexus 6P with O. Glad to here there is a fix in the works!

Looks like golang/go#20409 has been resolved.  Any idea when things will get fixed in Android O?

#7672


Make SqlGeneratorTestBase implementation independent by removing dbo constant as table schema

Inherited tests should be able to override the schemaname

Hi @bartdevriendt, I'm your friendly neighborhood Microsoft Open Technologies, Inc. Pull Request Bot (You can call me MSOTBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSOTBOT;

What about relational providers that do not have "schemaname" at all?

You can override the VisitTableExpression to fix this.  This is my implementation for MySql:
public override Expression VisitTableExpression(TableExpression tableExpression)
{
Check.NotNull(tableExpression, "tableExpression");
        Sql.Append(DelimitIdentifier(tableExpression.Table))
            .Append(" AS ")
            .Append(DelimitIdentifier(tableExpression.Alias));

        return tableExpression;
    }

@AndriySvyryd  can you process this one

@bartdevriendt, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSOTBOT;

@AndriySvyryd or @divega Could one of you sign off on this and then I will bring it in.

:shipit:

@bartdevriendt, Can you please squash your commits into one?

@ajcvickers I'm not sure if it's ok now ?

@bartdevriendt We want to be able to pull in only one commit for this. Currently you have multiple commits. The usual way to do this is to take the multiple commits and "squash" them into one. This link I just Bingled may help: http://stackoverflow.com/questions/5308816/how-to-use-git-merge-squash

@ajcvickers I had to create a new pull request from a branch to be able to squash everything in 1 commit  -> see #1724


Examples don't work.

If I compile the example files and start (run-demo) an error appears,
mostly this error:
The value -468072688 is not of type SB-INT:INDEX.
[Condition of type TYPE-ERROR]
sometimes it also disconnects or c code is shown as error

all should be working with current quicklisp branch


SAM docker build fails due to API change in onnxruntime

It seems that the API has changed, and since the library isn't pinned the change now breaks the build.
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

[notice] A new release of pip is available: 23.0.1 -> 23.2.1
[notice] To update, run: pip install --upgrade pip
Removing intermediate container f9783fc2e7d5
 ---> 01a57950f1a4
Step 9/12 : COPY . ./
 ---> ccb082b64d72
Step 10/12 : RUN python3 onnxconverter.py
 ---> Running in 11efd499e8b9
============= Diagnostic Run torch.onnx.export version 2.0.1+cu117 =============
verbose: False, log level: Level.ERROR
======================= 0 NONE 0 NOTE 0 WARNING 0 ERROR ========================

Traceback (most recent call last):
  File "onnxconverter.py", line 67, in <module>
    convert(VITH_CHECKPOINT)
  File "onnxconverter.py", line 58, in convert
    quantize_dynamic(
TypeError: quantize_dynamic() got an unexpected keyword argument 'optimize_model'

The change was introduced in https://github.com/microsoft/onnxruntime/pull/16422

@shondle any idea?

I haven't checked, but what jpodivin does with pinning the dependency should work.

I haven't checked, but what jpodivin does with pinning the dependency should work.

All checks passed, and jpodivin's PR has been merged. Can you check if it works now?


Added Service Mesh Offers Promising Solution for Cloud Native Network Blog

Signed-off-by: chinmaym07<EMAIL_ADDRESS>Description
This PR fixes #169
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@chinmaym07 it'd be great to have an image included in the text of the article. The same feature image used on the card will work.


Use a unique exit code to identify baseline changes

Addresses the issue raised in https://github.com/Yelp/detect-secrets/issues/212 to exit with a unique exit code number so that this can be identified by scripts and programs wrapping and invoking the detect-secrets-hook to run specific flows.
Note: I intentionally didn't use exit code 2 since that is part of standardised error numbers such as those used for shell related errors so to avoid a conflict.

@domanchi could you check about the failing build? doesn't seem related to this change

I’m on my phone so it’s a little harder to see but I think it’s just another newline needed before and after the new function in the pre commit hook test (lines 21 and 24)

uhmm, there is a new line though... ?

https://travis-ci.org/Yelp/detect-secrets/jobs/567252558#L569
Travis runs our pre-commit hook as a style linter, and modifies files accordingly. Looks like you need two new lines between a root defined function.
Best to install the pre-commit framework, and let that fix files for you.
$ tox -e pre-commit -- run

No worries, 👍
I'll add pep8 newlines, now that I'm on Desktop
Thanks again for making this :D

Thanks fellas for all the help! 👌


Improve handling of non-blocking try-connect

This PR was triggered by not getting the Zephyr federated example to work on our boards anymore. It does several things:

Improve the error handling in the non-blocking try-connect. Basically checks for EINPROGRESS and then does select to see that socket is writable before checking error message. Possibly closing socket and reopening if it failed.
Reject tagged messages and actions before start tag is resolved
Move serialization code into serialization.c/h

Looking good to me, I left some small comments :)
And nice to have more LF_DEBUG etc. That is gonna help a lot!


Test aws add data transfer test

Changes:

Add transfer_data golden file tests
Fix a typo in usage file examples

Thanks @sinabakh! since the typo meant that previous users were not able to use that usage file param, it feels like a non-breaking change...


[Core] Add interceptors for Attributes

I have no idea how heavy it will be but we need a way to be updated if a certain concept gets updated.
Concepts could have a list of listeners (can be empty) that are updated/called when there is a change.

The problem with the suggested approach is that each null listener requires 4 bytes of memory.
One alternative is to keep the knowledge base immutable, add the interceptors to the knowledge base and everytime a concept is queried by the knowledge base it is wrapped in a way that those trackers are enabled.

Another way to do it is to only update concepts through the Knowledge Base.


Plots suddenly without owners

Issue description

Expected result: What were you expecting to happen?
Actual result: What actually happened?

Steps to reproduce the issue

Switch from another MyPlot plugin for API 4 to PlotSquared
Some plots suddenly no longer have an owner, while others do

OS and versions

Plugin Version: Dev #29
PocketMine-MP: 4.0.9
PHP: 8
Game version: PE/Win10 (delete as appropriate)

Other Plugins

If you remove all other plugins, does the issue still occur? Yes/No (delete as appropriate)
If the issue is not reproducible without other plugins:

Have you asked for help in the community discord before creating an issue?
Can you provide sample, minimal reproducing code for the issue? If so, paste it in the bottom section.

Console error, backtrace or other files

Which DataProvider do you have in use?


[BUG]Spend lots of time  on loading model with  zero_optimization stage=3

Describe the bug
When  I use zero optimization(stage=3),It's spend lots of time on loading model.
I'm trying to finetune OPT-66B on 2 node,each node contain 8NVIDIA A100-SXM(80G),1TB RAM.
I have already finish the training of OPT-30B with zero optimization(stage=2). However  this kind of zero optimization will cost (node_nummemory of one model) RAM ,according the doc of deepspeed.

These modifications allow for models that exceed the size of local CPU/GPU memory/NVMe, but fit within the total NVMe capacity (i.e., aggregate CPU or GPU memory or NVMe) across all nodes. Consider initializing a model with one trillion parameters, whose weights occupy two terabytes (TB) in half precision. The initial CPU allocation in full precision requires 4TB of memory per process, and so a system with 8 GPUs per node would need 32TB of CPU memory due to data-parallel redundancies. Instead, by immediately partitioning tensors we remove the redundancies. The result is that regardless of the number of GPUs, we still only require the original 4TB. This allows for a linear increase in model size with the aggregate system memory. For example, if a node has 1TB of memory and 8 GPUs, we could fit a trillion parameter model with 4 nodes and 32 GPUs.

And the output of htop(OPT-30B) show the same result.

1TB RAM is not enough for OPT-66B(since node_num=8)when I use zero-optimization (stage=3) instead,It's extremly slow.
After the deepspeed log output under information，It‘s need 2000 min(By estimating the loading speed of the 350m model, which took 10 minutes at this stage)
<IP_ADDRESS>: [INFO|integrations.py:579] 2022-08-08 22:24:18,989 >> Automatic Weights & Biases logging enabled, to disable set os.environ["WANDB_DISABLED"] = "true" <IP_ADDRESS>: wandb: Currently logged in as: zchill (use wandb login --reloginto force relogin) <IP_ADDRESS>: wandb: wandb version 0.13.1 is available!  To upgrade, please run: <IP_ADDRESS>: wandb:  $ pip install wandb --upgrade <IP_ADDRESS>: wandb: Tracking run with wandb version 0.12.10 <IP_ADDRESS>: wandb: Syncing run  *********************************** <IP_ADDRESS>: wandb: ⭐ View project at**************************** <IP_ADDRESS>: wandb: 🚀 View run at *********************************** <IP_ADDRESS>: wandb: Run data is saved locally in  *********************************** <IP_ADDRESS>: wandb: Runwandb offlineto turn off syncing. <IP_ADDRESS>:
To Reproduce
ds+config.json
{     "fp16": {         "enabled": "auto",         "loss_scale": 0,         "loss_scale_window": 1000,         "initial_scale_power": 16,         "hysteresis": 2,         "min_loss_scale": 1     },     "optimizer": {         "type": "AdamW",         "params": {             "lr": "auto",             "betas": "auto",             "eps": "auto",             "weight_decay": "auto"         }     },     "scheduler": {         "type": "WarmupLR",         "params": {             "warmup_min_lr": "auto",             "warmup_max_lr": "auto",             "warmup_num_steps": "auto"         }     } ,         "zero_optimization": {             "stage": 3     },     "gradient_accumulation_steps": "auto",     "gradient_clipping": "auto",     "steps_per_print": 2000,     "train_batch_size": "auto",     "train_micro_batch_size_per_gpu": "auto",     "wall_clock_breakdown": false }
Expected behavior
I wonder if the speed of this stage can be faster？
And the config that I used have some mistake.
ds_report output
`
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
runtime if needed. Op compatibility means that your system
meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
cpu_adam ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
fused_lamb ............. [NO] ....... [OKAY]
[WARNING]  please install triton==1.0.0 if you want to use sparse attention
sparse_attn ............ [NO] ....... [NO]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
[WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
[WARNING]  async_io: please install the libaio-devel package with yum
[WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
async_io ............... [NO] ....... [NO]
utils .................. [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/home/xihu/anaconda3/envs/tk-instruct/lib/python3.8/site-packages/torch']
torch version .................... 1.10.0+cu113
torch cuda version ............... 11.3
torch hip version ................ None
nvcc version ..................... 11.3
deepspeed install path ........... ['/home/xihu/anaconda3/envs/tk-instruct/lib/python3.8/site-packages/deepspeed']
deepspeed info ................... 0.6.5, unknown, unknown
deepspeed wheel compiled w. ...... torch 1.12, cuda 11.3
`
Screenshots
If applicable, add screenshots to help explain your problem.
System info (please complete the following information):

OS: CentOS Linux release 8.2.2004 (Core)
two machines with x8 A100s(80g) each
Interconnects:two machines connected with infiniband
Python version :Python 3.8.13
Any other relevant info about your setup

Launcher context
CMD="deepspeed --num_nodes 2 --hostfile hostfile --num_gpus 8 --master_port 4586 --master_addr <IP_ADDRESS> finetune.py ${OPTS}"

@diruoshui  Have you solved this problem? I found that the model that saved zero stage3 would get stuck, and there would also be the same problems when loading model.


Added Select-Object -Unique to prevent duplicates

In case e.g. we specified a module to install that was already installed.

This change is

Codecov Report

Merging #25 into master will not change coverage.
The diff coverage is n/a.


More ion cleanup

This is ready for a full review.

Rename CesiumIon -> Ion
Rename CesiumIonResource -> IonResource.
Ion now only has API settings, similar to BingMapApi and others.
Ion.defaultServerUrl -> Ion.defaultServer and is now a Resource.
Moved CesiumIon.createResource -> IonResource.fromAssetId
Removed the now unneeded CesiumIonResource.create
IonResource is now public.
IonResource instances are also handle external assets, which removes the monkey patching to Resource.clone we were previously doing.
Properly documented everything
Updated Sandcastle examples.

@mramato, thanks for the pull request! Maintainers, we have a signed CLA from @mramato, so you can review this at any time.
:warning: I noticed that CHANGES.md has not been updated. If this change updates the public API in any way, fixes a bug, or makes any non-trivial update, please add a bullet point to CHANGES.md and comment on this pull request so we know it was updated. For more info, see the Pull Request Guidelines.

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

There's an error when I switch to the point cloud model in the 3D Tiles Clipping Planes.html demo

Just that one comment @mramato, everything else looks great

I never noticed you could actually change models, I think I broke it with an earlier PR but I'll fix it here.

Great, thanks @mramato!


Improve error message for circular dependency case

Makes it more clear that the circular dependent gems are not necessarily declared in the Gemfile (they could be in the Gemfile.lock).
Closes #3738.

FYI, tests fail because of a spec trying to match against 3.2.21, while 3.2.22 has been released.

Thanks!

:clap:


As an Operator, I would like to see a list of Security Guards and select the person I want to assign the alert to.


Google Spanner support timeline?

Can you share some insights on when you plan on making github.com/xo/spanner public?
And thank you for open-sourcing this great tool! 👍

Not likely to open source this any time soon. It's too expensive to support.


Separate test for SSE3 and SSSE3

nocona cpu's have SSE3 without SSSE3 which breaks by including tmmintrin.h
clang 3.3 - 3.7 and gcc 4.2 4.6 and 4.8 all seem to force this to be an error.
/usr/include/clang/3.4.1/tmmintrin.h:28:2: error: "SSSE3 instruction set not enabled"
While nocona cpu's are getting old, when a user has set nocona as the target arch the SSSE3 header comes in and breaks the build.

LGTM, I will merge.

Merged into master and RB-1.5.


[FR]: Different format for display and store in Date and Time Field.

Contact Details
<EMAIL_ADDRESS>Present your request
Often we choose to store the Date or Time in accurate ISO formats like 2022-12-17T20:06:05+06:00. In the database table, they are not easily readable. Now we have two options to deal with it with tread-offs:

Leave it as is. It will be less readable but won't be messed up on edit.
Use a formula field and show them formatted as you like (my current choice). But you lose editability.

I propose optional field(s) to determine how the Date or Time will be shown in the table. One can choose the date or time from the widget and it will save using the current date and time formatting settings and show the fields formatted with these new settings if available.
For which platform do you request this request??
Desktop

You can already choose your favourite format to display here

Since 3.1.0 its true we save the date on file as ISO, but it will be resolved with the next one https://github.com/RafaelGB/obsidian-db-folder/issues/683


Fixing Regex Processing Errors

Summary
Now checks if the regex matches before attempting to extract the groups from the match. If no match, it will warn that it failed to process the message parameters and prints the message.
Fixes #19

Fixes #19


IPVS doesn't work with Azure CNI

Is this a request for help?:
Yes

Is this an ISSUE or FEATURE REQUEST? (choose one):
Issue

Which release version?:
Latest (1.0.29)

Which component (CNI/IPAM/CNM/CNS):
CNI

Which Operating System (Linux/Windows):
Linux

For Linux: Include Distro and kernel version using "uname -a"
Linux k8s-agentpool1-cen1-vmss000001 5.0.0-1023-azure #24~18.04.1-Ubuntu SMP Wed Oct 2 20:23:29 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Which Orchestrator and version (e.g. Kubernetes, Docker)
Kubernetes 1.16.2

What happened:
When setting up a cluster with IPVS as the kubeproxy mode, on an Azure CNI enabled network, cluster IPs are not reachable via pods.
Environment details:

Azure VNet: <IP_ADDRESS>/16
Service network: <IP_ADDRESS>/16
DNS Service IP: <IP_ADDRESS>
Deployment via aks-engine

When setting up a new cluster, I found that CoreDNS pods are not able to reach the cluster IP <IP_ADDRESS>, and throw up the following logs
$ kubectl -n kube-system logs coredns-56bc7dfcc6-wgb6r
E1121 01:47:48.755559       1 reflector.go:126] pkg/mod/k8s.io/client-go@v11.0.0+incompatible/tools/cache/reflector.go:94: Failed to list *v1.Namespace: Get https://<IP_ADDRESS>:443/api/v1/namespaces?limit=500&resourceVersion=0: dial tcp <IP_ADDRESS>:443: i/o timeout
E1121 01:47:48.755559       1 reflector.go:126] pkg/mod/k8s.io/client-go@v11.0.0+incompatible/tools/cache/reflector.go:94: Failed to list *v1.Namespace: Get https://<IP_ADDRESS>:443/api/v1/namespaces?limit=500&resourceVersion=0: dial tcp <IP_ADDRESS>:443: i/o timeout
E1121 01:47:48.755559       1 reflector.go:126] pkg/mod/k8s.io/client-go@v11.0.0+incompatible/tools/cache/reflector.go:94: Failed to list *v1.Namespace: Get https://<IP_ADDRESS>:443/api/v1/namespaces?limit=500&resourceVersion=0: dial tcp <IP_ADDRESS>:443: i/o timeout
E1121 01:47:48.755559       1 reflector.go:126] pkg/mod/k8s.io/client-go@v11.0.0+incompatible/tools/cache/reflector.go:94: Failed to list *v1.Namespace: Get https://<IP_ADDRESS>:443/api/v1/namespaces?limit=500&resourceVersion=0: dial tcp <IP_ADDRESS>:443: i/o timeout
E1121 01:48:19.754336       1 reflector.go:126] pkg/mod/k8s.io/client-go@v11.0.0+incompatible/tools/cache/reflector.go:94: Failed to list *v1.Service: Get https://<IP_ADDRESS>:443/api/v1/services?limit=500&resourceVersion=0: dial tcp <IP_ADDRESS>:443: i/o timeout

Please note that the IP <IP_ADDRESS> is a valid cluster IP in the cluster
$ kubectl get svc -o wide
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE     SELECTOR
kubernetes   ClusterIP   <IP_ADDRESS>   <none>        443/TCP   5d15h   <none>

and is reachable via the node on which the CoreDNS pod is running
me@k8s-agentpool1-cen1-vmss000001:~$ curl --insecure 'https://<IP_ADDRESS>:443/api/v1/services' # Run on the Node
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "Unauthorized",
  "reason": "Unauthorized",
  "code": 401
}

As is to be expected, IPVS was correctly set up on the node (<IP_ADDRESS>:443 is pointing to API server LB IP)
me@k8s-agentpool1-cen1-vmss000001:~$ sudo ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  <IP_ADDRESS>:30271 rr
TCP  <IP_ADDRESS>:30271 rr
TCP  <IP_ADDRESS>:443 rr
  -> <IP_ADDRESS>:443            Masq    1      0          0
TCP  <IP_ADDRESS>:443 rr
TCP  <IP_ADDRESS>:443 rr
  -> <IP_ADDRESS>:443              Masq    1      0          0
TCP  <IP_ADDRESS>:44134 rr
  -> <IP_ADDRESS>:44134            Masq    1      0          0
TCP  <IP_ADDRESS>:53 rr
  -> <IP_ADDRESS>:53               Masq    1      0          0
TCP  <IP_ADDRESS>:9153 rr
  -> <IP_ADDRESS>:9153             Masq    1      0          0
TCP  <IP_ADDRESS>:30271 rr
UDP  <IP_ADDRESS>:53 rr
  -> <IP_ADDRESS>:53               Masq    1      0          0

To test, a tmp shell pod was created to fire a curl request, and as can be seen, it times out
$ kubectl run tmp-shell --image curlimages/curl --overrides='{"apiVersion": "v1","spec": {"nodeSelector": {"kubernetes.io/hostname": "k8s-agentpool1-cen1-vmss000001"}}}' --restart=Never --tty=true --attach=true --stdin=true --rm=true --generator=run-pod/v1 sh
If you don't see a command prompt, try pressing enter.
/ $ curl --insecure -m 10 'https://<IP_ADDRESS>:443/api/v1/services' # Run inside POD
curl: (28) Connection timed out after 10001 milliseconds
/ $ ip route show
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/17 dev eth0 scope link  src <IP_ADDRESS>
/ $ arp -n
? (<IP_ADDRESS>) at 12:34:56:78:9a:bc [ether]  on eth0

While the above curl request was being made, a tcpdump was being run on the node, showing no response packets whatsoever
me@k8s-agentpool1-cen1-vmss000001:~$ sudo tcpdump -nei azure0 host <IP_ADDRESS>
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on azure0, link-type EN10MB (Ethernet), capture size 262144 bytes
14:40:47.258612 aa:dc:92:37:36:98 > 12:34:56:78:9a:bc, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.47806 > <IP_ADDRESS>.443: Flags [S], seq<PHONE_NUMBER>, win 64240, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
14:40:47.270447 ea:41:81:ec:9e:fd > 12:34:56:78:9a:bc, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.58652 > <IP_ADDRESS>.443: Flags [S], seq<PHONE_NUMBER>, win 64240, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
14:40:48.262517 aa:dc:92:37:36:98 > 12:34:56:78:9a:bc, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.47806 > <IP_ADDRESS>.443: Flags [S], seq<PHONE_NUMBER>, win 64240, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
14:40:50.278484 aa:dc:92:37:36:98 > 12:34:56:78:9a:bc, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.47806 > <IP_ADDRESS>.443: Flags [S], seq<PHONE_NUMBER>, win 64240, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0

As can be clearly seen above, because of CNI, the pod is sending packets destined for <IP_ADDRESS> (an IPVS service), wrapped in the mac address of the default gateway <IP_ADDRESS>. There's nothing in the current ebtables of the node to prevent this packet from being sent on the VNet, instead of being processed by the host node.
me@k8s-agentpool1-cen1-vmss000001:~$ sudo ebtables -t nat -Ln
Bridge table: nat

Bridge chain: PREROUTING, entries: 11, policy: ACCEPT
-p ARP -i eth0 --arp-op Reply -j dnat --to-dst ff:ff:ff:ff:ff:ff --dnat-target ACCEPT
-p ARP --arp-op Request --arp-ip-dst <IP_ADDRESS> -j arpreply --arpreply-mac ea:41:81:ec:9e:fd
-p IPv4 -i eth0 --ip-dst <IP_ADDRESS> -j dnat --to-dst ea:41:81:ec:9e:fd --dnat-target ACCEPT
-p ARP --arp-op Request --arp-ip-dst <IP_ADDRESS> -j arpreply --arpreply-mac 8a:e1:e2:22:fe:91
-p IPv4 -i eth0 --ip-dst <IP_ADDRESS> -j dnat --to-dst 8a:e1:e2:22:fe:91 --dnat-target ACCEPT
-p ARP --arp-op Request --arp-ip-dst <IP_ADDRESS> -j arpreply --arpreply-mac da:67:73:ab:32:5d
-p IPv4 -i eth0 --ip-dst <IP_ADDRESS> -j dnat --to-dst da:67:73:ab:32:5d --dnat-target ACCEPT
-p ARP --arp-op Request --arp-ip-dst <IP_ADDRESS> -j arpreply --arpreply-mac 42:d4:84:19:ad:b
-p IPv4 -i eth0 --ip-dst <IP_ADDRESS> -j dnat --to-dst 42:d4:84:19:ad:b --dnat-target ACCEPT
-p ARP --arp-op Request --arp-ip-dst <IP_ADDRESS> -j arpreply --arpreply-mac 92:b8:e2:17:e8:ad
-p IPv4 -i eth0 --ip-dst <IP_ADDRESS> -j dnat --to-dst 92:b8:e2:17:e8:ad --dnat-target ACCEPT

Bridge chain: OUTPUT, entries: 0, policy: ACCEPT

Bridge chain: POSTROUTING, entries: 1, policy: ACCEPT
-s Unicast -o eth0 -j snat --to-src 0:d:3a:f0:32:b0 --snat-arp --snat-target ACCEPT
me@k8s-agentpool1-cen1-vmss000001:~$ sudo ebtables -Ln
Bridge table: filter

Bridge chain: INPUT, entries: 0, policy: ACCEPT

Bridge chain: FORWARD, entries: 0, policy: ACCEPT

Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
me@k8s-agentpool1-cen1-vmss000001:~$ sudo ebtables -t broute -Ln
Bridge table: broute

Bridge chain: BROUTING, entries: 0, policy: ACCEPT

What you expected to happen:
Service IPs need to be reachable from the Pods, when running a cluster with IPVS + CNI enabled on Azure.

How to reproduce it (as minimally and precisely as possible):

Set up an IPVS enabled cluster with CNI on Azure. I set it up using aks-engine, but I suspect the issue with show up with any other method as well.
Validate on any node that service IPs are configured as IPVS: ipvsadm -Ln
Validate that these service IPs are reachable from the nodes (sample command mentioned above)
Spawn a temp shell pod (sample command mentioned above), and try reaching any of the cluster IPs from the pod - they time out.

Two possible ways, to my mind, of addressing this (both have been tested by me to work):

Have a broute configured on the node to modify the destination mac address for packets going out via the container interface, so that the host node has an opportunity to address the connection (via IPVS). This can be done by the command: ebtables -t broute -A BROUTING -i <container-iface> -p IPv4 -j redirect --redirect-target ACCEPT
Have the pods use the host node's IP as the default gateway.

I feel the latter approach is leaky, so the former should be the preferred approach, unless there's a better way.

Possibly linked with #344

@tamilmani1989 makes sense. What does this mean in terms of getting IPVS to work on Azure, and this patch? Currently we're missing out on further updates on Azure CNI because we're running on an older branch that has this patch. Those aren't time critical, but would be ideal for our patch to not diverge too much from the mainline. Of it there's a better way to make IPVS work, that's cool as well.

Yes defaults in #448 has to change. By default it should be disabled. You have to create PR with aks-engine to add 2 fields. One for enabling ipvs and other should be service cidr. These two fields should be updated from  aks-engine

@amodm I'm making changes in aks-engine to pass service cidr in conflist if kube-proxy runs in ipvs mode. The CNI will read conflist and add ebtable brouting rule for service IPs

Great! Let me know when this is available, and I'll make use of it to update the routes only for the service cidr

@amodm sorry for updating late. aks-engine changes are merged to master and cni changes as well. you can pull latest aks-e master and can use that. The supported cni version is v1.1.0.
Redirecting only service cidr traffic wont work for external load balancer ip. so redirecting all packets is the only solution

@tamilmani can you point me to the commit? Is it aks-engine which will be making the ebtables entry?

The latest AKS-E release should have it. CNI adds ebtable entries based on config set by AKS-E

@tamilmani1989 I see setBrouteRedirect is only called when IPv6 is enabled. Does that mean IPVS only works with dual-stack? IPv4 Only + IPVS seems not working on my side.
https://github.com/Azure/azure-container-networking/blob/f63d8ca79af022f9bc77939ce96e1f4d358ffc4b/network/bridge_networkclient_linux.go#L92-L110
https://github.com/Azure/azure-container-networking/blob/f63d8ca79af022f9bc77939ce96e1f4d358ffc4b/network/bridge_networkclient_linux.go#L151-L163


[MNT] Revert dependency changes due to external issues

Removes the upper bound on holidays and dash with were required due to CI breaking.
Adds statsforecast back as a soft dependency.

Currently, all_extras installs pandas 2.0.1, adding statsforecast reduces it to 1.5.3.


Logarithm Function is not taking base

The LOGARITHM Function is not taking the input of base.It is taking the e as base .

Thanks for raising and solving this issue.


Decide how haskell-ide project is run

Process needs to be sorted out, for example:

[ ] ways to communicate within the project
[ ] what are github issues for and how to use them
[ ] how github issues are pushed forward in process and when are they closed
[ ] describe github issue labels and operational meaning of the labels (if used)
[ ] who, how, where and how often publishes progress report
[ ] who, how, where and how often publishes release notes
[ ] what is current project focus
[ ] standards for code contributions (checklist)
[ ] pull request review and merging process
[ ] documentation standards

Mailing list: Good for announcements.
Github issues: Ideas, bugs, problems.
But it is likely that there will be more than a hundred issues in a few years. So it would be nice to close an issue and write the conclusion in the github wiki and link back to the issue.
documentation standards: I would enjoy some general overview of a library. In my latest library I did a "Walkthrough" with links into the code (https://github.com/diagrams/diagrams-input). Sometimes an article would be helpful. This helped me to start with ghc-api: http://aosabook.org/en/ghc.html

@tkvogt: thanks for input. You seem to be talking about deliverables, where I wanted to talk about the process itself. To give a hint what I mean I'd like to take rust-lang as example:

They decided on fixed schedule releases every 6 weeks. What is the release schedule here?
They decided to use github issues for discussions. On the contrary ruby on rails has discussions going on on mailing lists and issues are only for issues.
Rust project has versatile labeling implemented, just see here: https://github.com/rust-lang/rust/issues
etc

For a better exposition: http://words.steveklabnik.com/how-to-be-an-open-source-gardener

Is there anything left to do here? We seem to get along pretty well, so I’m not sure if we need to hammer down the process more than we already have.

Closing, feel free to reopen if needed. Preferably more specific issues.


feat: ai敏感词拦截插件

Ⅰ. Describe what this PR did
ai敏感词拦截插件
Ⅱ. Does this pull request fix one issue?

fixes #1182
fixes #1140
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

麻烦再补一个e2e测试用例，可以用custom-response插件来自定义响应，来验证响应的masking效果

done


Change all services/libraries to version 1.0.0

Changes

Comments

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#407  👈
#405 : 1 other dependent PR (#406 )
#404
#403
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @forstmeier and the rest of your teammates on  Graphite


New emergency theme

Created a quick fork of the emergency site by Max Böck. The forked emergency theme is published on the theme page as a complete typemill distribution that contains:

Typemill CMS
Emergency Theme
Demo Content

So you can download, upload, edit and run that website without any hazzle. It is especially designed for Organisations that want to provide information with low bandwidth and have no technical background to setup a static website like described in the original concept by Max Böck.

Thanks for the great theme. It seems that it does not support widgets like search, is that intended?
Also the JS console throws an error that it can't find sw.js.


env!() macro is a compile time constant

https://github.com/GreenTeaSeb/rufet/blob/1a62e7e9f09c6abc6e54b7d12fc7688527f0c34d/src/main.rs#L43
This would keep this from being distributed as a binary, env!() would be the $HOME env var for whatever machine/user it was compiled under.
The runtime version std::env::var would be a better candidate.
Ideally, you'd want to store the configuration file in the appropriate $XDG_CONFIG_PATH ^1 (or equivalent for other systems)
There are crates that provide this abstraction, such as: https://docs.rs/directories/4.0.1/directories/

Thank you for pointing that out, fixed in c28c97690477b9ede57b347a9b78c10da75cf992

Thank you for pointing that out! Fixed in c28c97690477b9ede57b347a9b78c10da75cf992


image and render pass issues

[ ] a depth render buffer should be a normal image object, not included in another image
[ ] GL: the MSAA resolve render buffer should probably go into the render pass object

thought about this more, and decided that it's fine as it is for now :)


esp-idf: 4.4.1 -> 5.0

This is an attempt to bump esp-idf to 5.0 version, it has some limitations, I can do this:
[raito@Thors nixpkgs-esp-dev]$ idf.py
ERROR: /home/raito/.espressif/python_env/idf5.0_py3.9_env/bin/python doesn't exist! Please run the install script or "idf_tools.py install-python-env" in order to create it

fatal: ce n'est pas un dépôt git : '/nix/store/78kzjxhxbi367y9drwgvfy4vhyz25z2c-esp-idf-v5.0/.git'
WARNING: Git version unavailable, reading from source
ESP-IDF v5.0.0

I would love to remove the "ERROR" and cleanup the WARNING, but uncertain how easy this can be achieved, so this is open for discussion too.

I seem to have managed to remove ERROR and WARNING messages, but my solution may not be the safest and seems like it might lead to other problems down the road.
It looks like it is now necessary to tell the IDF to use the python environment created by mach, which can be done by setting the IDF_PYTHON_ENV_PATH variable.
Currently, I'm just using wrapProgram to set the variable for idf.py, but that's not going to work for anything else that expects to have the same python environment. It'd probably be best to update pkgs/esp-idf/setup-hook.sh so that IDF_PYTHON_ENV_PATH is getting inherited by other derivations, but I'm not sure how to do that.
There is also some other stuff where Espressif seem to have added a sort of lock file, and it doesn't work when it can't find it, so it's also needed to set IDF_PYTHON_CHECK_CONSTRAINTS=no, but that does mean that the environment might contain invalid versions of packages.
It is worth noting that this seems to be similar to how espressif does it in the docker image they provide in the IDF repository, but I haven't looked though that closely yet.

Thanks to you both!
@grenewode I'll push your commit on top of this, plus some more of my changes trying to get this to work.
@RaitoBezarius I'm going to rebase your branch on top of current master and force push it, just FYI.

For some reason, the hash for the ESP-IDF checkout for me was different to what you put, so I updated it - I hope that isn't an indication of some reproducibility problem that might come back up again.
On versions of Python packages, I tried to build an example project and esptool failed with some unrecognized arguments (--min-rev-full and --max-rev-full) - running python -m esptool shows version v4.1, but those arguments were only added in v4.3. I suspect that the mach-nix PyPi revision is too old, but changing it to the latest one doesn't immediately work, so more work is required here. Somewhat related, I cannot update the flake depedencies without breaking mach-nix, so I think a new solution is required for the IDF Python packages anyway - see https://github.com/mirrexagon/nixpkgs-esp-dev/issues/12#issuecomment-1407193515

I'll give it more of a go when I have more time - the goal would be to build and flash an example project successfully for each currently-supported target chip.

I found a PyPi deps revision that worked and had a new enough esptool to be able to build and flash the blink example to all the supported target chips, see https://github.com/mirrexagon/nixpkgs-esp-dev/pull/15/commits/7d9b6716a6d50add97bd8402efcf57dacae6375e
I also quickly ported a tiny ESP32 project of mine to ESP-IDF v5.0.2, and that also built and ran fine.

I seem to have managed to remove ERROR and WARNING messages, but my solution may not be the safest and seems like it might lead to other problems down the road.
It looks like it is now necessary to tell the IDF to use the python environment created by mach, which can be done by setting the IDF_PYTHON_ENV_PATH variable.
Currently, I'm just using wrapProgram to set the variable for idf.py, but that's not going to work for anything else that expects to have the same python environment. It'd probably be best to update pkgs/esp-idf/setup-hook.sh so that IDF_PYTHON_ENV_PATH is getting inherited by other derivations, but I'm not sure how to do that.

I've done a small hack to make the setup hook able to access the Python environment and set up the environment variables as you describe.
I'd hope that idf.py is really the only thing people need to run when working with ESP-IDF - the setup hook I think was meant to set IDF_PATH in shells, but if idf.py is the only thing that actually needs to know it, then in theory the wrapper would also work fine for that and we wouldn't need the setup hook. But this seems safer anyway.

There is also some other stuff where Espressif seem to have added a sort of lock file, and it doesn't work when it can't find it, so it's also needed to set IDF_PYTHON_CHECK_CONSTRAINTS=no, but that does mean that the environment might contain invalid versions of packages.
It is worth noting that this seems to be similar to how espressif does it in the docker image they provide in the IDF repository, but I haven't looked though that closely yet.

So, I had a look, and the constraint file thing is a feature of pip: https://pip.pypa.io/en/stable/user_guide/#constraints-files
Why they host that file on their servers instead of having it in the repository, I can only guess that they want to be able to update it whenever they want, but here is the one for ESP-IDF v5.0.x: https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.0.txt
Perhaps in future it might be good to use the constraints file (hoping they don't update it randomly), but the mach-nix deprecation/flake deps update problem (#10, #12) would probably have to be solved first, so for now I'll just leave it as is since I can at least build and flash for all chips supported by this repository.
I'm happy to merge this now, since it works for my purposes.


Fail assignment of requests with AcqEra=None or empty

the same applies to ProcessingString. Another annoying issue in the production agents that we need to get rid of ASAP.

Fixed by #6646


Add async mongodb micronaut-data guide

Covers Gradle for Java and Groovy
Will extend to Maven once 3.4.2 is out, and the annotation processors work correctly.
This is basically a nearly verbatim but async version of https://github.com/micronaut-projects/micronaut-guides/pull/868
Fixes #865

This is now blocked, awaiting the change to starter to add the new reactive mongo feature
I'll add a link here once I've made the PR

This won't pass until https://github.com/micronaut-projects/micronaut-starter/pull/1155 is released (hopefully with 3.4.2)

Ok @sdelamo, @burtbeckwith ready for your keen eyes 👀👍


Make GAT example code consistent with paper's implementation

In GAT, the last layer uses concat=False. Also, specifically for Pubmed dataset, the number of heads in out layer is set to 8. So, it'll be better to have this comment for easier reproducibility of Pubmed results.

LGTM. Thank you.


How to learn the TSM storage engine

Proposal:
I am a college student and I just want to implement a TSM tree by myself but I found influxdb is so huge so I want to know if I can get some advice
Current behavior:
now I have read docs in website of influxdb and I have downloaded the whole code from github
Desired behavior:
I want to know which code should I read and learn? If I want to write a TSM tree code
Alternatives considered:
any docs or guide would be appreciate
Use case:
Sorry to ask a question which seem to be unimportant, I have found many blogs on the internet but I do not get enough details, so I only can ask this question to developers.

@smallnine9 happy that you're interested in InfluxDB. The best place to ask questions is on the InfluxData community site. We use GitHub issues for bugs and feature requests.
Here are a few links into the repo that may get you started:

TSM design doc
The TSM code is in the tsm1 package.
When data is written, it starts with the tsm1.WritePoints function. You can trace through the code from there.


Use Web3-Onboard for your wallet connection library instead of Web3

Web3-Onboard is an open source wallet connection library that is super simple, actively maintained & updated and provides the widest support for injected and SDK wallets (along with hardware wallet support).
Switching to the use of Web3-Onboard in place of Web3 for the wallet connection library will add greater UX and wallet coverage.
One example I saw off the bat was when attempting to connect MetaMask to your site, only Coinbase displayed (as I have both installed). This problem is alleviated by Web3-Onboard which will show all installed wallets.
If this is something that peaks your interest I can open a PR to make the change so you can try out Web3-Onboard within your app
Official docs: https://onboard.blocknative.com/
Currently used by: Curve.fi, Zapper, Compound, Iron Bank, Synthetix, Beefy, etc

Thank you Adamj1232. Metamask didn't connect. I hope FrederickBolding is interested in your offer to make a change so Web3-Onboard could allow access to connect Metamask within the app. It was a bit confusing when it didn't connect Metamask.


Dev to master: Bug fixes and more features, with more Python syntax inclusion

Closes #63
Closes #51


Token Mapping

implements: #941 and part of #1170
Some findings I made along the way which influenced my design decisions:

We already had a mapping per token address, namely collectedProtocolFees. I decided to have an overarching token mapping which includes collected protocol fees
There was an open question how we define whether a token is "whitelisted" or not. Turns out, this check is already in place by checking the transferLimit. With the transferLimit we can control the tokens which are allowed to be transferred via the protocol. With this in place we could even allow transfers free of any charge.
I implemented the rest of the suggested contract optimiziations as half of it is already part of this issue and it was more or less nitpicks
Design choice for types:
collectedProtocolFees & minLpFee: uint96 -> 7.9e28 -> results in a max decimal value of 79 billion (assuming the token has 18 decimals). Additionally, in the requests object lpFee also has uint96, and we can assume that the owner of the fees will withdraw before 79 billion (in decimals) is reached.
protocolFeePPM, lpFeePPM: Assuming 999999 is the highest value one would need uint20, rounded up to uint32.
The fee values often are read and written together, so it makes sense to store them in one uint256 slot if possible.
I left transferLimit uint256 as it limits amount. So any choice here would have to be reflected in the choice of the type of amount. I'll leave that for future optimizations.
Note: Contract Interface Changed! the functions lpFee, protocolFee and totalFee additionally have the tokenAddress as a parameter. Probably Frontend related

Token Events
During the implemenation of adding the events as discussed in #941, I realized that we were about to overcomplicate things in the contract. I took a different approach by only having one event. Here are my thoughts on this.
First I thought about the concrete requirements we have for this event to express. I talked to @GabrielBuragev what the frontend needs. And it boiled down to the fact that the frontend needs to know which tokens are transferrable and which aren't. Basically which token is whitelisted.
If we don't want to go the route and preconfigure, we can achieve this by fetching the events. What we need to get from the events is, whether a token is whitelisted. Effectively the whitelist is expressed in transferLimit (transferLimit = 0 not whitelisted, else whitelisted). That's handy.
Secondly, we need to fetch the last event for every token, which changed the token being (de-)whitelisted. So explicit events for adding, changing and removing is only more human readable but a single event expresses the same amount of information (Note, the interesting part is the transfer limit which serves as a whitelist).
The drawback in my opinion for three distinct events lies in the complexity of the implementation in the contracts. We would need to make sure that we always have an order of events (1x tokenAdded -> N times token changed -> 1x Removed -> 1x tokenAdded ...). This would have needed to be handled in either separate functions or with a bunch of conditions. I don't see any use in having these becuase if a token was added, changed or removed can also be constructed from a generalized event.
Therefore I created
    event TokenUpdated(
        address tokenAddress,
        uint256 transferLimit,
        uint96 minLpFee,
        uint32 lpFeePPM,
        uint32 protocolFeePPM
    );

which gives us all the information we need (transferLimit as the whitelist and the current fees).
Deployment Token information
We are adding a new constraint to our deployment infrastructure. The config needs to have token information within the config if we want to immediately add tokens to our deployments. However, with the option --deploy-mintable-token we get the address of the token only upon deployment, where the config is already consumed.
I realized that our configs for deploying beamer have two different schemas.

A real deployment config file: It is possible to add multiple L2s (even preferred)
A test deployment config file: They are only capabale of having one L2 in their config. It is not possible to have multiple L2s.

This is due to the fact that our deployment scripts are rollup specific. That's not a problem at all, but I see that in the future with cross rollup e2e tests we have to touch this part anyway. Additionally we will rework the deployment infrastructure anyways.
Because of this reason I chose a simple digestable approach. For real deployments (mainnet, testnet) which are typically one time events, we dont use the --deploy-mintable-token option. We use existing tokens.
So this problem only cooncerns our test setups.
For those cases (local setups, e2e tests) I create a placeholder in the token dict for the value of the key token_address indicating that these data are to be configured in the deployed mintable token contract. This means whenever we use the option --deploy-mintable-token the config should have a token configured with token_address: "deploy_mintable_token".  I think this is fine as we have a pretty strict and never changing set of such configurations optimism-local, arbitrum-local, etc. .
Again, I think we will rework the deployment infrastructure and the e2e test setup in the near future so this change will be reworked as well. I can imagine that it would be a good idea to remove the deploy-mintable-token option completely and explicitely deploy a token when it is needed. In this way a future deployment script would be equal for test and real deployments.

Thanks for the detailed feedback. I liked the suggestion to get rid of [:-1] very much!


Concerned you are using simple XOR encryption with a user given passphrase

Using very basic XOR encrytpion with a user entered passphrase does not seem particularly secure. Do you have any other plans for that?

Using very basic XOR encrytpion with a user entered passphrase does not seem particularly secure. Do you have any other plans for that?

Ya I do, this was done just to get the project out there and have a basic encryption.
Rn I am looking into secure and fast alternatives, if you have any knowledge of cryptography please add another Encryption and decryption function


[ERROR] TF_REPEATED_DATA ignoring data with redundant timestamp for frame wheel_left_link at time 18209.293000 according to authority unknown_publisher at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.6/src/buffer_core.cpp

Hi
I am getting the error while I am doing navigation topic in turtlebot3 burger using ROS noetic.
[ERROR] TF_REPEATED_DATA ignoring data with redundant timestamp for frame wheel_left_link at time 18209.293000 according to authority unknown_publisher at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.6/src/buffer_core.cpp
Help me to solve this error.

Hello, have you solved this problem? I have the same problem

Hello I've solved this part, but it's not perfect.
This problem seems to be the same situation as me if this problem occurs
without any problems with the robot in the Gazebo simulation.
In my case, at the end of the paragraph when executing launch,
"2>>(grep-vTF_REPATED_DATA)
buffer_core)" This part was additionally entered to solve the problem
I hope my answer will be of great help to you. Thank you.
2023년 5월 6일 (토) 오전 7:00, hanlinniu @.***>님이 작성:

Hello, have you solved this problem? I have the same problem
—
Reply to this email directly, view it on GitHub
https://github.com/ROBOTIS-GIT/turtlebot3/issues/930#issuecomment-1536828139,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZ7POM43RM2636GQBW4WK4TXEVZ6VANCNFSM6AAAAAATS5UK5U
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@98kje can you please share the full launch file with your method to solve the error?

Hi.
It is difficult to reproduce the issue with the provided information alone. For more accurate assistance, please follow the error report template with detailed descriptions.
A similar timestamp error may occur if you are using both Gazebo simulation and the actual robot at the same time, which can cause timestamp conflicts. If this is the case, please ensure to separate the simulation from the actual robot usage.
Thank you.

@Dhivyabharathi10  This issue will be closed due to prolonged inactivity. Please try again with the Humble or Noetic versions, and if the issue persists, feel free to reopen it.


Streaming raspiraw to PC

Is it possible to stream the raspiraw to other computational powerful devices to do real-time perception?

Many things are possible, but I doubt this one is practical due to bandwidth.
MIPI CSI2 can run at up to 1Gbit/s per data lane, and up to 4 lanes. 4Gbit/s of data isn't practical to send over USB2, and the network interface even on the Pi3B+ is over that.
You don't say what source you are intending to use, but 8MPix @ 15fps from imx219 would be 1.21Gbit/s. Even 1080P30 will be 622Mbit/s.
You'd be far better off interfacing your CSI2 source directly to your more powerful device if you can.


Package name throws deprecation warning on Gradle 4.4

The project name '@terrylinla/react-native-sketch-canvas' contains at least one of the following characters: [ , /, , :, <, >, ", ?, *, |]. This has been deprecated and is scheduled to be removed in Gradle 5.0. Set the 'rootProject.name' or adjust the 'include' statement (see https://docs.gradle.org/4.4/dsl/org.gradle.api.initialization.Settings.html#org.gradle.api.initialization.Settings:include(java.lang.String[]) for more details).

I was forced to update Gradle to version 4.4 due to breaking changes in react-native-firebase (a very popular project).

Similar issue in #52 .
You can change
include ':@terrylinla/react-native-sketch-canvas'
project(':@terrylinla/react-native-sketch-canvas').projectDir = ...

to
include ':@terrylinla_react-native-sketch-canvas'
project(':@terrylinla_react-native-sketch-canvas').projectDir = ...

in settings.gradle and also change
compile project(':@terrylinla/react-native-sketch-canvas')

to
compile project(':@terrylinla_react-native-sketch-canvas')

in app/build.gradle


[C++][Parquet] Reference Spark, Kudu and FrameOfReference in LICENSE

Mention these three projects as we ship code derived from them.
Reporter: Uwe Korn / @xhochy
Assignee: Uwe Korn](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=uwe) / @xhochy
Related issues:

parquet-cpp 1.0.0 release (blocks)

Note: This issue was originally created as PARQUET-784. Please see the migration documentation for further details.

Wes McKinney / @wesm:
Issue resolved by pull request 197
https://github.com/apache/parquet-cpp/pull/197

Uwe Korn / @xhochy:
PR: https://github.com/apache/parquet-cpp/pull/197


Devel

Pull Request Test Coverage Report for Build<PHONE_NUMBER>7
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 93.069%

Totals

Change from base Build<PHONE_NUMBER>7:
0.06%

Covered Lines:
1477

Relevant Lines:
1587

💛  - Coveralls