Running MTCNN with tensorrt

I have some confusion here.
I run MTCNN without tensorrt by demo in here : jetson_nano_demo
and compare with your code for MTCNN with tensorrt
I realize when use tensorrt FPS is nearly same

Thanks for letting me know.  Could you share more information about your test case?  I will look into it.

Are you testing this on a Jetson Nano or TX2 or else? Which TensorRT version is used?
How large (what resolution: 1280x720 or else) is the input image or video?
Roughly how many (ground-truth) faces are there in the test image?
How much slower is my code comparing to jetson_nano_demo?

Im testing on Jetson Nano
I find out i did not change the min face size LOL,when i change it FPS is nearly same in mtcnn with tensorrt or not

I do have a few tricks which could speed up MTCNN.  I haven't found time to implement them into the code.
I'd appreciate you sharing with me about your test case: image resolution and how many faces, etc.  It could help me to make better design decisions later on.
Thanks.

I tested with resolution 1280x720 and 0,1,2 faces cases,i will test more and share result
I'm waiting for your implement.

Thanks for sharing the information.  I'll try to implement some improvements soon.

@tranmanhdat  I have optimized the TrtPNet code.  Comparing to my Sep. 30 code, the current version runs over 30% faster overall.  For example, FPS number improved from 5.15 to 6.94 when I test with the same Avengers picture on Jetson Nano.
Please check out my latest code, recompile 'create_engines.cpp' and rebuild the TensorRT engine files.  Then run your test again.
I plan to write a blog post about how I implement the optimization soon.

thank for sharing,i wil test on my case soon.
could you explain why the current version run 30% over faster,do you change some arguments?

Please read my new blog post, Optimizing TensorRT MTCNN, for details.

thank for your optimization!
I tested on my computer for your last update and i realized that without tensorRT it's run faster,the result FPS you can see in 2 files i attach.
i config with the same arguments,i used a large video but i was select a ROI ( 750x1000) for testing.
i used scale_factor=709,min_face_size=90 and set the max_batch=3.
FPS_withoutTensorRT.txt
FPS_withTensorRT.txt

Thanks for sharing the test results with me.  I don't plan to do further optimization on my code for now.  But allow me to make a couple of comments:

My code was optimized for 1280x720 image inputs.  For 750x1000 images, my code would need to do rescaling (additional computation) on every image.  In addition, there would be padded zero pixels on the rght-hand side (for PNet) which are wasted.  To get the best performance with my implementation, you could modify input blob dimension in det1_relu.prototxt, as well as the corresponding code in utils/mtcnn.py.  (Refer to my "Optimizing TensorRT MTCNN" blog post for details.)

In the TensorFlow (non-TensorRT) case, it seems that FPS number fluctuated (34~69) significantly during your test.  Do you know why?

I changed image to 1280x720 but with tensorRT still lower without tensorRT,
i can't define why FPS increase/decrease so fastly and unstable,i realize that when image have faces FPS will decrease ( base on number of faces in image) and it will increase fast when image dont have any face

Thanks again for sharing the result.

your implemence show a better performance when have many faces in iamge ( about 3,4 and above) ! it's greate!


support for dart sass version without native dependencies

Hello! First off, thanks for writing and maintaining this library. It's useful! ✨
I work on an app that uses this middleware. It's working fine us, but occasionally there are members of my team who run into issues with the native module compilation process that is inherent in the node-sass dependency. Team members are also often alarmed and confused by scary node-gyp output.
I have come to learn that there's a Dart implementation of sass (https://www.npmjs.com/package/sass) that has no native code or external dependencies. Is it possible to use that implementation with this middleware?
cc @sarahs

I forked and put together a quick PR to try replacing with node-sass with sass. Most tests are passing. https://github.com/zeke/node-sass-middleware/pull/1

I'd suggest looking at the approach that gulp-sass used for changing the compiler option https://github.com/dlmanning/gulp-sass/
Also, dart-sass still used fibers, so you don't really get away from native dependencies

Thanks. It looks like fibers is a devDependency of sass, not a runtime depenency: https://github.com/sass/dart-sass/blob/4d78316cb7da3f71ffc9901e684349a5e3e5cf28/package.json#L11 -- so for an end-user of sass there shouldn't be a native dependency there, right?

Not mandatory, but recommended for performance reasons https://github.com/sass/dart-sass#javascript-api

Thanks for the context, @nschonni. I am going to close this.
For the curious, I ended up creating a new connect/express middleware from scratch that uses the dart-sass implementation. It looks like this:
const path = require('path')
const fs = require('fs')
const sass = require('sass')
const cache = {}

module.exports = async function renderSass (req, res, next) {
  // ignore non-CSS requests
  if (!req.path.endsWith('.css')) return next()

  // derive SCSS filepath from CSS request path
  const file = path.join(process.cwd(), req.path).replace('.css', '.scss')
  if (!fs.existsSync(file)) return res.status(404).end()

  // cache rendered CSS in memory
  if (!cache[req.path]) {
    cache[req.path] = sass.renderSync({
      file,
      includePaths: [path.join(process.cwd(), 'node_modules')],
      outputStyle: (process.env.NODE_ENV === 'production') ? 'compressed' : 'expanded'
    })
  }

  res.header('content-type', 'text/css')
  res.send(cache[req.path].css.toString())
}

Thanks for the context, @nschonni. I am going to close this.
For the curious, I ended up creating a new connect/express middleware from scratch that uses the dart-sass implementation. It looks like this:
const path = require('path')
const fs = require('fs')
const sass = require('sass')
const cache = {}

module.exports = async function renderSass (req, res, next) {
  // ignore non-CSS requests
  if (!req.path.endsWith('.css')) return next()

  // derive SCSS filepath from CSS request path
  const file = path.join(process.cwd(), req.path).replace('.css', '.scss')
  if (!fs.existsSync(file)) return res.status(404).end()

  // cache rendered CSS in memory
  if (!cache[req.path]) {
    cache[req.path] = sass.renderSync({
      file,
      includePaths: [path.join(process.cwd(), 'node_modules')],
      outputStyle: (process.env.NODE_ENV === 'production') ? 'compressed' : 'expanded'
    })
  }

  res.header('content-type', 'text/css')
  res.send(cache[req.path].css.toString())
}

Many thanks!
Here is a module version with two changes:

It searches in scss folder for .scss files to compile
Watches the compiled .scss file for changes and clear the cache to recompile it upon next request so you can modify scss files without restarting the app

import path from 'path';
import fs from 'fs';
import sass from 'sass';

const cache = {}

export async function renderSass (req, res, next) {
  // ignore non-CSS requests
  if (!req.path.endsWith('.css')) return next()

  // derive SCSS filepath from CSS request path
  const file = path.join(process.cwd(), req.path).replace(/css/g, 'scss'); // search in scss folder
  if (!fs.existsSync(file)) return res.status(404).end();

  // cache rendered CSS in memory
  let rp = req.path;
  if (!cache[rp]) {
    cache[rp] = sass.renderSync({
      file,
      includePaths: [path.join(process.cwd(), 'node_modules')],
      outputStyle: (process.env.NODE_ENV === 'production') ? 'compressed' : 'expanded'
    });

    // watch for changes in .scss
    fs.watchFile(file, _ => {
        delete cache[rp];
        fs.unwatchFile(file);
    });
  }

  res.header('content-type', 'text/css');
  res.send(cache[req.path].css.toString());
}


⚠ Moncai has degraded performance

