a problem after merging a new module for sorting predicted formulas

Basic information

My operating system: Windows10
My MZmine version: MZmine3

What happened
Dear MZmine developer,
This is Kai, again... First, I would like to really thank the MZmine developers for helping me solve several problems. Now I have a new problem. Today I merged a new module for sorting predicted formulas (which was contributed by Robin) in my MZmine3 repository and then cloned this modified MZmine3 to my Eclipse for running. However, when I did the step of formula prediction (by clicking Feature list method/identification/formula prediction) ,it looked that nothing happened and there was no task progress bar running on the screen and finally no predicted formulas were observed. It means that the function of formula prediction did not work. Could you please tell me how to figure it out? I have attached the java codes in the text file.
20191217_codes of formula prediction.txt

@robinschmid Seems like a NPE in the FormulaPredictionPeakListTask constructor.
@kkcau9118 Could you add screenshots of the exact parameter values you used to run the module? Including all the sub-module settings please (like the isotope pattern filter etc.).

@robinschmid Seems like a NPE in the FormulaPredictionPeakListTask constructor.
@kkcau9118 Could you add screenshots of the exact parameter values you used to run the module? Including all the sub-module settings please (like the isotope pattern filter etc.).

Hi,
I just run this module again and it still did not work. Here is the text file of java code and the screenshots (I set the mass tolerance m/z to 0 m/z or 3 ppm, since I prefer to only use the unit of ppm in this step).
20191217_02_codes of formula prediction.txt

Should be now fixed in master

Sorry for the late response. Thanks for fixing it. I have also added the fix to the isotope pattern parameters.

Should be now fixed in master

Hi,
Thanks! So, how can I merge the fixed module of formula prediction into my own MZmine3 master repository?

You need to use git Fetch and Merge. First fetch from the main repository, then merge the master branch to your branch.

You need to use git Fetch and Merge. First fetch from the main repository, then merge the master branch to your branch.

Hi,
I think firstly I need to update this fixed module in my online MZmine3 repository (please see the screenshot), then git Fetch and Merge in Eclipse, right? So, how to update this fixed module in my online MZmine3 repository? Thanks!

You don't need to update your online mzmine3 repository, actually. You just need to add a "remote" in Eclipse that points to the original repository, and then you can fetch from there:

You don't need to update your online mzmine3 repository, actually. You just need to add a "remote" in Eclipse that points to the original repository, and then you can fetch from there:

Hi,
Thanks for the help! Since several modules need to be updated and merged, I decided to clone the newest version of MZmine 3 (from https://github.com/mzmine/mzmine3) to my Eclipse. Then I run this newest MZmine 3 by right-click 'MZmineCore.java', click 'Run as'/'Run configuration',setting the VM arguments as '-Xmx6g -Djava.util.logging.config.file=conf/logging.properties' and working directory as '${workspace_loc:mzmine3_master_20191219/src/main}'. However, I got an error message in the console panel, showing 'Can't load log handler "java.util.logging.FileHandler"
java.nio.file.NoSuchFileException: log\mzmine.log.lck
java.nio.file.NoSuchFileException: log\mzmine.log.lck' (also please see the screenshot'. And after I imported the raw data, there was No data file displaying in the panel of 'Raw data files' (please see the screenshot'.

Sorry for that, I just fixed the raw data files not showing up in https://github.com/mzmine/mzmine3/pull/31. You can ignore the warning about the log files when you run from Eclipse.
Please update your sources again from the main repo and the data import should work fine.

Sorry for that, I just fixed the raw data files not showing up in #31. You can ignore the warning about the log files when you run from Eclipse.
Please update your sources again from the main repo and the data import should work fine.

Hi,
Thanks! it works after I update the fixed sources.


Latest astropy no longer supports Py2. Update CI matrix

Coverage remained the same at 94.904% when pulling 7bce23cb675ee42878a746659f7b083b64899746 on drdavella:astropy-py2 into 6d86f649dcc61b9950ec2ce0c6b28d0c9ed71fc5 on spacetelescope:master.


Modeller now conda-installable

Since Modeller is now conda-installer via the salilab channel, the latest Ensembler release includes this is as a dependency in meta.yaml.
But how do we have conda-build-all use external conda channels? Or should we instead be adding Modeller as a package here in omnia-md/conda-recipes?

I think you add that channel to the conda config.

Ah ok I see now.
A couple of implementation options:

define additional conda channels in conda-build-all and have them all added to the conda config before commencing builds, using the command conda config --add channels https://conda.anaconda.org/salilab

define additional conda channels per package in a newline-separated file named "additional_conda_channels" - the contained URLs would then be added to the conda-build call with the -c flag, for that package only

Any preference?
I think 2 may be best, since it only uses the additional channels for the packages which actually need them, avoiding potential conflicts.

If the end user has the omnia channel but not salilab, won't the installation fail for them?

Why not just add it to the channels available in the jenkins/appveyor machine's config, and leave conda-build-all alone?

Also, you could just copy over the conda packages into our channels (binstar copy)?

The binstar copy approach sounds good, since it also means the end user doesn't have to add the salilab channel.
@jchodera any thoughts? I don't have access to the jenkins/appveyor config myself.

I can add you to the anaconda.org/binstar.org organization what's your username?

dannyparton
Thanks!

done

Ok, that seems to have worked - thanks! Submitting PR with new Ensembler meta.yaml now.


Template lacks quotes for ldap_filter

The ldap_filter (conf/ejabberd.yml.tpl line 173) in the ejabberd config template should be enclosed in quotes, same as the ldap_base in line 163. This can be circumvented by adding the quotes into the environment variable, but this is inconsistent with the handling of the other variables.

Thx!


error in SENet_Keras.py

Hi Wei Li. Thanks for sharing this great code! I learn a lot from it.
I found two error in SENet_Keras.py:
1, in line 77, you use y = add_common_layer(y). add_common_layer include  BN and relu. from the office code https://github.com/hujie-frank/SENet. We can see at the end of resnet block, it is just BN. And you use a relu before the se-block. It's not intuitive. So in line 77. y = BatchNormalization(momentum=0.9, epsilon=1e-5)(y).
2, in line 48, you define the global variable inplanes. But you change the value of inplances in residual_layer. So you should define the global variable inplanes in residual_layer(line 89). You can visualize the current model structure. In each shortcut branch,there is a conv+bn.
Thanks again for sharing！

@yao-ying thanks for your issue.
There are some errors in these codes since I have no more time to double check.
I hope you create a PR if you can.
Thanks again.


Upload the initialization code of TAU-Design-Editor

[Issue] N/A
[Problme] N/A
[Solution] Upload the initialization code of TAU-Design-Editor
Signed-off-by: cookie<EMAIL_ADDRESS>

Please fix typo in commit message [Problme] --> [Problem]


Fresh app router error

Using node 6.9.1

Closing for now - @knownasilya feel free to reopen if you can reproduce, but this should be resolved in latest


BrowserWindow setProgressBar Indeterminate not working on Win 7

Hi,
I have trouble making my app to show the 'indeterminate' progress bar in the taskbar, using:
mainWindow.setProgressBar(2);

Unfortunately, the taskbar deosn't show the animated 'Indeterminate' green progress bar.
My OS is Windows 7 64bit.

It seems to work on a fresh installed 32bit Windows 7 provided by modern.IE.

It seems to come from my computer, I tested on my laptop running Win 8.1 64 bits and it works fine. I will try to find a program not being related to electron and having a indeterminate progress state to confirm that.


Section does not apply aria label

Provide a general summary of the issue here
I was following the steps laid out in https://react-spectrum.adobe.com/react-aria/Menu.html#section and added an aria-label to the section, but this label is not actually applied to the dom.
🤔 Expected Behavior?
I would expect the aria-label that was handed into the Section to be applied to the dom
😯 Current Behavior
The aria-label that was handed into the Section is not applied to the dom
💁 Possible Solution
No response
🔦 Context
No response
🖥 Steps to Reproduce
https://codesandbox.io/p/sandbox/magical-sun-fty327
Version
3.31.0
What browsers are you seeing the problem on?
Firefox, Chrome
If other, please specify.
No response
What operating system are you using?
Mac
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response

Thanks for reporting this, it looks like this line has a typo
https://github.com/adobe/react-spectrum/blob/b77d7d594dff4dcfb5359bffbcfd18142b146433/packages/react-aria-components/src/Menu.tsx#L232
'aria-label': section['aria-label'] ?? undefined
// should be
'aria-label': section.props['aria-label'] ?? undefined


0895414960190

What steps will reproduce the problem?
What is the expected result?
What do you get instead?
Additional info

Q
A

Yii version
2.0.?

PHP version

Operating system

9eowjej3benneneejeieooe

Uwueiwieiejejejnee
Uploading yii-docs-2.0-en.tar.gz…

Uploading yii-docs-2.0-en.tar.gz…


add ignore check spelling for music format

Signed-off-by: tkhmy<EMAIL_ADDRESS>
Add ignore the music file: *.wav, *.mp3, *.m4a

Thanks!


Create a GitHub Action to run ORT from PRs

By leveraging the Action Toolkit, we should create a GitHub Action to run ORT as part of PR checks.
Some related projects:

https://github.com/boschcrank/ort-scan-test/blob/master/.github/workflows/build.yml
https://github.com/philips-software/spdx-action
https://github.com/alliander-opensource/license-scan-action
https://github.com/mmurto/ort-demo/blob/master/.github/workflows/ort.yml

Quite strongly related to https://github.com/oss-review-toolkit/ort/issues/1029.

Quite strongly related to https://github.com/oss-review-toolkit/ort/issues/1029.

Related project: https://github.com/philips-software/spdx-action

Related project: https://github.com/philips-software/spdx-action

However, I believe a GitHub action should not create SPDX, but SARIF, and use the GitHub API to upload it.

@sschuberth I was confused by your comment on SARIF. I only knew of SPDX and never heard of SARIF. But if I understand you correctly, by adopting SARIF for GitHub Actions, GitHub will be able to interpret and represent the results? Similar to how GitLab can interpret the license scanning results as demonstrated in the linked video: https://www.youtube.com/watch?v=dNmH_kYJ34g Right? In that case I see the benefit for SARIF. Personally I'd still like SPDX for reference and archival, but SARIF will be more helpful for developers 'living' in GitHub :smile:

I only knew of SPDX and never heard of SARIF. But if I understand you correctly, by adopting SARIF for GitHub Actions, GitHub will be able to interpret and represent the results?

Correct. However, the way GitHub displays results from SARIF is by inline code comments. And it's a bit questionable to which line of your code e.g. a "problematic" license finding in a transitive dependency should be attached to. So there are still open "workflow" questions, and / or whether the SARIF output format it really suitable for the type of findings ORT provides.

From my initial setup at Alliander I started developing a more reusable action: https://github.com/alliander-opensource/license-scan-action At the moment I'm reworking it from a 'composite step' into a 'Docker compose step' which makes it easier to supply all sorts of environment variables: https://github.com/alliander-opensource/license-scan-action/pull/9
@tsteenbe suggested to create a separate git repository under the ORT organization as a home for an official ORT action. I'd happily contribute my existing code for that purpose. I'm interested what you think about the current setup and the idea of starting an official GitHub Action repository.

@nicorikken Yes, I suggest we setup say a https://github.com/oss-review-toolkit/ort-gh-action with the aim to publish it eventually to GitHub action Marketplace
If we still don't want to publish an ORT Docker image, could use a vanilla Ubuntu images, download the compiled JARs from JitPack and install any other packages we need on the fly?
Related to this issue: @mmurto also created his own GitHub action see https://github.com/mmurto/ort-demo/blob/master/.github/workflows/ort.yml

However, I believe a GitHub action should not create SPDX, but SARIF, and use the GitHub API to upload it.

I actually would like the ORT action to be able to output SPDX - highly desired feature within the SBOM community I am part of.

@nicorikken Yes, I suggest we setup something like https://github.com/oss-review-toolkit/ort-action with the aim to publish it eventually to GitHub action Marketplace

This sounds really good, also the simple name of the repository itself.

If we still don't want to publish an ORT Docker image, could use a vanilla Ubuntu images, download the compiled JARs from JitPack and install any other packages we need on the fly?

This is possible, and is actually the approach of @boschcrank in https://github.com/boschcrank/oss-review-toolkit as mentioned above. In that repository the ORT code is duplicated and the action.yml is added. I dislike the option of duplicated code from a maintenance point of view, but perhaps we can work around that with a git submodule. For this usecase I think a provided ORT container makes the most sense in startup-time and code maintainability.

Related to this issue: @mmurto also created his own GitHub action see https://github.com/mmurto/ort-demo/blob/master/.github/workflows/ort.yml

Good to link it here. It was shared on Slack and I looked into it. Although I was using a similar setup on my first attempts, I don't think it is flexible. Command flags are used for configuration like the rules.kts which would require some more Action step inputs to handle different cases. Also with it being a Composite step all environment variables have to be passed explicitly, which makes it hard to support all sorts of use-cases. I think the transition to a Docker container Action solves both theses issues, but perhaps I'm missing something. My experience with GitHub Actions is still limited.

Good initiative!
I haven't dug that deep into GitHub Actions to know whether it's possible or easy, but I think for the used Docker image it would be great to have some default image (maybe the Philips one, maybe ORT publishes an official one at some point) but give the option to override it with some flag. I believe that would give the lowest barrier of entry to new projects as the default would often be enough, but I've had projects where pretty heavy modification of the image is necessary, so making that possible would be great.

Good news for sharing such a GitHub Action in your enterprise: https://github.blog/changelog/2022-03-04-sharing-github-actions-within-your-enterprise-is-now-ga/

Another ORT action https://github.com/edulix/ort-action.

As discussed in the community meeting, https://github.com/oss-review-toolkit/ort-ci-github-action is public and @tsteenbe asks for testing it to provide feedback.

I'm closing this in favor of tracking issues specific to the GitHub Action at the project itself.


255 database persist process values

Not sure this should be merged yet (therefore draft PR). But if you care to look at it.
This is made for SQLAlchemy 2.0, but pydantic 1.x. There's some stuff that will change with Pydantic 2.x. We should consider when we will do the upgrade.
There's some type-related stuff with Pydantic I'm worried about. Specifically the way it type coerces.
The 5 second delay between persistsing process values is hardcoded in this PR, and should probably be pulled to some configuration.

Generally it looks good but there are some issues we need to think about.

Session management. I'm not too keen on including the session in the aggregator dispatcher interface. I would rather keep it local to aggregator and aggregator messsage handler, possibly by using the "ambient session" dependency pattern.
Pydantic version. We need to consider upgrading to ver 2.x to avoid the issues you mention. It is a big change so we'll need to investigate and plan it. For one thing, it is bound to have a large impact on router end points and the models they use.

I didn't want to include the db session so many places, but I couldn't find another way to make it live per fastapi request without using their Depends() method, which seems to only work in the router-registered endpoint method. Every example I could find did it this way, and SQLAlchemy suggests using the web server framework-provided integration when you have one.
What is this "ambient session"? I can't find anything about it regarding SQLAlchemy or FastApi.

Pydantic version: You think we should upgrade before merging this, or after?

create_db usage: We agreed to just drop and recreate the db on every startup, until we introduce migrations. Currently, I just have a .drop_all() call inside create_db()

Yea, I thought we had agreed on a run_id (avoiding the batch terminology) or similar. Or maybe it was just me agreeing with myself and my notes.


Investigate effects to multiple pipeline runs in parallel

Observe and document behavior with regards to different tasks when there are parallel runs happening.

Experiment 1 : I ran two build-deploy-pl pipelineruns in parallel for the 0-6-0 stacks nodejs-express and java-microprofile.
Result: Both the pipelinerun completed successfully within 20 to 25 min and i could access both deployed appsody applications from the browser. Did not got any errors from start to end.

Experiment 2:
we ran 3 build-deploy-pl pipelinerun for same github project of the stack Java-Mircoprofile.
The pipeline p1, which was started first ran along with other parallel pipelines p2 and p3 and it only completed publishing its container image to dockerhub after p2 and p3 published their images.
As a result the p1 pipeline which published the image in docker hub last was deployed correctly at the end and we verified that from the browser.
We saw two pods for the deployment of the java-microprofile, however the 1/1 running pod was related to the application from pipeline p1.
java-microprofile-0-2-21-6d6469df96-z6fvb                         1/1     Running            0          34m
java-microprofile-0-2-21-7847cddd5b-bm7c4                         0/1     CrashLoopBackOff   13         32m

Second data point we found that when we ran these 3 pipelinerun parallely for the Java-Microprofile, it took almost 3x time it takes usually to run single build-deploy-pl pipelinerun.
NAME                               SUCCEEDED   REASON      STARTTIME   COMPLETIONTIME
test53-build-deploy-pl-run-7rtk4   True        Succeeded   24m
test53-build-deploy-pl-run-8jq8c   True        Succeeded   26m
test53-build-deploy-pl-run-h5j96   True        Succeeded   28m

Investigate after we ship eventing framework and might be potentially addressed by the GitOps work.

Lets put this on pause until we deliver basic pipelines based on eventing on 0.8.0


get all dialogs !

hi as we spoked you can add the ability to read all dialogs not first 100 dialogs
tnx for your time

Just a suggestion, try to word your issues better a next time.


Debug test_isinf_negative_cpu and test_isinf_positive_cpu backend tests

These two tests are currently failing, so they are commented out for now. Will further investigate why these tests fail but test_isinf passes just fine.

PR merged as of today.... so closing this out. Thanks


Spec compliance when converting HTTP/2 request to HTTP/1.1

Consider making "header_upstream Host {host}" the default setting for proxy.
I have the following setup:
Web Browser  --- HTTP/2 -->  Caddy as reverse proxy  --- HTTP/1.1 -->  Node.js
The way it currently works regarding to the Host header is the following:

The browser sends the :authority pseudo header, but not the Host header.
Caddy
2.1 ignores the :authority pseudo header
2.2 creates a Host header with the value of the address of my Node.js server.

This is what the HTTP/2 spec says about the :authority header:

An intermediary that converts an HTTP/2 request to HTTP/1.1 MUST create a Host header field if one is not present in a request by copying the value of the ":authority" pseudo-header field.

In order to make Caddy to copy the value of the :authority header, one has explicitly tell Caddy to do so, either with the preset transparent or by using "header_upstream Host {host}". Because of copying the value of :authority header in the absence of a Host header is required by the spec, I'd argue, that Caddy should do it automatically, without any additional configuration.
Please find the relevant discussion on the forum as well.

Cool, thanks. To clarify, this isn't necessarily so much about spec compliance as it is about whether transparent should be the default setting for proxying.

Can we think of any reason transparent shouldn't be the default setting? I can't see any downside, and they can obviously still be overridden if this behaviour is not desired (which I think would be far less frequently than it is desired).

I for one like it when transparent is off by default. I almost never use it. Case in point: https://twitter.com/mholt6/status/858356637937016832
IMO, it's also nice to be transparent (i.e. self-reporting) about being transparent. :wink:
And, in my experience, the only upstreams that require the host name to be rewritten are those apps which redirect seemingly unnecessarily (i.e. they could be using host-relative paths, like /path, instead of the full URL).
This is just my opinion/preference. I'm not opposed to a change, but the transparent preset is so nice and elegant. An inverse solution that is equally nice and elegant would have to be found if we make a change. (Also, transparent does change more than just the Host header; might be worth considering the scope of this discussion. I guess originally it's just about the Host header, but if you're passing it through, being a good netizen requires setting those other headers too.)

I'm of the mind that because transparent is a preset this shouldn't be defaulted. Let me explain further.
We use the presets to provide a group of proxy configuration. Changing this to be an inverse relationship in this instance goes against the other directives that have the preset style of configuration. Perhaps simply fixing this 'bug' where HTTP/2 is proxying to HTTP/1.1 that should include the Host header to match spec would be good. But further changes to make a 'inverse preset' might do more harm than good.


can only convert mp4 to mp4

I tried to convert a whole bunch of different stuff on android, and they all failed except mp4. which does not help, because it is mp4 already. Maybe I should put this elsewhere because it is the converter that is actually failing.
You can try the videos I did here:
https://cinelerra-cv.org/footage.php
and
http://techslides.com/sample-webm-ogg-and-mp4-video-files-for-html5
here is the errors i got from them:
java.io.IOException: Failed to instantiate extractor.
java.lang.IllegalArgumentException: extractor does not contain video and/or audio tracks.
net.ypresto.androidtranscoder.engine.InvalidOutputFormatException: Audio codecs other than AAC is not supported, actual mime type: audio/3gpp

Note: Originally this library is intended to shrink high resolution mp4 to lower resolution appropriate for upload.
Your video file contains "audio/3gpp", perhaps it is AMR, is not suitable for mp4 container.
You can specify audio bitrate and enforce transcoding to AAC in this library, while default is passthrough and no audio transcoding is happen.

Hi, I am getting this issue too. How to enforce transcoding to use AAC in this library?

The file I am trying has audio/eac3 as a first track and audio/mp4a-latm second.

@pravinpatil83 You can use Android720pFormatStrategy() and pass audio bitrate to enforce audio transcoding.

mp4 can contain the AMR audio.
MediaStore.EXTRA_VIDEO_QUALITY is 0, i got the mp4 file which contains AMR audio.

@ypresto how to know optimal audio bitrate?


Make CPU features optional

Since AVX was introduced there was some issues with running on Mac with qemu (it didnt work).
This PR makes vmrunner have a default config that's installed in includeos/vmrunner/vm.default.json. This can be edited to your own liking. Additional local vm.json will extend and override any duplicate entry (it has higher priority).
I also had to add an CMake option to build IncludeOS different (without AVX etc), and called this cpu_feat_vanilla which is by default ON. This also determine which default vm config that should be installed.

jenkins test please

jenkins test please


Make OTEL work with old RHEL6? Cannot unmarshal !!str SPLUNK_...

Hi!
Hello I am working for a client that has some older infra still on Red Hat 6 (to be changed but this is not on my side and could happen far into the future). Kernel 2.6.32 (around that). We need to connect these machines to Splunk Observability Cloud! Managed to overcome installation issues (via service script, I have applied some cheats here and there) and got RPM installed as you can see.
[root@RHEL6 ~]# rpm -q splunk-otel-collector splunk-otel-collector-0.46.0-1.x86_64
But default conf was not created (by the installation .sh script) so I copied the same files from RHEL7 (all the files needed are present).
[root@localhost ~]# /usr/bin/otelcol --config /etc/otel/collector/splunk-otel-collector.conf 2022/03/18 06:07:28 main.go:263: Set config to /etc/otel/collector/splunk-otel-collector.conf 2022/03/18 06:07:28 main.go:346: Set ballast to 168 MiB 2022/03/18 06:07:28 main.go:360: Set memory limit to 460 MiB Error: failed to get config: cannot retrieve the configuration: unable to parse yaml: yaml: unmarshal errors:   line 1: cannot unmarshal !!str SPLUNK_...into map[string]interface {} 2022/03/18 06:07:28 main.go:130: application run finished with error: failed to get config: cannot retrieve the configuration: unable to parse yaml: yaml: unmarshal errors:   line 1: cannot unmarshal !!strSPLUNK_...` into map[string]interface {}
[root@localhost ~]# go version
go version go1.18 linux/amd64`
So all the files are in place, they look same as the ones on working system, file is read for sure as "SPLUNK_" is the first value in the .conf (just proof that all the values, masked here for security of course, are in place). Any hope we can have a workaround for this? I think I am close to running that connector on this machine ;-)
[root@localhost ~]# head /etc/otel/collector/splunk-otel-collector.conf SPLUNK_CONFIG=/etc/otel/collector/agent_config.yaml SPLUNK_ACCESS_TOKEN=******* SPLUNK_REALM=us0 <and so on>
Any ideas how to overcome mapping those values properly? I dont know if other problems will not show in the next steps but I have to try. I know and acknowledge RHEL6 is not supported but the binary looks like launching and I have high hopes.
I have already tested "Smart Agent" to have plan B (and this works but will become obsolete in late 2022).
TIA!

@KrzysztofITPL it appears you're trying to use the systemd environment file as the actual collector configuration: https://opentelemetry.io/docs/collector/configuration/. While I'm not sure we can guarantee support for your OS, if your system is capable of running go 1.18 that's a good sign that it would be functional.
Our bundled gateway collector configuration is here: https://github.com/signalfx/splunk-otel-collector/blob/main/cmd/otelcol/config/collector/gateway_config.yaml

@KrzysztofITPL  is this still an issue? can we close this?

Closing this issue for inactivity. Please reopen if this is still occurring.


nil pointer dereference error from tokenizer library from within fastembed-go

I faced a nil pointer dereference error in tokenizer library when it was being used in a downstream library called fastembed-go and have reported the issue at https://github.com/Anush008/fastembed-go/issues/13
Cross posting here in case this is a known issue with a known workaround.

The error message / stack trace I got seems to indicate that this is a duplicate of https://github.com/sugarme/tokenizer/issues/37 which has been fixed in June 2024. Let me investigate some more, hopefully this item can then be closed as a duplicate

Since there was a similar issue reported (and closed via a code change / PR) on the tokenizer side I just forked both tokenizer and fastemebed-go and published the latest master / main branch and used them as dependency, and the error is gone.
Perhaps all that's needed to be done is to publish the latest versions of both?

@alkuma ,
Thanks for your report.


news: Accept first customers

With the recent reorganisation of the blog posts, can you move this file to: src/blog/2022/04/flowforge-accepting-customers.md ... although you may want to do that after resolving any items on the content as I don't know how GH copes with review commends on moved files...


Trello For CoManga

Checkout All The Upcoming Features And Work In Progress On Trello.
Trello Link : https://trello.com/b/z4EFWGm4/comanga
P.S: If you have any suggestions/requests for features, feel free to drop them below in the comments.

Hi,
First, thx for your great job on CoManga.
It would be great to use chapter name as downloaded folder instead of the index number.


Package name in messages declarations

My .proto file declares a few messages and a package statement at the top. Generating the code using protoc-gen-swift plugin yields an interesting results of messages named with underscore-separated mention of the package name e.g. Com_Assburgers_SomeMessage.
How could I possibly get rid of the package's name substring and make it generate only SomeMessage declaration?
iOS 11+
Xcode 10.2.1
Build version 10E1001
Swift 4.2
protoc-gen-swift 1.3.1

Warning - removing the package means you are more likely to have conflicts with other .proto files because your names might not be unique.
To control it, use the swift_prefix option - https://github.com/apple/swift-protobuf/blob/master/Documentation/API.md#generated-struct-name

@thomasvl so could I theoretically set it to an empty string - and thus have the-- name without package?

lol I did try exactly that and it worked!
option swift_prefix = "";

Thank you @thomasvl


Latest version of Razzle inserting a /:PORT/ segment into the URL breaking HMR on reverse proxied app.

🐛 Bug report
Current Behavior
I am trying to run razzle app behind an nginx reverse proxy. Razzle is inserting a /:PORT/ section inthe URL breaking HMR. The following settings worked without additional plugins in an earlier version of Razzle ("razzle": "^3.0.0") but the exact same config is now inserting a /:PORT/ in the URL address.
e.g.
https://razzle.syntapse.co.uk/myapp/webpack/:3001/sockjs-node/info?t=1596182701927
settings:
.env
PUBLIC_PATH='https://razzle.syntapse.co.uk/myapp/'
CLIENT_PUBLIC_PATH='https://razzle.syntapse.co.uk/myapp/webpack/'
PORT=3000

razzle.config.js (working as expected in earlier Razzle version)
module.exports = {
  modify(config, { target, dev }, webpack) {
    console.log(config);
    const appConfig = config;
    if ( target==='web' && dev ) {
      appConfig.devServer.sockHost = "razzle.syntapse.co.uk/myapp/webpack/";
      appConfig.devServer.sockPath = "/sockjs-node/";
    }
    return appConfig;
  },
};

The nginx configuration is consistent between the older working version and the latest version:
    location ^~ /myapp/webpack/ {
        proxy_pass http://<IP_ADDRESS>:3001/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    location ^~ /myapp/ {
        proxy_pass http://<IP_ADDRESS>:3000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

Expected behavior
The socket query should not explicitly contain the PORT reference. The Correct URL returning meaningful data is:
https://razzle.syntapse.co.uk/latest-dev/webpack/sockjs-node/info?t=1596182701927
Note exclusion of the port
Reproducible example
work in progress.
Suggested solution(s)
remove the extra /:PORT/ segment of the URL.
Additional context

Your environment

Software
Version(s)

Razzle
"razzle": "^3.1.6",

Razzle Plugins
none

Node
12.13.1

Browser
chrome latest

npm/Yarn
1.21.1

Operating System
linux debian

TypeScript
n/a

React
"react": "^16.13.1",

"react-dom": "^16.13.1",
"react-router-dom": "^5.2.0"

https://github.com/jaredpalmer/razzle/tree/canary/examples/with-single-exposed-port

thanks i dont understand how i can use this information to remove the /:PORT/ from the URL. Its presence looks like an error as i haven't specified that i want it anywhere (and it doesnt apppear in earlier build of Razzle).
The URL is correct without the /:PORT/ section. Do I use proxy to remove it?

I think so. :)

Still looks like a bug. It doesnt look like it should be there as the URL doesnt make sense with it in. The PORT is the correct one, just not in the URL.

https://webpack.js.org/configuration/dev-server/#devserverpublic

https://gist.github.com/fivethreeo/947607499127199a91f4b3f695dca27d

Did this solve it? 😃

not yet will try again next week. thanks.

I don't think you have a bug since you're including a path inside of the sockHost, so Webpack will try to interpolate the port to the end of it. Try making a separate location block in the Nginx config in addition to your current ones:
    # Note it's ~ ^ instead of ^~ so the path is included to the proxy
    location ~ ^/myapp/sockjs-node {
        proxy_pass http://<IP_ADDRESS>:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

And use this Razzle config instead:
module.exports = {
  modify(config, { target, dev }, webpack) {
    console.log(config);
    const appConfig = config;
    if ( target==='web' && dev ) {
      appConfig.devServer.sockHost = "razzle.syntapse.co.uk";
      appConfig.devServer.sockPath = "/myapp/sockjs-node/";
      appConfig.devServer.sockPort = "443";
    }
    return appConfig;
  },
};

Then devServer will listen under /myapp/sockjs-node/ and Nginx will include that path to the proxy i.e. http://<IP_ADDRESS>:3001/myapp/sockjs-node/

Oh, did not see ~ ^ instead of ^~
But you don't have to set sockPort/Host/Path config.
appConfig.devServer.public = "razzle.syntapse.co.uk:80"; // fixes the port

 location ~ ^/myapp {
  proxy_pass http://<IP_ADDRESS>:3001/; #  note the / will strip off myapp/
}

none of suggestions above working.
any variation of
location ~ ^/myapp
results in error and fail to compile nginx conf
nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block in /etc/nginx/conf.d/default.conf:422

Oh, did not see ~ ^ instead of ^~
But you don't have to set sockPort/Host/Path config.
appConfig.devServer.public = "razzle.syntapse.co.uk:80"; // fixes the port

 location ~ ^/myapp {
  proxy_pass http://<IP_ADDRESS>:3001/; #  note the / will strip off myapp/
}

I dont think that devserver.public is consistent with the .env entry
CLIENT_PUBLIC_PATH='https://razzle.syntapse.co.uk/razzle-dev/webpack/'
on which i'm basing all other paths. a working example with nginx.conf, .env and razzle.config.js would be very useful.

https would be :443

Thanks. Making individual edits to separate lines/files may not be the best approach to get this working. Possibly a consistent presentation for configuration for .env, nginx.conf and razzle.config.js may be more useful not only for myself but for other devs if an example was included in the docs.

With the latest changes above the socket URL looks correct but still failing with 404.

OK so ive resolved the port in the REQ URL issue by including in razzle.config.js
appConfig.devServer.public = "razzle.syntapse.co.uk"
this removes the unwanted port section but the URL still fails with a 404 even though the URL looks correct.
Request URL: https://razzle.syntapse.co.uk/latest-dev/webpack/sockjs-node/info?t=1596731822400
Request Method: GET
Status Code: 404
Remote Address: <IP_ADDRESS>:443
Referrer Policy: no-referrer-when-downgrade

this matches the .env and nginx.conf specs so i cant see whats wrong here.

Is there a testable and reproducible set of config files to conclusively prove this isnt a bug with the latest version of razzle?

Then it  is just a nginx issue i think
first check localhost:3000/ then localhost:3001/ then localhost:3001/sockjs-node/info?t=1596731822400

To see what is going on
log_format upstream_logging '[$time_local] $remote_addr - $remote_user - $server_name to: $upstream_addr: $request upstream_response_time $upstream_response_time msec $msec request_time $request_time';
access_log /var/log/nginx/api_logging.log upstream_logging;

Here's my tested reproducible configuration working through an SSL terminator and nginx reverse proxy.  the only difference between this and original post is inclusion of appConfig.devServer.public otherwise configuration is identical.
razzle.config.js
module.exports = {
  modify(config, { target, dev }, webpack) {
    console.log(config);
    const appConfig = config;
    if ( target==='web' && dev ) {
      appConfig.devServer.public = "razzle.syntapse.co.uk";
      appConfig.devServer.sockHost = "razzle.syntapse.co.uk/latest-dev/webpack";
      appConfig.devServer.sockPath = "/sockjs-node";
    }
    return appConfig;
  },
};

nginx.conf
    location ^~ /latest-dev/webpack/ {
        proxy_pass http://<IP_ADDRESS>:3006/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    location ^~ /latest-dev/ {
        proxy_pass http://<IP_ADDRESS>:3005/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

thank you for assisting me your input is very much appreciated.

Minimum tested config :)
http {

    server {
        listen       8080; # or 80 or 443
        server_name  _;
        location /razzle-dev { # no /, no regex
            return 302 /razzle-dev/; # a /
        }
        location /razzle-dev/ { # no regex
            proxy_pass   http://<IP_ADDRESS>:3001/; # a /
            proxy_http_version 1.1;
            proxy_set_header Upgrade \$http_upgrade;
            proxy_set_header Connection "upgrade";
        }
        location /razzle-dev/sockjs-node/ { # no regex
            proxy_pass   http://<IP_ADDRESS>:3001; # no /
            proxy_http_version 1.1;
            proxy_set_header Upgrade \$http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    }
}

'use strict';

module.exports = {
  modify(config, { target, dev }, webpack) {
    const appConfig = config; // stay immutable here

    if (target === 'web' && dev) {
      appConfig.devServer.public = 'localhost:8080' // or 80 or 443
      appConfig.devServer.proxy = {
        context: () => true,
        target: 'http://localhost:3000'
      };
      appConfig.devServer.sockPath = '/razzle-dev/sockjs-node';
    }

    return appConfig;
  },
};


LMB- 370: dct:modified to mandataris, fractie and person

These entities should have a property dct:modified to keep track of the changes.
Test
When checking out this PR make sure to also checkout these branches

App: https://github.com/lblod/app-lokaal-mandatenbeheer/pull/115
Form-content-service: https://github.com/lblod/form-content-service/pull/44

This feedback applies to app, form-content and frontend:
Newly created instances should also have a dct:modified. This way our data will be more easy to consume for the vendors.

When an entity is created through the store it gets the default value for modified (new Date() at that point in time) but indeed when a post is done through the form-content service this could not be the case. Will check this out.
Next to the upcoming change in the form-content-service I think we can already merge the current PR's right?


Invalid API docs Example for AalenJohansenFitter

In the API docs for AalenJohansenFitter:
from lifelines.datasets import load_waltons
T, E = load_waltons()['T'], load_waltons()['E']
ajf = AalenJohansenFitter(calculate_variance=True)
ajf.fit(T, E)

The import: from lifelines import AalenJohansenFitter is missing
Also, the fit() function says:
fit(durations, event_observed, event_of_interest, ...
-- There are 2 required args, but in the example only 2 are provided.

Thanks for letting us know! We'll fix this asap


Using Stormpath makes it more complicated

Why using Stormpath while these simple lines in shiro.ini are enough to have a static user set up:
#username admin, password: secret
[users]
admin = secret

Static username/passwords are great for quick examples, but it isn't a real world use-case (or at least it shouldn't be).  That said, we do need to update this example.

Static username/passwords are great for quick examples, but it isn't a real world use-case

Indeed.
Even if it's very convenient and easy to use, unfortunately Stormpath isn't either  an example for most users to simply just use it as a starting point :( .
Maybe a simple JDBC example with e.g. a H2 Database would be more helpful to get everybody on board ?
Thank you.

A Jdbc example would be great.

JDBC example? Yes please. Coming from PHP frameworks such as zend and laravel I am finding it difficult to get this up and running.


Update angular-prest on npmjs

The Angular package angular-prest hasn't been updated on npmjs for months.
Can you do this @heltonalves99 ?

sure! I will do that.
Thanks!

its done!
thank you so much.


Add shorthand provides

Add provides :mysql2_chef_gem_mysql and provides :mysql2_chef_gem_mariadb to the providers so they can be easily defined by an attribute.

After playing with this for a little while, it doesn't work how I thought it did. But it would be nice to have a way to go about it like some of the built in hwrps.

The 2.0 version of this cookbook reworked the resource with a provides block. Check out the new release


feat: Waterfall chart

feat: Add Waterfall Chart plugin.
Chart Images:
Initial:

Cross filter example:

Description:
This feature add new plugin of Waterfall Chart that using Recharts library to build this chart.
In Control panel it adds to fields:
xAxisColumn and periodColumn that will be passed as groupBy columns to the DB to get data.

Thanks for the great contribution, @amitNielsen !
Since we have plans to move Superset to ECharts, do you mind checking how much work would it be to reimplement the same visualization in ECharts?

In one of our community meetup it was concluded that although core plugins pack will be implemented in ECharts there would be other plugin pack and that it totally ok.
Ours going towards recharts


Windows 11 | Stream UDP microphone to satellite or use WSL2

First off... a massive shout out to all the contributors (but especially @synesthesiam) for Rhasspy and all the amazing work going into offline line voice recognition - Thank you - I watch with interest;
Getting straight to the point, I'm looking for the best way to get this project working from Docker but on the Windows 11 (23H2) O.S.. After much trial and error, I've successfully managed to stream the microphone (via UDP) to Rhasspy (running in Docker) and can get wake word and recognition which is great.
I'm now keen to keep up with the latest advances and hence the desire to use this more active project. I've been struggling to understand how to do the same, as all examples and the project in general is of course all aimed towards Linux. Unfortunately, I need to get this working with Windows, so I'm hoping someone maybe able to guide me in the right direction.
The latest WSL2 looked very promising together with Windows 11 but I'm unsure how to adapt the docker container or aplay/arecord commands to support it. See Playing sound in Docker container on WSL in Windows 11, as unmodified attempts have failed as there is no sound card device.
This post "Can we use this project on macbook directly" gave me hope and consequently my latest thoughts, as a last alternative, are to run the program natively but before doing this, I was really hoping there was a solution using Docker and hence this post.
Keep up this amazing work and hopefully somewhere down the line, I'll be able to contribute something - even if only guides or research!

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

If you can create an ALSA device inside the container it can work with anything

Hi @tannisroot, appreciate the comment. The trouble is I've not found any evidence to suggest this can work with Docker/Podman in Windows. Do you by chance have any pointers or experience of this setup working yourself?

No, I've stopped using Windows as my main OS ages ago, sorry.
But based on a quick google search, I would look into WSL2 + USB Passthrough, with the microphone being a USB one

I'm also surprised to see that there isn't any sort of Windows support. We're talking about HOME assistant features here - it's unlikely that the whole household runs on Linux.


Backend Logic for "Link-in-Bio" Page

Develop the backend logic and API endpoints for managing the "Link-in-Bio" pages. This includes creating, updating, and deleting "Link-in-Bio" pages. Ensure that the backend validates and processes requests properly.
Tasks:

Create API endpoints to create, update, and delete "Link-in-Bio" pages.
Ensure that the backend validates requests and checks user authentication and authorization.

I am interested please assign this to me

Hello @Shashankpantiitbhilai, The database schema for this milestone has been created. Please take a look and let me know if you have any feedback


ci: set default download retries to 10

Maybe this should be enough...


fix(versions): update Activiti/activiti-dependencies versions into develop

UpdateBot pushed maven dependency: org.activiti:activiti-core-dependencies to: 7.1.126

UpdateBot commands:
updatebot push-version --kind maven org.activiti:activiti-core-dependencies 7.1.126 --merge false


Usage of DISPATCH_QUEUE_PRIORITY_BACKGROUND

After reading this tweet, it appears that the official Apple documentation mentions that background queues may be stopped when in low power mode.
As the result, this block may never be executed in low power mode, which doesn't seem to be the intended behavior.

I thought this report was wrong at first, because the documentation isn't all in one spot. But I chased it down and this looks like the correct interpretation.


Add AA bateries back to AA outposts

To fix #190, I removed all compositions for hills both AA and non-AA, (since they were also present in the new compositions).
The goal of this issue is to add the AA bateries back, combining them with the existing compositions at "Compositions/locations_altis.sqf".

First submission to fix - #193


Update current level/XP of skill calculator as you gain XP

Is your feature request related to a problem? Please describe.
There's no way to get a live feed of how many more times you have to perform some task to reach your target level/XP. you can quickly change the "current level" to reflect your true current level by clicking on your selected skill again, but this resets your target to be the next level.
Describe the solution you'd like
If you haven't "dirtied" your current level/xp by clicking in to the textbox, It'll update as you gain XP. switching skills at the top resets this.
Describe alternatives you've considered
move the level box over a bit to the right and add a refresh symbol that sets your current level / xp to reflect the true level / xp without modifying your target

Well, just use XP tracker and actions left, they are usually pretty accurate


print(len(train), len(test), len(validate)) always returns 0 0 0

I'm using tensorflow 2.7.0 installed on a VM with ubuntu 20.04.03
The output on the first process word part is
Processing words: 100%
5/5 [00:00<00:00, 9.56it/s]
2022-01-22 16:02:50.608038: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2022-01-22 16:02:50.608082: W tensorflow/stream_executor/cuda/cuda_driver.cc:269] failed call to cuInit: UNKNOWN ERROR (303)
2022-01-22 16:02:50.608126: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (Onegai): /proc/driver/nvidia/version does not exist
2022-01-22 16:02:50.608395: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
Processing words: 100%
31/31 [00:03<00:00, 8.80it/s]
0 0 0
And the process background noise is
Processing Background Noise: 0it [00:00, ?it/s]
0 0 0
I don't have idea what could be wrong...
Help a poor student triyng to learn tensorflow please

Ok i'ts a bad idea to use your jupyter notebook installed via Anaconda....
It will not find the training archives ( or at least mine did'nt)...
Lesson of the day..... Just follow the readme and it works....


Samtools stats for alignment metrics in MultiQC

Example MultiQC report:
Test_UPPMAX_ChIP_Seq_Run_1511260236_multiqc_report.html.zip
Could do with some more MultiQC customisation to hide all by % Aligned by Samtools stats in the General Statistics table.


feat: add eta region splitting in histograms

I must imporve the tests vert slightly and this should be ready to merge


Update DbStructure.hs

added regexp so that views that reference public tables are found.

from the gitter
Fabian Zeindl @fab1an 16:11
hmmm
I just realized that if you do 'set search_path='' ' before running the query, it will append public. to the views and everything will work

I would prefer to go that way if possible because we would not be touching this sensitive regexp and also because we would be matching against a fully qualified item public.tablename vs tablename which makes the regex a bit more stricter, thus better and not returning bad rows.
We've had in the past where it would return false relations and i think it's better to have less results but 100% correct then more results but some of them bad.

I tried setting the search path of "authenticator" by doing "alter role authenticator set search_path=''", but then other functions that are called by anonymous don't work anymore.
I think that maybe the updated search_path is carried into the new role, after "set role anonymous", so it breaks those users search_path as well.

I that case i guess it's simpler to change the regexp (and it's actually the clean way to do it but a bit more dangerous).
@fab1an do you have time to do a few manual tests on this new regexp?
Here is how to do it.
Have a clean db with 4 tables, 2 in public schema, 2 in separate schema, have those tables related 2 by 2.
have an api schema, place there as many views as you can think of with those tables as sources.
in the definitions of those views, use these sql features
in the select section, have columns like this
select id, id as ID, tbl.name, tbl.name as NAME, tablename.name, tablename.name as NAME2 from tablename as tbl
select id, id as ID, tbl.name, tbl.name as NAME, tablename.name, tablename.name as NAME2 from tablename tbl

in the FROM section, have the table specified as
tablename, tablename as tbl, tablename tbl

also add a few views that do JOINS
When all those views are there, you can have a single query that compares the results generated by both queries each using a different version of the regexp.
Publish that in a gist, i'll try to also come up with example views for it if i'll see cases missing.

@ruslantalpa Why not save the original search_path, set it to '' before doing the query and restore the original search_path again?

it's more work
the idea to go with search_path was more out of fear to break things then it being the correct way
regexp fix is much much shorter, it's jus needs extra care/tests

Hm, I think search_path is the cleaner way, because a search_path of '' should give completely normalized results. And, I haven't written Haskell in years, but it's only two db-commands, I think.
Unfortunately I don't have any time to do more testing at the moment, that might change in a couple of weeks, though. Thank you for your efforts with this!

I would prefer a query that works reliably (and in isolation) regardless of the database settings which can defer from instance to instance.

@ruslantalpa That is exactly my point. There are so many different ways to set the search_path in postgresql, that I think that clearing it would give the only "standard"-query.

@fab1an as a general principle the operation of setting a variable scoped to the transaction can be achieved by SET LOCAL.
I prefer the regex solution thought, it has less dependency on shared state. Also we should have good testing around this regex anyways.

@diogob I have to say, that I don't mind how this is achieved, but I honestly don't understand why the regexp fix is better (even though I wrote it ;) ).
I understand that additional db-commands means more to worry about, but if the search_path interferes with the results of the reflective query like that, that implies that you can break postgrest in a couple of different ways, which won't seem obvious to the user at all:
https://dba.stackexchange.com/questions/56023/what-is-the-search-path-for-a-given-database-and-user
A pity that we can't test this against real-world installations, maybe the solution would give the same results anyway.

@fab1an for me, the regexp way is better because you can take out the query and test in isolation, in addition to that, it also allows someone to do a custom build with a completely custom query instead of the current one (that returns the same columns) and he does not have to worry about the rest of the code. what i mean by that is this. Say for someone the regexp does not work at all, what he can do is replace this query, with a select * from customtable and have a manual way of saying what view column comes from what table column.
That's the main reason i would like to keep this query isolated/self contained

@ruslantalpa That seems reasonable to me.
It would require some work, but what'd be nice would be some kind of "postgrest doctor" script, that would output debugging information about schemata that could be used in bug reports and to help fixing these kind of problems.

The debug script as you call it, can be a single sql query that can be executed and return the exact view of the database structure with which postgrest works, the query is possible but a lot of work is needed in order to have postgrest queries unified into a single one, i.e. a lot of refactoring.

Okay, then it's probably not worth it.

My take

We're already using a regex approach so continuing to adjust the regex is not making the code more fragile
If it passes our test suite then we should probably conclude it's fine and if we find a problem we'll add that to the test suite and fix
Speaking of tests, we should also include a test that illustrates the need for the change
In the future perhaps we can switch to a non-regex approach but I haven't investigated how hard that would be

@fab1an do you have time to add a test or should I look into it?

I don't have time nor the haskell-experience :).

No problem, I really appreciate your debugging the regex issue. I'll add a test and merge unless anybody has objections.

I'm having trouble making a test case that passes on this branch but fails on master. Everything I try passes on master too. Can you explain how you discovered the problem?

Try this:
create schema api;

create table consumers (
    id                  serial             not null unique,
    name                text               not null check (name <> ''),
    primary key (id)
);

create table orders (
    id                  serial             not null unique,
    consumer            integer            not null references consumers(id),
    number              integer            not null,
    primary key (id)
);

create view api.orders as
    select * from orders;

create view api.consumers as
    select * from consumers;

Query: /consumers?select=*, orders{*}

Thanks, I'll try this.

I applied your change in another PR and included a test.


svrAdmin looks for javac unecessarily, breaking on RHEL with -headless JRE

Describe the bug
When running ghidra as a server on RHEL 8 or 9 (and presumably others) the -headless JRE (for example, java-11-openjdk-headless is sufficient. However, the svrAdmin tool looks for the javac binary within $JAVA_HOME/bin/ and this package does not include this, as it is only the runtime environment. The binary is included in the -devel package (for example java-11-openjdk-devel which pulls in a bunch of unnecessary (for a server) GUI libraries and related junk. This bloats the environment.
To Reproduce
Steps to reproduce the behavior:

Set up a RHEL8 or RHEL9 host (an unsubscribed UBI container is sufficient)
Install the java-11-openjdk-headless package
Unpack the ghidra release artifact & configure server.conf
Attempt to use svrAdmin

Expected behavior
svrAdmin should operate as-is with just the JRE, without JDK components.
Screenshots
# note: server is up and operational in this example
[root@REDACTED scratch]# docker container exec -i -t ghidra svrAdmin -list
******************************************************************
JDK 11+ (64-bit) could not be found and must be manually chosen!
******************************************************************
Enter path to JDK home directory: /usr/lib/jvm/jre-11-openjdk
Not a valid JDK home directory. JDK is missing javac executable!

Attachments
N/A
Environment (please complete the following information):

OS: RHEL 8.6, RHEL 9.0, likely others
Java Version: 11.0 (java-11-openjdk-<IP_ADDRESS>.10-2.el8_6.src.rpm)
Ghidra Version: 10.1.4
Ghidra Origin: official GitHub distro

Additional context

Workaround available: AWS Corretto 11 RPM distribution as this includes the JDK elements without requiring all the GUI gunk.
My containerized server repo can be used to test this behavior, see ghidraSvr-in-a-box commit cc3ddb1 if required. Note that subsequent commits replace the RHEL -headless JRE with Corretto.

I believe this is rooted in the getJavaVersion() method of ghidra/JavaConfig.java here.
If this is true, resolving this bug is not as simple as it sounds.

@dev747368 it's shared launcher code with the client, isn't it? The client does require the JDK I thought?

I'm going to let ryan speak to that, but I'm not seeing any active refs to javac in the code base, nor does GhidraScript compiling seem to require it.  I could be wrong though.

It's going through launch.sh, which requires a JDK:
https://github.com/NationalSecurityAgency/ghidra/blob/a641dd9d25cdd3630a9f1107b8ff5cca7c8dd135/Ghidra/RuntimeScripts/Linux/support/launch.sh#L125
It's a trivial fix in theory...just pass -java_home instead of jdk_home.  But, splitting things apart enough to do this is a bit more work.

@ryanmkurtz ah but if you do not have the JDK components (which seem unecessary for the server?), you run into what I shared in the original report.

I agree it should be fixed, so svrAdmin has the same runtime requirements as ghidraSvr.  We will prioritize it accordingly.  In the meantime, you have a simple workaround...just change -jdk_home to -java_home in the line i referenced above (it would also be helpful to verify that actually fixes it for you).

Gotcha, I misunderstood.
I can confirm your workaround, looks good. (I did the replacement on line 125 only)


Documentation: update iproute2 git URL in bpf.rst

PR fixes the git URL for iproute2 on https://docs.cilium.io/en/latest/bpf/#compiling-iproute2 - the current one doesn't work:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/iproute2/iproute2.git /tmp/iproute
Cloning into '/tmp/iproute'...
fatal: remote error: access denied or repository not exported: /pub/scm/linux/kernel/git/iproute2/iproute2.git

Changed it to the https:// URL from the bottom of https://git.kernel.org/pub/scm/network/iproute2/iproute2.git which works fine.

sorry, @qmonnet  could you hold off on a merge for a bit? (Need to complete an internal approval procedure on my side since it's my first PR to this project and repository - expect to be back with a "go ahead" shortly). Thanks.

all clear now - please go ahead and merge! Thanks. @qmonnet


autosub command not found

I have ffmpeg and I tried pip install autosub without a dot. Now when I try to use autosub command, it says

$ autosub -h
autosub: command not found

Now I try

$ pip install autosub .
Directory '.' is not installable. File 'setup.py' not found.

I am using 18.04. If possible, help me fix it.

Use sudo pip install autosub to install.
Reference: https://github.com/agermanidis/autosub/issues/144#issuecomment-534830404

sudo pip install autosub

I tried this on a new Terminal window and it worked. Thanks.
Sadly the subtitle that was generated had little relation to what they speak in audio. I don't know why. Hopefully, it will improve in a later version.
I did see your repo last day. May I ask, why it goes through some steps instead of giving the subtitle in a single command ?
Really admire your work :+1:

@meetdilip Obviously it can provide more functions than before. And you can still do it in one command. Just read the typical usage guide.

The instruction appears too much for me. Last time I used
autosub /home/name/Downloads/atlantis_s01e03.mkv
If possible, kindly share an example command as above for me to generate using the new version. Also, the commands that would upgrade my current autosub to it.

@meetdilip Obviously it can provide more functions than before. And you can still do it in one command. Just read the typical usage guide.

@meetdilip All the example commands are already listed in that url. Please just read it carefully. In this circumstance I won't consider any compatibility with the old version.

I see. How can I delete the old ( this one ) autosub ? Is there any command for that ? Then I will start afresh from the new repo.

You can use the following commands to uninstall the old version of autosub.
pip uninstall autosub

This will be considered as a clean uninstall if you used pip to install autosub before.

Looks like it worked :)
The directory '/home/name/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Uninstalling autosub-0.4.0:
/home/name/.local/bin/autosub
/home/name/.local/lib/python2.7/site-packages/autosub-0.4.0.dist-info/DESCRIPTION.rst
/home/name/.local/lib/python2.7/site-packages/autosub-0.4.0.dist-info/INSTALLER
/home/name/.local/lib/python2.7/site-packages/autosub-0.4.0.dist-info/METADATA
/home/name/.local/lib/python2.7/site-packages/autosub-0.4.0.dist-info/RECORD
/home/name/.local/lib/python2.7/site-packages/autosub-0.4.0.dist-info/WHEEL
/home/name/.local/lib/python2.7/site-packages/autosub-0.4.0.dist-info/entry_points.txt
/home/name/.local/lib/python2.7/site-packages/autosub-0.4.0.dist-info/metadata.json
/home/name/.local/lib/python2.7/site-packages/autosub-0.4.0.dist-info/top_level.txt
/home/name/.local/lib/python2.7/site-packages/autosub/init.py
/home/name/.local/lib/python2.7/site-packages/autosub/init.pyc
/home/name/.local/lib/python2.7/site-packages/autosub/constants.py
/home/name/.local/lib/python2.7/site-packages/autosub/constants.pyc
/home/name/.local/lib/python2.7/site-packages/autosub/formatters.py
/home/name/.local/lib/python2.7/site-packages/autosub/formatters.pyc
Proceed (y/n)? y
Successfully uninstalled autosub-0.4.0


Error in seq.default(min(lengthHist), 1.05 * max(lengthHist), 1)

I have a BAM file generated after aligning the reads to sacCer3. I tried running plot2D on this file for TTS with default parameters and encountered this error message
Error in seq.default(min(lengthHist), 1.05 * max(lengthHist), 1) :
  'from' must be a finite number
Calls: Main -> PlotFigure

Any suggestions on how to resolve this?

Hello -- I'm also having this issue. Has anyone come to a solution here?

Does the issue happen to arise from the input BAM generated from single-ended sequencing data? Currently all of my paired-ended data aligned with HISAT2 works well with plot2DO, but none of my single-ended is working. I'm happy to share a BAM too if that's helpful.
Drew

Yes, this tool can only be used with paired-end sequencing data. There's no information about DNA fragment length stored in the BAM/SAM files for single-end reads, so one cannot compute the coverage/occupancy of the full DNA fragments, as one of the ends was lost in the sequencing process...


Automatically detect text on photo upload

Per issue #143
Git make brain hurt. Cross fingers and click "Create pull request"…

Looks good. Will try to check it this weekend.

Works perfectly! Thanks. Will put it live shortly.

This doesn't work if that image is over 4MB. Will need corrections.


Compile error in struct CosmosAccessibility and in struct StarLayer

I Just added the CosmosDistrib.swift file in my project and i am getting the following errors.
inside the "struct CosmosAccessibilit" from the method "update" i am getting  this error
'Type 'UIAccessibilityTraits' (aka 'UInt64') has no member 'adjustable'
and inside the "struct StarLayer" from the method "create"  i am getting error
'Type 'CALayerContentsGravity' (aka 'NSString') has no member 'resize'

Library setup method: file
Version of the library. Example: 8+.
Xcode version. Example: 10.1.
OS version. Example: iOS 12.1.

Thanks for reporting the issue, @AdnanAfsari. I've just created a new demo app in Xcode 10.1 and it compiled fine for me. Does the attached project work for you?
DemoCosmos.zip

I'm glad it worked! 👍


docs(libscap): fix comment for file descriptor list reader function

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind documentation
Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area libscap
Does this PR require a change in the driver versions?
no
What this PR does / why we need it:
Which issue(s) this PR fixes:
fix a comment in file descriptor list reader function
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
no
NONE

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

fe75cd0 fix comment for file descriptor list reader function

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce, mavimo
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: ec7a0b913c81f282ec26f2887ffce7f5675d9713

/milestone 0.14.0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, jasondellaluce, mavimo
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Can't read battery level of Inkplate6COLOR

I'm running the following code in order to read the battery level:
from inkplate6COLOR import Inkplate
Inkplate.readBattery()

I will get the following error:
Inkplate.readBattery()
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "/lib/inkplate6COLOR.py", line 473, in readBattery
AttributeError: type object 'Inkplate' has no attribute 'VBAT_EN'

Apparently I have the version 2.2.0 from around Januar 2023

Hi @besi
really sorry for such a late reply, as we don't prioritize this repository. I've just made a push to dev where this issue is fixed on inkplate6COLOR, check out the example as well: https://github.com/SolderedElectronics/Inkplate-micropython/blob/dev/Examples/Inkplate6COLOR/batteryRead.py
Hopefully that works.


Clarification on webhook URL for Gitlab

PR Type
Documentation

Description

Updated the GitLab installation instructions to provide a more specific webhook URL format
Changed step 5 to include the exact URL structure: http[s]://<PR_AGENT_HOSTNAME>/webhook
This clarification helps users correctly set up the webhook for PR Agent with GitLab

Changes walkthrough 📝
Relevant filesDocumentation

gitlab.mdClarify webhook URL format for GitLab integration

docs/docs/installation/gitlab.md
Updated the instructions for creating a webhook in GitLab  Specified the correct URL format for the webhook

+2/-2

💡 PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

@ascieux-soprasteria

Use standard three backticks for code block formatting in Markdown

The code block for the webhook URL is using four backticks instead of three, which is non-standard in Markdown. Consider using three backticks for proper code block formatting.
docs/docs/installation/gitlab.md [58]
-5. Create a webhook in GitLab. Set the URL to ````http[s]://<PR_AGENT_HOSTNAME>/webhook````. Set the secret token to the generated secret from step 2.
+5. Create a webhook in GitLab. Set the URL to ```http[s]://<PR_AGENT_HOSTNAME>/webhook```. Set the secret token to the generated secret from step 2.

 Apply this suggestion

Suggestion importance[1-10]: 8
Why: This suggestion corrects a formatting issue that could cause rendering problems in some Markdown viewers, improving the overall documentation quality.


TextInput, SignInPageForm - Migrate setNativeProps to setAttribute

Details

setNativeProps will not be supported in the post-Fabric world (docs). Removing it's usage is a prerequisite to enable Fabric in https://github.com/Expensify/App/issues/8503
I'm creating multiple PRs to migrate it's usage. This is one of many.
Usage of setNativeProps is migrated to setAttribute
Fixed Issues

$ https://github.com/Expensify/App/issues/11050
Tests

Test 1 / 2

Navigate to newDot sign in page on web.
Right-click on the email field.
Click on the 1Password option to show the autofill.
1Password Autofill option should be shown on the input.

Test 2 / 2
On mWeb,

Login to newDot
Click green fab icon (+)
Click Request money
Verify that the system's virtual keyboard doesn't open.

[x] Verify that no errors appear in the JS console

PR Review Checklist

Contributor (PR Author) Checklist

[ ] I linked the correct issue in the ### Fixed Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I added steps for local testing in the Tests section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

PR Reviewer Checklist
The Contributor+ will copy/paste it into a new comment and complete it after the author checklist is completed

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

QA Steps

Test 1 / 2

Navigate to newDot sign in page on web.
Right-click on the email field.
Click on the 1Password option to show the autofill.
1Password Autofill option should be shown on the input.

Test 2 / 2
On mWeb,

Login to newDot
Click green fab icon (+)
Click Request money
Verify that the system's virtual keyboard doesn't open.

[x] Verify that no errors appear in the JS console

Screenshots

Web

Mobile Web

Desktop

iOS

Android

@rushatgabhane is this ready for review?

@luacmartins checklist completed.

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] Any functional components have the displayName property
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Thanks @rushatgabhane! All yours @stitesExpensify

🚀 Deployed to staging by @stitesExpensify in version: 1.2.5-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @luacmartins in version: 1.2.5-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Feature request: Implement data as a trait on builder

I would like to be able to do something like so:
trait Htmx {
    fn post(&mut self, location: impl Into<Cow<'static, str>>);
}

impl<T> Htmx for T
where
    T: HtmlBuilder,
{
    fn post(&mut self, location: impl Into<Cow<'static, str>>) {
        self.data("hx-post", location);
    }
}

Also, an escape hatch to add attributes to html that are not supported, e.g this library is incompatible with something like Alpine.js, implemented with a trait would be ideal.

Heh, you're asking a really good question here - and honestly I'm not really sure what to do. More or less the point of this library is to provide structured access to spec-compliant HTML. In the HTML specification, the intended way to extend HTML with custom properties is by using the data- attributes. We expose this via .data_map on elements.
However, as you correctly point out, a lot of frameworks using HTML dialects disregard this property, and instead prefer to provide their own custom extensions. For example x-data and @click in Alpine. And hx-post and hx-swap in htmx.
It's tempting to disregard these custom extensions as "bad", and therefor say we shouldn't support them. But the reality is that people do use these extensions, and by not supporting them people may instead choose not to use the html crate altogether.
I like what your suggestion of providing a custom extension point via a trait on builders (and possibly elements too). Something like RawAttributes which allows you to set custom attributes and overrides directly on the type, storing data in a hashmap. The primary purpose of this would be to provide an interface for third party crates (such as a possible htmx crate) to store data inside the elements.
Example Usage
use html::raw::RawAttributesMut;
use html::text_content::Division;

let mut div = Division::new();
div.raw_attributes_mut().insert("hx-post", "<location>");

What do you think about going in this direction?

For what it's worth my interest in using this crate would be to pair it with htmx. This is an underappreciated crate by the way - it's such a great idea.
Tangential, but I've been looking through the docs and was curious if it would be possible to lint (or provide debug output) when you were likely missing aria attributes (like i18n linters in other frameworks). Might have to dig deeper and see what it would take to do that.

Was this idea ever developed further? I also think this crate is a great idea, and am interested in using it with HTMX.
I'm willing to work on it if someone can point me in the right direction.


small edits to the readme

fix the link in the manual cloning instructions
add a suggestion for the nimble command to install main directly (for the latest examples to work)

Thank you for this!

main is the default branch, not master!

My bad I was about to edit it :)

My bad I was about to edit it :)

