Container vs List

Michael discovered that the co-channel-group is now just a yang container, but was a yang list before.

The comparsion of list and container statements between 3rd PoC and 4th PoC showed that there is only this one difference.

Proposed modification:
demx8as6@controller:~/temp/CENTENNIAL/models/yang$ git diff microwave-model.yang
diff --git a/models/yang/microwave-model.yang b/models/yang/microwave-model.yang
index 719347f..86970eb 100644
--- a/models/yang/microwave-model.yang
+++ b/models/yang/microwave-model.yang
@@ -26,5 +26,5 @@ module microwave-model {
     description "This module contains a collection of YANG definitions for managing wireless networks.";
-    revision 2017-03-20 {
+    revision 2017-03-24 {
         description "Initial version";
         reference "ONF TR 532: A YANG Data Model for Wireless Networks.";
     }
@@ -1332,7 +1332,12 @@ module microwave-model {
                 }
                 description "Aggregated performance information of the air interface for a pre-defined measurement interval.";
             }
-            container co-channel-group {
+            list co-channel-group {
+                key 'co-channel-group-id';
+                uses co-channel-group-g;
+                description "none";
+            }
+            grouping co-channel-group-g {
                 leaf co-channel-group-id {
                     type core-model:universal-id;
                     description "none";
demx8as6@controller:~/temp/CENTENNIAL/models/yang$

@pezou: I added you to the contributors - please comment as well - many thanks!

Hallo Martin,
was muss ich machen?
Gruß
Thorsten

Von: Martin<EMAIL_ADDRESS>Gesendet: 26.03.2017 14:07
An<EMAIL_ADDRESS>Cc: Thorsten<EMAIL_ADDRESS><EMAIL_ADDRESS>Betreff: Re: [OpenNetworkingFoundation/CENTENNIAL] Container vs List (#17)
Assigned #17https://github.com/OpenNetworkingFoundation/CENTENNIAL/issues/17 to @ThorstenHeinzehttps://github.com/ThorstenHeinze.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/OpenNetworkingFoundation/CENTENNIAL/issues/17#event-1015655830, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AOjuhUyJ-FYCyJVsvVaoQT_1RbGE8Ev9ks5rplTegaJpZM4MpYUO.

Hallo Thorsten,
Noch was … wenn du auf GitHub Emails antwortest, dann geht das direct ins Git. (Siehe unten…)
Ich habe dein Kommentar gelöscht. ;)
Viele Grüße,
Martin
Von: ThorstenHeinze<EMAIL_ADDRESS>Gesendet: Sonntag, 26. März 2017 16:59
An: OpenNetworkingFoundation/CENTENNIAL<EMAIL_ADDRESS>Cc: Martin Skorupski<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [OpenNetworkingFoundation/CENTENNIAL] Container vs List (#17)
Hallo Martin,
was muss ich machen?
Gruß
Thorsten

Von: Martin<EMAIL_ADDRESS>Gesendet: 26.03.2017 14:07
An<EMAIL_ADDRESS>Cc: Thorsten<EMAIL_ADDRESS><EMAIL_ADDRESS>Betreff: Re: [OpenNetworkingFoundation/CENTENNIAL] Container vs List (#17)
Assigned #17https://github.com/OpenNetworkingFoundation/CENTENNIAL/issues/17 to @ThorstenHeinzehttps://github.com/ThorstenHeinze.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/OpenNetworkingFoundation/CENTENNIAL/issues/17#event-1015655830, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AOjuhUyJ-FYCyJVsvVaoQT_1RbGE8Ev9ks5rplTegaJpZM4MpYUO.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/OpenNetworkingFoundation/CENTENNIAL/issues/17#issuecomment-289289659 , or mute the thread https://github.com/notifications/unsubscribe-auth/AIuxpbSEI0U31jKNU_v_QokEmd7ZuZt8ks5rpn0wgaJpZM4MpYUO .  https://github.com/notifications/beacon/AIuxpSXHJqpay3y56bY7e2aGYB2Qi1_kks5rpn0wgaJpZM4MpYUO.gif

What would you want me to do, keep it as group or restore it to list?
I haven't changed that yang model since the beginning of poc3, please let me know what do you have in mind and I will do it.
Best regards
Liu
Sent from my iPhone

On 26 Mar 2017, at 8:09 PM, Martin Skorupski<EMAIL_ADDRESS>wrote:
Assigned #17 to @olinchy.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Danke.
Bin jetzt wieder zuhause.
Gruß
   Thorsten

Thorsten Heinze
Lead Access Network Design
Telefónica Germany GmbH & Co. OHG
Georg-Brauchle-Ring 23-25 | 80992 München
M +49 (0)176 2442 4852 | T +49 (0)89 2442 4852 | F +49 (0)89 2442 7268
<EMAIL_ADDRESS>| www.telefonica.de

Von: Martin Skorupski<EMAIL_ADDRESS>Gesendet: Sonntag, 26. März 2017 18:40
An: OpenNetworkingFoundation/CENTENNIAL
Cc: Thorsten Heinze; Mention
Betreff: Re: [OpenNetworkingFoundation/CENTENNIAL] Container vs List (#17)
Hallo Thorsten,
Noch was … wenn du auf GitHub Emails antwortest, dann geht das direct ins Git. (Siehe unten…)
Ich habe dein Kommentar gelöscht. ;)
Viele Grüße,
Martin
Von: ThorstenHeinze<EMAIL_ADDRESS>Gesendet: Sonntag, 26. März 2017 16:59
An: OpenNetworkingFoundation/CENTENNIAL<EMAIL_ADDRESS>Cc: Martin Skorupski<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [OpenNetworkingFoundation/CENTENNIAL] Container vs List (#17)
Hallo Martin,
was muss ich machen?
Gruß
Thorsten

Von: Martin<EMAIL_ADDRESS>Gesendet: 26.03.2017 14:07
An<EMAIL_ADDRESS>Cc: Thorsten<EMAIL_ADDRESS><EMAIL_ADDRESS>Betreff: Re: [OpenNetworkingFoundation/CENTENNIAL] Container vs List (#17)
Assigned #17https://github.com/OpenNetworkingFoundation/CENTENNIAL/issues/17 to @ThorstenHeinzehttps://github.com/ThorstenHeinze.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/OpenNetworkingFoundation/CENTENNIAL/issues/17#event-1015655830, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AOjuhUyJ-FYCyJVsvVaoQT_1RbGE8Ev9ks5rplTegaJpZM4MpYUO.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/OpenNetworkingFoundation/CENTENNIAL/issues/17#issuecomment-289289659 , or mute the thread https://github.com/notifications/unsubscribe-auth/AIuxpbSEI0U31jKNU_v_QokEmd7ZuZt8ks5rpn0wgaJpZM4MpYUO . https://github.com/notifications/beacon/AIuxpSXHJqpay3y56bY7e2aGYB2Qi1_kks5rpn0wgaJpZM4MpYUO.gif
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/OpenNetworkingFoundation/CENTENNIAL/issues/17#issuecomment-289296123, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AOjuhT1nOjmaGQedDVTnSdUBxVhLX9E3ks5rppUMgaJpZM4MpYUO.

@demx8as6 it's fine for me , I have not implemented co-channel-group yet.

fixed - with<EMAIL_ADDRESS>


chore: adding abi tests

Addresses https://github.com/near/near-sdk-rs/issues/1124

@shariffdev Would you be able to fix the issues highlighted by CI?


New PR to test SignCLA at 2019-04-18 17:53:51.096396056 -0700 PDT m=+5.892747990

Body of PR

unsigned-fail-staging: test succeeded


Convert Pug to PDF?

Currently using Pug as my render engine, when using the html-pdf it creates the PDF file successfully, but the inside of PDF is just plaintext. Why?

I also have the same issue, using template engine EJS

@cbainfotech
While this has been quite a while, i have mitigated the issue by resorting to html2pdf. You might wanna look into that.

@Altair312  @cbainfotech You can use renderFile function and get the rendered html string for ejs which you can provide for pdf creation.
This is the solution that I have used for ejs.


Update Package.swift

Need to fix this and update to 0.14 existing tag due to swift build will always reset and redownload 0.14.

Thanks! This will be included in 0.15.


How to locally build a fable-py CLI tool?

The build instructions from README do not produce a nuget package that contains fable-library-py.
Could you provide some extra instructions for making local releases?

I have never done this, and not sure it's possible. Running fable-py global tool or dotnet fable-py local tools is exactly the same as running dotnet run --project ../../../Fable/src/Fable.Cli --lang Python (use correct path for your Fable dir). So you could basically just make yourself a shell alias.

It's possible to create a CLI tool, but it's always accessing FableLib from "../../../../"...
I tried this: dotnet/sdk#13429 after creating a nuget package for Fable.CLI, but it didn't work for me and simply installed fable from the remote.
Anyway it's not that necessary. We might have compilers purely running in JS/PY for Fable.Python in the future.


question: securing ~$HOME/.gdfuse/default/state

I apologize in advance if this question betrays my mis-understanding of OAuth2 authentification... but:
is this correct that someone who would have access to the information in  ~$HOME/.gdfuse/default/state could impersonate you ? If yes, isnt't it worth securing this information better, e.g., by using applications like gnome keyring (or keychain access on mac ?).

Actually, you need client id, client secret, and a refresh token (that is stored in ~$HOME/.gdfuse/default/state) to access someone's Drive account. So, knowing only your refresh token is not enough. The other access token that is stored in that file would be enough, but it's short lived (1 hour).

mmm.... someone how would steal the computer and access the physical drive would be able to keep getting refreshing tokens, isnt'it ? . If course this won't happen if the gdfuse config dir is on an encrypted section.

Yes, but you could revoke the token from https://myaccount.google.com/security#connectedapps

You could always use something like ecryptfs to encrypt the contents of $HOME/.gdfuse if you wanted to secure it better.  That would require, at minimum, inserting the proper crypto keys into the kernel in order to read the data (which is done by the utilities in the ecryptfs-utils Ubuntu package, such as ecryptfs-mount-private).  I haven't delved deeply into that, but by default it encrypts into $HOME/.Private and mounted on $HOME/Private.  I have done the setup and then edited $HOME/.ecryptfs/Private.mnt to mount it on $HOME/encry, so it could equally do .gdfuse.  Presumably you could also set up more than one of these, just .Private and Private being the defaults.

I agree that this is a reasonable solution.
Michel.

I only use whole disk encryption on all my Linux servers now. Easy to set up and performance is better.


Signer allows reimporting the same Ed25119 key multiple time

Issue: Signer correctly detects and disallows importing the same Secp256k1 key again but it fails to do so with Ed25119 keys.
Using the signer plugin import the same Ed25119 secret key file twice
Result: it passes the check and allows the upload

@cspramit / @piotr-dziubecki I believe this is actually resolved with the latest #123 PR - feel free to test it again in case we can close this.

@George-cl this is not resolved and still an issue - we can share screen if needed, we can also hack this for Secp keys too if one is pem and other cer

Yeah I must have misremembered testing it - will resolve this in 1.4.0

This appears to be fixed, I could not reproduce @George-cl @cspramit


Razor library enhancement

I rewrote the logic for using the js and css files to avoid having to copy them every time to the wwwroot folder of the main project

Thanks for the first PR in this project! I am pleased that you have shown such attention to the project.
I want to add your edits, but with minor changes. For example, I want to save the current implementation of JSRuntimeExtensions with IJSRuntime. The idea is to provide developers with the presented methods for working with DOM tree elements without additional connection of the JS module to make it as simple as ElementReference.FocusAsync() method.
So I will create my own commit for this.

Added in another PR (Razor library enhancement by Denny09310 and different monitors scale fix #2)


Gpu Not Found

it says no gpu found when i do the python infer-web.py command tho i have a 4070 and it pops up in my device manager so idk

I have the same issue :(

It seems like torch.cuda does not recognize the gpu.
A simple
import torch print(torch.cuda.device_count())
returns 0.

I just figured it out. This is due to the wrong pytorch download.
Use this: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118


Send EOF to the remote on input EOF

Attached patch sends 4.chr to the remote on input EOF. It finally makes it possible to pipe stuff to heroku run. Fixes issue #256

Three years later, I have this same problem.:) I'm also trying to feed seed data to Rake from STDIN.
Command:
cat FILENAME | heroku run bash --noediting -c "rake db:seed:TASKNAME"
Three notes:

If FILENAME has only a small amount of lines, reading from STDIN will always succeed, rake will receive EOF as expected and the process will stop eventually.

If FILENAME has 900 lines of plain text, reading from STDIN line-by-line STDIN.each do |line| will succeed, but rake will not receive EOF and the process will not stop.

If FILENAME has 900 lines of plaintext, reading from STDIN all-at-once lines = STDIN.read will echo contents on the screen, but rake will not receive EOF and will not process lines. Process will not stop.

heroku-toolbelt/3.43.9 (x86_64-darwin15) ruby/2.3.1
heroku-cli/5.2.39-010a227 (darwin-amd64) go1.6.2
=== Installed Plugins
<EMAIL_ADDRESS>


ACMEClient does not populate ACME CA's in Accounts page

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[ x ] I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
[ x ] I have searched the existing issues, open and closed, and I'm convinced that mine is new.
[ x ] The title contains the plugin to which this issue belongs

Describe the bug
A new install of AcmeClient does not allow for creation of accounts on first view.
When attempting to setup a new account, I hit Add with default values, but no response is received from the backend api.
After fixing the PHP in /usr/local/opnsense/mvc/app/controllers/OPNsense/AcmeClient/Api/AccountsController.php, line 95, i was able to see all of the attempts i made to make a new account.
This is a brand new install of OPNSense, and no revert was possible.
To Reproduce
Steps to reproduce the behavior:

Go to Services -> ACME Client -> Accounts
Click on Add
View ACME CA's as blank
Fill out Name, Email and Description
Click Add.

Expected behavior
Expected behavior is for pop-in window to disappear, and new Account to populate the list.
Actual Behavior
The pop-in never disappears. A log entry in Firmware Reporter shows the following log entry:
[27-May-2024 18:26:56 America/Chicago] PHP Deprecated:  Using ${var} in strings is deprecated, use {$var} instead in /usr/local/opnsense/mvc/app/controllers/OPNsense/AcmeClient/Api/AccountsController.php on line 95
Relevant log files
Please see above
Additional context
Changing ${uuid} to {$uuid} at the console resolved my issue with this bug.
Environment
OPNSense 24.1.7_4
acme.sh 3.0.7_1
os-acme-client 4.3

The pop-in never disappears.

I was unable to reproduce this, at least not on OPNsense 24.7.
However, I've prepared a fix for all PHP deprecation warnings, which will be available in the upcoming os-acme-client 4.5.

Is this issue solved??
As I have the same Problem:
In the "Edit Account" popup, the Field named "ACME CA" shows: "Nothing selected" with a down arrow. Selecting the field does not populate the options, like "Lets Encrypt (default).
Typing in the short name from the arme.sh documentation displays "No result matched "letsencrypt".
The account can not be saved so I'm stucked.


Making providers common

I will need testing done from @dav1x @themurph and/or @pschiffe
This is the first big chunk of work to make the providers common this should benefit OSP and Azure in the future and ensure that a change made on one common role is applied to all groups.

 Use common roles that all providers can use

Both atomic containerized and RHEL install are good on AWS

aos-ci-test

@detiber went block crazy and verified with both centos/origin and rhel/ocp. Will look into the repos enable/disable next week

@detiber I can't get manage to create a sane output from the disable/enable play. Using the above prints everything but the stdout_lines when trying to parse the var down to use stdout_lines there are still too many extra items.  Below is the output of stdout_lines
    "subscription_manager_repos.stdout_lines": [
        "+----------------------------------------------------------+",
        "    Available Repositories in /etc/yum.repos.d/redhat.repo",
        "+----------------------------------------------------------+",
        "Repo ID:   rhel-7-fast-datapath-htb-rpms",
        "Repo Name: Red Hat Enterprise Linux Fast Datapath Beta (RHEL 7 Server) (RPMs)",
        "Repo URL:  https://cdn.redhat.com/content/htb/rhel/server/7/$basearch/fast-datapath/os",
        "Enabled:   1",
        "",
        "Repo ID:   rhel-7-server-rpms",
        "Repo Name: Red Hat Enterprise Linux 7 Server (RPMs)",
        "Repo URL:  https://cdn.redhat.com/content/dist/rhel/server/7/$releasever/$basearch/os",
        "Enabled:   1",
        "",
        "Repo ID:   rhel-7-fast-datapath-rpms",
        "Repo Name: Red Hat Enterprise Linux Fast Datapath (RHEL 7 Server) (RPMs)",
        "Repo URL:  https://cdn.redhat.com/content/dist/rhel/server/7/$releasever/$basearch/fast-datapath/os",
        "Enabled:   1"
    ]

Any input appreciated just not sure how to parse or what to parse.

@dav1x @themurph @pschiffe can I get you guys to test this now that the code blocks are in place?

@cooktheryan ill try and pull down tomorrow and test a deploy on my environment

aos-ci-test

@cooktheryan tested and works great. excited to get it going after the INI changes.

GCE Validation
PLAY RECAP *********************************************************************
localhost                  : ok=23   changed=16   unreachable=0    failed=0
ocp-infra-dskl             : ok=173  changed=53   unreachable=0    failed=0
ocp-infra-pn6h             : ok=173  changed=53   unreachable=0    failed=0
ocp-master-nwjn            : ok=542  changed=180  unreachable=0    failed=0
ocp-master-r97j            : ok=351  changed=122  unreachable=0    failed=0
ocp-master-s14k            : ok=351  changed=122  unreachable=0    failed=0
ocp-node-2z9x              : ok=166  changed=56   unreachable=0    failed=0
ocp-node-p6cl              : ok=166  changed=56   unreachable=0    failed=0
Connection to <IP_ADDRESS> closed.
Deployment is complete. OpenShift Console can be found at https://master.gce-validate.sysdeseng.com

hi all, over last week i've been working on getting OS Origin on CentOS running on VMware. Through that process i found few issues....
Looking at this chunk it sounds i should better hold pushing any PRs, how far you guys think this PR is from being merged?

Looking at tomorrow/monday for merging. We just need to run it through the
providers 1 last time before merging.
On Thu, Jan 12, 2017 at 5:11 PM, Dani Comnea<EMAIL_ADDRESS>wrote:

hi all, over last week i've been working on getting OS Origin on CentOS
running on VMware. Through that process i found few issues....
Looking at this chunk it sounds i should better hold pushing any PRs, how
far you guys think this PR is from being merged?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openshift/openshift-ansible-contrib/pull/126#issuecomment-272300221,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADoslHk71pY2ZQszFRZsZKAqo7ICNsIKks5rRqUSgaJpZM4K5kfq
.

@cooktheryan perfect, thanks for quick response 👍

@DanyC97 hey man. I did a lot of work on VMware as a provider ping me if I can help with your CentOS deploy

@dav1x thanks you for the offer, definitely i'll need your help 👍
so my confusion comes from few things:

the req for atomic-openshift-utils rpm is not found on CentOS repo hence the playbook fails
in the current merged PR as well as your follow up commit i saw that the nfs, haproxy and cleanup playbooks were removed. any reason why?

I'll go tomorrow to try and redeploy from scratch using CentOS on VMware and latest changes you guys done so i can validate it.


how to solve one directional video

Hi dave!
I don't know if it is caused by NAT. my application flow is below:
browser(webRtcEndpooint)->server(webRtcEndpoint)->server(rtpEndpoint)->soft phone
browser can receive the video and audio sent by soft phone.but soft phone can't receive the video and audio from browser. The sdp negotiation is success from drachtio-server log.

so I understand you have a drachtio app actings as a B2BUA, receiving a call from a browser and sending it to a softphone.
Questions:

What are you using as media proxy to convert srtp to rtp?
Is the softphone behind a NAT?  If so, how are you sending the INVITE there?  Is the softphone registering with the drachtio server?

I use drachtio app actings as UAS. receiving invite from softphone. and send media from browser to softphone.

kurento-media-server.
soft phone is behind a NAT(symmetric).softphone doesn't register when connect sip server.It call by address and then application handle it.

I would have to see the full drachtio log of the call, plus a pcap taken from the server running drachtio server and kurento to help further on this

sorry for reply late.
below is drachtio server log (contract is yuansichao@yuansichao.com,others are spam).
log20210302.txt
here is server net log bt tupdump:
target.cap.zip

If the information is not enough, please let me know

this is captures when make unidirectional communication.
￼￼

when I change test environment from WAN to LAN.It can actually make bidirectional communication (same code). So I think maybe the network or SDP lead to the problem. I'm so confused.

I am confused about the drachtio log you provided.  It only shows a single call -- an invite from a MicroSips client calling extension 110.  The call is connected to the Kurento media server.  We then see a re-invite from the same client.  That is all I see in the logs.  I do not see the second call you are talking about

closed for lack of response.


PR: Remove '--cov-report=term-missing' from pytest args

This is a simple change to remove the detailed info about lines not covered by tests from our pytest reports.
This adds a lot of noise to our reports. Besides, this information can be consulted on codecov or coverall in a much nicer format.

Hello @jnsebgosselin! Thanks for submitting the PR.

There are no PEP8 issues in the file runtests.py !


be consistent in how to give an axis to pyplot functions

Problem
imshow currently accepts an ax argument, plot uses interactive_plot_factory and scatter and hist both always create the function for you. This is insane - gotta choose one strategy and stick with it.
Proposed Solution
Get rid fo the interactive_*_factory idea, I keep on not implementing it bc its a hassle. all pyplot functions accept an ax argument. One open question is what form should the returned controls be? currently the factory returns the raw sliders and functions like plot return the hbox. Maybe it should depend on if you pass an axis? or is that crazy?
maybe the last argument is the vbox if there is one?
or maybe its a dict?
like:
{
"widgets": .....,
"container": # either an hbox or a figure and axis  depending on backend
}

or widgets could even each have their own key based on the kwarg they were used for.

fixed by #119


About font scale_factor calculate

For example:
    let font = FontRef::try_from_slice(include_bytes!("../assets/SourceHanSansSC/SourceHanSansSC-Regular.otf")).unwrap();
    let font_size = 24.0;
    let px_scale_font = font.as_scaled(font_size);

    dbg!(font.units_per_em().unwrap());
    dbg!(font.height_unscaled());
    dbg!(font.ascent_unscaled());
    dbg!(font.descent_unscaled());
    dbg!(px_scale_font.ascent());
    dbg!(px_scale_font.descent());

    println!("font size as units per em");
    let scale_factor = font_size / font.units_per_em().unwrap();
    dbg!(scale_factor);
    dbg!(font.ascent_unscaled() * scale_factor);

    println!("font size as height units");
    let scale_factor = font_size / font.height_unscaled();
    dbg!(scale_factor);
    dbg!(font.ascent_unscaled() * scale_factor);

output:
[src/main.rs:10] font.units_per_em().unwrap() = 1000.0
[src/main.rs:11] font.height_unscaled() = 1448.0
[src/main.rs:12] font.ascent_unscaled() = 1160.0
[src/main.rs:13] font.descent_unscaled() = -288.0
[src/main.rs:14] px_scale_font.ascent() = 19.226519
[src/main.rs:15] px_scale_font.descent() = -4.773481
font size as units per em
[src/main.rs:19] scale_factor = 0.024
[src/main.rs:20] font.ascent_unscaled() * scale_factor = 27.84
font size as height units
[src/main.rs:24] scale_factor = 0.016574586
[src/main.rs:25] font.ascent_unscaled() * scale_factor = 19.226519

In font Roboto, units per em = 1000, height = 1448
so the text rasterize seems smaller.
Font size is 24px, left is in chrome, right is in ab_glyph.

I am not sure which is correct, but I found in another font parse library fontdue:
It use units_per_em.
https://github.com/mooman219/fontdue/blob/master/src/font.rs#L243-L247
    /// Calculates the glyph scale factor for a given px size.
    #[inline(always)]
    fn scale_factor(px: f32, units_per_em: f32) -> f32 {
        px / units_per_em
    }

======================
I try to adjust the scale factory to fit units_per_em, it seems size equal:
 let text_size = text_size * (font.font().height_unscaled() / font.font().units_per_em().unwrap());

=======================================
Chrome demo:
http://static.takwolf.com/font-test/index.html
https://github.com/TakWolf/static.takwolf.com/blob/master/font-test/index.html
ab-glyph demo:
https://github.com/TakWolf/tge/blob/feature/ab-glyph/examples/text_layout.rs

ab-glyph doesn't use units_per_em for scale, it follows the rusttype method. So using PxScale 24 means the font height will be 24 pixels (I wasn't aware of any better way at the time).
You can just make your own calculation and apply it to scales if you need consistency with something else.

Thank yout.
I want to know what is the standard practice? Could I believe rusttype?
I can't find a reference and prefer chrome, because it seems more authoritative.

Now there is a only way to draw font thar is to use OutlinedGlyph,
And OutlinedGlyph have a Glyph(with a scale)
How to get a drawer without hack scale?

I want to know what is the standard practice? Could I believe rusttype?
I can't find a reference and prefer chrome, because it seems more authoritative.

I've raised an issue to discuss this #15. Changing would involve a breaking version increment, but I'd certainly consider it if the new pixel scaling was considerably more "standard".


How to add a screen to another tab by pressing a button in the screen?

In the sample app as shown in the video, how do I add a screen to the stack by pressing the button in the center of the screen and moving from the Home tab to the magnifying glass tab on the right side?
Switching tabs from within the screen could be done using PersistentTabController.
How do I add any screen to the screen stack of another tab?

Yes you can use PersistentTabController to switch the tab and then you have to set a navigator key for each tab and use the key of the tab you want to push the page on. In this example is switches to tab 2 and pushes a screen there:
tabController.jumpToTab(1);
SchedulerBinding.instance.addPostFrameCallback((timeStamp) {
  secondScreenNavigator.currentState.push(MaterialPageRoute(
      builder: (BuildContext context) => MainScreen2()));
});

Thank you!
It was very helpful.
I'll leave a snippet of the code for future reference.
final GlobalKey<NavigatorState> _navigatorKey0 = GlobalKey<NavigatorState>();
PersistentBottomNavBarItem(
                routeAndNavigatorSettings: RouteAndNavigatorSettings(
                    navigatorKey: _navigatorKey0)),


WIP: Debugging mode for CPython universal

Could be merged as it is, but probably only compiles on Linux.  Also, there is no way to disable the extra checks, but they don't cost a lot.

Are we sure this is the design we want to use?
If I understand it correctly, these changes merge the debug checks into the normal universal mode; even if these precise changes have a low overhead, it is likely that we will need to introduce a we_are_in_debug_mode flag to implement more expensive checks in the future.
An alternative design is to implement the debug mode as a wrapper around an existing HPyContext:

one minor advantage is that it will have 0 overhead when it's not used
the biggest advantage, IMHO, is that we will be able to use the very same debug mode on all interpreters. In particular, we will not need to implement it again on PyPy

While I see the long-term point, I have some doubts about the idea now.  In "your" version, we need to wrap at least all functions of the API to check all handles.  It doesn't exist so far because it is quite some work and it will add maintenance cost.  It risks bugs of its own, because it needs to be complete and consistent.  And it needs to be explicitly enabled by the user.  By comparison this is a few lines of code, and adding the same ones inside PyPy is trivial.

I see your point. My idea was to autogen all the wrappers, i.e. something like this:
HPy ctx_Long_FromLong(HPyContext ctx, long x)
{
    HPy res = ctx->original_ctx->ctx_Long_FromLong(ctx, x);
    ctx->_record_new_handle(res);
    return res;
}

If we do it this way, the only maintenance cost it adds is the autogen code (which, btw, it much nicer and easier to do in my WIP hpyfunc_autogen branch).
But, apart from handles, my main concern is about all the other debug checks that we will want to introduce. It would be nice to avoid redoing all the work twice, and moreover it would be nice if the debug mode on CPython and PyPy generate the very same warnings.

Redone in PR #69.


Fix some bugs if user is not a registrar

Fix crash when requesting /extra_duties/editor/ if user is not a registrar
before:

after:

Fix errors when requesting /api/table/events/ if user is not a registrar
before:

after:

Add an env.sample file for better development locally.

@Tubo  Please help to review this PR. Thank you.

@Tubo  I've added some test cases. Please review this PR. Thx.


localhost geolocation fails

when running on same machine (localhost) geolocation will produce incomplete dict, country code will be missing and there are extra unexpected arguments further down the line

fixed by #27


Rules: decision not working (Bottom/Top/Cancel) - TOP is Default

Enter now sets it to default.
Read-Host allows: 'Top', 'Bottom', 'Cancel','t','T','b','B','c','C'


How to convert FBX to VRX inside app itself ?

Hi
I want to know how i can convert fbx file to vrx file in android app programmatically.
Please let me know the steps.
Thank you

GLTF support was added in ViroReact 2.7


Help us create images for all of the extensions

Scroll to the end of the comments to see what extension images we need
It's not a secret that I am not a graphics designer. So, instead, we hope to crowdsource images for the extensions. This issue is the place where we will do that.
Extension images must be:

2:1 aspect ratio
SVG (preferred), PNG, or JPG
If PNG or JPG, 600x300 resolution

You can post proposed images here or try to figure out how to submit a pull request if you're in the mood

Files:

How about this for Runtime Options?

Can you make that again but without the top few pixels of the next checkbox visible? (better yet, you might be able to just fit it in?)

Actually, I think this will look a bit better if I remake it as an SVG and make some changes to the design, removing the question marks, making the highlight a round rectangle on both sides, etc.

Actually, I think this will look a bit better if I remake it as an SVG and make some changes to the design, removing the question marks, making the highlight a round rectangle on both sides, etc.

Go ahead.

Utilities!

Fetch!

Cloud Ping
Its simple but at least it conveys its purpose!

Pointer lock 0,0 :)

The SVGs

If anyone's in the mood, "Gamepad" and "Bitwise" both could use more inspired images

Also, https://github.com/TurboWarp/extensions/pull/100 needs an image

#100

 #100

Looks good

If anyone's in the mood, "Gamepad" and "Bitwise" both could use more inspired images

For a Gamepad extension icon, is it okay if it's rounded-rectangle-shaped (like an SNES controller)?

#55 will also need an image

For a Gamepad extension icon, is it okay if it's rounded-rectangle-shaped (like an SNES controller)?

Maybe

How about this for the Gamepad extension?

Consider this picture to be licensed under a CC-BY 4.0 license.

How about this for the Gamepad extension?
Consider this picture to be licensed under a CC-BY 4.0 license. It was adapted from a related graphic in DNin01/icons.

its good ,it just need triggers

It looks like all the images are complete, unless we want to make a few improvements.

I'm adding some unsandboxed custom extensions to the native extension library. It's now apparent that "TurboWarp Blocks", "TurboWarp Extension Gallery", and "Custom Extension" could use better icons

Note that images in Scratch's extension library are 600x372 instead

TurboWarp Blocks

To avoid a scenario where "TurboWarp Blocks" and "TurboWarp Extension Gallery" have the same icon, I believe it would make sense to give the TurboWarp logo to "TurboWarp Blocks" and "TurboWarp Extension Gallery" can instead  have something like a collage of several images of extensions from extensions.turbowarp.org

We also need images for:
https://extensions.turbowarp.org/navigator.js - browser detection blocks
https://extensions.turbowarp.org/text.js - blocks that manipulate text

I know that it isn't 2:1 or vector, but for reference, this is the original image for the Text extension used in SCE (image is by the Scratch user JoshsAccount):

(Maybe it could be edited for this.)

The image for that already exists

@GarboMuffin @True-Fantom
I tried making images for Clipping and blending extension myself and despite not exactly fitting the white-outline style of True-Fantom, which everything seems to be going to, I think those 2 may actually look better than the current ones. What are your thoughts?
(branch)

JSON extension
first time making this

@Xeltalliv На самом деле то, что ваше расширение содержит сразу 2 функции, не входящие в общую тематику, создаёт несколько проблем:

Название занимает 2 строки, что мешает, увеличивая ряд значков категорий
Название выглядит странно, оно отделяет обрезку и смешивание, так что только подчёркивает их "независимость"
Сложно уместить на значке и баннере визуальное представление обеих возможностей
И, как я уже сказал, обе функции выглядят несовместимыми в одном расширении

Может разделить текущее расширение на 2 отдельных?

И, как я уже сказал, обе функции выглядят несовместимыми в одном расширении
(And, as I already mentioned, both features look incompatible in a single extension)

From a logical point of view I agree that it may not make sense to combine those 2 features into 1 extension. The main reason why I did it is technical reasons. Both of them require overwriting the same parts of rendering (and implementation of both features is very similar), which makes those parts of TurboWarp slower. Having it combined into 1 extension makes it slower once. Having it in two separate extensions and then trying to use both at once will make it twice as slow. It's also easier to maintain and is less likely to conflict this way.
The slowdown it causes is also the reason why I don't want to add any other unrelated in technical implementation features to it (like new normal scratch effects). If I do it and then people want to use just those other features, then they shouldn't be dealing with the slowdown and potential incompatibilities with other extensions from features they don't even want to use.
I may eventually make both of them also affect pen, which will also involve a lot of code shared between both features.

Название выглядит странно, оно отделяет обрезку и смешивание, так что только подчёркивает их "независимость"
(The name looks weird, it separates clipping and blending, which only highlights their "unrelatedness")

Trying to pick a name that tries to unify them into one shared topic makes it not clear what extension really adds. And as I described above, I'm not planning to add new features to it, so calling such a small extension with a broad topic may give people false expectations and waste a name of that broad topic, which could be better used by another extension.

Название занимает 2 строки, что мешает, увеличивая ряд значков категорий
(The name takes up 2 rows, which doesn't look that well, since it expands the column of category icons)

I also prefer single line names, though once again picking a single line name is hard (or impossible) such that it isn't affected by issues described in my previous point.
Also some other extensions do the same:

Сложно уместить на значке и баннере визуальное представление обеих возможностей
(It's hard to fit visual representation of both features on an icon and a banner)

For icon, yes. For banner I think the image above does it decently.

Может разделить текущее расширение на 2 отдельных? Это бы решило все проблемы (Уже готовое оставить как есть, просто убрать его с сайта, и заменить на 2 новых)
Maybe divide the current extension it 2 separate ones? It would've solved all the issues (Leave the current ones as is, just remove it from the homepage, and replace with 2 new ones)

If there was no technical reasons to keep it as a single extension, this would've been a great idea.

@Xeltalliv Okay
But then I will suggest new images:

Here's an idea:

I believe there is non-insignificant value in showing a real demonstration of what this extension's blending actually means, even if it has to look slightly out of place (compared to a lot of the other images, this is really not out of place though)

Here's an idea:

I like this

@Xeltalliv Okay)
But then I suggest new images

and replacing the name from Clipping, blending to Clipping & Blending

And agree with both of those ideas.

@GarboMuffin @Xeltalliv
I have centralized the image:

@NOname-awa To be honest, I don't think your extension needs to be added to the homepage yet, since it actually adds only 4 new blocks, 3 of which are easy to recreate.

@NOname-awa To be honest, I don't think your extension needs to be added to the homepage yet, since it actually adds only 4 new blocks, 3 of which are easy to recreate.

Okay, I will continue to modify

@NOname-awa To be honest, I don't think your extension needs to be added to the homepage yet, since it actually adds only 4 new blocks, 3 of which are easy to recreate.

But I want to make a comprehensive "comparison", and it is difficult to innovate in "more-comparisons".
Other extensions are scattered about "comparison", and multiple extensions need to be added

@NOname-awa To be honest, I don't think your extension needs to be added to the homepage yet, since it actually adds only 4 new blocks, 3 of which are easy to recreate.

I added 6 blocks
5 contents containing line segments and quadrilateral

@NOname-awa I apologize for such a long delay

thanks！

i made this in like, 3 minutes. its just a concept

theres also this ugly abomination (for navigator)

Thought I'd contribute a thumbnail for Canvas Effects

Numerical Encoding Thumbnail

Numerical Encoding Thumbnail

Tween needs an SVG version of its icon: https://github.com/TurboWarp/extensions/blob/master/images/JeremyGamer13/tween.png

Done

@Pizzalover4783 Slightly modified

Graphics 2D Thumbnail

Worked really hard on this

 Worked really hard on this

Probably this is the best image so far, a great job!

Worked really hard on this

woah I see you put a lot of effort on doing this 😂

Does this extension even exist?

Notifications

Concept Art for Notifications (The latest post is of it, lol)

Concept Art of RGB Channels (unproportonial, can be upgraded)

Very good work LukeManiaStudioss

RixxyX image, anyone?

(Yes it's svg)

I try to make this

https://github.com/TurboWarp/extensions/issues/90#issuecomment-1550433940 is still the best

How about this? 😂

？？？

How about this? 😂

？？？

How about this? 😂

This is my RGB channels cover

For the Data Analysis extension

Notifications extension

Navigator extension

Concept Art for Notifications (The latest post is of it, lol)

(Vectorize, change the background, and fix imperfections)

I think that's the best notifications one.

Concept Art for Notifications (The latest post is of it, lol)

(Vectorize, change the background, and fix imperfections)

I think that's the best notifications one.

Ru sure?

Concept Art for Notifications (The latest post is of it, lol)

(Vectorize, change the background, and fix imperfections)

I think that's the best notifications one.

Ru sure?

Yes.

Concept Art for Notifications (The latest post is of it, lol)

(Vectorize, change the background, and fix imperfections)

I think that's the best notifications one.

Ru sure?

Yes.

Ok it does look cool, I will try to make a better one too. Do you think my other ones are good though?

@GarboMuffin I Made some

Concept Art for Notifications (The latest post is of it, lol)

(Vectorize, change the background, and fix imperfections)

Post a vector version of this when you can

Battery:

Battery:

wow, way better than before

Battery:

wow, way better than before

Great job 👍👏

Ping Cloud Data:

Alternative Version:

Ping Cloud Data:

Alternative Version:

I like the alternative edition but the cloud looks a bit too sharp

Utilities:

I have versions without the gears too.
License for the gears: https://icons8.com/license

BigInt needs an image for the website, and would also benefit greatly with a small image to use in the extension itself

@BlueDome77 I like it, but the license for the gear icon is weird, can you find a replacement under a public domain or creative commons license?

Ok I’ll try!

@BlueDome77 I like both of those, but the license for the gear icon is weird, can you find a replacement under a public domain or creative commons license?

Updated Thumbnails:

Battery:

wow, way better than before

Great job 👍👏

yeah nice job! you did better than i did mine! wait. did you take inspiration form mine? the background looks the same, and you added stars like i did.

Battery:

wow, way better than before

Great job 👍👏

yeah nice job! you did better than i did mine! wait. did you take inspiration form mine? the background looks the same, and you added stars like i did.

I did take inspiration from you. I am currently redesigning the thumbnails for some other extensions also to match the default Turbowarp Extension Style made by @True-Fantom

notification (svg) :

These were submitted via email

McUtils gets a yes from me for sure! 👌

It would be ideal to have a new version of the S-Grab image that does not contain Scratch trademarks such as the Scratch logo, if possible

It would be ideal to have a new version of the S-Grab image that does not contain Scratch trademarks such as the Scratch logo, if possible
I am aware it's all from a font, but we like to avoid those trademarks as much as possible

I can try

for sound

RGB Channels:

RGB Channels:

These images feel like they would more belong in a "stereoscopic 3D" extension instead of a "display certain color channels of a sprite" extension...

RGB Channels:

These images feel like they are would be more for a "stereoscopic 3D" extension instead of a "display certain color channels of a sprite" extension...

I chose the 3D Glasses as a communicative  representation of what this extension generally does.

RGB Channels:

These images feel like they are would be more for a "stereoscopic 3D" extension instead of a "display certain color channels of a sprite" extension...

I chose the 3D Glasses as a communicative representation of what this extension generally does.

...but stereoscopic 3D is not what the extension does, not by a long shot. That's really misleading

here is my S-grab:

oh no, the font is wrong

BigInt needs an image for the website, and would also benefit greatly with a small image to use in the extension itself

Hey, I'm the guy who sent those thumbnails via email. I made some SVG alternatives, plus one for the navigator.

RGB Channels:

My take on RGB Channels (modified version of @BlueDome77's image):

My attempt at an S-Grab image without using the scratch logo or icon.

Var and list (variable and list icons based off of SA's block palette category icons):

Var and list (variable and list icons based off of SA's block palette category icons):

does this extension even exists?
I can only see there's "Temporary Variables" now, but not "Var & List"

My attempt at an S-Grab image without using the scratch logo or icon.

I like the smooth color change between scratch and turbowarp but maybe make it more like it's getting info from the scratch api

With our powers combined...

I've actually just found out that s-grab doesn't actually use the scratch API so yours may be better

Var and list (variable and list icons based off of SA's block palette category icons):

does this extension even exists? I can only see there's "Temporary Variables" now, but not "Var & List"

Search Params:

(if it's needed, the font used is bold Consolas)

Search Params (note: this isn't really important so it's not required for desktop 1.8.0):

(if it's needed, the font used is bold Consolas)

You should change the color of “?q=” and “&p=” to something darker to make it easier to distinguish from the background

Search Params (note: this isn't really important so it's not required for desktop 1.8.0):

(if it's needed, the font used is bold Consolas)

I modified the color of the light grey text to be more distinguished from the background:
Search Params:

Submitted by SharkPool through another platform

Navigator:

rxFS:

Notifications:

Search Params (note: this isn't really important so it's not required for desktop 1.8.0):

(if it's needed, the font used is bold Consolas)

Why isn’t the extension on desktop anyways?

Why isn’t the extension on desktop anyways?

Desktop uses a local version of the extensions library, which can be outdated.

Why isn’t the extension on desktop anyways?

it is

@CST1229 I recently got a conflict on my pull request can I ask what I'm suppose to do because I don't really use github

you can just leave it in a broken state and I will fix it when I merge the pull request

Notifications:

This thumbnail is so much better than the current one!

What font does Regex and Base use?

Encoding:

Alt Version:

Font: Beirut

Here's an unusual request: I am working on return blocks for custom blocks at https://experiments.turbowarp.org/return/editor. They let you do things like this:

To alleviate the Scratch incompatibility problem, the plan is to put an item in the extension library to enable this feature. It won't actually be an extension, but it will be listed in there anyways
Anyways point is I need an image for that

Custom Reporters:

you could make it a reporter returning something also, but its just an idea

Made some images for NFCWarp and HTTP.

I feel like having the extensions name in the thumbnail doesn't look too good, but you could possibly replace it with an icon like this

Ok, is this better?

I feel like having the extensions name in the thumbnail doesn't look too good, but you could possibly replace it with an icon like this

 Ok, is this better?

I feel like having the extensions name in the thumbnail doesn't look too good, but you could possibly replace it with an icon like this

I think that's much better!

Vectors for Shovel Utils and Mc Utils

Notifications:

 Ok, is this better?

I feel like having the extensions name in the thumbnail doesn't look too good, but you could possibly replace it with an icon like this

Way better.

这是一个不寻常的请求：我正在 https://experiments.turbowarp.org/return/editor 为自定义块处理返回块。他们让你做这样的事情：

为了缓解 Scratch 不兼容问题，计划在扩展库中放置一个项目以启用此功能。它实际上不会是一个扩展名，但它会像以前一样列在那里。
无论如何，我需要一张图片

Is this currently achieved?

Here's an unusual request: I am working on return blocks for custom blocks at experiments.turbowarp.org/return/editor. They let you do things like this:

To alleviate the Scratch incompatibility problem, the plan is to put an item in the extension library to enable this feature. It won't actually be an extension, but it will be listed in there as though it were.
Anyways point is I need an image for that

Is it safe to make projects with the experimental editor yet?

projects made with the experimental editor will work in the final version
note that there are some known (very bad) bugs with fixes that are not yet pushed to the public site

Image for More Motion

SVGs for Mouse cursor and Pointer Lock extension maybe?

SVGs for Mouse cursor and Pointer Lock extension maybe?

I honestly prefer the current ones

SVGs for Mouse cursor and Pointer Lock extension maybe?

I honestly prefer the current ones

Same

Same

Same, these are just too bright and saturated (even moreso than Text!).

Better version of Custom Reporters (with a reporter instead of a stack block in the define block):

Did Garbo change it to have a circle input?..

Did Garbo change it to have a circle input?..

I don't think so, but it'd probably look weird to have a stack define block in the custom reporters extension (and it might be changed to that in the future).

lz compress

all these thumbnails looks soooo good!
need to redesign JSON extenion's one 🤔

here's mine for more motion

Version without the Plus

All menus

PNG version:

SImplified:

I recently made an extension that shows a pop-up message, maybe this would be good for it?

I try to make this

Here is one for Control Controls

And one for Wake Lock:

here's mine for wake lock

Wake Lock

How about this

Decided to take a stab at Lily's Toolbox's thumbnail...

And yes, I did Sound Expanded too. It's more straightforward.

Took a jab at Lily's toolbox, Sound Expanded, and Control Controls.

these are beautiful

That's better

Image for browser fullscreen: #962

I also did some more pixel art for hacked block collection

I did one for hacked block collection also. The font is just the default scratch block one, which I believe is Helvetica Neue

I did one for hacked block collection also. The font is just the default scratch block one, which I believe is Helvetica Neue
this art is masterpiece

One for Iframe. The font is Helvetica Neue.

One for Iframe. The font is Helvetica Neue.

This is really nice!!

One for Iframe. The font is Helvetica Neue.

This is really nice!!

Thank you so much!

One for Iframe. The font is Helvetica Neue.

This is really nice!!

Thank you so much!

Everyone has better designs than me. Lol.

One for Iframe. The font is Helvetica Neue.

This is really nice!!

Thank you so much!

Everyone has better designs than me. Lol.

same

(Updated) Battery:

Sorry if the file itself is very large. A clean submission for Fetch

@xTvii this is fire!!

#1079

My version of RixxyX (I hope you enjoy)

clipboard
icon from google fonts

looks good! just get rid of the blobs.

clipboard icon from google fonts

I think the icon is a little too big...

Sorry if the file itself is very large. A clean submission for Fetch

It would fit better if you replaced the dango with the Turbowarp T

i'm not a graphic designer, but i took a shot at html encoding
bg https://app.haikei.app/ icon https://icons8.com/icon/CP3Hh5okzCEc/source-code

(Updated) Battery:

(Updated) Battery:

I just made these because I'm bored. First time doing this.

![image](https://github.com/TurboW arp/extensions/assets/100467674/d5cff847-5119-41a6-a609-9538fbcfb759)
Is this okay for JSON extension?
this is my first time creating these

Here's one I made for the mobile keyboard extention

#1607 hiii

I made one for the Steamworks extension

For Steamworks API. Can't use the Steam logo so I put Dango Cat.

Is this okay for JSON extension? this is my first time creating these

I like this for some reason

Here's what I made for the mobile keyboard extension. The current icon looks... interesting. I based this one off of the current one, but with a more modern feel. You might need to crop it a little since the main part isn't the center. Tell me if I need to change that!


Shift-clicking and inputing drives issue

I cant put discs into drives. (They are staying in my inventory and i see ghost disc icons on the to slot of drive)
Also i have problems with shift clicking stuff into system.

This as well is happening to me. Pack is the Direwolf20 1.10.  When shift clicking the drive goes into the top row (Filter row I believe). Can not place disks in no matter what I've tried.

Most likely due to an old version of RS. What version are you using?

Curse says 1.2.4

This issue was fixed in the last version of RS

also ghost discs?


Add support for OAuth2 userless/app-only flow

This PR adds support for OAuth2 userless/app-only flow. Public clients (no client secrets) and confidential clients are both supported.
I tried to implement the feature without huge API changes but introduced some changes to the Credentials type (from ordinal record type to a variant) and its serialized format (sexp):
Before:
;; Before
((client_id ID)
 (client_secret SECRET)
 (username USERNAME)
 (password PASSWORD))

;; After:
(Password  ; variant constructor
 ((client_id ID)
  (client_secret SECRET)
  (username USERNAME)
  (password PASSWORD)))

And instantiate Connection.Credentials.t from Password credentials would look like
(* Before (ordinal record): *)
{ client_id = "ID"; client_secret = "SECRET"; username = "USERNAME";  password = "PASSWORD" }

(* After (variant): *)
Connection.Credentials.Password
    { client_id = "ID"; client_secret = "SECRET"; username = "USERNAME";  password = "PASSWORD" }

Please see tests/test_parse_credentials.ml for other credentials types.

Thank you for the detailed review! Really helpful. I fixed the last commit.

Awesome, thank you!

Thank you for the merging. I've learned a lot from this review.


Proposed. What file format would you like exported from LIMS?

For SRM,, JR6a, KLY4s?
Proposing not a report, but a web service that emits either the exact plain/text you require, or application/json to parse. Whether I hear from you or not, going to give it a whirl for SRM at least based on the output  of iodp_srm_magic.py

Much better plan than continued maintenance of scripts following ever changing reports.
Should reduce the amount of file management required by any given operator, at least w/respect to JRSO content.
Long term greater stability of interface with potential for more direct ingestion into MagIC database.

<EMAIL_ADDRESS>

Hi @dmafackler, so the place to look is https://www2.earthref.org/MagIC/data-models/3.0 to see the data model with descriptions (the required tables for analysis are Locations, Sites, Samples, Specimens, Measurements). The tables themselves are just tab separated value files with short headers and you can see what they look like from the output of the iodp_srm_magic script.
The iodp_srm_magic script to look at if you want to see the current code is in the PmagPy/PmagPy repo under programs/conversion_scripts/iodp_srm_magic.py. There are 2 iodp_srm_magic scripts because we are currently in process of converting the scripts to our 3.0 data model.
I think it would be great if there could be a output MagIC tables option on the iodp site. Let me know if you have any questions or would like to converse<EMAIL_ADDRESS>

Hello David Fackley @dmafackler,
My name is Nick Jarboe (njarboe@ucsd.edu). I work at Scripps for the MagIC group on getting data into the MagIC database. It would be great, as you stated, to have a system on your end that exported data into the MagIC 3.0 format. Then we do not have to keep up with the changing file formats on your end. Have you made any progress on this system? We would like to start ingesting the LIMS data as soon as possible. Is there anything I can do to help? Maybe we could meet with Skype or Zoom with Katerina to discuss the best way forward.


Draw barrier in latex_drawer

What is the current behavior?
Right now the barriers are not drawn with latex. We want them to be drawn for barrier, noise, save, load, and snapshot instructions at that depth.

So I did a little digging and the Qcircuit latex package doesn't support drawing barriers, which is probably why it's not implemented in latex_circuit_drawer(). I'll look into seeing if we can draw a vertical dotted line on top of the xypic that the Qcircuit package generates. But alignment will be tricky doing it that way, it would be better to teach the Qcircuit package how to draw it, because the xypic/xymatrix it uses will be able to always put the vertical line in the right spot.

FYI, the matplotlib drawer in qiskit supports barrier, and much more ...
https://nbviewer.jupyter.org/github/Qiskit/qiskit-tutorial/blob/master/reference/tools/matplotlib_circuit_drawer.ipynb#Show-Barriers

@mtreinish indeed that's why we did not have barriers originally (Qcircuit doesn't have it). I agree with you about the 2 possible solutions.
@rraymondhp yes we are aware of that. This issue is about the latex drawer. We continue to support both drawers in Qiskit. Latex produces higher quality pictures (no one uses matplotlib to draw quantum circuits in publications). But matplotlib has fewer software dependencies.

@ajavadia  Thanks! I see. Sorry for this. I agree LaTeX give a better circuit for papers. It will be great to have barriers and others on LaTeX drawer.

Hi @ajavadia. What kind of figures are you planning for barrier, noise, save, load, and snapshot? We can implement them to matplotlib_circuit_drawer.

@t-imamichi for barrier the dotted line that you have is great. All the others also behave like barriers, in the sense that they prevent reordering of operations. Perhaps we can label the top of dotted line to indicate the type of simulator instruction this is.

Thanks! We will implement a prototype with matplotlib_circuit_drawer.

Hi all  -
If you do teach Qcircuit how to draw barriers, those of us maintaining the package would be happy to accept a PR adding that functionality.

@Travis-S yep, that was my plan. The patch I pushed up earlier was just me saving my work from playing around. I just pushed https://github.com/CQuIC/qcircuit/pull/33 which adds a new barrier command to Qcircuit.


[Bug]: open external links in new browser window / tab

Contact Details
No response
What happened?
The link in the File Export tab

Export Swate annotation tables to official ISA-JSON (more).

should open in a fresh browser window / tab.

What did you expect?
No response
Host
Applies to All
Host Details
any host
Swate version
v1.0.0-alpha.11

Fixed this on my end! But ARCitect needs to allow external url for isa-json website first.


Feat: Add Vietnamese (vi) locale

@azhezzzz hey! Can you update the translation? I've added some new lines for iOS and Android

@khmyznikov OK, I have updated the translation


Fix factory bot integration and add minitest support

Fixes #68.
Trying to make the integration work with Minitest I realized the paths were never added because app.config.respond_to?(:factory_bot) always returned false.
If this is moved in the railtie to a config.after_initialize then it works as expected.
I could not write tests since I didn't find any, I am hoping to get advice on how to do these tests here :wink:
What I did was:
bin/rails test some_test.rb # it has a binding.pry
# => Rails.application.config.factory_bot.definition_file_paths
[
    [0] "factories",
    [1] "test/factories",
    [2] "spec/factories"
]

In that list we should also see every pack path + "spec/factories", but it is not there.
With this fix it will work as expected, and it will also support minitest folder structure test/factories.

Thanks @matiaseche  for the PR.
My team is dedicating two working sessions each week to review open PRs. We've been using a two-prong approach to tackle the newest open PRs and the oldest open PRs during each session.


Rework the action link handling for better resilience and flexibility

Implementation of the feature request in #359, including a rework of the handling in general
How to use
Add "kreait/firebase-php": "dev-action-links" to your composer.json file
use Kreait\Firebase\Auth\CreateActionLink\FailedToCreateActionLink;
use Kreait\Firebase\Auth\CreateActionLink\FailedToSendActionLink;

$email =<EMAIL_ADDRESS>$actionCodeSettings = null; // Optional: null, array, or instance of ActionCodeSettings (see below)
$locale = null; // Optional: string|null

$auth = $factory->createAuth();

// Get the action links to use in custom emails
try {
    echo $auth->getPasswordResetLink($email, $actionCodeSettings).PHP_EOL;
    echo $auth->getEmailVerificationLink($email, $actionCodeSettings).PHP_EOL;
    echo $auth->getSignInWithEmailLink($email, $actionCodeSettings).PHP_EOL;
} catch (FailedToCreateActionLink $e) {
    // ...
}

// Let firebase send the emails for us

try {
    $auth->sendPasswordResetLink($email, $actionCodeSettings,
$locale);
    $auth->sendEmailVerificationLink($email, $actionCodeSettings, $locale);
    $auth->sendSignInWithEmailLink($email, $actionCodeSettings, $locale);
} catch (FailedToSendActionLink $e) {
    // ...
}

Action code settings
Can be provided as an array, the following keys are supported:

continueUrl
canHandleCodeInApp
dynamicLinkDomain
androidPackageName
androidMinimumVersion
androidInstallApp
iOSBundleId

Todo

[x] Add support for action code settings (the class is already there, but neither worked out nor used 🤷♂)
[x] Validate action code settings
[x] Add/Modify tests
[ ] Add/Modify documentation
[x] Let the existing methods use the new methods
[x] Add more convenience methods OR deprecate existing convenience methods 🤔
[x] Auth::sendEmailVerification()/Auth::sendEmailActionLink('VERIFY_EMAIL') is currently broken, apparently the email is not enough, the API endpoint needs an ID token as well (see https://github.com/firebase/firebase-js-sdk/issues/1958)

:octocat:

@mkilmanas I think the feature is ready (please note the updated usage in the PR description). The only missing part is the hardest: update the documentation 😅. Please let me know if something doesn't work out in case you test this again 🙏

@jeromegamez - I've just tried the updated version and it seems to be running smoothly 👍 My main focus was on getSignInWithEmailLink(...) but I've also tried the others at least once as well.
Continue URL is working via actionCodeSettings fine 👍
A couple of things to note (may or may not need changing):

Official Docs say that parameter name for ActionCodeSettings is called url and then interpreted/used as continueUrl, however in your implementation the setting has to be named 'continueUrl' in order for it to work. Not a huge issue, but may be misleading to others as it deviates from the docs;
Class names for ActionCodeSettings implementations are a little strange when used without full namespace:

$actionCodeSettings = new Raw(['foo' => 'bar']); // Raw who?..

And I think most people will use it this way, with namespace being at the top in the use section

I love how you made named methods for each use case instead of public generic one 👍 But in your usage example above you forgot to remove the first parameter from the sendXYZ() calls
Thanks for the great work and a superb quick turnaround - greatly appreciated 🍻

Thank you for your feedback! I renamed the classes to RawActionCodeSettings and ValidatedActionCodeSettings to make the usage clearer (I always switch in my thinking of preferring explicit names and "composed" names from namespace + class name, where I then say "You could always do use Long\Namespace\Short\Class as ShortClass, but here I obviously want to please you 😂 )
Concerning the action code settings, I added url as a synonym to continueUrl to cover both cases - but the inconsistencies to the official documentation are still there, e.g. where I support iOSBundleId, the Admin Node SDK wants developers to use {"iOS": {"bundleId": "xxx"}}. I have some components that are slightly different in parameter and methods names than the official SDKs, but I also have my "own" documentation, so I hope developers look at that first instead of trying to apply the official docs 1:1 to this SDK. What do you think about it?

@mkilmanas I just update the docs in https://github.com/kreait/firebase-php/blob/action-links/docs/user-management.rst#using-email-action-codes and I think the feature is ready now. You have until the end of the current build to object 😂
No, seriously: if there's something missing or needing a change, I think we can do it separately - at the moment I don't think there should be a no-go left.
Thank you so much for your cooperation and for testing this (and of course for triggering me in the first place) :hibi

No, thank you for your rapid implementation and great communication 👍


Calculate build version based on repo status

This PR is intended to simplify the release management of the project. I've implemented version calculation based on the state of the repository. Last tag and number of commits since last tag is used to determine the current version.
Main changes:

[x] Add code to calculate current version using the git describe command output as a base.
[x] Add build target to automatically patch all the AssemblyInfo.[cs,fs] files before the build.
[x] Use the AssemblyInformationalVersion attribute to store the NuGet version of the particular DLL file. As a part of this change I've modified all the AssemblyInfo files to reset default version to <IP_ADDRESS> and to add the missing attribute (to be able to update it's value during the build).

Version resolve logic
As it was stated above, the git describe command output is used to calculate current version. The logic depends on the last/current tag name, whether it's a release or a pre-release tag and number of commits since last tag. The result is following:

Repo state
Calculated version
Explanation

on tag v3.52.0
3.52.0
If we are on a tag, we use it's version without any changes.

on tag v3.52.0-beta2
3.52.0-beta2
If we are on a tag, we use it's version without any changes.

15 commits since tag v3.52.2
3.52.3-pre0015
We patch version to have a new version that is larger than 3.52.2. We know nothing about changes, so we speculatively increase the revision number. We also add a -preXXXX pre-release suffix to both indicate that this version is a pre-release and to distinguish between different commits on the same branch. Number padding is required because nuget doesn't support SemVer 2.0 and uses lexical comparison for numbers.

15 commits since tag v3.52.2-beta2
3.52.2-beta2-build0015
We simply append the -buildXXXX suffix to produce a version that is larger than 3.52.2-beta2. NuGet uses the lexical comparison for the pre-release part, so the produced version is larger.

Pay attention that I intentionally use the different suffixes in last 2 examples. That is because versions have completely different semantics:

the version 3.52.3 was never released before, so we use the -pre suffix.
the version 3.52.0-beta2 was already released and current version it's just something that contains more changes. Therefore, I use the -build suffix.

If you feel this logic too much confusing, let's find the better approach.
Note! Versions from the last 2 table rows are never supposed to be published to the release (nuget.org) feed. They could be potentially published to the pre-release feed.
Also I know about the GitVersion tool, however didn't use it intentionally. That is because it doesn't work well with pre-release tags ending with numbers (e.g. -rc1, -beta2, etc) while I want to have such a possibility for such versions.

Overall, this looks great. AFAICT, we keep doing Semantic Versioning, but also offer 'nightly' builds as well.

Exactly! :)
However I'd say that nightly builds is not the only goal I pursue. I also want to simplify the release procedure to a simple tag creation. At the end you should be able to simply draft a release from the GitHub Releases UI, publish it and a new version will be released to feeds.

@ecampidoglio Thanks for the reply and description of your schema! :sparkles:
SemVer 2.0
I was under impression that NuGet doesn't work with SemVer 2.0 properly - I've read a set of conflicting articles. However, it seems that it works. After the more detailed testing I found the following:

NuGet 3.5+ - works
VS 2015 - doesn't work
VS 2017 - works
NuGet.org - doesn't allow to publish SemVer 2.0 packages
MyGet.org - allows to publish SemVer 2.0 packages

That means if we decide to use SemVer 2.0 schema, we'll get the following situation:

We are not able to use SemVer 2.0 for public builds (NuGet.org feed) and 1.0 is the only option (e.g. 3.50.2, 4.0.0-rc2). This is fine as we don't need pre-release builds there.
If we decide to use SemVer 2.0 for the 'nightly' builds, only users with VS 2017 (or e.g. Rider) will be able to consume these builds.

It might be fine, given that we don't expect our 'nightly' builds to be used widely.. But should be explicitly agreed whether we have a good reason for such a limitation.
Build in the version
The build section (+build.XXX) isn't an option as it does't participate in the package precedence. It isn't intended to sort assemblies, which is required here. If you read the "Build Metadata" section here you will see that this is definitely not the behavior we would like to get.
Rather, I'd like to the the following precedence of the packages:

Last Tag
Last Tag + 10 commits
Last Tag + 20 commits
Next Tag

If I add a pre-release feed to my project and a new package is pushed to the feed, I want to get a nuget notification about that. I don't want NuGet to randomly pick any of the builds.
Pre-release feed
In addition to the release feed, I would like to have a pre-release feed. That feed would include the following packages:

All the release packages (mirror them).
Packages for each commit to the master
Packages for each commit to the vNext (v4 in our case).

The reasons why I want to have master on the pre-release feed in addition to the vNext are following:

there is a delay between PR merge and the release itself. Feed could enable early adoption for urgent cases;
it might be required to perform some testing before tagging a new release (e.g. you spotted something after PR merge);
it costs nothing to have it, so we could cover other potential scenarios.

This will be discussed in the different PR, added here just for a reference :)
Answering to your questions

I don't see the need to further distinguish between pre and build versions; if we want to generate a new version number for every commit, the number of commits since the last tag should be more than enough.

That's exactly what I want to suggest - a mechanism based on number of commits since the last tag. However, there are requirements that this version should be somewhere here:
[previous release] < VERSION <[next release].
Unfortunately, we cannot always simply append the -buildXXXX suffix to v3.50.0, because that will violate our needs (v3.50.0 > v.3.50.0-buildXXXX).
If you see the better way to achieve the requirements given all the restrictions we have - please suggest 🙏

For example:  4.0.0-beta1  4.0.0-beta1+1

As was stated above, it will not work, because for SemVer (and NuGet) 4.0.0-beta1 and 4.0.0-beta1+1 are the same versions.
Version generation
Given all the information above (build metadata doesn't cover our needs; VS 2015 doesn't work with SemVer 2.0) do you have some other ideas how to alter the approach? 😉

I should probably clarify the premises of my suggestion:

We release deliberately (i.e. not automatically on every commit)
We release by creating a tag with the version number

For the past few years of AutoFixture development, we've been following the principles of Continuous Delivery; instead of bundling a bunch of improvements into a single release, we've released a feature or a bug fix as soon as it met our standards. Each release was tagged with a version number following the rules of Semantic Versioning.
I was under the impression that this PR was about automating our release process; in reality, it seems to be moving towards a higher goal: rework the way we do releases.
Don't get me wrong, I don't think it's a bad thing. However, we should all be clear about what we're doing here.
Now, if the majority of @AutoFixture/core team thinks we should be publishing CI builds on MyGet or do nightly builds, that's fine by me. In that case, I think we should come up with a better versioning scheme than simply appending -preXYZ or -buildXYZ because, frankly, they don't tell much about what will be in the package. Maybe including the branch name would be more descriptive.
If, on the other hand, we continue to do releases the way we've been doing them so far, appending the commit count since the last tag as build metadata is enough to generate a unique version number for the build; packages get their version number from the release tags.

It seems that we have a bit of misunderstanding here. Sorry if I'm being too chatty and confuse you by that.

I was under the impression that this PR was about automating our release process; in reality, it seems to be moving towards a higher goal: rework the way we do releases.

Simple automation is exactly what I want to do - I want us to continue following the same way as before. I don't to change the approach because I like it. I want the master branch to be publishable at any time and I want us to have quick release cycles. I still expect that ideally we have release after each PR merge. I don't expect to have larger release cycles when we roll out a bulk of changes.
The changes of this PR are intended, as you mentioned above, to automate the process - simple tag creation should be enough to trigger the release process.
For the people you use the public feed only nothing will change and will be the same as it was before - all these auto-generated suffixes will be invisible (if we are on a tag, we simply use tag version).
Pre-release feed
I want us to have a pre-release feed and the main goal is enable the early adoption of the vNext branch. We could also want the master branch to be published to the pre-release feed. The reason is that there could be potential delays between the PR merge and subsequent release. Delays might be caused not because of the policy change, but simply because of the human factor. As was stated in the Governance model discussion, nobody from the Core team wants to care about releases, while you still are ready to review and approve the PRs. As result, it could happen that you accept PR, merge it to master and I'll release only a few days after. That could create a gap between PR merges and public releases. If we have pre-release feed, everybody (if that is urgently required or e.g. just for testing) could go to our MyGet and consume packages from there in the meanwhile. However, as it was stated above, nightly builds for the master branch are optional and up to discuss later.
Auto-generated versions
If we want to have pre-release feed (and we want at least for the vNext), we need a mechanism to automatically generate NuGet versions which meet the criteria I described above: [lastTag] < [lastTag + 1 commit] < [lastTag + 15 commits] < [nextTag]. This should work well if lastTag is both release and pre-release (e.g. v3.50.1 and v3.50.1-beta2). The only purpose of these auto-generated versions is to indicate that we are "N" commits after the last tag. They cannot carry any semantics as it's impossible.
If you don't like the schema I suggested above, let's try another one:

Repo state
Result version
Comment

on tag v3.50.1
3.50.1
don't change

on tag v3.50.1-beta2
3.50.1-beta2
don't change

2 commits since tag v3.50.1
<IP_ADDRESS>
append the patch block. While this doesn't meet SemVer (it doesn't contain the 4th number), NuGet works fine with such versions.

2 commits since tag v3.50.1-beta2
v3.50.1-beta2.2
append another pre-release section. This is SemVer 2.0, so will not work in VS 2015

This schema doesn't contain any confusing suffixes and states clearly that it's just the previous version with appended commits. The drawback is that it might not work in VS 2015.

Maybe including the branch name would be more descriptive.

Honestly, I don't see a reason to include it - that would be always master or vNext only. It's clearly visible from the version on which branch we are (e.g. 3.x - master, 4.x - vNext).

If, on the other hand, we continue to do releases the way we've been doing them so far, appending the commit count since the last tag as build metadata is enough to generate a unique version number for the build; packages get their version number from the release tags.

I'm not sure I understood you. Do you mean release or the pre-release packages? For the release packages we don't need to include number of commits at all - version corresponds to the particular tag. For the pre-release packages (the MyGet feed) we should have unique package versions.

If you feel that we still speak about different things, please write small areas and clarify which exact questions/points you want to clarify.

I want us to have a pre-release feed and the main goal is enable an early adoption of the vNext branch. We could also want the master branch to be published to the pre-release feed.

I don't know about you, but I see this as a change in the release process: 😉

Before: tag = release
After: tag = release and also potentially release any commit from master or vNext to a pre-release feed

What I'm saying is that if we only ever release with tags—to which we manually assign a version number—we don't need to generate NuGet-compatible version numbers for every commit. Hence, appending the commit count as build metadata is enough.
I'm also skeptical to the idea of maintaining a separate pre-release feed. What does that buy us? If we want to have pre-release versions from vNext couldn't we just tag them appropriately (e.g. 4.0.0-beta3) and release them to the regular NuGet feed?

The reason is that there could be potential delays between the PR merge and subsequent release. Delays might be caused not because of the policy change, but simply because of the human factor. As was stated in the Governance model discussion, nobody from the Core team wants to care about releases, while you still are ready to review and approve the PRs. As result, it could happen that you accept PR, merge it to master and I'll release only a few days after.

Frankly, I don't see this happening. If the release process is automated and can be triggered by simply pushing a tag, I don't think it will take days between a merged PR and a release. Do you?
Also, I personally never said that I don't care about our releases; by now it should be obvious that I do, in fact, care a great deal 😉 That's why I welcome the idea of automating the release process. However, I do question the need for the added complexity that comes from having multiple feeds and long package versions.

and also potentially release any commit from master or vNext to a pre-release feed

That seems like overkill, actually.
Why would anyone want to upgrade to some latest 'unofficial' version just to try commit(s) that might not even compile, or not being even approved? 😕

Why would anyone want to upgrade to some latest 'unofficial' version just to try commit(s) that might not even compile, or not being even approved? 😕

Well, master and vNext branches contain merged (and therefore approved) PRs only. The pre-release feed will contain something that has been already approved and will be for sure a part of the product, but hasn't been officially released yet.

So, essentially it means that every night, everything that has been approved and merged into master or v4 branch will end up in a "nightly build".

@moodmosaic I expected that they will me built not every night, but just immediately after the PR was merged. Therefore, that are not the "nightly" builds per se - just the pre-release packages.

@ecampidoglio Here is my reply :)

I don't know about you, but I see this as a change in the release process...

Thanks, now I see what exactly you consider as a change. I didn't considered that as a change, because from perspective of a regular NuGet user nothing changed. But yes, internally, we are going do add one more feed.

I'm also skeptical to the idea of maintaining a separate pre-release feed. What does that buy us? If we want to have pre-release versions from vNext couldn't we just tag them appropriately (e.g. 4.0.0-beta3) and release them to the regular NuGet feed?

The difference is that release cycle for the pre-release feed is usually much larger. That might be caused e.g. by incompleteness of some features. For instance, we could migrate to .NET Core the AutoFixture project only, while the rest projects doesn't support the .NET Core yet. I would never release that as a public beta - product isn't finished enough to be published.
Also, usually I saw not too much pre-release versions (e.g. I never saw something like v4.0.0-alpha95) on public feeds, meaning that they are be released rarely enough. Given that I'd vote to have pre-release feed for vNext at least. If anybody wants to migrate particular project to .NET Core (e.g. xunit), they could do that via PR, wait till it's approved and consume that immediately in their project. Only after we find that it's stable enough, we could publish a public RC.
My point is that I see value from it, while it costs almost nothing.

Frankly, I don't see this happening. If the release process is automated and can be triggered by simply pushing a tag, I don't think it will take days between a merged PR and a release. Do you?

It seems that we should agree on that. I thought that the Release Manager person is responsible for releases and he is the only one who will trigger the release procedure. It could lead to confusion if everybody will trigger releases. And, therefore, if we have single person (or group of persons) who is responsible for releases, delays could potentially happen.

Also, I personally never said that I don't care about our releases; by now it should be obvious that I do, in fact, care a great deal

Sorry, that was definitely not what I wanted to say 😟 Of course I believe that everybody cares 😉

Next things to agree - are we going to support pre-release feed for vNext at least? I vote to have that - it will enable really early adoption, which is what for need, especially for .NET Core. I don't like idea to release 200 beta versions to official NuGet feed or wait for mounts till you could consume your change :worried:

Ok, let's agree to not have the pre-release feed for the master branch for now as it's release cycle is pretty short.  Let's have it for the vNext branch only. The reason is described above - vNext release cycle is much larger (we accumulate a set of changes before we release the next RC). It will be really handy here and it costs nothing for us to have this feed.
@ecampidoglio, @moodmosaic Do you have any objections regarding this?

I think having a separate feed for the vNext branch would make sense, since it lets us publish very early builds without polluting the main feed on NuGet.
As long as we release these pre-release packages deliberately with tags (as opposed to pushing a package on every build), I'm up for it.

@ecampidoglio Hard times for common agreements :tired_face: You discard the idea of the pre-release feed and push on each commit for the vNext, but I don't understand the reason.
Usually, the schema is following:

NuGet - release builds.
NuGet - public alpha, beta, rc, whatever.
Private feed - latest builds, in our case for the vNext branch only, as release cycle is not too frequent.

We cannot agree on the 3rd point. I'd say that this is the exact purpose of the private feed - to have latest builds early. This feed isn't expected to be used by everybody - it's intended to be used only by people who know what this is for. This is very convenient mechanism to distribute the latest releasable version of product when release cycle is large (what is exactly the case for vNext).
Could you please provide exact reasons why you don't agree to have this feed? I do understand that this is the change and something we didn't have before, however this should not be a reason per se. All this situation is really weird as:

Feed is free, we pay nothing to have it.
It doesn't affect the public feed and is transparent.
This is a private feed. If people don't need these packages - they will simple don't use the feed.
This feed is useful and convenient in particular scenarios, even if they happen not on the everyday basis.

I think we have another misunderstanding. I thought your suggestion was to not publish any pre-release packages to NuGet and instead only make them available through the private feed.
If we're going to have deliberate pre-release packages in the NuGet feed (tagged as beta, rc and what not), then, sure, let's have a private feed with the CI builds from the vNext branch. 👍
I hope this clarifies things.

If we're going to have deliberate pre-release packages in the NuGet feed (tagged as beta, rc and what not), then, sure, let's have a private feed with the CI builds from the vNext branch. 👍

Agreed 😌 Exactly - push tagged builds (pre- and release) to the NuGet, push latest vNext builds to the private feed.

Now, let's get back to this PR and agree on the auto-generated versions schema for the private feed.
It seems that you don't like the original -pre and -build suffixes for the private feed as they are a bit confusing. How about this one (I suggested it a few answers before):

Repo state
Result version
Comment

on tag v3.50.1
3.50.1
don't change

on tag v3.50.1-beta2
3.50.1-beta2
don't change

2 commits since tag v3.50.1
<IP_ADDRESS>
append the Revision part with commits number. While this doesn't meet SemVer (it doesn't contain the 4th number), NuGet works fine with such versions.

2 commits since tag v3.50.1-beta2
v3.50.1-beta2.2
append another pre-release section. This is SemVer 2.0, so will not work in VS 2015

This schema doesn't contain any confusing suffixes and states clearly that it's just the previous version with appended commits. The drawback is that it might not work in VS 2015.
Notice, versions from the last 2 rows will be published to the private feed only (as they are not tagged).
@ecampidoglio Do you agree with this one? If so - I'll tune the build.fsx file appropriately.

@ecampidoglio, @moodmosaic Do you have any objections regarding this?

I agree with what @ecampidoglio commented here.

@moodmosaic Thanks for answer, so we agreed to a private feed with automatic builds :sunglasses:
@ecampidoglio I've updated my code to use the versioning schema described in the previous reply. Please review the code and let me know  if you have more comments.
Thanks, will be looking to your follow up 😉

@ecampidoglio Did you have any luck to review the latest changes?
If you don't have time now and given that I fixed your initial concerns regarding the cumbersome suffixes, could we proceed further and merge the PR? We need a couple more steps to re-enable the releases and I would like to finish that as soon as possible..


Configuration to format a message - BYTES / STRING schema ?

@moperacz , It would be a good feature , if we can control the formatting of messages inside your DumbProcessor class.
    @Override
    public SourceRecord[] getRecords(String kafkaTopic) {
        return new SourceRecord[]{new SourceRecord(null, null, kafkaTopic, null,
                Schema.STRING_SCHEMA, mTopic,
                Schema.BYTES_SCHEMA, mMessage.getPayload())};
    }

Schema.BYTES_SCHEMA or Schema.STRING_SCHEMA for a message is based on a configuration.

you can create your processor which implements MqttMessageProcessor interface and point your .properties to make use of your processor (we are doing this in-house) 😉


Tags and excerpt ?

Hi,
I recently discovered Shiori and I think it's cool that there's already a browser extension to simplify adding sites, Thank you for your work.
Will it be possible to customize tags and description in the future?

Sure!
Right now I'm most focused on making a mobile-app so we can also add bookmarks sharing them with the phone.
After that I will try to add the tags and summary 😁


use public gsw and mom6 (#675)

Description
(Instructions: this, and all subsequent sections of text should be removed and filled in as appropriate.)
Provide a detailed description of what this PR does.
What bug does it fix, or what feature does it add?
Is a change of answers expected from this PR?
Issue(s) addressed
Link the issues to be closed with this PR, whether in this repository, or in another repository.
(Remember, issues should always be created before starting work on a PR branch!)

fixes #<issue_number>
fixes JCSDA/soca-bundle/issues/<issue_number>

Testing
How were these changes tested?
What compilers / HPCs was it tested with?
Are the changes covered by ctests? (If not, tests should be added first.)
Dependencies
If testing this branch requires non-default branches in other repositories, list them.
Those branches should have matching names for the automated TravisCI tests to pass
Do PRs in upstream repositories need to be merged first?
If so add the "waiting for other repos" label and list the upstream PRs

waiting on JCSDA/soca-bundle/pull/<pr_number>
waiting on JCSDA/oops/pull/<pr_number>

Please do a "merge commit" instead of "squash and merge" here. After this is merged to the master branch I can create the tag and update public repo.


upgrade libc to 0.2.159

Build was failing on alpine for loongarch64.
https://build.alpinelinux.org/buildlogs/build-edge-loongarch64/testing/swhkd/swhkd-1.2.1-r0.log
libc 0.2.159 adds support for loongarch64

Hi I just noticed this, sorry for late response


Link broken

@Theragus commented on Fri May 15 2020
Link for the Environmental sensor capability model under Create a device template section is broken.
I think it has been moved to :
https://raw.githubusercontent.com/Azure/IoTPlugandPlay/master/samples/EnvironmentalSensor.interface.json
Please update.

Dokumentdetails
⚠ Bearbeiten Sie diesen Abschnitt nicht. Er ist für die Verknüpfung von docs.microsoft.com zum GitHub-Artikel erforderlich.

ID: a39377ef-57d2-c869-b5bd-4ff711574f5b
Version Independent ID: 3d741666-8216-0249-342c-ce43cd99c267
Content: Tutorial: Verbinden einer generischen Node.js-Client-App mit Azure IoT Central
Content Source: articles/iot-central/core/tutorial-connect-device-nodejs.md
Service: iot-central
GitHub Login: @dominicbetts
Microsoft Alias: dobett

@srvbpigh commented on Fri May 15 2020
Hello, @Theragus
Thank you for your feedback.
We are actively reviewing your comments and will get back to you soon.
Kind regards,
Microsoft DOCS International Team

@asergaz Thanks for the feedback. We are actively investigating and will get back to you soon.

Hi @theragus - thanks for letting us know about the broken link - the article is being updated and will be published shortly. For now, please use the following link: https://raw.githubusercontent.com/Azure/IoTPlugandPlay/9004219bff1e958b7cd6ff2a52209f4b7ae19396/samples/EnvironmentalSensorInline.capabilitymodel.json
Thanks!

@Theragus As Dominic mentioned, the doc will be updated.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Normal in debug mode, the program will crash after selecting a file in release mode

This program is very simple, just use file_picker to select a file and play it, but everything works well in debug mode. After building it into release mode, the program will freeze after selecting a file and then exit. There is no error, even flutter run --release --verbose does not output any error.
import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart';
import 'package:video_player/video_player.dart';
import 'dart:io';

class VideoPlayerPage extends StatefulWidget {
  const VideoPlayerPage({super.key});

  @override
  VideoPlayerPageState createState() => VideoPlayerPageState();
}

class VideoPlayerPageState extends State<VideoPlayerPage> {
  VideoPlayerController? _controller;
  File? _videoFile;

  @override
  void dispose() {
    super.dispose();
    _controller?.dispose();
  }

  Future<void> _pickVideo() async {
    FilePickerResult? result = await FilePicker.platform.pickFiles(
      type: FileType.video,
    );

    if (result != null) {
      _videoFile = File(result.files.single.path!);
      _controller = VideoPlayerController.file(_videoFile!);

      await _controller!.initialize();

      setState(() {});

      _controller!.play();
    }
  }

  @override
  Widget build(BuildContext context) {
    return Center(
        child: _videoFile == null
            ? Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  ElevatedButton(
                    onPressed: () => _pickVideo(),
                    child: const Text('select video'),
                  )
                ],
              )
            : AspectRatio(
                aspectRatio: _controller!.value.aspectRatio,
                child: VideoPlayer(_controller!),
              ));
  }
}

I tried the same thing on macos with the exact same code and the release version worked fine.

I build & run your code in release mode, select a file, then it play well without any crash / error occurs.
So I have no way to reproduce this issue, then of course I cannot fix it...
I run with the following CLI commands:
flutter build windows --release -v
build\windows\x64\runner\Release\video_player_win_example.exe

Are our environments the same? My system is Windows 11. I just tried it again and it's the same.

Here is my complete code. The code at the beginning is src/video_player.dart, and then there are two code files
main.dart
import 'package:flutter/material.dart';
import 'src/home_screen.dart';

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: HomeScreen());
  }
}

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MainApp());
}

src/home_screen.dart
import 'package:flutter/material.dart';
import 'video_player.dart';

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: VideoPlayerPage(),
    );
  }
}

pubspec.yaml
name: demo
description: "A new Flutter project."
publish_to: 'none'
version: 0.1.0

environment:
  sdk: '>=3.4.4 <4.0.0'

dependencies:
  flutter:
    sdk: flutter
  file_picker: ^8.0.6
  video_player: ^2.9.1
  video_player_win: ^2.3.9

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^3.0.0

flutter:
  uses-material-design: true

It still works in my PC.
Windows 11
Flutter 3.22.3
Dart 3.4.4
dependencies:
  file_picker: ^8.0.6
  video_player: ^2.9.1
  video_player_win: ^2.3.9

import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart';
import 'package:video_player/video_player.dart';
import 'dart:io';

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: HomeScreen());
  }
}

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MainApp());
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: VideoPlayerPage(),
    );
  }
}

