[jenkins-plugin] Add annotation for Bitbucket

Feature Suggestion
The current jenkins-plugin is documented to only support GitHub through the GitHub Branch Source Plugin. With background the annotation jenkins.io/github-folder sounds reasonable.
However, the current implementation also supports jobs in Jenkins that have been created for Bitbucket through the Bitbucket Branch Source plugin. By having a GitHub related annotation for a Bitbucket job could be confusing.
So what I am suggesting is to either deprecate the current annotation and replace it with a more general alternative, or introduce a new annotation that is specific to Bitbucket. e.g. jenkins.io/github-folder
I can probably support you with the implementation, when we have concluded what direction we want to go

Related #4328

Closing this in favour of the related issue.


Addwithdraw

Any chance this could be merged soon?  I'd like to use this gem to send bitcoin from gdax to binance.  Thanks!

@bcan001 @carsonholoien I've forked, updated and created a new Coinbase Pro gem that has the withdrawal methods included.
https://github.com/vertbase/coinbase-pro


Extra folder in ChromeDriver zip file in v115

Recently I've updated the version of ChromeDriver in my tests to 115.0.5790.102 which, as suggested on https://chromedriver.chromium.org/downloads required also slightly different urls  - that part went just fine - com.github.erdi.webdriver-binaries in version 3.1 picked that new chromedriver and unzipped it.
But here the problems starts - in the logs of my tests there is this:
Driver info: driver.version: CustomizedChromeDriver
org.openqa.selenium.remote.NoSuchDriverException: chromedriver located at /home/askuci/.gradle/webdriver/chromedriver/115.0.5790.102/chromedriver-linux64/b167mo42xtxmk2zrfv1mlr05x/chromedriver, but invalid