All is good!


Implement IDP functionality

Is your feature request related to a problem? Please describe.
The grader service should be able to be a identity provider. For example the JupyterHub should be able to authenticate against the Grader Service.

Can you please make sure to document the proposed changes? We would like to build up a set of design documents for grader service in the docs/ folder. They don't need to be long, possibly using the following headings as a template - there are a couple of dumb examples under each heading, you can choose more appropriate ones!
General Scope

how do the authentication and authorization flows currently work? where does the user authenticate? Who then authorizes access for the user?
how do the proposed changes differ from the current implementation?
why the proposed changes are an improvement

Use cases

what are the types of access that we are trying to control?
who is going to be accessing what?

Requirements

exactly what will you be implementing - there should be specific classes and functions to cover the use cases

Schedule

how long will it take you?

Reminder to consider #79 when looking at a solution for this


Do not generate keypair if present

and write info to log if we reuse the keypair
Based on #15
Addresses #14

I think there should be a flag to pick between two behaviors:

Existing behavior: always recreate the keypair
Use an existing keypair and fail if it doesn't already exist

The second would be safer if there are multiple replicas. Is there a scenario where use-existing-create-if-doesnt-exist is more desirable?

The second would be safer if there are multiple replicas. Is there a scenario where use-existing-create-if-doesnt-exist is more desirable?