In 927f192, Moncai (https://moncai.com.au) experienced degraded performance:

HTTP code: 200
Response time: 22436 ms

Resolved: Moncai performance has improved in 02c672e.


Need proper linking of blogs page in Community Website

Team,
Currently, As I have seen, blogs are hosted at https://blog.nimbleedge.ai/. But on the community website, the link for blogs is referred to https://www.nimbleedge.ai/#blogs and it doesn't have the recent blogs.
Solution: Need to use a link commonly in all the places or redirect in such a way that all blogs can be read in one place.
@ayush268

I can work on this issue, will it be counting towards hacktoberfest 2022?


Create a website

This is a combined website for our SIG's content, and the content for contributors at https://github.com/cncf/contribute.
You can preview it at https://cncf-contributor-strategy.netlify.app and when we are ready it can go live to https://contribute.cncf.io.
See the contributing page (linked from every editable page as "Contributing Guide" above the "Edit this page" links) for details on how the site is composed of the two repositories and how to edit it.
I wanted to stick with having our content in our repository and not try to consolidate the content. I was concerned that otherwise we would end up in situations where we are copying drafts to the contribute repo when they are ready and then everyone who contributed to that page would lose the git history (and attribution). This lets us work on our content in our repo and preserve history, while still having drafts. We can even mark them in the frontmatter with draft: true and not deal with draft directories.
I wasn't sure how much we were okay with altering the current cncf/contribute repository? I made the mimimum required changes to have it work with Hugo. But really that that repo is designed to be used entirely through github and isn't really great to work with in Hugo (or any static site generator). For example, it uses README.md instead of index.md. If we can make further changes to that repo so that it works with Hugo's conventions that would remove a lot of manual configuration/overrides. This would also free us up to have the README explain the repository better, instead of serving as content. I strongly recommend that we do the following:

Repurpose the README
Add a CONTRIBUTING.md
Add a license
Move existing content into a content directory

~If the people who own that repo agree, I can make those changes quickly.~ UPDATE: I made the change in cncf/contribute
I am hoping that we can merge this POC and then people can help iterate on the remaining work items for the website (#65).

This is ready for review! 🎉 I have a corresponding PR open to the other repo https://github.com/cncf/contribute/pull/43. They should be merged basically together (first contribute then this), since there is a branch name reference in website/go.mod.

@parispittman @jberkus @justaugustus This is ready to review/merge.
Once both are merged, we can update the DNS for contribute.cncf.io to direct to cncf-contribute.netlify.app

/lgtm

@jberkus I have rebased the website branch with the recent changes to the master branch. The only files I haven't moved are the readme's for each working group, which I plan to do after we get this merged.
The preview doesn't show the contributors/ section of the site because it is looking for the website components on the main branch of cncf/contribute. Once we merge the other PR, then that part of the site will render too.

I've merged master in again and resolved the merge conflicts.


Advantages of Using rocWMMA over Compiler Intrinsics for CUDA to ROCm Transition

Hello,
I'm currently in the process of transitioning from CUDA to ROCm. During this transition, I've come to understand that rocWMMA can serve as a mapping library for the "Warp matrix functions nvcuda::wmma" that I used to work with in CUDA. Nevertheless, I've also noticed that we have "compiler intrinsics", which provide functionality quite similar to rocWMMA, see this link.
Specifically, I've observed that we can substitute the load operations in rocWMMA with specific built-in intrinsics. This realization has led me to question why I might choose to use rocWMMA over these compiler intrinsics.
What advantages does rocWMMA provide over these compiler intrinsics? Is it more efficient in certain situations or does it offer any unique functionalities? Any insight on this would be highly appreciated.
Thank you for your assistance.

Hi @xinyi-li7, thanks for your question!
rocWMMA is a library that is intended to solve matrix-multiply-accumulate problems with simplifications to block-wise decomposition into fragments. It wraps several 'quality of life' improvements over raw __builtins that focus on basic multiply-accumulate functionality. At the very lowest level, rocWMMA does indeed call __builtins over each mult-accum in the K direction - however adds several more layers of utility.
Firstly, users transitioning from nvcuda::wmma to rocWMMA have little 'hipification' to do in terms of API syntax and functionality. The rocWMMA API goes further to map block-wise decomposition of problems into fragments of block (M,N,K) sizes. Depending on the defined data types and block sizes, rocWMMA will call the associated __builtin (there are many for each datatype and block size), unrolling it over the required iterations in the K direction.
Secondly, MFMA __builtins have specific layouts for in-register inputs and accumulation. A feature that rocWMMA offers is that no matter what your data format is in (row_major, col_major) - the rocWMMA fragments of tile sizes 16 and 32 will always be 'MFMA friendly' and correctly mapped to MFMA input and accumulation requirements. There is no need out of the box to re-arrange data in LDS to become MFMA friendly.
Thirdly, MFMA __builtin support differs between gfx908, gfx90a architectures. Moreover WMMA __builtin support offers similar functionality as MFMA, but requires different layouts and has different datatype and block size support on the gfx11xx architectures. rocWMMA is portable across gfx908, gfx90a and gfx11xx architectures with clearly defined differences in supported types and block sizes. This library will hide a lot of the nasty portability details if you are targeting your application to support multiple GPU architectures.
Lastly, rocWMMA offers a variety of simplified and performance samples for different types of algorithms that you can explore. High-performance GEMMS can be achieved with rocWMMA using different techniques (such as multi-wave collaboration and data-sharing in LDS) - a lot of these details offered through the library API.
Similar to other libraries, rocWMMA is intended to save the user development time and improve their experience by providing solutions to many technical and development challenges under the hood. I hope to have shown that rocWMMA is more of an embellishment on top of MFMA and WMMA __builtins that automates and insulates the user from a lot of the otherwise time consuming details of portability and consistency across several architectures through a single API.
Cheers!

And a second note is that __builtin interfaces for MFMA and WMMA are subject to change between releases, whereas rocWMMA API will be always compatible

Hi @cgmillette,
I appreciate the comprehensive explanation you provided—it's been truly helpful!
I'd like to confirm a couple of things: Is rocWMMA only available on ROCM/5.4.0? And does the present version of Hipify support the transition from nvidia::wmma to rocWMMA?
Many thanks!

First public release for rocWMMA was with ROCm 5.2. I recommend the latest ROCm release to keep up to date with bug fixes and performance improvements.
At this time, there is no automation through 'Hipify' tools, however the API calls / interfaces are very similar between nvcuda::wmma and rocWMMA. Just note carefully the block size type support between both.

Hi @cgmillette, I appreciate the comprehensive explanation you provided—it's been truly helpful!
I'd like to confirm a couple of things: Is rocWMMA only available on ROCM/5.4.0? And does the present version of Hipify support the transition from nvidia::wmma to rocWMMA?
Many thanks!

Thank you!


feat: Add json lines support to query output

This commit adds support for JSON Lines which also lets us stream the body back to the consumer, rather than needing to buffer the entirety of the query in memory before sending it back to the user.
Closes #24654

In theory it should since it's an async stream


Add hostport allocator for auto service registration.

Add hostport allocator for auto service registration purpose. This is part of paddle training auto-scaling.

Just for quick review at this moment, will merge it with dev branch later on.


Pagination does not update correctly when advanced filters are applied in assets page

Describe the bug
Pagination is not functioning correctly when advanced filters are applied. After applying a filter and navigating to the next page, moving back to the previous page does not update the displayed data  correctly.
To Reproduce
Steps to reproduce the behavior:

Go to the 'Assets' page.
Apply an advanced filter (e.g., filter by status or category).
Navigate to the next page using pagination controls.
Attempt to return to the previous page using pagination controls.
Observe that the page content does not change.

Expected behavior
When navigating back to the previous page after applying a filter, the data should update correctly.
Screenshots
https://github.com/user-attachments/assets/090c5341-35c8-4a57-9bc7-2d85548af16a
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@Jacobjeevan I want to work on this

It is happening without advanced filter also


Unable to reproduce models and Increasing validation loss

Hello and thank you for the great work.
While working with this project I came across a few problems and I hope you could give me some suggestions.
1. Unable to reproduce models
Firstly I tried reproducing one of the LR+HR trainings, InSPyReNet_SwinB_HU (HRSOD-TR and UHRSD-TR), but I do not obtain the same results. I gathered the results in the following table:

Dataset
Model
Sm
mae
adpEm
maxEm
avgEm
adpFm
maxFm
avgFm
wFm
mBA

DUTS-TE
yours
0.939
0.0221
0.931
0.9657
0.951
0.865
0.936
0.908
0.901
0.735

DUTS-TE
mine
0.882
0.0396
0.897
0.909
0.889
0.799
0.847
0.8185
0.799
0.6437

HRSOD-TE
yours
0.9565
0.0173
0.9527
0.9746
0.9641
0.9090
0.9564
0.933
0.9234
0.7714

HRSOD-TE
mine
0.9136
0.0322
0.9023
0.9370
0.9199
0.815
0.8934
0.8579
0.8304
0.6412

UHRSD-TE
yours
0.9528
0.02038
0.9223
0.9708
0.9617
0.9029
0.9576
0.9431
0.9331
0.7897

UHRSD-TE
mine
0.9202
0.0332
0.9133
0.9477
0.9316
0.8615
0.9179
0.8967
0.8713
0.6621

Although the metrics are quite close, the quality of the predictions with the model trained by me are far more inferior than the provided model. I also tried training the PlusUltraHR model and I am experiencing the same thing.  Why could this happen? Why can I not reproduce the model?
2. Increasing loss during validation
Additionally, I added validation to the training script in order to monitor the model's performance during training:

for epoch in epoch_iter:

        if args.local_rank <= 0 and args.verbose is True:
            step_iter = tqdm.tqdm(enumerate(train_loader, start=1), desc='Iter', total=len(
                train_loader), position=1, leave=False, bar_format='{desc:<5.5}{percentage:3.0f}%|{bar:40}{r_bar}')
            if args.device_num > 1 and train_sampler is not None:
                train_sampler.set_epoch(epoch)
        else:
            step_iter = enumerate(train_loader, start=1)

        train_loss = []

        for i, sample in step_iter:
            optimizer.zero_grad()
            if opt.Train.Optimizer.mixed_precision is True and scaler is not None:
                with autocast():
                    sample = to_cuda(sample)
                    out = model(sample)

                scaler.scale(out['loss']).backward()
                scaler.step(optimizer)
                scaler.update()
                scheduler.step()
            else:
                sample = to_cuda(sample)
                out = model(sample)
                out['loss'].backward()
                optimizer.step()
                scheduler.step()

            if args.local_rank <= 0 and args.verbose is True:
                step_iter.set_postfix({'loss': out['loss'].item()})

            train_loss.append(out['loss'].item())

        average_loss = np.mean(train_loss)

        step_iter_test = enumerate(test_loader, start=1)

        # model.eval()
        df = df.append({'epoch': epoch, 'scope': 'train', 'set': 'all', 'metric': 'loss', 'value': average_loss}, ignore_index=True)
        writer.add_scalar('Train/loss', average_loss, epoch)

        mse_sum = {}
        loss_sum = {}
        count = {}

        with torch.no_grad():
            for i, sample in step_iter_test:
                sample = to_cuda(sample) #ads 50 MB to GPU memory
                set_name = sample['set'][0]
                out = model(sample)
                loss = out['loss'].detach().cpu().numpy()
                pred = to_numpy(out['pred'], sample['shape'])
                gt = to_numpy(out['gt'], sample['shape'])
                mse = compute_mse(predict=pred, alpha=gt)

                if set_name not in mse_sum:
                    mse_sum[set_name] = 0.0
                    loss_sum[set_name] = 0.0
                    count[set_name] = 0
                mse_sum[set_name] += mse
                loss_sum[set_name] += loss
                count[set_name] += 1

            for set_name in mse_sum:
                mean_mse = mse_sum[set_name] / count[set_name]
                mean_loss = loss_sum[set_name] / count[set_name]
                df = df.append({'epoch': epoch, 'scope': 'valid', 'set': set_name, 'metric': 'mse', 'value': mean_mse}, ignore_index=True)
                df = df.append({'epoch': epoch, 'scope': 'valid', 'set': set_name, 'metric': 'loss', 'value': mean_loss}, ignore_index=True)
                writer.add_scalar('Valid/' + set_name + '/mse', mean_mse, epoch)
                writer.add_scalar('Valid/' + set_name + '/loss', mean_loss, epoch)

        df_path = os.path.join(opt.Train.Checkpoint.checkpoint_dir, f'{log_id}.json')
        df.to_json(df_path, orient='records')

        model.train()

InSPyReNet_SwinB_HU training & validation
For InSPyReNet_SwinB_HU training, the validation set I used is DUTS-TE. The training loss is constantly decreasing but the validation loss starts increasing after some epochs:

My assumptions were the following: the model is overfitting or the data distribution between train sets and test set is too different.
Overfitting Check
To check if overfitting is a problem I trained a LR model (using Plus_Ultra_LR config) on 43K samples ('MSRA-10K','HRSOD-TR','HRSOD-TE','ECSSD','HKU-IS','PASCAL-S','DAVIS','UHRSD-TR','UHRSD-TE','FSS-1000','DIS5K') and validated the model after each epoch on 300 images from DUTS-TE. I chose to train a LR model and only a subset of DUTS-TE for faster training. The loss during validation is still increasing:

I know that overfitting occurs when the training set has a small number of samples or the model is complex. After this experiment with 43K images I doubt that overfitting is responsible for the increase in validation loss.
Difference in data distribution Check
I was also thinking that the difference of data distribution between training sets might be too big and the model struggles in finding the optimum to accommodate all cases, making it hard to generalize. To test this, I decided to train a LR model on UHRSD2K-TR only for 150 epochs and validate the model on several testing sets:

I was expecting the loss to decrease for UHRSD2K-TE and increase for HRSOD-TE and PASCAL-S but the validation loss increases for all tests. Along the mentioned experiments, I have trained InspyreNet with different configurations and datasets and for each one the loss during validation increases.  What can be the problem? Why is the validation loss always increasing?

Did you solve the problem? For your information, we trained our model for high resolution configuration with 8 Titan RTX GPUs with 1 sample for each device which is total 8 samples for the batch size. Although we also tried using single GPU but we did not have any trouble like above.
Also, I keep noticing that some people have training issue which I cannot reproduce the problem myself.
I cannot be sure but the problem might come from the CUDA version, pytorch version, accidentally using half precision, dataset problem, or others.
I would like to ask you to not modify a single script of our repository and try to reproduce the basic model first to make sure that our code is working fine on your machine. The configuration that you may find is InSPyReNet_SwinB.yaml. Please do not change any code and just use DUTS-TR for training. Then, evaluate on other benchmarks including UHRSD-TE. If you can reproduce our results, then you might changed something causing the problem.
I also would like to mention that I did not trained our model many times to produce the best result for the paper. I just trained once and tested on various GPU servers and verified that our method consistently produced almost identical results, so if you solve the problem above, I can guarantee that you will get the results that you've expected, so don't give up on your project and I'll be your help as much as I can.


update index.md

added basic info about PHP Data Types.

[x] I have read freeCodeCamp's contribution guidelines.
[ ] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

LGTM


Bug: Helpers at non-default locations are not found

I have a namespace: App\Libraries\FileMaker
at a corresponding location on the disc.
I also have a subfolder Helpers at that location with the file filemaker_helper.php in it.
According to the documentation the correct way to load this helper is: helper('App\Library\FileMaker\filemaker').
Unfortunatelly that doesn't work. The autoloader stops searching through the namespace segments once it matches the first one with the App namespace and attaches the Helpers segment followed by the rest of the namespace:
...app\Helpers\Library\FileMaker\filemaker_helper.php
Version: 4.0.3.
Affected module: Custom Helpers

Helpers should go into folder helpers if use with app
otherwise modules should have there own helpers folder.

I see. Of course, thanks for clarifying this. I need to declare my FileMaker namespace outside the App namespace...


Does not work with OwnCloud 9

While I really like the idea of having cool themes, these seem not to work with ownCloud 9. I tried 2 of them with the Stylish Firefox plugin and they looked awkward.
The ones I tried are "lumen" and "spacelab".
However, I must say, I appreciate your effort so far.

second this, would love for it to be working again, wish I could fix it myself, but alas...

The themes themselves do have an effect, I have had success in installing the yeti theme, but I'm having issues with the layout. Most notably, the + button to add a new file in the menu bar appears floating on top of the content just below the menu. I am too inept to approach this myself but I hope the feedback helps - thanks also for your work.

Hey, guys,
I'm not using Owncloud for more than an year, and not in touch with version 9.0.
Sorry for that.

this is really bad, the support for themes for Owncloud is sooo pooor...
one of the negative points for this systems.
Rafaelgou, please note at the github page that this is outdated for owncloud  9, you would save a lot of stress, anger and time for all of us who try to get this working...
cheers, Connie

Good call, @Webdeern .
Just did that: https://github.com/rafaelgou/owncloud-bootswatch-themes/commit/cd6a5e33bf1629361ffcffb72d573ccd505bfac1


fixes #3172 Reconcile > Use values as identifiers" does not reconcile #4655 #4664

Fixes #3172
Changes proposed in this pull request:

Notice added when selecting service

@wetneb Pull request https://github.com/OpenRefine/OpenRefine/pull/4666 is open for review

Working on it right now
On Thu, 31 Mar 2022, 20:03 Antonin Delpeuch, @.***>
wrote:

@.**** commented on this pull request.
In main/webapp/modules/core/scripts/views/data-table/menu-reconcile.js
https://github.com/OpenRefine/OpenRefine/pull/4666#discussion_r839837824
:

@@ -141,6 +141,7 @@ DataTableColumnHeaderUI.extendMenu(function(column, columnHeaderUI, menu) {
frame.width("400px");

 var header = $('

').addClass("dialog-header").text($.i18n('core-views/use-values-as-identifiers/header')).appendTo(frame);

var header2 = $('').addClass("dialog-header").text($.i18n('core-views/use-values-as-identifiers-note')).appendTo(frame);

Do we really want this note to be part of a header? I think it is a bit
uncommon to have two headers next to each other. Why not add the note to
the dialog body instead?
—
Reply to this email directly, view it on GitHub
https://github.com/OpenRefine/OpenRefine/pull/4666#pullrequestreview-927920300,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMRI6Z2ZETULKGJSACTWANDVCXLHPANCNFSM5SCHSRUQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

@elroykanye Check out this PR. Deploy has been cancelled

@elroykanye Check out this PR. Deploy has been cancelled

It should be running up now.

Deploying is only done when you make changes to the docs.

Deploying is only done when you make changes to the docs.

I will proceed to make changes in the docs

@WaltonG : I think this PR should also take care of the preview when there is no data return, and show a cleaner explanation then a JSON string… What do you think?
(From the issue)

Regards, Antoine

@antoine2711 A text explanation will provide a  better user experience. Am working on it

@antoine2711 I have tried reconciliation with different services, Wikidata, GND, VIAF, OpenData, and ORCID. Each service has a different response as reflected in the preview

Wikidata - {"arguments":{"id":"93","lang":"en"},"details":"'93'","message":"invalid query","status":"error"}
GND - Not found : 93
VIAF- No preview
OpenData - No preview
ORCID - No preview
In the case of Wikidata and GND or any other services that choose to return a json response I will find it challenging to determine if the json response contains meaningful data or an error message. Could there be a way around this ?

@WaltonG @antoine2711 I think dealing with the response here is a separate issue. Looking at #3172 the priority is identified as telling the user that when they choose to use identifiers as reconciled, there is no actual validation. In the issue @wetneb  writes

We could:

Add text to the dialog where we choose the reconciliation service to use, explaining that identifiers will not be validated;
Improve the user experience after that, improving the way we handle invalid ids (for instance in the Wikidata extension)

But emphasises that only the first of these is the 'good first issue' aspect. I think we should focus on that in this PR, and separate out dealing with incorrect/invalid responses separately as it's quite a bit more complex.


Lightweight Portal

From notes from Nathan:
Build a lightweight portal that would say “here’s your hardware that’s in this facility, here are your templates, your workflows.” Also allow users to create new templates and workflows.
Not a recreation of the multi tenant staff portal.

@mrmrcoleman That's ironic. 😃
I thought about this when we started with Tinkerbell and started with a personal project (definitely OSS) called Frawn. I recently renamed it to Tink-Wizard and made the new repo public.
You can access the project deployed with some dummy data here: https://go.aws/2XcNhxE
This is a work in progress under the repo: https://github.com/gauravgahlot/tink-wizard
I'm excited to know your thoughts on this.

@gauravgahlot This looks great! Nice work.
@nathangoulding Thoughts?

It seems we now have a repository for work on a UI/portal - https://github.com/tinkerbell/portal
I'm going to assume that issues and work related to it will be tracked over there. Closing!


1.19.2 Crash on start up

crash-2023-04-15_19.51.56-client.txt
Not sure why crashing but just having the mod enabled causes this crash ^ disabling it lets game load to main screen like should

crash-2023-04-15_19.56.32-client.txt
crash again but fixed by removing dungeons mobs this time

Fixed, re-download 5.0.5.

crash-2023-04-20_12.24.51-client.txt
still happening on startup, updated all 3 mods (dungeons library, dungeons mobs, dungeons gear)

crash-2023-04-20_13.49.14-client.txt
Nvm still happening without mod, I dont get why, I disabled a couple mods and added Essential mod and it crash, now just going back to when it was working aka reversing that stuff and it breaks .-. sigh

The report cites AzureLib as the cause of the crash.


Attached Blob Container Error

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.25.1
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20220809.7
Platform
Windows
OS Version
Windows 11
Bug Description
Cannot read properties of undefined (reading 'version') error when connecting to storage after login.
Steps to Reproduce
Launch Storage Explorer
Login with Azure account credentials
Click on uploaded ingestiondata object
Actual Experience
Launch Storage Explorer
Login with Azure account credentials
Click on uploaded ingestiondata object
Cannot read properties of undefined (reading 'version') error box appears.
Expected Experience
view previously uploaded data (uploaded using AZCopy).
Additional Context
No response

I had this same issue, I opened up Microsoft Azure Storage Explorer and Detached the ingestiondata blob storage. I then Connect to Azure resources

Blob Container

Shared access signature URL (SAS)

Once I did that, It opened up for me.

@donpare Could you try these steps to remove the potentially corrupted connection data and re-attach it? https://docs.microsoft.com/en-us/azure/storage/common/storage-explorer-troubleshooting?tabs=Windows%2C2204#error-occurred-while-adding-new-connection-typeerror-cannot-read-property-version-of-undefined


Welcome App shows Camunda in "Documentation"

Describe the bug
The screenshot for "Documentation" is outdated.
To Reproduce
Build/download a distro, and start it.
Expected behavior
An updated screenshot is shown.
Scree

nshots

I think @lambdaschmied2 left that in when changing the others because we do not yet have a documentation page?

Correct. Nothing to screenshot, but I'm having an eye on @a-m-zill and how he's coming along with the new docs site.


There are still references to the old tess namespace. Replace with new Darling\PHPUnitTestUtilities\Tests

There are still references to the old tests namespace. Replace all references to the tests namespace with the new Darling\PHPUnitTestUtilities\Tests namespace.
Files that still use old namespace:
tests/PHPUnitTestUtilitiesTest.php

Still need to fix example files.

Resolved in commit 7d335494f38ad10eaceca56b4372549325aa3085


[MRG] add some gallery pics

add more information and docs to #2!
See image gallery here.

I think this is ready for review and merge!


[AMBARI-23783] Upgraded com.fasterxml.jackson.core:jackson-databind to 2.9.5 due to security concerns

What changes were proposed in this pull request?
We needed to upgrade dependency on com.fasterxml.jackson.core:jackson-databind 2.7.8 to v2.9.5 in Ambari Metrics Collector due to security concerns.
In addition to this I also upgraded com.fasterxml.jackson.core:jackson-core and com.fasterxml.jackson.core:jackson-annotations based on issues found previously in ambari-server due to version mismatch.
How was this patch tested?
Latest unit test results in 'ambari-metrics/ambari-metrics-timelineservice`:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12:54 min
[INFO] Finished at: 2018-05-08T16:39:52+02:00
[INFO] Final Memory: 78M/667M
[INFO] ------------------------------------------------------------------------

Maven's dependency resolution:
HW15069:ambari-metrics-timelineservice smolnar$ mvn dependency:tree -Dincludes=com.fasterxml.jackson.core:jackson-databind -Dverbose=true
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Ambari Metrics Collector <IP_ADDRESS>-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ ambari-metrics-timelineservice ---
[INFO] org.apache.ambari:ambari-metrics-timelineservice:jar:<IP_ADDRESS>-SNAPSHOT
[INFO] \- com.fasterxml.jackson.core:jackson-databind:jar:2.9.5:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.092 s
[INFO] Finished at: 2018-05-08T16:56:51+02:00
[INFO] Final Memory: 60M/1515M
[INFO] ------------------------------------------------------------------------

In addition to this the following integrration test steps were executed:

installed a cluster with AMS
built ambari-metrics/ambari-metrics-timelineservice
stopped Metrics Collector
replace the content of /usr/lib/ambari-metrics-collector with $AMBARI_PROJECT_HOME/ambari/ambari-metrics/ambari-metrics-timelineservice/target/lib/*.jar
started Metrics Collector without any issue; went to Ambari Metrics -> Metrics tab where I can see data

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2180/
Test FAILed.
Test FAILured.

please retest this

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2183/
Test FAILed.
Test FAILured.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/2188/
Test PASSed.


Use<EMAIL_ADDRESS>

See https://github.com/WIPACrepo/wipac-dev-py-dependencies-action/pull/7, waiting for fix


How to generate localization-cues.pickle file using personal dataset, voc style?

As mentioned above.

This repo contains the code to generate the foreground class. Hope it helps.


Add tests of result file content

Fixes #21

@ChrisMaddock I'm now running functional tests of the v2 result writer, which exercise the extension under nunit3-console.exe 3.10 and 3.11.1. However, 3.12.0-beta1 won't load it because of the discrepancy in the version of nunit.engine.api.dll. Did you have a plan for resolving this or will we need to create a breaking version of the extensions as well?

@ChrisMaddock I'm now running functional tests of the v2 result writer, which exercise the extension under nunit3-console.exe 3.10 and 3.11.1. However, 3.12.0-beta1 won't load it because of the discrepancy in the version of nunit.engine.api.dll. Did you have a plan for resolving this or will we need to create a breaking version of the extensions as well?

Hi Charlie - this should be fixed in master. Hoping to release 3.12 over today and tomorrow, should end up testing the extensions manually as part of the process. (Although hopefully something we can automate soon!)

Hi Charlie - this should be fixed in master. Hoping to release 3.12 over today and tomorrow, should end up testing the extensions manually as part of the process. (Although hopefully something we can automate soon!)

@ChrisMaddock I'll see about adding 3.12 to my set of tests of the runner once it's released.

@ChrisMaddock I'll see about adding 3.12 to my set of tests of the runner once it's released.


Created CONTRIBUTOR.md file

Description
Create a CONTRIBUTOR.md file to help developers understand, contribute, and test.

Thank you, @tannerjones4075. Some minor comments!

@puerco: Are you good with merging this?


evaluate format options for learning materials

Previous courses we've taught have used various open formats for learning materials, including Quarto notebooks, Jupyter Notebooks, and RMarkdown notebooks. Other Learning Management Systems might also be of interest. Evaluate and decide on the format for course materials. Candidates:

Quarto Books: https://quarto.org

Examples: Arctic Data Center Scalable Computing Course

Jupyter Books:

EarthLab Fundamentals of Vector Data in Python

The repository for the materials to be built is in https://github.com/cyber2a/cyber2a-course

Some pros and cons of using Quarto or Jupyter Books:
Jupyter Books
Pros

Mature tool with a vast gallery of examples
Easier to migrate content if it's already all in Jupyter Notebooks?

Cons

Version control: solutions to not sync the output to GitHub were not straightforward. In particular, from this discussion in Pangeo forum:

“In this situation, members would look at a notebook wo changing it, but Git would say it was changed and there was a merge conflict due to the XML associated with code output (say plots). These type of merge conflicts don’t arise with qmd files since they are flat ascii.”

(minor) Markdown rendering appearance discrepancy between executing notebooks on a website versus executing same notebook in the JupyterLab UI.

Cool examples
Environmental Data Science Book
Website
Repository
Earth and Environmental Data Science Book
Website
Repository
Quarto Books
Pros

Backed by Posit (formerly RStudio), which works on unifying developments and increasing ease of use.
Quarto source file is a text file (qmd); easy to version control and see changes.
Can also execute and render Jupyter Notebooks: https://quarto.org/docs/tools/jupyter-lab.html

Cons

Downloaded ipynb files can display the outputs if they are included without needing to execute them. But qmd files need to be rendered locally to see outputs.

Cool examples
Python for Data Analysis
Website
Repository
Arctic Data Center Scalable Computing Course
Website
Repository

I also checked out Notion, the LMS Kate suggested. Seems like a great tool for organizing teams and sharing documentation. However, this doesn't seem like the best platform for sharing course content because there is no support for executable code. You can add code in-line and code-style cells using markdown, but there isn't a way to execute cells and render outputs.

Also checked Discourse. This is a platform to create community forums. This seems like a great complement to an online book and, in general, to build the Cyber2A community. An example of how this could look like is the Discourse for the Pangeo community.
I looked through the plugins and this Calendar plugin seems like something we'd want so we can display the dates for the seminar and trainings, but only found this one. But at a closer look it does not seem quite like what we need (since every user can add to it) and it’s only available on the Business plan ($300/month).

@carmengg I added a github action to build the example quarto book that you made and publish it to Github pages anytime someone pushes to the main branch. You can see:

Action: https://github.com/cyber2a/cyber2a-course/actions/workflows/publish-book.yaml
Built book online: https://cyber2a.github.io/cyber2a-course/

We can link the book into the main Cyber2A web page later when it is more mature.  Maybe it would be good to add a "DRAFT" indicator to the title and first page of the book?

@mbjones
Thanks for setting up the GitHub action and deploying it on GitHub pages.
I added the Draft mention in the book and the README for this repo.


Let queued videos play in the same PiP window

Unlike queued playlists on Youtube, which just continue playing in the same PiP window a video ends and the next video starts, video changes on Nebula close the PiP window. It would be nice if the playlist just continued playing in the same PiP window.
I don't know if this is technically feasible, but it would be nice if it was.

It is unfortunately not possible to implement from my side, since I need to change the page. You'd need to ask that from the Nebula team, but since they don't have a queue at all this is probably not on their list.
I guess it would be possible to just update the video stream, but this would mess with a lot of stuff and would be quite complicated. I'll leave this as an enhancement, maybe I can check that in the future.


Refresh Printer Error

Hi, my english is very bad. Sorry.
I Have an error message.
Exception:
MobilerakerException{Missing field: print, parentException: null, parentStack: null}
#0      PrinterBuilder.build (package:common/data/dto/machine/printer.dart:94)
#1      PrinterService.refreshPrinter (package:common/service/moonraker/printer_service.dart:214)

I have Version 2.6.6
So what can I do?

Mainsail.cfg was not includet in the Printer.cfg .
I didnt save it in the past.
So now it works. Thanks for the brainstorming idea that i have look into the Printer.cfg.
Thanks


fatal: manifest 'default.xml' not available??

Okay so I was trying to clone a android recovery and I got a fatal error :
############################################################################################
aqua@aqua-HP-EliteBook-8460p:~/RedWolf$ repo init -u git://github.com/RedWolfRecovery/rw_manifest.git -b rw
Downloading Repo source from https://gerrit.googlesource.com/git-repo
Downloading manifest from git://github.com/RedWolfRecovery/rw_manifest.git
remote: Enumerating objects: 1294, done.
remote: Total 1294 (delta 0), reused 0 (delta 0), pack-reused 1294
fatal: manifest 'default.xml' not available
fatal:  invalid "path": TeamWin/.repo/frameworks/base: bad component: .repo
#############################################################################################
How do I solve this?

@friendlymaninthisworld, the error is in the manifest you are trying to use.
IIRC, you can't have .repo in path since this directory is used by git-repo internally. Manifest author should choose another path, without .repo.
Also, looks like you use original Google git-repo version. It has its own bug tracker, you should report your issues there.

For an explination, I :
"git clone https://android.googlesource.com/tools/repo"
the I used
"repo init" in the folder


cadence-proxy cannot communicate with .NET client for multiple processes

At Loopie we were trying to debug a workflow by running two separate workflows in different instances of Visual Studio. The first instance was running the CadenceFixture as well as some other workflows, and was working fine.
When starting the second workflow in a different window, it looks like the .NET side can reach the cadence-proxy ok, but the cadence proxy cannot reach the .NET side with a response.

This is probably going to be an issue for Temporal as well (at least until we do in-process communication with the proxy.

This sounds a lot like a problem I was having when I first tried to have one program running a workflow and requesting an activity to be performed by another program running in a Visual Studio debug session.
The workaround that I came up with was to copy the cadence-proxy.exe from one of the build folders into a new folder then used a command prompt to just run it; so it ends up sitting there like
G:\Temporal>cadence-proxy.exe
Mar 29 11:20:40 INFO    server          Server Details  {"Address": "<IP_ADDRESS>:5000", "ProcessId": 36288}
Then for both programs I added
BinaryPath = "G:\Temporal\cadence-proxy.exe"
to CadenceSettings
After that my programs worked, as long as I had remembered to start cadence-proxy.exe in its own command prompt anyway.
As an aside, also discovered that any NuGet package Microsoft.Extensions.* versions 5.0.0+ broke my programs. Currently using version 3.1.13 of the packages with no issues.

@iain-cyborn sorry this did not work for you out of the box but nice workaround! Is this a blocking issue for you?
I ask because at the moment we are shifting from a Cadence .NET client to a Temporal .NET client so we will be focusing on Temporal development efforts going forward.  We plan to switch from a separate proxy process to an in-process proxy solution for Temporal.  This will eliminate the need for 2 separate processes to communicate over the network and will mitigate the issue that we are seeing.
That being said, we want to make sure that we continue to support our users going forward so if this is an issue that is significantly impacting your experience using our library let us know and we will make sure to spin up a fix.

@jack: I suspect that we'll see the same issue with Temporal since this all basically works the same way.
I'm looking at this now.  I'm wondering if this is a race condition where:

The CadenceClient constructor starts the HTTP listener used by the proxy to send messages to the client.
The listener maybe does some kind of lazy start, so it's not actually guaranteed to be ready immediately
CadenceClient.ConnectAsync() is called, which starts the proxy
CadenceClient.ConnectAsync() sends the InitializeRequest to the proxy with the port the client is listening on.
The proxy attempts to send InitializeReply back to the client, and this fails because the listener is not ready.

So if steps 3 & 4 happened quickly enough, the client's listener may still may be not ready.  The first time the a connection is established, we extract the proxy exe from an embedded resource and write it to disk.  Perhaps this takes long enough such that the listener is ready most if the time.  For the second connection, the proxy exe will already be on disk and will be locked because and instance of the proxy is running, so we won't extract the binary again which will be a bit faster, giving the listener less time to initialize.
Loopie is actually reporting this as a problem as well, now in a pod where there's only one connection.
I'm going to try adding a check at the end client listener's constructor to ensure that the listener is able to accept requests before returning.

@johncburns1: What sort of error were to seeing in the proxy when you looked at this?

I bet that this is some sort of race condition because point of failure is inconsistent.  The error happens when trying to send log requests back to .NET client.  The only traceable failure is an EOF error of http.Client.Do() on the proxy side, generally meaning that the connection was dropped or not established.  Looked into this a bit some suggested a rate limiting issue, but I doubt this is the case.
I am wondering why this issue is surfacing now especially in one connection case.

OK, I finally got the actual error from Marcus:
[2021-03-30T03:34:03.118+00:00] [CRITICAL] [version:unknown] [module:cadence-proxy] [index:8] Put http://<IP_ADDRESS>:43323/: EOF
[2021-03-30T03:34:03.132+00:00] [CRITICAL] [version:unknown] [module:cadence-proxy] [index:9] Put http://<IP_ADDRESS>:43323/: EOF
[2021-03-30T03:34:03.138+00:00] [CRITICAL] [version:unknown] [module:cadence-proxy] [index:10] Put http://<IP_ADDRESS>:43323/: EOF
[2021-03-30T03:34:03.269+00:00] [CRITICAL] [version:unknown] [module:Neon.Cadence.CadenceClient] [index:11] System.Net.Http.HttpRequestException: Connection refused\n ---> System.Net.Sockets.SocketException (111): Connection refused\n   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)\n   --- End of inner exception stack trace ---\n   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)\n   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)\n   at Neon.Cadence.CadenceExtensions.SendRequestAsync[TRequest](HttpClient client, TRequest request)\n   at Neon.Cadence.CadenceClient.CallProxyAsync(ProxyRequest request, TimeSpan timeout, CancellationToken cancellationToken)
[2021-03-30T03:34:03.285+00:00] [CRITICAL] [version:unknown] [module:Neon.Cadence.CadenceClient] [index:12] System.Net.Http.HttpRequestException: Connection refused\n ---> System.Net.Sockets.SocketException (111): Connection refused\n   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)\n   --- End of inner exception stack trace ---\n   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)\n   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)\n   at Neon.Cadence.CadenceExtensions.SendRequestAsync[TRequest](HttpClient client, TRequest request)\n   at Neon.Cadence.CadenceClient.CallProxyAsync(ProxyRequest request, TimeSpan timeout, CancellationToken cancellationToken)
[2021-03-30T03:34:03.999+00:00] [CRITICAL] [version:unknown] [index:13] Cadence Client connection closed. Exiting.

OK, I finally got the actual error from Marcus:
[2021-03-30T03:34:03.118+00:00] [CRITICAL] [version:unknown] [module:cadence-proxy] [index:8] Put http://<IP_ADDRESS>:43323/: EOF
[2021-03-30T03:34:03.132+00:00] [CRITICAL] [version:unknown] [module:cadence-proxy] [index:9] Put http://<IP_ADDRESS>:43323/: EOF
[2021-03-30T03:34:03.138+00:00] [CRITICAL] [version:unknown] [module:cadence-proxy] [index:10] Put http://<IP_ADDRESS>:43323/: EOF
[2021-03-30T03:34:03.269+00:00] [CRITICAL] [version:unknown] [module:Neon.Cadence.CadenceClient] [index:11] System.Net.Http.HttpRequestException: Connection refused\n ---> System.Net.Sockets.SocketException (111): Connection refused\n   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)\n   --- End of inner exception stack trace ---\n   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)\n   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)\n   at Neon.Cadence.CadenceExtensions.SendRequestAsync[TRequest](HttpClient client, TRequest request)\n   at Neon.Cadence.CadenceClient.CallProxyAsync(ProxyRequest request, TimeSpan timeout, CancellationToken cancellationToken)
[2021-03-30T03:34:03.285+00:00] [CRITICAL] [version:unknown] [module:Neon.Cadence.CadenceClient] [index:12] System.Net.Http.HttpRequestException: Connection refused\n ---> System.Net.Sockets.SocketException (111): Connection refused\n   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)\n   --- End of inner exception stack trace ---\n   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)\n   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)\n   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)\n   at Neon.Cadence.CadenceExtensions.SendRequestAsync[TRequest](HttpClient client, TRequest request)\n   at Neon.Cadence.CadenceClient.CallProxyAsync(ProxyRequest request, TimeSpan timeout, CancellationToken cancellationToken)
[2021-03-30T03:34:03.999+00:00] [CRITICAL] [version:unknown] [index:13] Cadence Client connection closed. Exiting.

Haha nice.  Yup that's the one.

I'm adding some code to ensure that the client's HTTP listener is actually able to handle requests and running the unit tests now.  Then we'll give Loopie a private build to test and if that works, I'll add the code to Temporal and do a public neonLIBRARY release.

After poking around with for a few hours, I think that @iain-cyborn may be right about the v5.0.0 package incompatibility issues:
https://github.com/dotnet/aspnetcore/issues/28098
I'm going try reverting all of the Microsoft.Extensions.* packages to v1.13.1 and I'm also going to revert all of the unit tests to netcoreapp3.1.  I'll bet having the tests building as .NET 5.0 is why we weren't seeing these problems there.

Looks like  @iain-cyborn wins the gold star!  Downgrading these packages appears to work.
It's getting late tonight.  I'm going to start a unit test run and then publish the packages to nuget.org in the morning if things look good.

@johncburns1 no, not a blocking issue. I develop with Visual Studio on a Windows PC but we run the final builds on Linux. The proxy issues I described only happened in Windows on my PC. The Linux side has apparently been fine but by that point things are also usually in containers.

I just published the neonLIBRARY v2.13.0 packages with this fix.
This (https://github.com/dotnet/aspnetcore/issues/28098) seems like kind of a big issue for MSFT.  Apparently, they're not really testing that the new v5.0.0 Microsoft.Extensions.* work when deployed with .NET Core 3.1 apps but presumably they are testing the other way, that v3.13.1 of these packages work with .NET 5.0.
The problem is that NuGet suggests these package upgrades and there's no warning that it won't work.  This is really strange in our case, because the Neon.Cadence package targets NETStandard2.0 but having it include these v5.0.0 packages means that our package is apparently not compatible with .NET Core 3.1 anymore.


Enhancement: show Transaction Details.

It would be usefull if the App shows the Transaction Details like the page of the hrvesting details. The Infos could be shown on an extra Page if the User tabs on an Transaction

Its already there, you just have to slide the TX to the side :)


halborn audit fixes

@reddyismav It's not compiling. Can you check?

There is an error in the Rlp reader. Checking.

Hi folks! in order to keep compatibility with multiple projects still using Solidity 0.6  0.7 versions. Can you replace the pragma with pragma solidity >=0.6.0 <0.8.0; create an npm version like<EMAIL_ADDRESS>and then create the 0.8 version?

@nachomazzara okay .. will do it. Thanks for bringing this up


Can't play music - Can't join

So i've got everything setup as per the guide, hosting on a linux box, bot invited to the server with full permissions, however whenever i try and play a song i get the following:

At a complete loss with what to do now so any advice appreciated.
Cheers

Get me these info:
OS
OS version
ffmpeg version
youtube-dl version
Screenshot of your google console with all enable api

@samdivaio

Ubuntu 14.04.5
ffmpeg version 3.3.2-1~14.04.york1
youtube-dl --version = 2017.07.02

Can you check your bot perms again, or test the bot's music in a new server?

Enable the api and restart the bot and try again

"Can't join" definitely means bot can't join the voice channel for whatever reason. Make sure she has admin perms.

@samdivaio - Have freshly installed the bot, still got the same issue. Will try on another server.
@DaYWhiTe - Those are enabled APIs...
@Kwoth - I've dropped the bot into the same group as me and everything, given it explicit permissions on the voice channel, still no joy. I don't understand, not even got a better error i can show or whatever :/

Created a brand new server and have the exact same issues, so i don't think it's permissions based, not that i did given that i gave it the full set of perms for everything...

Does the console give an error?

@DaYWhiTe yeah i'm actually getting something new in the console i wasn't getting last night:

I think there is not enough authority but it may be related to the server zone. Can you change the server zone and reboot the bot? And try again

@DaYWhiTe Nope, changed from Central EU to Western EU and still the exact same issues, also completely removed all pre-reqs and re-installed the bot however have the same issue, the bot has full permissions on my server and a completely brand new server, this makes absolutely no sense.

I've the same issue, bot join and leave immediately, and i get the same error (broken pipe)

Same problem. Installed ffmpeg by myself and youtube-dl, still not working and console giving same error.

@RustyJuice  Will you give me the link to the bot?

@mantaikas9 I used the bot. The channel goes in but does not open the song. Are you new to the google api key?

Did you try restarting your pc?

My bot is working but its bot is not working.Maybe the server is slow for him to react late and does not work properly

@DaYWhiTe yes I'm new. About server speed, I think it depends on where you live, because the VPS is in my country thus I didn't experience any lag.

To help for debug, the Dockerfile I using https://past.sevenn.fr/?0ef7efd00d1009ee#lpImlgOe0gIIJquuHIyoHk2LdG25U3Yhf1LbDINPisA=
And the file for installing ffmpeg https://past.sevenn.fr/?b28caaadbb0f49b1#n7eN3SgxhsvxI/bKSYSwU50P6EGwrLEJWOn7Lu+wk0g=

link expired

@mantaikas9 where are you from ?

Weird, link work i send it to one of my friend and he can read it, but i repost it to pastbin
https://pastebin.com/mDSp3TRu
https://pastebin.com/bvTXGCGv

Just deployed a fresh box with Ubuntu 16.04 and the bot works fine, same location and all. Strange.

@DaYWhiTe I'm in central Europe, Lithuania to be exact.

I guess it's solved then. You must've messed something up before.


ci: dummy change

Dummy change.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f897215). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master   #13583   +/-   ##
=========================================
  Coverage          ?   52.45%
=========================================
  Files             ?      322
  Lines             ?    46592
  Branches          ?    10768
=========================================
  Hits              ?    24441
  Misses            ?    17246
  Partials          ?     4905

Continue to review full report at Codecov.

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


Added transformers scripts to readme

Description
Include a summary of the changes and the related issue.
Related to: (ClickUp/JIRA task name)

❔ This change

[ ] adds a new feature
[ ] fixes breaking code
[X] is cosmetic (refactoring/reformatting)

✔ Pre-merge checklist
Mark which items have been completed:

[ ] Refactored code (sourcery)
[ ] Tested code locally
[ ] Added code to GitHub tests (notebooks, scripts)
[X] Updated GitHub README

🪝 Run the following to both pre-commit hooks and JupyterLab (turn on format on save)

[ ] Stripped outputs from notebooks - (nbstripout)
[ ] Sorted imports - (isort)
[ ] Formatted code - (back)

📄 Update documentation
Coordinate with @normandy7

[ ] Updated content in the docs
[ ] Added to all relevant docs index pages (e.g., Examples, Integrations intro, Model training index)
[ ] Added to examples README

🧪 Test Configuration

OS:
Python version:
Neptune version:
Affected libraries with version:

✔ Post-merge checklist
These tasks should be done after the code is merged to main. Create a subtask under the main ClickUp task to have these on your radar and share the subtask here.
Post-merge subtask: (ClickUp/JIRA task name)

[ ] Update relevant blogs with impacted code/functionality (Contact @Patrycja-J for the list of blogs)
[ ] Add functionality under the Neptune column of the competitor comparison sheet (Coordinate with @SiddhantSadangi)
[ ] Update integration README (Contact @Patrycja-J)

Thank you @SiddhantSadangi !


test: verify the system tracing functions.

Check below tracing functions:
a. check if tracing system  support operations (thread, ISR, idle thread, etc.)
based on the provided trace data.
b. check if tracing system  support CTF.
c. Check if tracing system producing code when the tracing system is disabled.
methods to check:
a. check the tracing output data in native plaform.
b. check if tracing functions are invoked in qemu plafrom.
Signed-off-by: YouhuaX Zhu<EMAIL_ADDRESS>

this test seems to be inspired by the sample we already have and just verifying the data output and nothing else it seems. Need to rethink about the output data is verified, using native_posix for this is not right. Please use a post process step for this.

sorry, What's your mean about post process step?

Hi guys, thanks for your reviewing, as we discuss, I will use post processing step to handle trace data,  and will submit it on another PR, So close this one.   thanks.


Plugin proposal: DevOps Portal

Repository URL
https://github.com/rbello/jenkins-plugin-devops-portal
New Repository Name
devops-portal-plugin
Description
Bring together all the information about the build and run of your applications into a single dashboard.
GitHub users to have commit permission
@rbello
Jenkins project users to have release permission
rbello
Issue tracker
GitHub issues

Security audit, information and commands
The security team is auditing all the hosting requests, to ensure a better security by default.
This message informs you that the security team was notified about the request and will soon participate in this issue to assist.
The team is usually starting by a quick superficial audit and if it's not sufficient, they are planning a deeper audit.
Commands
Security team only:

/audit-ok => the audit is complete, the hosting can continue :tada:.
/audit-skip => the audit is not necessary, the hosting can continue :tada:.
/audit-required => the superficial audit was not sufficient, a deeper look is necessary :mag:.
/audit-findings => the audit reveals some issues that require corrections :pencil2:.

Anyone:

/audit-review => the findings from the audits were corrected, this command will ping the security team to review the findings :eyes:.
	It's only applicable when the previous audit required changes.

Only one command can be requested per comment.

(automatically generated message)

/hosting re-check

/hosting re-check

We're doing a security audit on your plugin, tracked internally as JENSEC-1938.

Hello @Kevin-CB,
I prepared a new branch where I updated the minimum Java version to 11 and the parent project version to 4.54
I don't want to merge it right now because you are auditing the main branch.
But if you don't mind I can do the merge.

Hello @rbello, we’re able to perform a complete audit on your plugins, and here are our feedbacks:

We’re not sure projectKey is sensitive or not (SonarQualityAuditActivityReporter.java#L25 & SonarQubeCheckPeriodicWork.java#L274), but if it’s, you should implements the Secret field: https://www.jenkins.io/doc/developer/security/secrets/

There are XSS vulnerabilities at BuildDashboard/main.jelly#L84 & BuildDashboard/main.jelly#L88 , you need to escape the variables application and version.
See: https://www.jenkins.io/doc/developer/security/xss-prevention/#escaping-and-localized-expressions

Another XSS with BuildDashboard/main.jelly, you need to restrict href protocol to only allow some predefined schemes (https / http) for example. (It's not exploitable since the button is hidden)

CSRFs at BuildApi.java#L47, RunApi.java#L47 & PluginManagementLink.java#L60-L91 .
Recommendation: https://www.jenkins.io/doc/developer/security/form-validation/#protecting-from-csrf

Per Jenkins project guidelines, SSL/TLS validation must be enabled by default which is not the case here SonarQubeCheckPeriodicWork.java#L293-L294 .
Reference: https://www.jenkins.io/doc/developer/security/misc/#dealing-with-ssltls-connection-issues

You’ve dependencies with known vulnerabilities:

https://nvd.nist.gov/vuln/detail/CVE-2022-3509: devops-portal > org.sonarsource.sonarqube:sonar-ws > com.google.protobuf:protobuf-java
https://nvd.nist.gov/vuln/detail/CVE-2022-3171: devops-portal > org.sonarsource.sonarqube:sonar-ws > com.google.protobuf:protobuf-java
https://nvd.nist.gov/vuln/detail/CVE-2020-29582: devops-portal > org.sonarsource.sonarqube:sonar-ws > com.squareup.okhttp3:okhttp > org.jetbrains.kotlin:kotlin-stdlib
https://nvd.nist.gov/vuln/detail/CVE-2022-3510: devops-portal > org.sonarsource.sonarqube:sonar-ws > com.google.protobuf:protobuf-java

I will let you correct the different findings and ping us when you are done or if you have questions.

/audit-findings

Thank you @Kevin-CB and the team for your very interesting feedback.

projectKey sensitivity: I don't think this information can be considered sensitive. This is typically the artifactId prefixed with the groupId

XSS vulnerabilities / passing values to JavaScript: ok, fixed using data-* attributes

Build dashboard link and javascript function
Run dasboard link and javascript function

XSS vulnerabilities / restrict href protocol: ok, fixed in ArtifactReleaseActivity::isUrlPresent

CSRF / missing crumb:

BuildApi.java: fixed using POST method, and form instead of link
RunApi.java: fixed using POST method and form instead of link
PluginManagementLink.java: fixed by validating crumb

SSL/TLS validation must be enabled by default: ok fixed, added parameter to enable insecure mode (false by default)

Dependencies with known vulnerabilities: all vulnerabilities come from the same dependency (org.sonarsource.sonarqube:sonar-ws) but I use the latests version (<IP_ADDRESS>668)

/audit-review

Hey @rbello,
I have some general feedback for your hosting request:

https://github.com/rbello/jenkins-plugin-devops-portal/blob/main/Jenkinsfile this configuration is unneeded. To build your plugin on the ci.jenkins.io infrastructure, all you need is https://github.com/jenkinsci/archetypes/blob/master/common-files/Jenkinsfile
If you want to release plugin updates automatically, we offer https://www.jenkins.io/doc/developer/publishing/releasing-cd/, which I recommend you to look into once the plugin is hosted. No manual configuration in the Jenkinsfile is needed.
https://github.com/rbello/jenkins-plugin-devops-portal/blob/dbaa068f8d4febd4c955080ebdb22cea3f9266a7/pom.xml#L44-L50 this is obsolete and should be removed. Java level configuration happens in the parent pom, not on a per-plugin basis anymore.
https://github.com/rbello/jenkins-plugin-devops-portal/blob/dbaa068f8d4febd4c955080ebdb22cea3f9266a7/pom.xml#L105 can be removed. The BOM ships the ionicons version.
https://github.com/rbello/jenkins-plugin-devops-portal/blob/dbaa068f8d4febd4c955080ebdb22cea3f9266a7/pom.xml#L120-L133 you can depend on the corresponding Jenkins plugin to prevent shading the dependencies on your own and keep the file size small: https://plugins.jenkins.io/apache-httpcomponents-client-4-api/#dependencies
https://github.com/rbello/jenkins-plugin-devops-portal/blob/dbaa068f8d4febd4c955080ebdb22cea3f9266a7/pom.xml#L140-L144 This dependency appears to be entirely unused.
https://github.com/rbello/jenkins-plugin-devops-portal/blob/dbaa068f8d4febd4c955080ebdb22cea3f9266a7/pom.xml#L150-L159 can be removed. The parent pom already sets these properties.
https://github.com/rbello/jenkins-plugin-devops-portal/blob/dbaa068f8d4febd4c955080ebdb22cea3f9266a7/pom.xml#L180-L217 can be removed. The parent pom covers this part.
https://github.com/rbello/jenkins-plugin-devops-portal/blob/main/release.properties can be deleted. These files are not supposed to be shipped with the repository. They only exist while using the maven release plugin.
https://github.com/rbello/jenkins-plugin-devops-portal/blob/main/CHANGELOG.md is obsolete and not considered by the Jenkins plugin manager. You already have release drafter configured, which you can use to aggregate GitHub releases, which are natively integrated into the Jenkins plugin portal.
Instead of using <l:icon class="symbol-anySymbol plugin-ionicons-api icon-sm"/> I recommend using <l:icon src="symbol-anySymbol plugin-ionicons-api" class="icon-sm"/>. The latter adheres with the documentation how to apply a class to a symbol.
https://github.com/rbello/jenkins-plugin-devops-portal/blob/dbaa068f8d4febd4c955080ebdb22cea3f9266a7/src/main/resources/io/jenkins/plugins/devopsportal/views/BuildDashboard/main.jelly#L657, https://github.com/rbello/jenkins-plugin-devops-portal/blob/dbaa068f8d4febd4c955080ebdb22cea3f9266a7/src/main/resources/io/jenkins/plugins/devopsportal/views/RunDashboard/main.jelly#L228, Instead of using inline scripts, I recommend moving both to dedicated files and loading them via adjuncts, like <st:adjunct includes=path.to.your.js.file>
https://github.com/rbello/jenkins-plugin-devops-portal/blob/dbaa068f8d4febd4c955080ebdb22cea3f9266a7/.github/workflows/release-drafter.yml#L15 you can pin this version to v5 to keep the dependabot noise low.

Hi @NotMyFault,
Thank you for your reply.
Do you have some documentation about st:adjunct ?
I found this paragraph and some samples, but it seems that the includes attribute should contains a kind of package identifier and not a file path ?
<st:adjunct includes="io.jenkins.plugins.prism"/>
<st:adjunct includes="io.jenkins.plugins.jquery3"/>
<st:adjunct includes="lib.form.select.select"/>

NB: in my javascript functions I have translated strings. Does adjunct is compatible with this ?
if (!confirm('${%confirm_delete_version}')) {
        return false;
}

Do you have some documentation about st:adjunct ?

See here: https://www.jenkins.io/doc/developer/security/csp/#inline-javascript-blocks

Hi @NotMyFault,

I replaced the Jenkinsfile with the one provided
I have implemented all of the proposed changes for the pom.xml file. Very big cleaning :)
I have removed unused files: CHANGELOG.md and release.properties
I loaded JS resources with adjunct
I have to keep the import of the kotlin-stdlib-common library because otherwise I encounter a validation problem:

[ERROR] Rule 5: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message:
Failed while enforcing RequireUpperBoundDeps. The error(s) are [
Require upper bound dependencies error for org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 paths to dependency are:
+-io.jenkins.plugins:devops-portal:1.0
  +-org.sonarsource.sonarqube:sonar-ws:<IP_ADDRESS>668
    +-com.squareup.okhttp3:okhttp:4.10.0
      +-com.squareup.okio:okio-jvm:3.0.0
        +-org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31
and
+-io.jenkins.plugins:devops-portal:1.0
  +-org.sonarsource.sonarqube:sonar-ws:<IP_ADDRESS>668
    +-com.squareup.okhttp3:okhttp:4.10.0
      +-org.jetbrains.kotlin:kotlin-stdlib:1.6.20
        +-org.jetbrains.kotlin:kotlin-stdlib-common:1.6.20
]

There are one recomment that I plan to implement in a future version if you agree:

Change on <l:icon> because I have many references to modify

I have to keep the import of the kotlin-stdlib-common library because otherwise I encounter a validation problem:

If you just need the kotlin library to satisfy enforcer and don't depend on it, you may exclude it:
diff --git a/pom.xml b/pom.xml
index f2d3f11..6eccf09 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,15 +113,16 @@
             <artifactId>apache-httpcomponents-client-4-api</artifactId>
         </dependency>
         <!-- Sonar Connector -->
-        <dependency>
-            <groupId>org.jetbrains.kotlin</groupId>
-            <artifactId>kotlin-stdlib-common</artifactId>
-            <version>1.8.0</version>
-        </dependency>
         <dependency>
             <groupId>org.sonarsource.sonarqube</groupId>
             <artifactId>sonar-ws</artifactId>
             <version><IP_ADDRESS>668</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.jetbrains.kotlin</groupId>
+                    <artifactId>kotlin-stdlib-common</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
     </dependencies>

There are one recomment that I plan to implement in a future version if you agree:

Fine with me, I just wrote it down to raise awareness.
Is the sonarqube dependency only needed for tests? If so, I would recommend declaring it that way because the hpi file sizes 10M, rather than ~300K without sonarqube.

Ok I have fixed the pom.xml
No it's not a test dependency unfortunately. I will consider getting rid of it later.

No it's not a test dependency unfortunately. I will consider getting rid of it later.

I see, thanks for considering. 10M to ~300K is a notable difference :)

I quickly checked your pom against the parent pom and figured these lines are obsolete too: https://github.com/rbello/jenkins-plugin-devops-portal/blob/c85e558e6d166c1ae1d4676338208417b4c486fa/pom.xml#L161-L174
That's already covered.
Additionally, you may want to change your version field to 1.0-SNAPSHOT: https://github.com/rbello/jenkins-plugin-devops-portal/blob/c85e558e6d166c1ae1d4676338208417b4c486fa/pom.xml#L12
Typically, -SNAPSHOT is removed during releases only.
https://github.com/rbello/jenkins-plugin-devops-portal/blob/c85e558e6d166c1ae1d4676338208417b4c486fa/.github/release-drafter.yml#L2 should be devops-portal-$NEXT_MINOR_VERSION matching your artifact id.
You may want to point all links from https://github.com/rbello/jenkins-plugin-devops-portal to https://github.com/jenkinsci/devops-portal-plugin in the readme because that's the new target location of the repository.

@NotMyFault
Done

/hosting host


create_db.sh throws exception with a seperate postgresql install

Pastebin from the init db container: https://pastebin.com/apR2TvrV
Pastebin from SQL: https://pastebin.com/68LV3un3
Your postgresql operator works for me. However, when using https://github.com/bitnami/charts/tree/master/bitnami/postgresql I get errors during database creation....
Would it please be possible to get an option to purge everything in the database, before running /galaxy/server/create_db.sh?  If anything happens during install, the db init job will attempt to create the table over and over again. It would be best to clean the database fully before attempting to create anything. It could also be merely optional.
Alternatively, it could be much nicer to start from a SQL dump rather than going through the database init / migrations...

We could add a flag for that. I would personally prefer to keep the default as false as to not increase the possibility of accidental DB deletions, but having the option would definitely be a nice feature.
In the meantime, there are a few options to unblock you:

We have a branch for one of our funded collaborative projects anvil which has the 4.0.0 chart with the old postgresql dependency with the new v4 features. If you don't need some of the later additions from the past few weeks, and if you are running relatively transient instances and it's not a problem to run from a branch in the meantime, that would be an easy out-of-the box option.
You can create the Galaxy database separately, for example with by using an init script and pass it to your separate helm install for the bitnami postresql chart (eg with initdbScriptsSecret), and then run the Galaxy chart with initJob.createDatabase=false so it will expect the database to exist.

Closing this; for now things are working and I think it has the same cause as #303 (restarted jobs)...