and indeed, there is an extra folder in that zip file (so the same exists after it's extracted), like:
askuci@nighthawk:~/tmp/chromedriver$ /home/askuci/.gradle/webdriver/chromedriver/115.0.5790.102/chromedriver-linux64/b167mo42xtxmk2zrfv1mlr05x/chromedriver-linux64/chromedriver -version
ChromeDriver 115.0.5790.102 (90efd4b0ad6aa15eeafcdabd5817ae939f7ba059-refs/branch-heads/5790_90@{#9})

Please compare the content of v114 vs v115
v114
askuci@nighthawk:~/tmp/chromedriver$ zipinfo -1 chromedriver_linux64-114.zip
chromedriver
LICENSE.chromedriver

v115
askuci@nighthawk:~/tmp/chromedriver$ zipinfo -1 chromedriver-linux64-115.zip
chromedriver-linux64/LICENSE.chromedriver
chromedriver-linux64/chromedriver

Is there maybe any quick fix I can do to this on my side? (I mean of course manually copying that chromedriver to the parent folder worked just fine, but I mean something less manual so to speak :)

One workaround that comes to my mind is to repack v115 to not contain the additional directory, upload it to a location accessible by the build and then use a custom driver urls configuration json file pointing at the custom location with repacked zip for v115.

Fixed in #40.

It works now like a charm! Thanks a lot!


Use correct HTML input type for URL

can you rebase?

I can't do that via github.com (the web editor). I could close this PR and open a new one?

I could close this PR and open a new one?

That's ok for me. Thanks a lot.


babashka: 0.0.97 -> 0.1.3

Motivation for this change
latest version
the latest versions of babashka require graalvm20 and therefor the dependency changed from graalvm8 (at major version 19) to graalvm11-ce (major version 20)
see #93139
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Fixed the weird basing I did.
Please note that it has a hard dependency on the PR #93139

Just want to mention that babashka releases include a static binary, originally created to work on Alpine, that seems to work on NixOS. I added it as an overlay to my nix config, and I have been using it for some weeks. I'd prefer to use the version from this PR, but in case it takes time to get merged, maybe someone else find it useful:
https://github.com/jlesquembre/dotfiles/blob/38f5915e91d842516f1b1024a9b6970d89d7ffa6/overlays/common/default.nix#L45-L61

Failed to build on Darwin:
nix-shell -p nixpkgs-review --run "nixpkgs-review pr 93140"
$ git -c fetch.prune=false fetch --force https://github.com/NixOS/nixpkgs master:refs/nixpkgs-review/0 pull/93140/head:refs/nixpkgs-review/1
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 21 (delta 12), reused 14 (delta 12), pack-reused 3
Unpacking objects: 100% (21/21), 5.23 KiB | 357.00 KiB/s, done.
From https://github.com/NixOS/nixpkgs
   942b6411dae..bae6984c217  master               -> refs/nixpkgs-review/0
 + b93241d4086...9af741ffca1 refs/pull/93140/head -> refs/nixpkgs-review/1  (forced update)
$ git worktree add /Users/lclaude/.cache/nixpkgs-review/pr-93140/nixpkgs bae6984c21787dea00e100abef0cd45b89392e5e
Preparing worktree (detached HEAD bae6984c217)
Updating files: 100% (22140/22140), done.
HEAD is now at bae6984c217 croc: 8.0.11 -> 8.0.12
$ nix-env -f /Users/lclaude/.cache/nixpkgs-review/pr-93140/nixpkgs -qaP --xml --out-path --show-trace
$ git merge --no-commit 9af741ffca1178ae5a07f50cde593cd4451772e3
Automatic merge went well; stopped before committing as requested
$ nix-env -f /Users/lclaude/.cache/nixpkgs-review/pr-93140/nixpkgs -qaP --xml --out-path --show-trace --meta
error: while evaluating 'callPackageWith' at /Users/lclaude/.cache/nixpkgs-review/pr-93140/nixpkgs/lib/customisation.nix:117:35, called from /Users/lclaude/.cache/nixpkgs-review/pr-93140/nixpkgs/pkgs/top-level/all-packages.nix:9566:14:
while evaluating 'makeOverridable' at /Users/lclaude/.cache/nixpkgs-review/pr-93140/nixpkgs/lib/customisation.nix:67:24, called from /Users/lclaude/.cache/nixpkgs-review/pr-93140/nixpkgs/lib/customisation.nix:121:8:
anonymous function at /Users/lclaude/.cache/nixpkgs-review/pr-93140/nixpkgs/pkgs/development/interpreters/clojure/babashka.nix:1:1 called without required argument 'graalvm11-ce', at /Users/lclaude/.cache/nixpkgs-review/pr-93140/nixpkgs/lib/customisation.nix:69:16

I'm not glad about it, but yeah darwin is currently not supported. :-O
As soon as graalvm11-ce gains darwin as an additional platform, this package should work too.

Waiting until graalvm11-ce exists.


youtube_dl.utils.ExtractorError: This video is unavailable.

Checklist

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

Verbose log

youtube-dl -vvv "ytsearch10:requiem for a dream" --skip-download
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-vvv', 'ytsearch10:requiem for a dream', '--skip-download']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.07.27
[debug] Python version 3.7.4 (CPython) - Linux-4.15.0-55-generic-x86_64-with-Ubuntu-18.04-bionic
[debug] exe versions: none
[debug] Proxy map: {}
[youtube:search] query "requiem for a dream": Downloading page 1
[download] Downloading playlist: requiem for a dream
[youtube:search] playlist requiem for a dream: Collected 10 video ids (downloading 10 of them)
[download] Downloading video 1 of 10
[youtube] yVIRcnlRKF8: Downloading webpage
[youtube] yVIRcnlRKF8: Downloading video info webpage
[youtube] {18} signature length 103, html5 player vfl7A19HM
[youtube] {137} signature length 107, html5 player vfl7A19HM
[youtube] {248} signature length 107, html5 player vfl7A19HM
[youtube] {136} signature length 107, html5 player vfl7A19HM
[youtube] {247} signature length 107, html5 player vfl7A19HM
[youtube] {135} signature length 103, html5 player vfl7A19HM
[youtube] {244} signature length 103, html5 player vfl7A19HM
[youtube] {134} signature length 107, html5 player vfl7A19HM
[youtube] {243} signature length 107, html5 player vfl7A19HM
[youtube] {133} signature length 107, html5 player vfl7A19HM
[youtube] {242} signature length 107, html5 player vfl7A19HM
[youtube] {160} signature length 107, html5 player vfl7A19HM
[youtube] {278} signature length 107, html5 player vfl7A19HM
[youtube] {140} signature length 103, html5 player vfl7A19HM
[youtube] {249} signature length 107, html5 player vfl7A19HM
[youtube] {250} signature length 107, html5 player vfl7A19HM
[youtube] {251} signature length 107, html5 player vfl7A19HM
[debug] Default format spec: best/bestvideo+bestaudio
[download] Downloading video 2 of 10
[youtube] 7YQEDu07Y8Y: Downloading webpage
[youtube] 7YQEDu07Y8Y: Downloading video info webpage
ERROR: This video is unavailable.
Traceback (most recent call last):
  File "/home/www/env/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 796, in extract_info
    ie_result = ie.extract(url)
  File "/home/www/env/lib/python3.7/site-packages/youtube_dl/extractor/common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "/home/www/env/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py", line 2108, in _real_extract
    raise ExtractorError(error_message, expected=True)
youtube_dl.utils.ExtractorError: This video is unavailable.

Description
When trying to use the ytsearch funcion, on some search when trying to do 10 videos, it breaks if one of the videos has a issue.  For example the search youtube-dl -vvv "ytsearch10:requiem for a dream" --skip-download

-i, --ignore-errors              Continue on download errors, for example to
                                 skip unavailable videos in a playlist

Thanks @remitamine! Your comment has helped me resolve my issue.


Make default "Makefile.toml" more prominent in the README

Feature Description
Feedback from https://github.com/Electron100/butane/pull/39#issuecomment-1416859975 , it isnt easy to find that "Makefile.toml" will be used as the default, as most of the examples use --makefile .. and the first mention of Makefile.toml is buried in the section https://github.com/sagiegurari/cargo-make#tasks-dependencies-and-aliases
Describe The Solution You'd Like
Mention the default Makefile.toml prominently in the usage section.

would you like to submit a PR with the doc improvements?

Sure.

so please update the content.md file and run cargo make generate-readme
thanks :)


Customer Value Workshop blog post

I took some notes on Kevin's key points. @natalienoel1 @wildca01t @jhibbets do any of you guys have time to make this into a quick blog post?
https://drive.google.com/open?id=1Z7tbFgdmgMXy0YunMWdviRlV26QmtNzuAH9MRDbhAog

Zach, I'm reviewing, stay tuned here this AM...
Thanks
Brent
On Wed, Oct 11, 2017 at 8:29 AM, zachambrose<EMAIL_ADDRESS>wrote:

I took some notes on Kevin's key points. @natalienoel1
https://github.com/natalienoel1 @wildca01t
https://github.com/wildca01t @jhibbets https://github.com/jhibbets do
any of you guys have time to make this into a quick blog post?
https://drive.google.com/open?id=1Z7tbFgdmgMXy0YunMWdviRlV26Qmt
NzuAH9MRDbhAog
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/NCOpenPass/issues/866#issuecomment-335793467,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZCmNTDrFT4TT_83y5EtHS6__8V_au0Yks5srLStgaJpZM4P1Y69
.

Awesome!
On Wed, Oct 11, 2017 at 9:33 AM, wildca01t<EMAIL_ADDRESS>wrote:

Zach, I'm reviewing, stay tuned here this AM...
Thanks
Brent
On Wed, Oct 11, 2017 at 8:29 AM, zachambrose<EMAIL_ADDRESS>wrote:

I took some notes on Kevin's key points. @natalienoel1
https://github.com/natalienoel1 @wildca01t
https://github.com/wildca01t @jhibbets https://github.com/jhibbets
do
any of you guys have time to make this into a quick blog post?
https://drive.google.com/open?id=1Z7tbFgdmgMXy0YunMWdviRlV26Qmt
NzuAH9MRDbhAog
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/codeforraleigh/NCOpenPass/issues/866#issuecomment-
335793467>,
or mute the thread
<https://github.com/notifications/unsubscribe-
auth/AZCmNTDrFT4TT_83y5EtHS6__8V_au0Yks5srLStgaJpZM4P1Y69>
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/NCOpenPass/issues/866#issuecomment-335810632,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQ6IxixqqSOFCpu884PhINlZqe2-VQj_ks5srMODgaJpZM4P1Y69
.

--
Zach Ambrose
<EMAIL_ADDRESS>919-438-2752 (office)
919-616-9969 (cell)
www.AmbroseStrategy.com
https://www.linkedin.com/in/zambrose

Any luck on this one or should we take it off the board?

Lost cause for content.


Attempted to register a meter with id errors during integration tests

Please use this to only for bug reports. For questions or when you need help, you can use the GitHub Discussions or use the community Slack chat.
Describe the bug
Running the integration tests on main, I notice ERRORs like this being spewed out.  The messages don't seem to cause harm and the tests still pass. The noise is unpleasant.
2023-07-18 13:04:10 ERROR io.kroxylicious.proxy.internal.MeterRegistries:62 - Attempted to register a meter with id MeterId{name='jvm.gc.pause', tags=[tag(a=b),tag(action=end of minor GC),tag(cause=G1 Humongous Allocation),tag(gc=G1 Young Generation)]} which is already registered but with a different set of tag names
java.lang.IllegalArgumentException: tags for id MeterId{name='jvm.gc.pause', tags=[tag(a=b),tag(action=end of minor GC),tag(cause=G1 Humongous Allocation),tag(gc=G1 Young Generation)]} differ from existing meters registered
	at io.kroxylicious.proxy.internal.MeterRegistries$1.accept(MeterRegistries.java:63)
	at io.micrometer.core.instrument.MeterRegistry.accept(MeterRegistry.java:646)
	at io.micrometer.core.instrument.MeterRegistry.getOrCreateMeter(MeterRegistry.java:612)
	at io.micrometer.core.instrument.MeterRegistry.registerMeterIfNecessary(MeterRegistry.java:577)
	at io.micrometer.core.instrument.MeterRegistry.timer(MeterRegistry.java:323)
	at io.micrometer.core.instrument.Timer$Builder.register(Timer.java:444)
	at io.micrometer.core.instrument.binder.jvm.JvmGcMetrics$GcMetricsNotificationListener.handleNotification(JvmGcMetrics.java:211)
	at java.management/sun.management.NotificationEmitterSupport.sendNotification(NotificationEmitterSupport.java:155)
	at jdk.management/com.sun.management.internal.GarbageCollectorExtImpl.createGCNotification(GarbageCollectorExtImpl.java:115)

A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Configure kroxylicious like this ...
Run command '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
YAML files and logs
Attach or copy paste your kroxylicious configuration YAML (with sensitive details
like broker address redacted).
Attach or copy and paste relevant logs.
Additional context
Add any other context about the problem here.

The issue is there are notification listeners being left behind in the JMX layer.  Some MeterBinders (JvmGcMetrics) are autocloseable, so Kroxylicious ought to be respecting that lifecycle and closing the binders  as Kroxylicious shuts-down.
I think it should probably be reversing the registration of the meters and removing the meter registry.
The call to Metrics.globalRegistry.clear(); makes be suspect that @robobario might have fought this battle before, so I'm going to let him comment.


Editor can create diagram using textual representation

Example: https://hackmd.io/features#uml-diagrams

Hackmdio uses js-sequence-diagrams , mermaid and graphviz. Will need more research on how to implement this. Currently, there doesn't seem to be any markdown-it plugins.

This feature has been included! However, test cases for this component has met with a road block because HTML attribute values generated/drawn by diagramsRenderer will always be different due to "window size"/HTML document size. (e.g. 1. There are tags with specific ids attributes who values are randomly generated by the respective libraries. 2. Attributes such as "x", "y", "width", "height" etc have attribute values that differ based on the HTML Document object they are in. Hence, unit testing locally will produce different results then testing on travis, that is why travis keeps failing as well. To be resolved.)

Implemented in PR #336 already!


Built-in Theme and AutoRefresh prefs need to be device specific

We should probably mirror the structure of xhSizingMode.

Probably need to introduce new pref names.   Could provide a script to move data that could be run at update time.
This  a chance for us to combine the multiple preferences for Auto-Refresh anyway.

As discussed, IMO theme would be better handled with #2703 where we have an even better option around letting users associate the site theme with their device theme.


In test, $request->user() in the controller returns Central User instead of Tenant User

Bug description
When a tenant route is executed in the test, in the controller, $request->user() always returns the central user instead of the Tenant User.
It works fine in the real scenario, but not in the test case.
<?php

namespace Tests\Unit;

use Tests\TenantTestCase;
use App\Models\Tenant\User;
use Illuminate\Support\Facades\Hash;

class LogOutTest extends TenantTestCase
{
    public function test_users_can_logout(): void
    {

        $data = [
            'first_name' => 'Karna',
            'last_name' => 'Shrestha',
            'middle_name' => 'Bahadur',
            'phone' => '123-456-789',
            'email' =><EMAIL_ADDRESS>            'password' => Hash::make('password'),
        ];

        $user = User::create($data);

        $response = $this->post('/central/api/v1/login', [
            'email' =><EMAIL_ADDRESS>            'password' => 'password',
        ]);

        // Assert the response has the expected structure
        $response->assertJsonStructure([
            'token',
            'tenant_id'
        ]);

        // Decode the JSON content of the response into an array
        $responseData = $response->json();

        $this->withHeaders([
            'X-Tenant' => $responseData['tenant_id'],
        ])->withServerVariables([
            'Authorization' => 'Bearer ' . $responseData['token'],
        ]);

        $response = $this->post('/tenant/api/v1/logout');

        $response->assertNoContent();

        $response->assertStatus(204);

    }
}

<?php

declare(strict_types=1);

use Illuminate\Support\Facades\Route;
// use Stancl\Tenancy\Middleware\InitializeTenancyByDomain;
// use Stancl\Tenancy\Middleware\PreventAccessFromCentralDomains;
use Stancl\Tenancy\Middleware\InitializeTenancyByRequestData;
use App\Http\Controllers\Auth\LoginController;
use App\Http\Controllers\Central\APIV1\FacilityController;

/*
|--------------------------------------------------------------------------
| Tenant Routes
|--------------------------------------------------------------------------
|
| Here you can register the tenant routes for your application.
| These routes are loaded by the TenantRouteServiceProvider.
|
| Feel free to customize them however you want. Good luck!
|
*/

Route::middleware([
    'auth:sanctum',
    InitializeTenancyByRequestData::class,
])->group(function () {

    /**
     *
     * To learn how to use "Roles and Permissions" middleware , Refer https://spatie.be/docs/laravel-permission/v5/basic-usage/middleware
     */

    Route::group(['middleware' => ['role:super-admin']], function () {

        Route::post('/logout', [LoginController::class, 'destroy'])->name('logout');

    });

});

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginRequest;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Http\JsonResponse;
use Illuminate\Support\Facades\Auth;
use App\Models\Tenant\User;

class LoginController extends Controller
{
    /**
     * Handle an incoming authentication request.
     */
    public function store(LoginRequest $request): JsonResponse
    {
        $request->authenticate();

        // find the tenant id
        $tenant = $request->user()->tenants->first();

        // Initialise the tenancy
        tenancy()->initialize($tenant);

        // Find the exact user in the tenant database
        $tenantUser = User::where('email', $request->email)->first();

        // Generate a new token for the authenticated user
        $token = $tenantUser->createToken('api-token')->plainTextToken;

        return response()->json([
            'token' => $token,
            'tenant_id' => tenant('id'),
            'is_verified' => $tenantUser->hasVerifiedEmail(),
            'email' => $tenantUser->email,
            'first_name'=> $tenantUser->first_name,
            'last_name'=> $tenantUser->last_name,
            "initial_setup" => [
                "last_step" => 3,
                "is_completed"=> true
              ]
        ], 200);

    }

    /**
     * Destroy an authenticated session.
     */
    public function destroy(Request $request): Response
    {
        $request->user()->tokens()->delete();

        return response()->noContent();
    }
}

Steps to reproduce

Define a tenant route.

Define a method in the controller corresponding to that route and try to access get_class($request->user())

Try to perform step 2 using the test case. The Class Type returned is of type Central User and not of type Tenant User.
Expected behavior
Ideally when in a test, a tenant route is executed and tenant is already identified, $request->user() should return instance of type Tenant User and not of type Central User.
Laravel version
10
stancl/tenancy version
3

Seems like you're using a completely custom approach for tenant identification, so this isn't something the package can handle. There's no real bug since the package works as described when used as intended.
For custom setups, if you need help I recommend using asking on our Discord.

@stancl Hi, Thanks for responding!
Could you please share how am I using the custom approach for Tenant Identification?
Actually, I'm using InitializeTenancyByRequestData middleware to identify the tenant.

// find the tenant id
$tenant = $request->user()->tenants->first();

// Initialise the tenancy
tenancy()->initialize($tenant);

Use our Discord for support questions, not our issue tracker please.


Added back support for ViewsetGroup in register_admin_viewset

This PR resolves #11121.  register_admin_viewset currently cannot handle a ViewSetGroup. With this PR, it would be able to handle a list or tuple of viewset.
Please check the following:

[ ] Do the tests still pass?[^1]
[ ] Does the code comply with the style guide?

[ ] Run make lint from the Wagtail root.

[ ] For Python changes: Have you added tests to cover the new/fixed behaviour?
[ ] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

[ ] Please list the exact browser and operating system versions you tested:
[ ] Please list which assistive technologies [^3] you tested:

[ ] For new features: Has the documentation been updated accordingly?

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

@laymonage thanks for pointing those out. I will do that. Thanks.

Thanks @Temidayo32! Merged in 59b07f777f3468b5c4413c2e60a60af15587c5bb (main) and bdc454d3cb1e7fcf45788aa5819ebaf34651a232 (stable/5.2.x).


tdlib 1.8.4 Sometimes receive updateMessageEdited.edit_date=0

Sometimes I receive updateMessageEdited with edit_date=0. There is no note in the documentation for that. What does it mean?

This is expected behavior. edit_date == 0 in the update means that the message has no edited label, but some of message fields has changed.

Do you mean reactions, for example?

0939368520
0915457241
Vào 21:44, Th 2, 6 thg 2, 2023 wowka1319 @.***> đã viết:

Do you mean reactions, for example?
—
Reply to this email directly, view it on GitHub
https://github.com/tdlib/td/issues/2294#issuecomment-1419196540, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A34RDUPZOMXHBQYCIOORTBTWWEE4NANCNFSM6AAAAAAURPIIJQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

There are a lot of cases, including addition of the first reaction in big supergroups.


Update serializeDefine implementation from upstream vite

This PR updates serializeDefine to latest version from vite. It fixes compilation errors when define contains string values.
[vite:define] Transform failed with 1 error:
error: Invalid define value (must be an entity name or valid JSON syntax)

For some unknown reasons it's not working only in combination with @vitejs/plugin-react, however, the issue is with (${val}) syntax, that esbuild doesn't accept.
Environment
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Sample config
export default defineConfig({
  define: {
    "process.env.REACT_APP_BASEURL": '""'
  },
  plugins: [
    react(),
    webExtension({
      manifest: generateManifest,
    }),
  ]
})

Interesting, must have broken on some new version of vite? Last I checked, you still had to define string constants like so '"some text"'


feat: adds auth

What
feat: adds auth - I tried to continue without auth but when Bungie is down I have consumers that are calling non stop and driving up my costs.

:tada: This PR is included in version 1.97.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Crash when rendering SVG in Node.swift, line 319

Dear all,
I'm currently using Macaw version 0.9.2, and got intermittent crashes when rendering SVG string. It's intermittent and I can't reproduce it yet, but Crashlytics' report says it came from Node.init(place:opaque:opacity:clip:mask:effect:visible:tag:)  method in Node.swift, line 319. Anyone ever faced this issue before?
I'll update this issue should I able to reproduce the crash consistently.
Thanks in advance!

Just got one intermittent crash in the simulator with an error of EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0). The code halts in Node.swift line 319, here's the code:
Node.map.setObject(self, forKey: self.id as NSString)
The thread where the crash happened was com.apple.root.default-qos, and looking at the instances involved above, the self, self.id, or Node.map might be a nil.
After further digging, the Node.map is an NSMapTable... is it suitable for multi-threaded operations? Should I do the rendering in the main thread for safety reasons?

If you use MacawView, you always should do rendering in the main thread

@amarunko thanks for the response. Upon further inspection, turns out the crashes were caused by invalid SVG -  when downloaded from the internet, the String still has escape characters for the double-quotes ("). Sanitizing the input string from escape characters seems to be the solution - will let you guys know later.

@amarunko is it possible to render SVG to UIImage in the background thread?

Hi @edopelawi,
Are there any updates on this issue? If you were able to fix this on your end, kindly close this issue.
Thanks,

@cHaLkdusT not yet. It seems there are some issues in Node's threading...

Fixed by using the SVGParser in the main thread. I thought parsing SVG could be moved to the background thread and setting the node in the main thread... Thanks, folks!

Solution was found, so Closing this one.


Test data

Checklist

[x] I've searched the project's issues.

❓ Question
How best to provide test data for unit testing xarray_fmrc behavior?
📎 Additional context
Must work in local development and CI.
Light weight solutions that make it easy to write tests are important.
Ideas from initial Slack DM with Alex:

Xarray stores data in the main repo, but the datasets are extremely small. If larger files are needed https://git-lfs.com/ is an option.
Another option is to put test data in a separate repo like the xarray tutorials do with https://github.com/pydata/xarray-data
Write code to generate test data on the fly as needed for testing (Use a with TemporaryDirectory(suffix=".test") block in the run method of your test class)
We can put datasets in a public bucket (requires adding more dev/test dependencies)
...

Please edit to add more...
Solution after discussion:
Lorem ipsum...

I haven't dug into how exactly Xarray is using it's test data, but here is what it looks like:
ls -lah
total 56
drwxr-xr-x   8 akerney  staff   256B Aug  8  2021 .
drwxr-xr-x  53 akerney  staff   1.7K Aug  8  2021 ..
-rw-r--r--   1 akerney  staff   1.2K Aug  8  2021 bears.nc
-rw-r--r--   1 akerney  staff   5.1K Aug  8  2021 example.grib
-rw-r--r--   1 akerney  staff   703B Aug  8  2021 example.ict
-rw-r--r--   1 akerney  staff   608B Aug  8  2021 example.uamiv
-rw-r--r--   1 akerney  staff   1.7K Aug  8  2021 example_1.nc
-rw-r--r--   1 akerney  staff   470B Aug  8  2021 example_1.nc.gz

ncdump -h example_1.nc
netcdf example_1 {
dimensions:
	lat = 5 ;
	lon = 10 ;
	level = 4 ;
	time = UNLIMITED ; // (1 currently)
variables:
	float temp(time, level, lat, lon) ;
		temp:long_name = "temperature" ;
		temp:units = "celsius" ;
	float rh(time, lat, lon) ;
		rh:long_name = "relative humidity" ;
		rh:valid_range = 0., 1. ;
	int lat(lat) ;
		lat:units = "degrees_north" ;
	int lon(lon) ;
		lon:units = "degrees_east" ;
	int level(level) ;
		level:units = "millibars" ;
	short time(time) ;
		time:units = "hours since 1996-1-1" ;

// global attributes:
		:source = "Fictional Model Output" ;
}

We probably don't need a ton of data for testing, but maybe more than Xarray has.

3-4 NetCDF or GRIB files from individual model runs (each needs a handful of times with at least some overlapping)
Sidecar Kerchunk references for individual model runs
Aggregated kerchunk of the datatree
Maybe an aggregated NetCDF?

I chatted a little with @mpiannucci
He pointed to another library that carries test data in the tree https://github.com/wavespectra/wavespectra but mentioned that it can get problematic past 20 MB.
He also mentioned that the GFS and HRRR should be continually accessible archives in NODD.

I'm thinking that maybe we want to have a small set of data in the repo for quick tests (up to about 1 MB), then we can access NODD data for more through tests. We could use pytest marks (Scientific Python packaging reference) so we can choose to test remote data or not. We can strive to get minimum reproductions in the repo, but it shouldn't block us from moving forwards.
We could also make a pre-commit hook that errors if we ever throw too much test data into the repo, so that we don't unwillingly blow things up. We should also probably make sure we have another copy of the NODD data we're testing against somewhere.

@ocepaf mentioned uploading files to releases and then using pooch for access.
While we don't necessarily need to upload files to releases (except maybe to make sure we have a copy of whatever files from NODD), pooch with make local testing nicer as it will cache the files.

Okay let's start with some data to checkin and keep it less than 1mb total. How about I build a script to generate some test data and checkin both the script and four netcdf files to FMRC?
I will riff off the above example?
The complex behavior is around the forecast run time and how to access it... That seems like it requires a couple different groups of files to test against.

Before checking in any data (even on another branch) how about tossing it into Google Drive or similar and sharing it?
If it can be reliably built with a script quickly, then we probably don't need to check it in at all. Both Xarray and Kerchunk do some of that.


How to use phlib as dynamic library in custom program?

I hope to get the process information by calling DLL in other languages (like c#).
How can I get the DLL file of phlib and the corresponding header file?
Or is there a better way for me to use it in other languages?
I try to compile phlib into DLL, but there are many errors.
After adding lib reference, I compile, but the DLL file is not correct.
Compile configuration
Visual Studio 2019 Version 16.7.3
Configuration - Release
Platform - x64
Configuration Type - Dynamic Library (.dll)
Windows SDK Version - 10.0.19041.0
Platform Toolset  - Visual Studio 2019 (v142)
Runtime Library - Multi-threaded DLL (/MD)
Spectre Mitigation - Disabled

How can I get the DLL file of phlib and the corresponding header file?

phlib is a statically linked library.

I try to compile phlib into DLL, but there are many errors.

You would need to create a separate DLL project and import the static library using:
#pragma comment(lib, "phlib")

After adding lib reference, I compile, but the DLL file is not correct.

No idea. I'd guess you're missing some headers.


Implement new Promise and Reward stats

[ ] Show the numbers of 100% fulfill promises / total promises
[ ] Show numbers of rewards

[ ] Add tooltip to description details

Figma link
Preview


VERTEXFORMAT for uvecn attribute types

I've a vertex array buffer of 32-bit unsigned integers.  In the vertex shader I want to access them as uvec4s i.e. every component is an unsigned byte.  Normally in OpenGL 3.3 I use glVertexAttribIPointer to specify the attribute as an integer.  However, I don't see any calls to glVertexAttribIPointer in sokol_gfx.h.
I see from the documentation that the most portable vertex format options are

SG_VERTEXFORMAT_FLOAT,
SG_VERTEXFORMAT_FLOAT2,
SG_VERTEXFORMAT_FLOAT3,
SG_VERTEXFORMAT_FLOAT4,
SG_VERTEXFORMAT_BYTE4N,
SG_VERTEXFORMAT_UBYTE4N,
SG_VERTEXFORMAT_SHORT2N,
SG_VERTEXFORMAT_USHORT2N
SG_VERTEXFORMAT_SHORT4N,
SG_VERTEXFORMAT_USHORT4N

Does that mean currently there's no way to specify integral values (or vectors composed of them) as attributes without normalizing to floats?
I used UBYTE4 and on the shader-side the typed the variable vec4 and casted it to integer; it works.  However, would it be better to implement a code path where VertexAttribIPointer is called for these integral types?

AFAIK this part in the documentation only concerns a special behaviour in D3D11, so if you want shader code that works across GLSL and HLSL (via a shader cross-compiler), you need to use one of the normalized formats.
For GLSL I would expect that it works to define the vertex format in the pipeline desc as UBYTE4, and in the GLSL shader define the vertex attribute as:
in uvec4 my_attr;

I would expect that the vertex input stage then does the required conversion (like it does for integer input data which is used as float in the shader code).
Does this work? I haven't used integer vector attributes on the shader side so far, because this isn't supported on GLES2.
TBH I don't know why the glVertexAttribIPointer() function exists, because this would mean that the CPU side needs to know whether this vertex attribute is going to be used as a float- or integer-vector in the shader, which seems a bit odd (other 3D APIs don't have separate functions for float- versus integer-vertex-data (AFAIK at least, only texture samplers in modern 3D APIs have this requirement, that's why I had to add SG_SAMPLERTYPE_xxx to sokol_gfx.h).

PS: if glVertexAttribIPointer() is needed for reading the input vertex data into uvec4/ivec4 we need to check if this then also works as expected when the shader is using vec4 instead.
Otherwise we'd need two "vertex formats" in the pipeline desc, one that describes the input data format, and one that describes whether the shader reads the vertex attribute as float or integer vector (and that would suck a bit, because AFAIK that would be specific to GLES3 and desktop GL - but I need to read up on this specific topic in other APIs too).

I would expect that it works to define the vertex format in the pipeline desc as UBYTE4, and in the GLSL shader define the vertex attribute as in uvec4 my_attr;

Did exactly this and didn't work.  I got a corrupted scene (model got all twisted and partially rendered).  What I did instead was to specify format as SG_VERTEXFORMAT_UBYTE4 and in the shader casted to int.
layout(location=3) in vec4 bones;

bone_xform[int(bones.x)];

I'm not sure about other rendering libraries; have the most experience in OpenGL (and family) only.  So I'm sure that the typing in the shaders should match the respective glVertexAttrib function call:

Function
Type

glVertexAttribPointer
vecn

glVertexAttribIPointer
ivecn, uvecn

glVertexAttribLPointer
dvecn

if glVertexAttribIPointer() is needed for reading the input vertex data into uvec4/ivec4 we need to check if this then also works as expected when the shader is using vec4 instead.

You mean, feed in using glVertexAttribIPointer and typed shader as vec4?  I don't think it would work.  Here's the relevant excerpt from the documentation (emphasis mine)

For glVertexAttribIPointer, only the integer types GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT are accepted. Values are always left as integer values.

I can test this is you want me to.

Hello I have the same problem. It seems that In sokol you can't have non float vertex attributes. Everything has to be floats.
In order to workaround this, I found that you can use floatBitsToInt function in glsl to bitcast float -> int maintaining the bit representation intact.
Hope it helps.


feat(core): add support for composite keys

Related #66

I'll give it a try, I'm pretty sure I will have to refactor my dataloading PR to support this.

This is still WIP. Will send more changes and tests later today, with support for FK as PK, and basically for all what doctrine supports (as I am designing the tests based on their docs):
https://www.doctrine-project.org/projects/doctrine-orm/en/2.7/tutorials/composite-primary-keys.html
Not sure if I will also add support for having composite key entities as owners in relations, that might be a bit tricky... But I will give it a try too :]

Quick progress report, support for composite entities in relationships is almost ready, I am aiming to release 3.5 later this week (it will take few more days for sure, but the hard parts are implemented already).

Still need to do some code clean up, but pretty much all of the functionalities are now implemented. Will release this probably tomorrow.


[5.5] Mailer

Remove unused parameters

What Am I missing?
I just pulled from 5.4 ; created a new branch and tried to push to master?

That is essentially the problem, I think. You're pulling from 5.4 and trying to push to master.


test

test

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

ID: b7f9ebab-55d5-7f1d-53d4-b09e3e5872ee
Version Independent ID: 2e50aec5-881e-db9d-3162-e0a2ec53ff2f
Content: Azure Quickstart - Back up a VM with PowerShell
Content Source: articles/backup/quick-backup-vm-powershell.md
Service: backup
GitHub Login: @markgalioto
Microsoft Alias: markgal

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


Fix a couple of crashes I experienced.

I've been working on a project with the binary build of HaxeDevelop from the website (which claims to be https://github.com/fdorg/flashdevelop/commit/436add6fc7), with no problems.
I tried the same project with latest FlashDevelop, and got a couple of crashes when compiling, seemingly due to things being null. Perhaps there's some deeper problem at work here? - I'm not sure. But I added in a couple of null checks, and that fixed my immediate problem, so here they are.
Thanks,
--Tom
P.S. one of the nulls seemed to be due to an import, with the problem import in question being this one, imported from its class with a wildcard (import blah.blah.Maths.*, that sort of thing):
public static function lerp(a:Float, b:Float, t:Float) {
	return a + (b - a) * t;
}

Despite the return, this does have no return type specified - my mistake, which I'll fix - but I do declare that if the compiler accepts it, then FlashDevelop should accept it too.

Can you make tests?

If there's a test that exercises this code path already, that I can step through in the debugger, then I can probably use that as an example to figure out how to make another one.
I freely admit I have no idea what I'm doing here, but when I build Debug+Tests for x86, then try to run the tests with Test > Run > All Tests, I get the following output.
[26/06/2018 00:27:07 Informational] ------ Run test started ------
[26/06/2018 00:27:12 Warning] No test is available in C:\tom\github\flashdevelop\FlashDevelop\Bin\Debug\ASCompletion.Tests.dll C:\tom\github\flashdevelop\FlashDevelop\Bin\Debug\PluginCore.Tests.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[26/06/2018 00:27:12 Informational] ========== Run test finished: 0 run (0:00:05.507005) ==========
[26/06/2018 00:27:30 Informational] ------ Run test started ------
[26/06/2018 00:27:31 Warning] No test is available in C:\tom\github\flashdevelop\FlashDevelop\Bin\Debug\ASCompletion.Tests.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[26/06/2018 00:27:31 Informational] ========== Run test finished: 0 run (0:00:01.3569991) ==========
[26/06/2018 00:30:21 Informational] ------ Run test started ------
[26/06/2018 00:30:22 Warning] No test is available in C:\tom\github\flashdevelop\FlashDevelop\Bin\Debug\ASCompletion.Tests.dll C:\tom\github\flashdevelop\FlashDevelop\Bin\Debug\PluginCore.Tests.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[26/06/2018 00:30:23 Informational] ========== Run test finished: 0 run (0:00:01.4030016) ==========

Similar results when trying to run individual tests from the test explorer.
--Tom


Update index.js

Include nested routes / children option in function route

Please correct the conflicts, thank you.


⚠ Bofrost.lu has degraded performance

In bf7b15f, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 892 ms

Resolved: Bofrost.lu performance has improved in 78cdcec.


Add pkgconfig and systemd to nix-shell for stack.

Also build shell on osx on hydra.
 I thought it was against master.
Have now pulled that into my branch. Lets hope it works :crossed_fingers:


Repositories to resolve Maven artifacts from seem to be tampered with

Description:
In our tests that we run in GitHub actions that use setup-java we verify the full URLs where artifacts in Maven / Gradle test projects have been resolved from (as our project is about dependency analysis).
With a recent change that fixes the order of Maven repositories to search for artifacts on our side, we realized that the new expected test results fail on GitHub actions while the same tests pass locally (tested on Windows, Linux, Docker).
So it seems that it's probably setup-java that's somehow tampering with Maven artifact resolution. As a Maven settings.xml takes precedence over repositories declared in POMs, I added a commit to my PR that should avoid setup-java to write a settings.xml, but the issue remains.
Task version:
actions/setup-java@v3
Platform:

[x] Ubuntu
[ ] macOS
[ ] Windows

Runner type:

[x] Hosted
[ ] Self-hosted

Repro steps:
See the GradleKotlinScriptFunTest and SbtFunTest test failures in https://github.com/oss-review-toolkit/ort/actions/runs/4196901639/jobs/7278510514.
Expected behavior:
All dependencies for the Gradle test project used by GradleKotlinScriptFunTest should be resolved from JCenter.
Actual behavior:
Only on GitHub actions with setup-java, dependencies are resolved from Maven Central instead of JCenter, e.g from
https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar
instead of the expected
https://jcenter.bintray.com/org/jetbrains/annotations/13.0/annotations-13.0.jar

Hi, @sschuberth, thank for the issue, we will take a look at it and get back to you with updates.

I'm pretty certain by now that it's not (only) setup-java's fault, as I cannot reproduce the issue with a small test project that I created who's Gradle build scan proves that artifacts were resolved from JCenter. Also, when running GradleKotlinScriptFunTest in our original project outside of Docker, the test passes. I'll do some more test to double-check and will eventually close this issue.

I'm now confident that the issue is not with setup-java, sorry for the noise!

@sschuberth, thanks for your feedback ❤


[Idea] Make glitter shape customizable inside flutter

Situation:
At this moment it seems like there is only one default shape for the 'glitter'.
Complication:
Although this shape already looks like a glitter/star, sometimes I want to use a different show to fade in and out of the screen. This is however currently not possible.
Challenge:
It would be great if you can make this shape customizable.
Solution:
Maybe using the flutter Icons, so the user can set what 'icon' should be used as glitter.
Similar to the way it has been done in this package: https://pub.dev/packages/animate_icons

Sounds interesting! Thanks for the nice suggestion.
I'll see its if it's possible with a small change, consider other tasks and priority / my time, and then make a decision.

@TheDonCortez
I tried implementing it, and it came out nicer than I expected. Is this what you want?
A good thing about it is that icons/widgets look good also on a light background, while the pre-defined glitters look ugly there.

With icons
With widgets (images[^image] in this example)

[^image]: Shine icons created by srip - Flaticon
But if used with wrong icons as below, it looks very strange and you can't call it "glitters" any more, so I'm wondering if this new feature should really be released... What do you think?

@kaboc that looks really interesting, and gives endless opportunities for the user. You are right that some shapes don't really look like an archetype 'glitter' immediately (if the user would use 'arrow' icons then it looks.. different). However that does give the user a lot of nice flexibility to create randomized particle backgrounds, which is very useful.
Looking around on the internet for 'Glitter' I see that glitters come in many forms and shapes. They can be round, triangular or stars as well. Whats nice about your original glitter is that it has 'rays' coming out of it, which instantly givws it a shiny feel. However when using a different 'clean' shape, its missing the blurry / glowing (nice feature as well btw) edge to make it an 'official' glitter.
So I would personally implement this feature, maybe see if you can keep your original glitter as default and let users overwrite it with Flutter Icons OR choose a Flutter Icon that you like and set it as default.
Btw, really cool the quick development on your side!

Agreed!
I'll probably add two named constructors:

Glitters.icon
Glitters.widget

This feature will be released together with another feature requested in #11, or separately if #11 will not easy.

v0.4.0 was released with this feature!


Add examples to openapi.yml

As the data in the boxes can be of any type and have any model, we must think on how to put examples of input and output to the OpenAPI file.

Also fixed when PR #7 is accepted. Closing the issue.


CSS file not applied

First of all: thank you so much for this handy file!
I am trying to do exactly as you suggest.
I can see in the developer console (Chrome) that the link element is indeed injected in the head section of the HTML host page. Also, the injected div has the appropriate cleanslate class name.
However, the styles are not applied.
Any issues I should know of? Is this a bug?

In the console. in the Net tab, has the stylesheet loaded correctly? If it
has, could you put a version up on codepen, jsbin or jsfiddle?
--
Prem Rose
premasagar.com

Thank you for your very quick response!
Here's what happens: I use javascript to add the CSS file to the head element. I can see in the developer console of chrome that the "link" element is indeed added. However, the file is not loaded (according to the net tab).
Any idea what I am missing? It seems like the browser does not actually follow the link.

Just picking up. I hope you got this sorted. I can't think of a reason it wasn't appearing in the Net tab; I would check that the CSS is visible when navigating directly to the URL. Note: on the usage instructions you linked to, note that http://example.com/cleanslate.css is just an example URL; you'd have to host your on copy of the CSS file as part of the website you're building and adapt the URL accordingly.


Remove ARTIFACTORY_API_KEY environment variable

Is your feature request related to a problem? Please describe.
remove env ARTIFACTORY_API_KEY if we are supposed to use token now
Describe the solution you'd like
No more errors of "api_key": conflicts with access_token
Describe alternatives you've considered
I've tried unset env var of ARTIFACTORY_API_KEY but would feels unnecessary since this should be deprecated?
Additional context
none

@jesseneal While the API key is deprecated, it has not been removed from Artifactory yet. So we will wait until it is removed from Artifactory before removing it from the provider.

Can some logic be wrapped around that if token is set then env isn't created? I don't have a way to unset that env var with how I'm really on some code I have to run but don't have access to in my CI.

you'll also have those people who stay on some ancient version of Artifactory for years. You'd also need a deprecation plan in the provider. Or, you could just implement a tool @alexhung to migrate all their code 18 months later 🤣


Investigate if Jackson 2.15 provided "fast floating-point" improves BigDecimal writes, enable

As per Blog post:
https://medium.com/@cowtowncoder/jackson-2-15-faster-floating-point-writes-too-19958e310185
Jackson 2.15 already has opt-in feature that improves writing of floating-point values (float, double).
Since Vector use case has to write large arrays of FP values this seems like a potential for improvements.
The only (?) question is whether writing of BigDecimal is improved as well; this is not guaranteed given different underlying number representation.
Testing can be done by modifying one of benchmarks of https://github.com/FasterXML/jackson-benchmarks.
If this shows potential improvement, should also enable this setting for JSON API.

Turns out that writing (serialization) of BigDecimal only uses JDK and there is no optimized solution there (unlike with reads, see #653).
Will close this issue.


Re-design VM size series

resolve #645

@LiliDeng although this is a slight improvement from the original else/if loops, we still have to maintain a large list of VM sizes, so each time we want to add a new one, we introduce several lines of code.
Can you please research if there is a better way, wan't looked into this in detail but PowerShell should surely have some methods to define these better.
Even consider that the current list of VM sizes is not complete, so the entire list is much longer...

@chvalean Thanks, I will do some investigation.


Update documentation for Physics2DServer

Undocumented functions have been added and several existing explanations have been clarified or fleshed out. A more extensive description has been added including a (maybe too large) code sample that demonstrates some typical usage.
instance_id and canvas_id functions remain insufficiently explained imo.

Inside codeblock, 4 spaces are used for indentation.

It should be written like this:
<tab>Documentation text.
<tab>[codeblock]
<tab>Code.
<tab><4 spaces>More code.
<tab>[/codeblock]

Ah. I see! I'll change it.

@seenloitering Are you willing to continue working on this? It needs to be rebased and cleaned up. The huge example needs to be moved elsewhere, I think. The rest looks mostly fine, and we definitely want to have such documentation.

Superseded by #70723.


Cobol copybook converter

Issue to track the ccb2lr development

Add licenses

The basic import of a many level copybook is there.
We need to add

[ ] Error management - case of duplicate entry and or parse fail
[ ] Support for OCCURS
[ ] Support for REDEFINES
[ ] Support for decimal format defined via the implied V
[ ] Generation of entire record field (length may be greater than 256)


the difference of vel_world in rollout_global_motion and reset_root_velocity

Hello, Thanks your wonderful job. Now I have a question, Can you help me?
when computing the vel_world in rollout_global_motion, vel_world = (root[:, :-1] @ root_v.unsqueeze(-1)).squeeze(-1);
but in reset_root_velocity, vel_world = (poses_root[:, 1:] @ pred_vel.clone().detach().unsqueeze(-1)).squeeze(-1);
The former is root[:, :-1], the latter is poses_root[:, 1:]. Why do this?

Hi @rrenle , thank you for pointing this out. I think has been raised in the other issue. I think it's a mistake and I need to modify code for the consistency (although the results would not change largely given the small dt between frames.). But thanks for your point!


SDK update plans?

Thanks for the SDK first off, our iOS user's are loving the stickers
We have almost released our Android version of our application, and I've noticed that some the features we use in the iOS SDK are not available yet for Android
Do you have any plans currently to implement different rendering options (eg, bordered VS no border, animated stickers)?
I am wondering if I should go ahead and do this myself, or wait a little bit for the next release, as the current version is from Dec 2015
Also I have noticed you guys have recently removed all stickers which are possibly inappropriate (but we're extremely fun!), as our user's have been asking us if we have been removing them. Are there any plans to allow for a R18+ mode, or is this just imoji's stance on content
Thanks!

Hi Steve, thanks for reaching out! We're looking to update the Android SDK to match the functionality of the iOS one soon. The next version of the Android SDK will be revamped to work a lot like the iOS one for consistency. The current timeline is about 2-4 weeks for us.
In terms of getting more content, we can definitely whitelist your developer account to get all search results. Send me an email at<EMAIL_ADDRESS>with your client id and I'll get that setup.
Cheers!


Unable to run Object Detection API i.e. AttributeError: module 'keras._tf_keras.keras.layers' has no attribute 'experimental'

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
Yes
Source
source
TensorFlow version
2.15.0
Custom code
Yes
OS platform and distribution
Apple M2
Mobile device
No response
Python version
3.11
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Command : python object_detection/builders/model_builder_tf2_test.py
Output :
I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-04-11 12:54:15.652670: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Traceback (most recent call last):
File "/content/models/research/object_detection/builders/model_builder_tf2_test.py", line 24, in
from object_detection.builders import model_builder
File "/usr/local/lib/python3.10/dist-packages/object_detection/builders/model_builder.py", line 26, in
from object_detection.builders import hyperparams_builder
File "/usr/local/lib/python3.10/dist-packages/object_detection/builders/hyperparams_builder.py", line 27, in
from object_detection.core import freezable_sync_batch_norm
File "/usr/local/lib/python3.10/dist-packages/object_detection/core/freezable_sync_batch_norm.py", line 20, in
class FreezableSyncBatchNorm(tf.keras.layers.experimental.SyncBatchNormalization
AttributeError: module 'keras._tf_keras.keras.layers' has no attribute 'experimental'
Standalone code to reproduce the issue
Step 1 - Open Google collab's new note
Step 2 - command

!git clone https://github.com/tensorflow/models.git

Step 3 - command

%cd models/research
# Compile protos.
!protoc object_detection/protos/*.proto --python_out=.
# Install TensorFlow Object Detection API.
!cp object_detection/packages/tf2/setup.py .
!python -m pip install .

Step 4 - command

!python object_detection/builders/model_builder_tf2_test.py

Relevant log output
No response

@girraj96,
The temporary workaround for the issue is Could you please try to limit the versions of tf-models-official >=2.5.1, <2.16.0 and comment out keras in the research/object_detection/packages/tf2/setup.py. By default tensorflow v2.16.1 import keras3.0.
https://github.com/tensorflow/tensorflow/issues/56889
For further queries please try to connect with tensorflow/models repo for the quick resolution.
Thank you!

Thanks it's working now


Add more data sources

Sites with example games:

https://www.rfgeneration.com/cgi-bin/getinfo.pl?ID=E-132-S-01050-A
https://vgcollect.com/item/66122
https://www.bol.com/nl/nl/p/rabbids-go-home/1004004006735173/
https://www.retroplace.com/en/games/marketplace?barcode=711719136415

https://api.upcitemdb.com/prod/trial/lookup?upc=045496901431

UPCitemdb and bol.com are done


Reaction listeners

Thank you for creating this client! :+1:
Here are a few lines of code for enabling support for reaction listeners :)

Hi there - the current version of the client should emit reaction_xxx messages.
We emit an event https://github.com/slackhq/node-slack-client/blob/master/lib/clients/rtm/client.js#L424 for every message type (bar the RTM_CLIENT_INTERNAL_EVENT_TYPES ones). So, you should be able to do:
var RTM_EVENTS = require('@slack/client').RTM_EVENTS;
rtm.on(RTM_EVENTS.REACTION_ADDED, function() {
  ...
});

Our docs really aren't great right now though, so if you wanted to add the updates you have to the example-rtm-client.js file, that'd be great.

You are right @l12s :) Thanks

Great - thanks!


Expand intersection types

Search Terms

expand, imported, types
Problem
Code: https://github.com/deep-foundation/capacitor-device/blob/6d6eae584c3567c5e381fc8a68f733e157d1ab85/src/device-info.ts#L1
import { BatteryInfo, GetLanguageCodeResult, LanguageTag, DeviceInfo as DeviceGeneralInfo } from "@capacitor/device";
export type DeviceInfo =
  | DeviceGeneralInfo
  | BatteryInfo
  | { languageCode: GetLanguageCodeResult['value'] }
  | { languageTag: LanguageTag['value'] };

I get such documentation:
DeviceInfo: DeviceGeneralInfo | BatteryInfo | {
    languageCode: GetLanguageCodeResult["value"];
} | {
    languageTag: LanguageTag["value"];
}

I would like typedoc to expand those types.
Example:
DeviceInfo: {
  model: string;
  isCharging: boolean;
  ...
}

Suggested Solution

typescript-json-schema is able to find all the actual properties of DeviceInfo and their descriptions
freephoenix888@freephoenix888:~/Programming/deep/capacitor-device$ typescript-json-schema ./src/device-info.ts DeviceInfo
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "anyOf": [
        {
            "$ref": "#/definitions/DeviceInfo_1"
        },
        {
            "$ref": "#/definitions/BatteryInfo"
        },
        {
            "properties": {
                "languageCode": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        {
            "properties": {
                "languageTag": {
                    "type": "string"
                }
            },
            "type": "object"
        }
    ],
    "definitions": {
        "BatteryInfo": {
            "properties": {
                "batteryLevel": {
                    "description": "A percentage (0 to 1) indicating how much the battery is charged.",
                    "type": "number"
                },
                "isCharging": {
                    "description": "Whether the device is charging.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "DeviceInfo_1": {
            "properties": {
                "diskFree": {
                    "description": "How much free disk space is available on the normal data storage\npath for the os, in bytes.\n\nOn Android it returns the free disk space on the \"system\"\npartition holding the core Android OS.\nOn iOS this value is not accurate.",
                    "type": "number"
                },
                "diskTotal": {
                    "description": "The total size of the normal data storage path for the OS, in bytes.\n\nOn Android it returns the disk space on the \"system\"\npartition holding the core Android OS.",
                    "type": "number"
                },
                "isVirtual": {
                    "description": "Whether the app is running in a simulator/emulator.",
                    "type": "boolean"
                },
                "manufacturer": {
                    "description": "The manufacturer of the device.",
                    "type": "string"
                },
                "memUsed": {
                    "description": "Approximate memory used by the current app, in bytes. Divide by\n1048576 to get the number of MBs used.",
                    "type": "number"
                },
                "model": {
                    "description": "The device model. For example, \"iPhone13,4\".",
                    "type": "string"
                },
                "name": {
                    "description": "The name of the device. For example, \"John's iPhone\".\n\nThis is only supported on iOS and Android 7.1 or above.",
                    "type": "string"
                },
                "operatingSystem": {
                    "$ref": "#/definitions/OperatingSystem",
                    "description": "The operating system of the device."
                },
                "osVersion": {
                    "description": "The version of the device OS.",
                    "type": "string"
                },
                "platform": {
                    "description": "The device platform (lowercase).",
                    "enum": [
                        "android",
                        "ios",
                        "web"
                    ],
                    "type": "string"
                },
                "realDiskFree": {
                    "description": "How much free disk space is available on the normal data storage, in bytes.",
                    "type": "number"
                },
                "realDiskTotal": {
                    "description": "The total size of the normal data storage path, in bytes.",
                    "type": "number"
                },
                "webViewVersion": {
                    "description": "The web view browser version",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "OperatingSystem": {
            "enum": [
                "android",
                "ios",
                "mac",
                "unknown",
                "windows"
            ],
            "type": "string"
        }
    }
}
We can see how they implement that feature and do the same for this library :)

That's a union type..
I have been considering a @inline tag which would control this behavior, not much time to work on typedoc recently though.

a @inline tag which would control this behavior

It would be excellent! I always come out to the situation where I want to @link field from the type but that type is a union type :(

@Gerrit0 We'll have to make sure such a tag can force rendering behavior in both the "expand" and "link" directions - the are situations where you want both, and it depends on code semantics that TypeDoc can't possibly know about.  Also note that the present behavior does not necessarily always link or always inline - it differs depending on which part of the generated documentation you're in.  Lower bounds on generic type parameters are always expanded in full, for example.
I also think @inline is a bit ambiguous as a name, since both expansion and linking to component types are done inline in the visible TS declaration.

It would be nice if @expand tag could also process/expand nested generics like
type CompicatedGeneric<X, Y, Z> = Awaited<X> & ReturnType<Y> | Required<Parameters<Z>>

/**
  @expand
**/
type GenericInstance = CompicatedGeneric<typeof somePromise, typeof someFn, SomeClass['method']>

->
GenericInstance = {
  a: string;
  b: Uint8Array;
  c: bigint;
}

Looks like related issue

I'm in favor of the @expand / @noexpand tag or a global configuration to specify the maximum number of characters for deciding not to expand. In my case, the presence of excessively long types makes the page difficult to understand. Here is the link.


A user should have the ability to change the password.

Or this is where we make a call if we want to start supporting device credentials like existing gmail account and apple id

We can make a user profile section where we can give user to update his profile including password

Yes, makes sense


Hi, I run it shoud a few hours in 80G A100

I dont'know why ?

Could you please tell me how much time is spent on pre-rendering in Blender and generating materials, respectively?

Could you please tell me how much time is spent on pre-rendering in Blender and generating materials, respectively?

it seem pre-rendering spend about half of hour, and I see load the image is very slow

by the way ,Right now I'm using the dog model to generate textures and it seems to work poorly, but your sample ones work well, could this be directly related to the number of vertices in the mesh?

During the pre-rendering phase, there are a large number of read and write operations, which are quite related to CPU performance (15min on i9-14900k). If the process appears to be too slow, increasing the number of threads could be a solution. The material generation phase should not be excessively time-consuming on an A100, as our tests on a V100 didn't exceed 30 minutes.
The generated appearance is indeed influenced by the quality of the mesh itself. Insufficient face count can lead to a lack of details. In the paper, we presented two dog models dog_models.zip with face counts of 21,606 and 4,316 respectively. Their results are as follows:

You can generate these by running the following command:
python launch.py --config configs/dreammat.yaml --train --gradio --gpu 0  system.prompt_processor.prompt="An adorable bulldog puppy" system.geometry.shape_init=mesh:load/shapes/objs/bulldog.obj trainer.max_steps=3000 system.geometry.shape_init_params=1.0 data.blender_generate=true
python launch.py --config configs/dreammat.yaml --train --gradio --gpu 0  system.prompt_processor.prompt="A shiba dog has a black collar and a light brown fur" system.geometry.shape_init=mesh:load/shapes/objs/shibadog.obj trainer.max_steps=3000 system.geometry.shape_init_params=1.0 data.blender_generate=true

Thanks for the reply, now I found another problem, that is, the number of vertices and texture of the generated mesh will be inconsistent with the input mesh, is there a solution for this problem?

Thanks for the reply, now I found another problem, that is, the number of vertices and texture of the generated mesh will be inconsistent with the input mesh, is there a solution for this problem?How do I keep the mesh exactly the same as the the input mesh?

The mesh is loaded by trimesh and preprocessed in the method trimesh.load. But I found a solution in mikedh/trimesh#2154. Maybe you can try that by adding the parameters in dreammat_mesh.py, Line 150. And the uv is flipped in the exported mesh. So if you want to align them, it should be handled in the method export_obj_with_mtl in mesh_exporter.py to flip the uv and the exported texture

ok, I'll tyr it .  right now my reconstructed scene is a texture reconstruction for pets, if I retrain ControlNet to only use data related to pets, do you think it will work better than yours controlnet

right now my reconstructed scene is a texture reconstruction for pets, if I retrain ControlNet to only use data related to pets, do you think it will work better than yours controlnet

right now my reconstructed scene is a texture reconstruction for pets, if I retrain ControlNet to only use data related to pets, do you think it will work better than yours controlnet

I haven't tried training exclusively on a single category of objects, but the quality of ControlNet is indeed related to the text prompt and the quality of 3D meshes. It's worth mentioning that if you are training on pets, you can set the metallic directly to 0 to avoid errors in areas where the fur color changes significantly.


False positives on Apache Tomcat

There are a bunch of false positives on Apache Tomcat 9.0.13:
tomcat-api-9.0.13.jar (cpe:/a:apache_tomcat:apache_tomcat:9.0.13, cpe:/a:apache:tomcat:9.0.13, org.apache.tomcat:tomcat-api:9.0.13, cpe:/a:apache_software_foundation:tomcat:9.0.13) : CVE-2016-6325, CVE-2016-5425, CVE-2017-6056
tomcat-jni-9.0.13.jar (cpe:/a:apache:tomcat_native:9.0.13, org.apache.tomcat:tomcat-jni:9.0.13, cpe:/a:apache_tomcat:apache_tomcat:9.0.13, cpe:/a:apache:tomcat:9.0.13, cpe:/a:apache_software_foundation:tomcat:9.0.13) : CVE-2016-6325, CVE-2016-5425, CVE-2017-6056
tomcat-coyote-9.0.13.jar (org.apache.tomcat:tomcat-coyote:9.0.13, cpe:/a:apache:tomcat_connectors:9.0.13, cpe:/a:apache_tomcat:apache_tomcat:9.0.13, cpe:/a:apache:tomcat:9.0.13, cpe:/a:apache_software_foundation:tomcat:9.0.13, cpe:/a:apache:coyote_http_connector:9.0.13) : CVE-2016-6325, CVE-2016-5425, CVE-2017-6056

One of the issues with Tomcat CVEs is that they lack the specificity to get to a specific component/dependency within Tomcat itself. Additionally, many of the components/dependencies in Tomcat use different versioning sequences (see #1437).
For now my best suggestion would be to create local suppression rules if you feel these do not apply to your application. In some cases you may want to make the suppression rules very broad.


[Bug] TCGC consolidates all integer types less than int32 to int32

Describe the bug
Apparently we are converting all types that are less than int32 to int32: https://github.com/Azure/typespec-azure/blob/18dd4909cb4d9e86d095c3024762a1f54046268d/packages/typespec-client-generator-core/src/types.ts#L171
But we actually need those to generate into different types in some SDKs (for example dotnet SDK)

@iscai-msft is this by design?

I did this by design because at the time looking at the languages, it didn't seem that we needed anymore granularity. If this is needed I'd be happy to change, what cases would c# need?

thank you @iscai-msft
I am consolidating our emitter code and noticed a difference, dotnet is distinguishing those int8 or uint8 types in our emitter, but actually we did not do anything in our generator about them - therefore if we align with these, it is fine, no one will have a breaking (because we do not have any real use cases for them right now)
But in the perspective of TCGC, I believe maybe we should keep the differences of those typespec builtin types, and let each language to decide whether they want to consolidate some of them into the same type

Yeah that's definitely valid, I will use this as an issue to change tcgc behavior, thanks @ArcturusZhang


Implement MIPS III doubleword arithmetic instructions

MIPS III introduced a lot of doubleword instructions which operate with 64 bit extended registers. They are rarely used as most of MIPS HW is 32-bit, but we might be interested to keep them as well

dadd
daddi
daddiu
daddu
ddiv
ddivu
dmult
dmultu
dsll
dsllv
dsll32
dsra
dsra32
dsrav
dsrl
dsrl32
dsrlv
dsub
dsubu

@TimofeevAlex. That is not as easy as clo/clz!

The best start is just to add the instructions to disassembly. I expect to have a pull request here. It would be very nice if you add the tests to mips/t/unit_test.cpp as well.
After that, we have to update our RF (and internal FuncInstr variables) as it has only 32-bit registers at the moment. If we switch the type, to 64-bit, some 32-bit arithmetic could become broken — so we have to check it as well. I expect next pull request here.
Then, you may implement the instructions. The flow is the same as in #137: uncomment them in tt.core.s and check if everything works correctly.

Well, should I change the unit tests  and create the instructions after?

Disassembly and unit tests should be checked in simultaneously, otherwise you get either non-working tests or no tested code.

Then, I think you need to add "is64" Boolean variable to ISAEntry and MIPSInstr class. If variable is set to false, then values read from RF and written to RF is casted to uint32; otherwise 64-bit types are used. That would allow you to re-use code of 32 instructions (e.g. use execute_addiu to execute DADDIU instruction).

I and Alex have a question. We together don't understand, how to realize 128-bit division? As we know, at first we write value at v_dst, after that first and second part put in hi/lo register. We change shift in rf.h and in division, but it doesn't help. What you should pay attention to?

Probably it is a side effect of data bypass by @denislos, as his code does one more >> 32 shift.
I suggest to disable them for div/mult instructions (either for all or for yours only) by adding a check to PerfInstr::is_bypassible() method.

Problem could be with static cast. It add fffff at start.

Please share the code

https://github.com/MIPT-ILab/mipt-mips/blob/f4f6cef1b2160312210cfce4c8cf904afcd831c8/simulator/bypass/data_bypass.h#L180 — that's the problematic line
Do you see failures in functional or performance mode?

We all changed. But  this we couldn't understand. Before div worked correctly, in this case it doesn't work. Not correctly work mfhi, but why?
0x400638: divu $v0, $v1	 [ $hi = 0x0, $lo = 0x2 ]
0x40063c: mflo $a1	 [ $a1 = 0x2 ]
0x400640: addiu $at, $zero, 0x2	 [ $at = 0x2 ]
0x400644: bne $a1, $at, 1959
0x400648: mfhi $a1	 [ $a1 = 0x0 ]
0x40064c: bne $a1, $zero, 1957
0x400650: divu $v0, $v1	 [ $hi = 0x0, $lo = 0x2 ]
0x400654: mflo $a1	 [ $a1 = 0x2 ]
0x400658: addiu $at, $zero, 0x2	 [ $at = 0x2 ]
0x40065c: bne $a1, $at, 1953
0x400660: mfhi $a1	 [ $a1 = 0x0 ]
0x400664: bne $a1, $zero, 1951
0x400668: teq $a0, $zero
0x40066c: divu $v0, $a0	 [ $hi = 0x4, $lo = 0x0 ]
0x400670: mflo $a1	 [ $a1 = 0x0 ]
0x400674: bne $a1, $zero, 1947
0x400678: mfhi $a1	 [ $a1 = 0x0 ]
0x40067c: addiu $at, $zero, 0x4	 [ $at = 0x4 ]
0x400680: bne $a1, $at, 1944
0x4024e4: addiu $v0, $zero, 0x4	 [ $v0 = 0x4 ]

And fall down func and perm, and rf tests

Yes, please

(adding 2 extra points due to increased complexity of division, multiplication, and data bypassing)

@inedostoev @TimofeevAlex
Can we proceed by starting with simple instructions only (no multiplication/division)?

We have all instr, but now we write tests in tt.core

We passed all test for 32-bit instrs

OK. If 32 bit tests are working, please open a pull request so your changes are merged. That would shift the responsibility of merge from you to developers of new features.

@TimofeevAlex @inedostoev
That goes for a long time, whereas deadline is very soon.
I propose 3 options for you:

Preferrable option

you merge your code to the latest master branch before the deadline

all existing tests are passed
I do not care whether doubleword instructions work or not
I do not care much about quality of code (you may left sub-optimal solutions)

I give 4 points to each of you
I'll add all the tests

Not realistic option, but I have to make an offer

you deliver everything before the deadline: instructions, tests, etc.
I give 6 points to each of you. I'm doing such a favor as you faced a lot of noise with multiplication/accumulation/unaligned memory — but it's a favor, as if you had delivered your patches before that, you would have not face those problems.

Dull option

you do nothing else
I give 2 points to each of you
I merge your code on my own and complete all the stuff

You do not have to choose the option right now, the deadline for the task would be the deadline for your decision.


miRNA module not finding joined reads

Hello, I am trying to use the miRNA module following prep, trim, and join (starting with SE reads) as
XICRA miRNA \
    --input Prep/ \
    --output_folder Prep/ \
    --species eca \
    --database miRBase \
    --software optimir \
    --single_end

everything up to this point worked as expected (NOTE - fastq-join had to be installed separately and was not included following the conda-based installation). Upon executing the above code, I get the following error for each of the included test samples (n=2)
** ERROR: Only 1 fastq file is allowed please joined reads before...

When I run with --debug I can see that the table being built are indeed pulling both R1/R2 instead of the trimmed and joined FASTQs which exist as expected in Prep/data/SAMPLE/join/SAMPLE_trim_joined.fastq.
I'm sure I'm just missing something but please let me know if there are any other logs you would like to see.

Hi Jonah,
Thanks for pointing out about the fastq-join missing dependency in the conda environment. I also found featureCounts was missing in a completely fresh installation so be aware of that too. I have recently updated both the conda environment file and the python code, so you might find useful to re-install (at least the python code, make sure version >v.1.4.5 by typing pip install XICRA)
Regarding the question you mentioned and the error you encountered using your data I suggest to remove some specs from you command: --output and --single-end
I guess you should have generated a project folder containing the reads, qc results, and trimmed reads right? So you only require to use --input flag as output results would be generated too there. Regarding the --single-end flag, if you have already joined reads, you should not specify this flag anymore.
Your command would be
XICRA miRNA \
    --input Prep/ \
    --species eca \
    --database miRBase \
    --software optimir \

I have to say I haven't tested in any other species than human but it should work fine. Please let me know if it not works proprely.
Also, I prefer to use miraligner than optimir, although both are implemented. We found better performance using simulated reads in the XICRA paper (https://doi.org/10.1186/s12859-021-04128-1)
I have recently updated the code and I have added an example. Please run XICRA test to get a set of reads to test the pipeline. Read the commands included in the test_subset.sh generated and find the appropiate steps to reproduce the results.
Please, do not hesitate to contact me for further details.
Best regards,
Jose

Removing --single-end worked, I must have misunderstood the help prompt. Thank you again!


chore: sync Noir repo

subrepo:
subdir:   "noir"
merged:   "e7da1ab13"
upstream:
origin:   "https://github.com/noir-lang/noir"
branch:   "aztec-packages"
commit:   "e7da1ab13"
git-subrepo:
version:  "0.4.6"
origin:   "https://github.com/ingydotnet/git-subrepo"
commit:   "110b9eb"

Benchmark results
Metrics with a significant change:

node_database_size_in_bytes (10): 3,725,516 (-30%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit fd1f619f and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
220,848
865,784
3,446,000

l1_rollup_execution_gas
933,992
3,968,258
24,789,536

l2_block_processing_time_in_ms
1,332 (-13%)
5,128 (-1%)
21,220 (-1%)

note_successful_decrypting_time_in_ms
311 (-10%)
938 (-3%)
3,371 (-4%)

note_trial_decrypting_time_in_ms
20.7 (-61%)
64.9 (-29%)
137 (-2%)

l2_block_building_time_in_ms
15,111 (+1%)
59,417
239,357

l2_block_rollup_simulation_time_in_ms
10,584
41,953
169,838 (+1%)

l2_block_public_tx_process_time_in_ms
4,481 (+3%)
17,277
69,087

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
14,722 (-4%)
28,878 (-1%)

note_history_successful_decrypting_time_in_ms
2,339 (+2%)
4,279 (-6%)

note_history_trial_decrypting_time_in_ms
76.8 (-51%)
164 (-27%)

node_database_size_in_bytes
3,620,311
:warning: 3,725,516 (-30%)

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
214
44,681
25,561

private-kernel-ordering
165 (-1%)
43,753
14,809

base-rollup
1,068
128,338
881

root-rollup
80.5 (-2%)
4,088
709

private-kernel-inner
292
71,208
25,561

public-kernel-private-input
206
31,863
25,561

public-kernel-non-first-iteration
204
31,905
25,561

merge-rollup
8.30
2,608
881

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
2 leaves
8 leaves
16 leaves
32 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
8192 leaves

batch_insert_into_append_only_tree_ms
11.2
16.4 (-2%)
15.4 (+11%)
17.8 (-1%)
23.8
49.9 (-1%)
76.9
244
468 (-1%)
913
3,572

batch_insert_into_indexed_tree_ms
N/A
N/A
N/A
64.2 (-2%)
N/A
59.8 (-1%)
134 (+21%)
360 (-1%)
747 (+1%)
1,407
5,604

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,455
32,224

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
373 (-1%)
1,094 (+1%)

Metric
1 public data writes

tx_sequencer_processing_time_ms
538


Return self when setting secret to allow chaining

@cviebrock This is just a small tweak to allow chaining when setting the secret.  If you would like me to add a test, I will be happy to.
Thanks for this lib.

Cool ... thanks!

@cviebrock Do you mind tagging the branch, so that I can use the updated semver in a package update that I am working on?

No problem ... 0.9.3 should be available now/shortly.


feat: Add stackable-telemetry utility crate

This set of changes introduces a new crate: stackable-telemetry.
So far, this includes:

A tracing initialization helper to reduce the amount of boiler-plate code needed to setup logging/telemetry in operators and webhooks.

Enable console logging
Enable log exports via OTLP
Enable trace exports via OTLP
This is incompatible with stackable_operator::logging::initialize_logging() (which would be deprecated if we decide to use this in operators too).
The API might change in future PRs, for example, we might allow it to be set up through environment variables to save the operator from parsing additional arguments with clap.

Tracing middleware for axum.

Extract trace context from HTTP headers which might have been passed from upstream systems. Also uses some of the HTTP request data to add as Span fields. This ensures traces cover disparate related systems (this enables distributed tracing).
Add OpenTelemetry semantic convention fields (such as the status code, and whether there was an error or not) to Spans before sending the HTTP response. You can see an example of where these head
Add trace context headers to HTTP responses for the calling system to optionally make use of.
In future, we might require other middleware (eg: for the HTTP client reqwest).

In this set of changes, we update the stackable_webhook implementation to automatically use the axum tracing middleware.
We intend to add metrics support in a future PR.
Tracked by https://github.com/stackabletech/issues/issues/531
Screenshots
Search for Traces by Service and Span Name

Looking at a Trace with its related Spans and Attributes

Looking at Trace Events within each Span

Thanks @adwk67, @maltesander.
Regarding the issue with dropped traces:
2024-04-18T14:35:47.411Z    error    exporterhelper/queue_sender.go:101    Exporting failed. Dropping data.    {"kind": "exporter", "data_type": "traces", "name": "otlp/tempo", "error": "not retryable error: Permanent error: rpc error: code = FailedPrecondition desc = TRACE_TOO_LARGE: max size of trace (5000000) exceeded while adding 834977 bytes to trace 03175d1b3375c763983f5a0637d17125 for tenant single-tenant", "dropped_items": 701}

I have investagated with a simple axum web server, and it seems to be a tracing loop. So a request comes in, generates traces, traces get sent voa OTLP, which cause more traces, which then get sent via OTLP, and so on.
I am able to stop the loop by changing the LevelFilter for h2 (http2), and have asked on the CNCF #otel-rust channel to see if anyone else has experienced it.
# The variable name will be configurable in a future PR
RUST_LOG=trace,h2=info cargo run --release

We could also enforce it by hard-coding a directive.
Because we are not using this crate yet, I'm ok for this to be merged and fixed in a future PR.


Accommodate clickoutside detection for elements that are no longer in the DOM after click

Currently, I think Node.contains is used for detecting if the click happened outside of the element. I have a case where the element within the directive's host is replaced after the click. This means that the clicked element is no longer a descendant of the host and the click is treated as a click outside.
There may be another way and I may be missing something, but I think this would be a solution:
Add an option where the target of the click would be obtained like so:
document.elementFromPoint(event.clientX, event.clientY);
instead of like so:
event.target
This would check the element currently under the cursor instead of the one that was there when the click occurred.

(NOT A SOLUTION) I was able to work around this issue by adding a `(click)="$event.stopPropagating()" to stop ng-outside-click from acting on it.


Info.js: fixed formatting issues

for some functions with no args, call.info.args was showing one arg
fixed createTransformFeedback key

thx!


QRCode option added

QRCode option added to scan credentials by phone. Dependency qrencode is needed.

I dont mind the addition, you probably need to add some checks that its a PSK network not an EAP or Open one.


Add macro system

Here I propose adding a macro system to Erg.
Motivation
Erg is compatible with Python's API. In other words, Erg is an alt Python.
However, Erg's syntax is far different from Python's. Whereas Python has statements, almost everything in Erg is expressions. if and for are also implemented as functions rather than statements.
This makes Erg code look very different from Python code.
if! True:
    do!:
        print! "True"
    do!:
        print! "False"

for! [1, 2, 3], i =>
    print! i

If you try to write an else clause in if, you will need two indentations. for! has the opposite order of i and iterable compared to Python's for i in iterable: ..., which is confusing. I admit that Python's syntax is simpler.
However, I feel reluctant to bring the concept of statements into Erg. I want to minimize basic grammar.
Draft plan
Therefore, I will introduce a hygienic macro system to Erg. It is heavily inspired by Scala and defines macros as functions that receive syntax elements and return syntax elements.
Macro = Class *Expr -> Expr

To introduce macros, two syntaxes will be added: ${} and '{}.
${ x } takes an expression x of type T and returns Expr T.
'{ x } takes an expression of type Expr T and returns T.
{Expr; Name} = import "macro/ast"
# Name[Int] <: Expr[Int]

i: Int = 1
expr: Name Int = '{ i }
# expr + 1 # ERROR

i2: Int = ${ expr }
# ${ expr + 1 } # ERROR
# ${ expr } + 1 # OK

assert i == i2

Use these to implement if, for!, import.
Note that if this proposal is implemented, the current if function etc. will be moved to the control module instead of built-in.
control = __import__ "control"

@Macro
if|T, U|(cond: Expr[Bool], block: Block[T], 'else' else: Option[Block[U]] := None:): Expr[T or U] =
    control.if else != None:
        do: '{control.if $cond, () -> $block, () -> $else}'
        do: '{control.if $cond, () -> $block}'

@Macro
for!|T|(i: Name[T], 'in' iterable: Expr[Iterable[T]], block: Block[NoneType], 'else' else: Option[Block[NoneType]] := None) -> NoneType =
    if else != None:
        '{
exec = !False
control.for! $iterable, $i =>
    $block
    exec.set! True
if not exec:
    $else
        }
    else:
        '{
control.for! $iterable, $i =>
    $block
        }

@Macro
import(x: Name) = '{ $x = control.import ${ x.as_str() } }

Then we can use them:
if True:
    ...
else:
    ...

for! i in 0..10:
    ...

import control

It may be difficult to tell which is which with the syntax ${} and '{}, so it may be better to use the notations quote{} and expand{}.


Feature/1750 migrate app to dp renderer

What

✅ Convert app to use dp-renderer
Enabled linter and implemented suggestions

How to review

Sense check
All CI tasks pass
Templates/models are lift and shift from dp-frontend-renderer and dp-frontend-models

Have a go locally

Pull this branch make debug
Port forward onto sandbox web api router
Run sixteens
Check a cmd filter record

Who can review
!me

Try this filter id := b6e63a4a-32ec-40e4-a5eb-27d70ace95c6
You should be able to create any filter record (in the env you're working in) and see the changes in the app if you're port forwarding correctly ☮


test_accept_late_rodata passes even if compilation fails

00:22:33 DEBUG Compilation failed: /bin/bash: /Users/alex/repos/decomp.me/backend/compilers/ido7.1/usr/bin/cc: No such file or directory

.
----------------------------------------------------------------------
Ran 1 test in 0.040s

OK

the test only needs to assert that the assembly worked
compilation just happens as a byproduct of making a scratch
so it's actually fine for the compilation to fail in this test


check dbs 2021-01-01

check dbs 2021-01-01

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 81.62%. Comparing base (7cf0dde) to head (ac7aee1).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1121      +/-   ##
==========================================
+ Coverage   80.93%   81.62%   +0.69%
==========================================
  Files          49       49
  Lines        4185     3511     -674
==========================================
- Hits         3387     2866     -521
+ Misses        656      503     -153
  Partials      142      142

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.