I think that's the desirable simplest installation behavior. In this way tokens would survive process restart, for example with different tls flags. Deliberately invalidating tokens is a more advanced thing, which can still be achieved by deleting the keypair.

It's the simplest, incorrect installation behavior. Tokens won't survive redeployments that replace the POD. If you have a volume shared by multiple PODs, there's a creation race.
If something's going to not work for a given scenario, it's better for it to obviously not work than to subtly, rarely not work.


Center loss

It seems that center loss seems good in the recognition area to minize the variation of cluter. There is a caffe implementation of this loss.
URL: https://github.com/ydwen/caffe-face/
I wrote some code but it seems not correct:
def center_loss(features, labels, name):
    with tf.name_scope(name=name):
       feat_dim = features.get_shape().as_list()[1]
       batch_size = features.get_shape().as_list()[0]
       centers = tf.get_variable('center', shape=[FLAGS.num_classes, feat_dim])
       # compute loss & update center
       loss = 0
       for i in range(batch_size):
           ft = features[i, :]
           idx = labels[i]
           c = tf.gather(centers, idx)
          loss += tf.reduce_mean(tf.square(tf.sub(ft, c)))
      loss /= batch_size

Is there can help me to understand better with Tensorflow, I can make a PR.

This was tagged as a feature request but you seem to be asking for support. StackOverflow is a better venue for these types of questions. We rely on the community to offer support to our users.

https://github.com/godfanmiao/MNIST_CNN_CENTERLOSS_TENSORFLOW