class VideoPlayerPage extends StatefulWidget {
  const VideoPlayerPage({super.key});

  @override
  VideoPlayerPageState createState() => VideoPlayerPageState();
}

class VideoPlayerPageState extends State<VideoPlayerPage> {
  VideoPlayerController? _controller;
  File? _videoFile;

  @override
  void dispose() {
    super.dispose();
    _controller?.dispose();
  }

  Future<void> _pickVideo() async {
    FilePickerResult? result = await FilePicker.platform.pickFiles(
      type: FileType.video,
    );

    if (result != null) {
      _videoFile = File(result.files.single.path!);
      _controller = VideoPlayerController.file(_videoFile!);

      await _controller!.initialize();

      setState(() {});

      _controller!.play();
    }
  }

  @override
  Widget build(BuildContext context) {
    return Center(
        child: _videoFile == null
            ? Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: [
                  ElevatedButton(
                    onPressed: () => _pickVideo(),
                    child: const Text('select video'),
                  )
                ],
              )
            : AspectRatio(
                aspectRatio: _controller!.value.aspectRatio,
                child: VideoPlayer(_controller!),
              ));
  }
}

I ran your code, and the only difference between our codes seems to be the difference between single file and multiple files, but yours can run, which is strange.

Oh, I solved it. The first time I copied your code directly into a new project, it worked, and then I copied it into my original project, and the problem reappeared. So I tried flutter clean and rebuilt, and it worked. Thank you very much!


first thumbnails not loading

I often get that kind of things in the latest version:

If I click twice on "don't load thumbnails", everything's fine

seems only to happen on Firefox (an issue with contrast/brightness filters)
found a workaround/cleaner way not to do the filter pass when no need so by default it should not happen: http://scamqc.bdrc.io/?folder=LTWA2023withacc%2FD17618%2F
(but the issue still remains when some contrast/brightness is set)

ah thanks! it will solve 95% of use cases, let's not rush for the final fix if it's complicated, no problem


Add back "_index" versions of all the keyboard related methods

As discussed in #455 - this restores the ability to query keys by arbitrary, backend-defined indexes which is currently very necessary as imgui::Key only contains a few keys.
When this is expanded further, querying keys by index may still be necessary in some cases for less common key codes
The existing (v0.7.0) is_key_pressed API is retained as the default, and is_key_index_pressed has been added - so I don't think this is a breaking change.

Removed the example's direct dependency on winit, and added a changelog entry for this

@dbr @thomcc as far as I can tell, we're good to merge here, right?

thanks @dbr !