Make HMR simulations easier

If possible. It might not be so simple.

What's the status/priority level on this? We wanted to try looking at the difference in membranes with and without HMR.
We are happy to  test it out.  What issues do you potentially see?

No interest yet, though it might be useful as we better integrate with OpenFE. (One of their settings objects has HMR turned on by default, I think with 3 amu mass transfer.)
A few issues that immediately come to mind, prior to having written any code:

I have no idea how non-OpenMM codes implement this. Are you looking to run in OpenMM or another engine?
The toolkit doesn't allow atomic masses to diverge from what the element says the mass should be, so I'd first try to implement HMR as late as possible in the pipeline, i.e. as a final step in to_openmm_system but not before. So the .topology object would always have 1 amu masses, but the relevant OpenMM objects wouldn't. Fortunately this seems to be pretty much what OpenMM already does.

In fact, it looks like HMR could be applied totally as a post-processing step? This script shifts hydrogen masses around on the OpenMM objects only. I didn't test it past looking at the masses in the system (it doesn't seem to me like the topology needs its masses changed). Could you & your students adapt this into a workflow and see if it produces the sort of results you'd expect?
import openmm
import openmm.app
from openff.toolkit import ForceField, Molecule

def apply_hmr(
    system: openmm.System,
    topology: openmm.app.Topology,
    hydrogen_mass: float,
):
    """
    Apply HMR via transferring mass from heavy atoms to bonded hydrogens.

    Follows OpenMM's own implementation in ForceField.createSystem:
    https://github.com/openmm/openmm/blob/71f4b3fcb0b07d0fe41302df03f5373c8424cefa/wrappers/python/openmm/app/forcefield.py#L1257-L1288
    """
    import openmm.unit
    from openmm.app.element import hydrogen

    hydrogen_mass *= openmm.unit.dalton

    for atom1, atom2 in topology.bonds():
        if atom1.element is hydrogen:
            (atom1, atom2) = (atom2, atom1)
        if atom2.element is hydrogen and atom1.element not in (hydrogen, None):
            transfer_mass = hydrogen_mass - system.getParticleMass(atom2.index)
            system.setParticleMass(
                atom2.index,
                hydrogen_mass,
            )
            system.setParticleMass(
                atom1.index,
                system.getParticleMass(atom1.index) - transfer_mass,
            )

molecule = Molecule.from_smiles("CCO")
molecule.generate_conformers(n_conformers=1)

interchange = ForceField("openff-2.1.0.offxml").create_interchange(
    molecule.to_topology(),
)

system = interchange.to_openmm_system()
topology = interchange.to_openmm_topology()
hydrogen_mass = 3.0

apply_hmr(system, topology, hydrogen_mass)

for particle_index, atom in enumerate(
    topology.atoms(),
):
    print(
        atom.element.symbol,
        system.getParticleMass(particle_index),
    )

"""
$ python quick_hmr.py
C 6.034621 Da
C 8.026674 Da
O 14.007377 Da
H 3.0 Da
H 3.0 Da
H 3.0 Da
H 3.0 Da
H 3.0 Da
H 3.0 Da
"""

It looks like @chapincavender is using a similar solution in his work (except not skipping waters out of laziness like I did): https://github.com/openforcefield/proteinbenchmark/blob/70e55c8311c0b862cc6fde3634d3f49f85d5bb26/proteinbenchmark/system_setup.py#L626-L648

I have no idea how non-OpenMM codes implement this. Are you looking to run in OpenMM or another engine?

GROMACS, for various reasons.  You just rewrite the masses in the .top files to get it to work.   So one really doesn't have a programmatic way of doing it other than writing python scripts to rewrite the .top files - there are no API's to handle that.
So, ideally it would be nice to do this upstream, so that one doesn't have to have a separate script for each output format.  All MD simulations that I am aware of allow one to rewrite the masses essentially arbitrarily - they don't enforce any type of particle having a constrained atomic mass.

The toolkit doesn't allow atomic masses to diverge from what the element says the mass should be,

Interesting.  One could imagine that one would want to do this like, have different isotopes.  Is there a strict reason for this? To catch errors later?  One could imagine the masses being set to atomic masses by default on creation, but allowing them to be overwritten.

It looks like @chapincavender is using a similar solution

I guess it looks like what is happening there is chapin creates an OpenMM system from interchange, does the HMR, and then uses interchange to convert from OpenMM to GROMACS.  Which is a little indirect, but I guess it works!

For the GROMACS engine in the proteinbenchmark repo, @ajfriedman22 developed a workflow that exports to OpenMM and then uses the parmed python API to apply HMR and export to GROMACS. My understanding is that the limitation here is the fixed mass expectation that @mattwthompson pointed out. The OpenFF toolkit / Interchange cannot read the OpenMM system after HMR is applied, so we can't use Interchange to do the OpenMM -> GROMACS step.

Agree with above; briefly my impression is that getting it in GROMACS would involve some sort of "thing done at the last step" similar to how it's done in OpenMM, but not directly using the OpenMM object.

@chapincavender thanks for letting me know what is going on in my group, lol  :)
We'll figure out something shorter term (probably editing the files directly in GROMACS).
GIVEN that HRM is a "thing the cool kids do" now, it SEEMS like it would be nice to do this in Interchange eventually, and not have a bunch of different scripts post-conversion, given that all of the MD simulation codes we have been considering exporting to are cool with alternate masses.   Especially if one has a simulation in OpenMM that happens to be using HMR, and wants to ingest it to interchange to do something to it, it doesn't seems like "No I don't like your masses" is a useful blocking error?
Thoughts?

The main branch now has partial support for HMR in both OpenMM and GROMACS. If anybody has time to take a test those in their workflows that would be much appreciated, otherwise they'll land in the next release by sometime early next week.
The general pattern is to add a hydrogen_mass=3.0 argument to the main export method. Following the convention in OpenMM, this argument specifies how much mass the hydrogens should end up having, not necessarily how much should be transferred away. There are some nuances that happen under the hood, but so far I haven't come across anything surprising (hence my asking here).

0.3.20 is released and includes the above changes
I have not looked into how Amber does HMR and I'm unlikely to look into how it could be done in LAMMPS until somebody shows interested in it (which isn't to say it would necessarily be hard to do.

I'm comfortable assessing that a good stab at this is complete - IIUC, people have been using Interchange to enable HMR simulations in OpenMM for a few months now, possibly also with GROMACS.
As described above, doing the same thing in Amber or LAMMPS has not been looked into - if these are things people want, please get in touch i.e. open a new issue.


Make heading mixins block elements

When you apply a heading mixin to a non-block element (like a form label) it should turn it into a block level element.

[message from the frontend meeting] This seems like a reasonable change, could you provide a bit more background as to where this it's come from?
We think it would be good to merge but as there is a possibility that this change will break the styles for some people's applications (as if they're using heading on a non-block level element it will then become block level), we'd like to hear more about it's origin.

Sure. There are some occasions when we'd like a form label to be visually represented as a heading of some kind (for example, very simple screens with only one form field). Form labels are inline by default, which is fine, but it means you have to explicitly set them as block if you apply a heading style. This got me thinking about whether you'd ever want a heading to be inline, and it feels like 'blockness' is a core property of headings.

We should probably resume the discussion next FE meeting, but this seems reasonable to me.
This may introduce unexpected behaviour for someone updating, so we should consider if this would be a major change - or if that's overkill.

I think I’d be happy for this to go in, but yes, it’d need to be a breaking change. I wonder if we should go to version 1.0.0 with this?

Had a discussion with @dsingleton and decided that this isn’t a breaking change, but will do a minor bump for the next release.


Highlight plugin demo not working

Informations
Im trying to make highlight plugin work, but after following the instructions and including everything i have no idea what to do next. Demo doesnt work, code that i copy from the editor is formatted the way i copy it from my editor (different theme) and there is no sign of prismjs css classes anywhere in the html so i assume its not prism's work.
Browser version: Chrome 66
OS: OSX
Screen resolution:
How to reproduce the bug?
Go to https://alex-d.github.io/Trumbowyg/demos/#plugins-highlight - button mentioned in the description is not visible at all (both visually and in html).

Moving forward in my implementation following example i think thats the case:

Little offtopic:
I think ill fix image, even though all other icons were working, but im wondering - is there any way of extending default buttons with one button i want to add? Or i have to manually recreate the whole toolbar to add highlight button?

I will fix the doc.
https://alex-d.github.io/Trumbowyg/documentation/#common-issues

Thats the case, icons are loading for all features that use svgPath variable. Its highlight plugin that has separate svg icon + this icon has no  tag, so it has to be hacked and it still doesnt work especially good.
At this point im considering leaving the empty space and just forcing different color, hopefully users will figure it out...

It works now here: https://alex-d.github.io/Trumbowyg/demos/#plugins-highlight
Be sure to use the latest version of Trumbowyg to get the icons.svg file up to date :)


Add changelog for 13.14

Description of change
Checklist

[ ] Has a new newsfragment been created? Check changelog/README.rst for instructions
[ ] Have any relevant search models been updated?
[ ] Have any relevant fixtures (fixtures/test_data.yaml) been updated?
[ ] Have any relevant select-/prefetch-related field lists in the views and search apps been updated?
[ ] Has the admin site been updated (for new models, fields etc.)?
[ ] Has the README been updated (if needed)?

@elcct The version should have a patch component as well (i.e. 13.14.0) since we follow semver.


Remove all Loaders from this library

Stack from ghstack:

-> #162

@nivekt has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.

@nivekt has imported this pull request.  If you are a Facebook employee, you can view this diff on Phabricator.


Changing az_iot_provisioning_client_register_get_request_payload options behavior

Changing az_iot_provisioning_client_register_get_request_payload to accept options == NULL.
Addressing PR comments from #2184.
Renaming UT names.

FWIW, in Go, there are no overloads, and no default values. So, NULL is allowed in many places, and it means "default value". And I think it is pretty intuitive, that NULL means "default".
So, from that perspective, I do not see disadvantages in "NULL = default" idiom. In that aspect, I would not distinguish between "constructors" and "methods". Let NULL be default everywhere.
But, I understand that in Embedded C, there could be other considerations, such as stack allocation. And from that perspective, I see how we may not want to do this if there is extra price associated with it.
IF we are in the place where we really consider saving on stack allocations, then yes - do not make NULL to mean "default", DO require the user to always pass the parameter, and do not allow NULLs (make it a precondition). Just make sure that for every such parameter, there is an (inline) function called az_xxx_default() that allows the user to construct the default value easily.
I would say that IF it would be possible to use "NULL = default" idiom in a way that the user does only pay the extra stack price when they use NULL, I would do it.
for example, it could look like this:
typedef struct {
    int y;
} options;

options az_options_default() { return { .y = 5}; }

int f(int x, options const* o)
{
    if (o == NULL)
    {
        options oo = az_options_default(); // <-- if only we could guarantee that this stack space is only allocated when o == NULL...
        return f(x, &oo);
    }

    return x + o->y;
}

That would be great if it could work in a way that the stack space is only allocated when the control enters the if() block. But most likely, the compiler will allocate the space for it in the beginning, before any comparison. If only we could use assembler to do it, then we could guarantee the behavior that we want. We could even avoid the recursive call. But maybe there are ways to do it, I just don't know them.
I would encourage us to consult with the language experts and try to find a way to use "you only pay for it if you use it" approach for "NULL = default" idiom, so it would work on all compilers.
Another option is to allow it on a case by case basis. For example, we could allow "NULL = default" in methods for Storage-Blobs, because it does use HTTP transport, which is huge relatively to most of the IoT applications. So, if you use Storage-Blobs, you are using the hardware of such caliber, that worrying about extra 48 bytes on stack is not something you would worry about.
Other option is to embed the default values in code. For the example below, it would look like this:
typedef struct {
    int y;
} options;

enum { _az_OPTIONS_DEFAULT_Y = 5 };

options az_options_default() { return { .y = _az_OPTIONS_DEFAULT_Y }; }

int f(int x, options const* o)
{
    return x + (o != NULL ? o->y : _az_OPTIONS_DEFAULT_Y );
}

This is not bad either. Maybe it is a bit harder to maintain, but not impossible. And after all, this is why we are making the SDK - to make customer's life easier, even if it means more work for us and more attention that needs to be paid by us when developing. Having a constant (_az_OPTIONS_DEFAULT_Y) makes it less prone to inconsistencies. In fact, I would rather insist on using named constants and not values, because it will be very hard to find all usages.
I would pay attention that if a function is using o for 20 times, the compiler does not generate 20 if (o == NULL) comparisons. I think it is likely that the compiler will optimize it.
A variation of this approach is to have getter functions for options:
AZ_INLINE int _az_options_get_y(options const* o) { return (o != NULL ? o->y : _az_OPTIONS_DEFAULT_Y); }

int f(int x, options const* o)
{
    return x + _az_options_get_y(o);
}

Especially if they are inline, there should be no extra cost (given that the compiler won't generate redundant NULL checks).


Library Update

Library Update
please use the newer version of Betalgo.OpenAI
<PackageReference Include="Betalgo.OpenAI" Version="6.8.*" />
https://github.com/cgillum/azure-functions-openai-extension/blob/5ab029eb8e664ef86d1d63c7336607ebf5ecd3b4/sandbox/OpenAITesting/OpenAITesting.csproj#L11

Done as part of https://github.com/cgillum/azure-functions-openai-extension/commit/4813ae2dd50156069b6ce03dece5cf055a2ac2c9


Tcl Support

From @GoogleCodeExporter on May 31, 2015 11:27
Tcl has disappeared from
http://code.google.com/p/android-scripting/downloads/list

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 9 Sep 2010 at 9:20
Copied from original issue: damonkohler/android-scripting#424

From @GoogleCodeExporter on May 31, 2015 11:27
The author of the Tcl interpreter for SL4A hasn't updated it to work with the
new versions. Until then, if you want to use Tcl, you'll need to install an
older version of SL4A (one from when it was still ASE).

Original comment by<EMAIL_ADDRESS>on 9 Sep 2010 at 9:30

From @GoogleCodeExporter on May 31, 2015 11:27
I am looking forward to the next release !

Original comment by tomcatalbino on 26 Jan 2012 at 2:21

From @GoogleCodeExporter on May 31, 2015 11:27
Rildo has resurrected Tcl support but it still needs to be added into the next
release:

Hi,

I have compiled a Tcl interpreter, made the .apk and scripts to have
Tcl again supported in android-scripting.

You may find all files in my web server at http://pragana.net/Android

If you want the sources (in C, with a build script), taken straight
from Tcl 8.5.9 distribution (8.6.x is yet unstable), please go to the
homepage http://pragana.net.

Please, add it as needed to be installed from code.google.com, because
I don't intend to distribute it.

Thank you.

best regards,
Rildo

Original comment by<EMAIL_ADDRESS>on 6 Nov 2010 at 5:47

From @GoogleCodeExporter on May 31, 2015 11:27
Original comment by<EMAIL_ADDRESS>on 6 Nov 2010 at 5:47

Changed title: Tcl Support


bug in localinstall.sh leads to css files note found

When I use the localinstall.sh script to full install the previewers locally on our servers the css files are located in the folder css but the path in the html files is set to lib (line 28). This leads to the css files not being found and some/most previewers not displaying the content correctly.
Possible fix is:
@@ -25,7 +25,7 @@
cat urls_js.txt
echo Downloading local copies of remote CSS files:
-sed -n 's/.<link.href="(http[^"])"./\1/p' .html | sort -u | sed -n 's/^(./)(.)/sed -i \x27s,\0,lib/\2,\x27 .html/p' > replace_css.sh
+sed -n 's/.<link.href="(http[^"])"./\1/p' .html | sort -u | sed -n 's/^(./)(.)/sed -i \x27s,\0,css/\2,\x27 .html/p' > replace_css.sh
sed -n 's/.<link.href="(http[^"])"./\1/p' *.html | sort -u > urls_css.txt
source replace_css.sh
cat urls_css.txt
@@ -67,4 +67,4 @@

Some previewers use fonts from bootstrap (glyphicons) which have to be installed locally, too.

Thanks for the fix. I've added it to the develop branch. If you'd like to propose changes/make a PR for the glyphicons, please do.

Hi Jim,
this would be a possible patch to add the icon fonts:
--- localinstall_fix.sh	2024-11-27 13:43:36.496655851 +0100
+++ localinstall_fonts.sh	2024-11-27 13:44:13.528100988 +0100
@@ -30,6 +30,14 @@
source replace_css.sh
cat urls_css.txt
+echo Downloading local copies of remote fonts:
+fonturl=grep -m 1 https://stackpath.bootstrapcdn.com/ replace_css.sh | cut -d',' -f 2 | sed s,css/bootstrap.min.css,fonts,
+echo $fonturl/glyphicons-halflings-regular.eot > urls_fonts.txt
+echo $fonturl/glyphicons-halflings-regular.svg >> urls_fonts.txt
+echo $fonturl/glyphicons-halflings-regular.ttf >> urls_fonts.txt
+echo $fonturl/glyphicons-halflings-regular.woff >> urls_fonts.txt
+echo $fonturl/glyphicons-halflings-regular.woff2 >> urls_fonts.txt
+
if [ ! -d ./lib ]; then
mkdir ./lib
fi
@@ -48,6 +56,15 @@
wget --quiet $url
done < "../urls_css.txt"
+cd ".."
+if [ ! -d ./fonts ]; then

mkdir ./fonts
+fi
+cd ./fonts
+while read url; do
wget --quiet $url
+done < "../urls_fonts.txt"

cd ..
Although I am not sure if the licensing of glyphicons allows for a local download of the icons. This is maybe something that should be sorted before using the patch. If you confirm that there are no legal issues arising I can create a PR.
Regards
Björn

Thanks. While I'm not a lawyer, I think it's OK as we're using the subset that is part of bootstrap which is available for free - e.g. according to https://www.w3schools.com/bootstrap/bootstrap_ref_comp_glyphs.asp .


recur special form doesn't work inside match expressions

Here is an example:
akar.try-out=> (defn tail-recursive-sum [x running-total]
                 (match x
                        0  running-total
                        :_ (recur (dec x) (+ running-total x))))

CompilerException java.lang.IllegalArgumentException: Mismatched argument count to recur, expected: 0 args, got: 2, compiling:(/private/var/folders/cl/wrqg78nx3c3cxwyb4nmmv1l8394zzh/T/form-init6487640578328843470.clj:4:13)

Easy to see why this is happening. Akar expands clause bodies to anonymous functions, and recur binds to the nearest closing function.

Hi @missingfaktor,
Yes, this is the problem I was referring to during your last talk.
which is a common issue in platforms which do not support "Generalised TCO".
Mundane recursion here wouldn't work as it will cause StackOverflow on large numbers
(tail-recursive-sum 1000000)
If you find a way to get around this I would be curious to see your solution.
Great work with Akar, anyway.
Bruno

Thanks, @BrunoBonacci!
I investigated this a bit... It appears recur is not equipped to span across nested functions. I am not certain if it is even possible in general at all. 😢 This will be harder to fix than I already imagined it would be...

as mentioned earlier JVM doesn't support "Generalised TCO" (https://en.wikipedia.org/wiki/Tail_call). It is possible, but quite hard when the platform underneath doesn't support. You can close this ticket if you don't intend work on it, anyway it is a common issue with pattern matching libraries in Clojure.

I am well aware of JVM's limitations in this regard.
Clojure's recur works reasonably well for many use cases still, and it would have been nice if we could figure out a way to make it work inside match  expressions too. So far I have nothing.

@BrunoBonacci A fellow contributor @rahulkavale pointed out that trampoline could be used as a workaround.
(defn tail-recursive-sum [x running-total]
  (match x
         0  running-total
         :_ #(tail-recursive-sum (dec x) (+ running-total x))))

(alter-var-root #'tail-recursive-sum (fn [cur] (partial trampoline cur)))

(tail-recursive-sum 1000 0)

Very interesting workaround.

Superseded by #14.


View the feed in the viewport.

I was wrong, sorry

I had this issue for a while and while I did what I could to fix it I'm not sure if it doesn't happen in some specific flow, if you happen to encounter it please try to ind a detailed way to reproduce

This bug was in version 2.14.2.
Now I updated it to 2.15.2, it became normal.
I would also like to have a context menu in the properties of the feeds, please.


rim sync commit message

The first line of the "rim sync" commit message should include useful information. At least what module was synced.

the information is in the message, it's just that there are 2 newlines in between. this was introduced with the feature that several syncs can be made in one commit. nevertheless this could be fixed for single commits.


add squat analysis dashboard

@carmichaelong awesome. Is there a way to make this more general, less squat-focused, so that it can be re-used? I guess you will want to use something similar for dropjump for instance, but I'm not sure it is great practice to start having lots of activity/project-specific scripts. Instead of hard coding for instance "Detected squat type", could you pass it through the json file, and have the ui script as just a different type of plot (like mean_std or something like that)?

You brought up two issues that I think we can consider separately:

Is there a way to make this more general, less squat-focused, so that it can be re-used? I guess you will want to use something similar for dropjump for instance, but I'm not sure it is great practice to start having lots of activity/project-specific scripts.

This is a more general question on the goals of the dashboards. If we want slightly different text for certain motions (e.g., a squat could be double-leg or single-leg), then that would need to have some info provided up top, or a separate analysis (e.g., a single-leg squat and a double-leg squat). In particular, another layout might be needed for the dropjumps later if user input is needed to denote the dominant leg to calculate contact time periods (e.g., you could pre-calculate for either leg as dominant, and then using a drop-down menu, the user could select left or right and update the metrics to reflect that).
In this case (squats), perhaps a few possible ways to work around:

Have an option to provide metadata header and text (similar to the metrics). The headers and text would share font styles (like metrics do).
Create a separate .vue for printing text like metadata. Then, use that as another piece to fit into the dashboard (and keep the scalar metrics +/- in a different .vue)
Don't provide double-leg or single-leg information. This would defer any decisions here (and still OK for the target goals this summer)

Instead of hard coding for instance "Detected squat type", could you pass it through the json file, and have the ui script as just a different type of plot (like mean_std or something like that)?

That's a good idea. For sure this could be in the json file instead.

@antoinefalisse thanks for chatting. updated PR to avoid hard coding the info about squat type.

Oops, thanks for catching that! Reverted now and will merge


small fixes & cleanups to 'Intro to FFS'

👋 friends! Taking a quick spin through your docs, thought I'd try to help

@b5 , thanks for this 👍🏼


TypeScript definitions

Are there any TypeScript definitions available anywhere for this module? Would really appreciate to be able to use this in my TypeScript environment.
Keep up the good work! 👍

Currently not but feel free to contribute.

+1

Here are some quick custom typings. They probably need some love though.
declare module "fetch-intercept" {
    export interface FetchInterceptor
    {
        request(url: string, config: any): any[];
        requestError(error: any): Promise<any>;
        response(response: Response): Response;
        responseError(error: any): Promise<any>;
    }

    export function register(interceptor: FetchInterceptor): () => void;
    export function clear(): void;
}

@xceno how about submitting that to @types ??  Assuming (since it's been Feb) that @mlegenhausen isn't going to add this to this repo?

@sjmcdowall Sorry, didn't watch my Github notifications. Thanks for making the PR! 🥇
Glad it's useful for you guys :)

@mlegenhausen -- So I submitted the PR 3 days ... any movement on it?

Sorry for the waiting. Prevented any work during my vacations :wink:
Typings are merged I will create a new release.


Tenant Metadata is not cleared properly when calling  tenant metadata deletion api

IMPROVEMENT
In the current implementation, when delete tenant metadata, only  UM_TENANT table records will be cleared. But we need to clear UM_DOMAIN table records as well. So we need to implement that

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Apply last example_ynh

Solution

Apply last example_ynh
Fix #5

PR Status

[ ] Code finished and ready to be reviewed/tested
[ ] The fix/enhancement were manually tested (if applicable)

Automatic tests
Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ after creating the PR, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization)

!testme

Let's go to merge ?

Just had time to do a very superficial review, but go ahead as you believe is good.


Fixes #56

Draft. Improve this doc feature implemented as a link at the top of the documentation. In order to implement this issue better, each section of the documentation will need its own .adoc file. This will allow suggested edits per section.

Separated each section of the documentation so that when someone is requesting a change to the documentation, the change will only be in a specific section. Index.adoc serves as the sort of build point, every .adoc file is linked in the index.adoc file. Currently, all the 'Improve this doc' links will give a 404 error, because they are linked to where the files will be in the develop branch. The 'Improve this doc' links are not buttons like Micronaut's because I could not figure out where their buttons were being created. The 'Improve this doc' links are directly below the section title because for some reason the text-right align feature of .adoc is not working.

@SwindleA How do you build and view the docs locally? Trying to test out this PR, but don't know how to verify if these changes work.

@SwindleA How do you build and view the docs locally? Trying to test out this PR, but don't know how to verify if these changes work.

@kate-holdener gradle asciidoctor . Then I opened the html file at micronautpi4j-utils\build\docs\asciidoc\index.html.  I have a plug-in that will then open the index.html file in my browser, but I am not sure how else one might view it.


RequestCompleted fails to serialize the response sent back

sorry about the title if it is confusing
Is this a bug report?
Yes
Can you also reproduce the problem with the latest version?
Yes, in MT tests in 8.0.3 (and also 8.0.2). with 7.3.1 system works
Environment

Dotnet version: net6
Operating system: Win10
IDE (Rider, VS Code, Visual Studio):  VS 2022

Steps to Reproduce
our system is complicated to give a sample version to reproduce so I used MT tests for reproduction.

open MT test code A_long_running_state_machine_initiated_by_a_request in file RequestRequest_Specs.cs under namespace MassTransit.QuartzIntegration.Tests
go to CreateLinkStateMachine
change the pending condition code to below (only the RequestCompleted part is changed actually)

                During(LinkRequest.Pending,
                    When(LinkRequest.Completed)
                        .Then(context => context.Instance.ShortLink = context.Data.Link)
                        .RequestCompleted(x =>
                           Task.FromResult(new ShortLinkCreatedCls
                           {
                               Link = x.Instance.Link,
                               ShortLink = new Uri("http://mt.com")
                           }))
                        .TransitionTo(Valid),

just to make code compile, create a simple class called ShortLinkCreatedCls, or copy below code somewhere in file

        public class ShortLinkCreatedCls : ShortLinkCreated
        {
            public Uri Link { get; set; }
            public Uri ShortLink { get; set; }
        }

Expected Behavior
run the test "Should_complete_the_request" in same file , test shall be green but check log, last line. you should see the data responded like below (in 7.3.1)
 Link: http://www.microsoft.com/, Short Link: http://mt.com/
Actual Behavior in 8.0.3
data responded is empty, and last line in log is like below. in our systems the message response we get is completely empty (guid, string etc,)
Link: , Short Link:
I suspect serialization of objects passed is broken, but not sure.
Note: the signature of Init function of BehaviorContext changed so I used Task.FromResult, should not matter. it would be nice to know what the new way of using RequestCompleted is, with a message factory

Well, with your change it still works for me, so unable to reproduce. It works either way, the way you suggested:
.RequestCompleted(x => Task.FromResult(new ShortLinkCreatedCls
{
    Link = x.Instance.Link,
    ShortLink = new Uri("http://mt.com")
}))

Or by actually specifying the proper message type:
.RequestCompleted(x => Task.FromResult<ShortLinkCreated>(new ShortLinkCreatedCls
{
    Link = x.Instance.Link,
    ShortLink = new Uri("http://mt.com")
}))

Oh, yeah, I see. Not sure why it worked in earlier versions, it wasn't passing the async message factory correctly.

more info if it shall help you. not sure why differs like this.

reproduced in Windows 10 with VS and/or Rider
not reproducable in Mac, using Monterey

and yes, it works with older version (7.3.1 works, but not in v8)

Well, I'm not going back in history, I just fixed it for v8.

I did not mean to fix in v7
fix in v8 that is good enough for me.
thanks

Oh, I realize that - my point being I'm not worried about trying to reproduce it with v7, etc.
It's actually interesting, when initializing a message property of type object, it just copies it over. Even if it's a Task. Which I have updated in V8 to properly await the Task and return the result. Not sure why it was converted by Newtonsoft, vs. STJ, but it might have been something I missed.


Incremental Parsing of yaml files

At least when changes are confined to a single line or query, the language server ideally should not reparse everything.

Considering that even huge are processed quickly (67kb -> 20ms, 1mb -> 200ms) , this doesn't seem to be worth it.


without ctags installed - build does not work

While the scripts check for CTAGs to be present... (exuberant ctags)
if CTAGs is not actually present, the build does not work very well.
Short term:
Configure should fail if ctags are not present
Long term:
It needs a fix.

Yes, ctags is required now. We'll improve the configure scripts. Thanks.

Short term fix provided by #11.


Running ‘prism proxy’ with –errors flag doesn’t enforce required header

Describe the bug
I’m running prism as a proxy for another service, and the OpenAPI spec for the service specifies that an x-authorization header is required.
When I submit the request to the proxy, I see that prism is showing a validation violation due to missing header. However, I’m getting the response from the “live” service itself, rather than the error about the missing header from prism proxy. I’m using the ‘–errors’ flag. I’ve also confirmed that other sorts of errors ARE reported.
To Reproduce
Requires Docker

Clone the following repository: TylerNielsen/prism-repro-issue. I don't have a running service that I can share to reproduce this issue, so this repro will allow a docker container that can be spun up as a target. Note that this repo also contains the example OpenApi.json file.
Build the docker image from the cloned repo: docker build -t prism-repro-1212 -f Dockerfile .
Run the mock service in a container: docker run -it --rm -p 8080:8080 prism-repro-1212
Start the prism proxy by running this command: prism proxy openapi.json http://<IP_ADDRESS>:8080 --errors
Run the following command: curl -X POST -H "Content-Type: application/json" http://<IP_ADDRESS>:4010/v1/presigned-url -d "{\"test\": \"this is a test\"}"
See that the response is returned from the "live" service, but prism is throwing an error about the missing "x-company-auth" header.

Expected behavior
Since the --errors flag is included, the prism proxy service should reject the incoming request and return an error like it does for missing required properties in the body.
Environment (remove any that are not applicable):

Library version: 3.3.3
OS: Windows 10
Browser: N/A

Additional context
If you run prism as a mock server, rather than as a proxy, I see that the request without the x-company-auth header is rejected.

Thanks for the great repro steps @TylerNielsen , will review!

@TylerNielsen I've dug a little bit into this and the behaviour to me appears to be correct.
Fundamentally Prism has been able to recognise that you're missing a required request header, as you can see from the log statements.
What happens now is that when mocking (not your case) — the negotiator, based on the failed request validation, will look for an error response or generate one if no-one is specified in the document.
On the other hand, when acting like a proxy (which is your case), Prism will not take any decision based on the input and will forward the request to the upstream server no matter what.
The application contained in the repository you've provided is not — and thus Prism is just returning such response to your client. In a certain sense, we can say that Prism has revealed a discrepancy between the contract file and the implementation :)
Keep in mind that the --errors flag is only acting on the response (body and headers) where Prism has enough information to know whether the returned content is legit or not.
It won't act on the request, although it will still tell you that what's going to the upstream server is wrong.
TL; DR

--errors acts only on response violations, not on request validations
Prism will always forward to the upstream server when acting in Proxy mode, no matter the request validation errors.

Does that clarify?
//cc @philsturgeon Please check this out — it's good to have a confirmation (from a product perspective) here.

@XVincentX - I appreciate you looking into it so quickly. If that's the way it's coded, that's the way it's coded. However I would say as a consumer, that seems to contradict or at least be missing from the documentation.
From the documentation:

As of Prism v3.2, API consumers can funnel their development traffic through Prism running as proxy, and then relay that traffic to the API-in-progress. It will report any mistakes it notices along the way, either with the requests you're sending or the responses coming back from the server.
In this use case, the OpenAPI documents would be provided by the API team, distributed to the API consumers, and the proxy server would be pointing to the dev environment. We'd also want to enable --errors so Prism will blow up your request if a mismatch is noticed.

The above doesn't seem to imply that --errors would only throw on response. It seems to specifically call out it works on both.
Personally, I'd definitely want to know whether either the request or response is incorrect. If the API is in progress, there otherwise is a case that the actual implementation isn't correctly enforcing the contract, and neither consumer or implementation may know. We could look at prism output, but I want something even more aggressive and hard to miss - I want the request to fail. Part of the power of prism could be ensuring that the actual implementation is actually respecting the rules it says it will from the request side of things.
Question #1  is: are you sure that --errors is only  intended to act on response given the pasted documentation?
Question #2: If that is the intended behavior, can the documentation be updated to call that out?
Question #3: Thoughts on allowing this to be configurable so prism can throw errors on either request, response, or both?
Question #4: If #3 isn't possible, is there a way for prism to output it's validation errors in a consumable way so we can wrap our own way of checking for these violations automatically?

@TylerNielsen sorry for the confusion here, there has certainly been some communication. I wrote the gitub issues to plan the work and wrote the documentation, so it's either way its my fault. Let me chat with the team to see what the best next step is!

@TylerNielsen Sorry for the confusion :)
We had an internal discussion and there's been a misunderstanding in the way the code should behave so yes, you're definitely right. We'll put this on top of our things to do and get it done as soon as possible.
Thanks for the patience!

@XVincentX and @philsturgeon - Appreciate the quick follow-ups, I don't feel like I've had to be patient : )
I just started playing around prism, and am excited about the potential - thanks!

@TylerNielsen Can you try out fix/request-check-in-proxy (#1099) and let me know if that solves your use case? It works with the demo, but I was wondering whether you don't have a real use case you can try that out with.

@XVincentX - Was there a comment that got deleted? I got an email about you asking for me to checkout PR #1099 - but it looks like that PR is closed and I don't see your comment.
Side-note, should this be re-labeled as a bug instead of a question?

Re-labeled as a bug — I was trying to hack something together in 1099 but I think we should pursue another approach. I'll let you know when I have something ready to try :)

The work for this bug is tracked here: https://github.com/stoplightio/prism/pull/1101/files
This change has a good opportunity of unifying some of the things that we're doing in Prism and cleanup some stuff. It might require just a little bit more time but totally worth it.

@TylerNielsen Can you try #1101 and see if it solves your problem? I haven't finished up with that branch yet but the feature should be there.

@XVincentX - This is working for the original case where I noticed the issue. Thank you for the fix!


feat: added ISO18013 proximity flow

ISO 18013 Proximity Flow (mDoc-CBOR)
Content
This PR closes #184
Added a subsection in the Replying Party Section.
Review

[x] Ensure your files are written following RST specs (not MD!)
[ ] Italian version
[x] English version
[ ] Example files
[x] Ask for review

@fmarino-ipzs I have rebased to get this merged to the branch rp just to get all the potential conflicts resolved asap

@grauso @balanza I merge this to the RP branch, so we'll continue the revision on a consolidated PR related to the relying cparty solution


ly fatal error security/pam_app1.h no such file or dir

can't make ly

Elaborate. Literally the first result when googling "fedora pam_appl.h" tells to install pam-devel which contains the mentioned file pam_appl.h, have you tried that?

This is a dependency issue, not a Ly issue. Closing.


How to compile and use this?

Hello @raffij , ty for awesome plugin. I have some miss understand how it works, please tell my.
--
This normal work on root domain path in dev server, i use
npm run dev
after this, i try to use compiled lib in my project, and lib throw this error:
http://mylocaldomain/cp/src/icons/sir-trevor-icons.svg [NOT FOUND 404]
this file required from relative path of url, not from absolute. In all my urls, this link different.
my url for example:
http://mylocaldomain/cp/articles/add
// p.s
how to get this script compiled from source?
http://madebymany.github.io/sir-trevor-js/javascripts/example-570bbe3e.js ?
npm each time generate file with over 20k lines of code. and 304 node modules, but in this file only 3k lines cleaned code.
// p.s.s
// sry for my english.

@ahelhot, run git checkout dist to checkout the dist branch and then run npm install && npm run dev to generate the sir-trevor.min.js

Just modify the file   sir-trevor.js
4098 :  iconUrl: '/src/icons/sir-trevor-icons.svg',


AUTHORS additions

Please add yourself to the AUTHORS file so we can track people who have contributed.
@dflemstr you too!

@mciantyre ding on this one


Update to latest material design spec

It seems the material design spec has changed the date and time pickers (yay). Aside from a change in the relative size of the header area, the new date picker also uses left/right swiping to switch months instead of scrolling. This should alleviate the performance issues from the scrolling calendar.
Any work on this should be done based off of the polymer1 branch. Pull requests are welcomed.

Fixed in 1.1.0


hv.Text cause axes issue with Matplotlib

holoviews==1.8.1
Here is the visual problem:
Before adding text to B:

After adding text to B:

This issue only apply to matplotlib backend, bokeh is ok.
Here is the code to reproduce:
import matplotlib.pyplot as plt
%matplotlib inline
import holoviews as hv
hv.notebook_extension()
import numpy as np
hv.extension('matplotlib')
plots = list()
min_ = 2.5
max_ = 9
x_values = np.array([4, 8, 3])
y_values = np.array([4, 8, 8])
points = zip(x_values, y_values)
label = 'log10(Normalized Area)'
diag = hv.Curve([(min_, min_), (max_, max_)],
kdims=['x1'],
vdims=['y1'])
plot = hv.Points(points)
plot = plot[min_:max_, min_:max_] * diag * hv.Text(min_ + 0.5, max_ - 1, 'text', halign='left')
plots.append(plot)
ratio = abs(x_values/y_values)
plot = hv.Curve(zip(np.sort(ratio), np.array(range(len(ratio)))/float(len(ratio))),
kdims=['x2'],
vdims=['y2'])
plot = plot * hv.Text(0.6, 0.2, 'hey', halign='left')   # Line that cause the problem
plots.append(plot)
layout = hv.Layout(plots).cols(2)
layout

Adding kdims  to Text fixed the problem.
plot = plot * hv.Text(0.6, 0.2, 'hey', halign='left',
kdims=['x2', 'y2'])
How kdims are merged when an overlay is created?

Glad you figured out the problem!
Essentially, overlays expect to place different elements in the same space, as defined by the dimensions and their ranges. The default kdims for Text are 'x' and 'y' which as incompatible with the 'x1,'x2','y1','y2' names you were using.
Perhaps this is a good example of why the suggestion in #1751 is a good idea.


Specification for Table widget

I'm trying to use taffy to layout a Table's rows, and I think there's a number of improvements to the API that can be made to make it more generalizable. This issue is for discussing those improvements.
The first obvious improvement is that currently, the widths in the constructor
Table::new(rows, widths)

is actually constraints. I would recommend renaming and reworking the documentation to reflect that.
Second, I would like a separate setter function when I can pass in the actual widths and it would use that always instead of calculating it on the fly.
Optionally, the .widths() constructor should be renamed to horizontal_constraints() (or a better name). This would be a breaking change.
This would allow easier third party integration of taffy. It is also a more general interface. I believe currently Table is the only widget that calculates constraints internally. I believe other widget can be rendered by calculating the Rects without using ratatui's layout functionality.

column_constraints() perhaps?
To fix this in a way that works for deprecating this nicely, we should do something like:

0.26 add new method, mark widths deprecated
0.27 make widths take u16 behind a feature flag
0.28 remove the feature flag

If we want to provide an exact widths method now, then we can hide it behind a feature flag for 0.26 noting how it will be the default in 0.28.

What should the default flex be for the columns in a table? Currently it is StretchLast but I think StretchLast should go away. Good options are:

Stretch
Start


Ratio variables attributed non-xclim units

In download.py, in subdaily_netcdf(), line 517, it does:
 # 3.1. Units
# Force kg kg-1 to 1
if var_ref.units == "kg kg-1":
    var1.units = "1"
else:
    var1.units = var_ref.units

But, "1" is not something xclim understands as a unit. So any attempt at converting fails. Example, with the specific humidity at the surface "huss":
convert_units_to(huss, "percent")

Raises: AttributeError: 'int' object has no attribute 'units'
So,

What's wrong with "kg kg-1"?
Why is this done only in subdaily_netcdf and not daily_netcdf?

This was added by the previous owner of the library. If it's causing errors, feel free to change this in a PR.

@aulemahal good to close?

Yep. Fixed by #11.


[Gally]: master <- dev

Automatically created by Git-Ally

:tada: This PR is included in version 1.15.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support rocketmq v5 client

RocketMQ v5 版本客户端底层协议使用 gRpc，规范了各种 api 的具体行为，可以基于新的版本客户端来实现一下 connector

I am very interested in this, can you give it to me?

Nice, welcome to develop together. Later, I will add some background knowledge about the implementation of rocketmq and flink


Modify ToDebuggingValue for 1s, 1ms output

@googlebot I signed it!

If time_offset_ is equal to 1s duration, ToDebugingValue will return "1000ms".  I guess it is more readable to return "1s" when time_offset_ is eqaul to 1s. So does 1ms.

Hi, thank you very much for this improvement and the explanation.  Your PR has been approved.  Note that unfortunately the QUICHE repository is currently not set up to directly merge PRs from GitHub.  Instead your PR has been copied upstream, and now it appears as:
https://github.com/google/quiche/commit/744a8d60762acb1b7d73fc4f169bdf2258ca35d8
https://quiche.googlesource.com/quiche/+/744a8d60762acb1b7d73fc4f169bdf2258ca35d8
I'm therefore closing this PR without merging it.
Also note that I added a reference in README.md to CONTRIBUTING.md to help future contributors discover more easily the contribution process (like having to sign the CLA and having to email quiche-contribution@google.com).
Thank you.


Aparentemente está dando erro

Hey @fpgabriel did you follow the installation process ? Make sure you executed the cookies.py script before the igfi.py one. This error typically occurs when you don't provide a session file.

o que pode ser isso?

tenho a versao mais atualizada de python

Hey @fpgabriel sorry I can't understand it, can you translate it to english ?

python3 ./cookies.py does not work

Yeah yeah, can you also send me the complete error message to better understand it ?

Ok so you need to install the requirements first. To do that enter the following command:
pip install -r ./files/requirements.txt. Then enter the python3 cookies.py and lastly the python3 igfi.py command. But in order not to encounter other errors I would suggest you to follow the installation process. Let me know if the issue is resolved when you're done 👍

Ok, try this command:
pip install -r ./files/requirements.txt --target=c:/users/gabri/appdata/local/programs/python/python312/scripts if that doesn't work try this one:
pip install -r ./files/requirements.txt --target=c:/users/gabri/appdata/local/programs/python/python312/lib/site-packages

continues with the same error, even after your commands.
I will pay you for your help

No, no don't worry about it I don't want you to pay me I'll help you for free but a star in the repo would be really helpful ! So back to the script, try with a virtual environment. Like so:
git clone https://github.com/new92/IGFI
cd IGFI
python -m venv venv
.\venv\Scripts\activate
pip install -r ./files/requirements.txt
python3 ./cookies.py
python3 ./igfi.py -u <username> -p <password> --session <session_file>

Even with everything updated, the same error remains

@fpgabriel check also this one on reddit maybe it'll help you.

Nothing worked, can we talk another way?
I would like to hire you for a project, but of course, if you are available!

Hey @fpgabriel yeah you can email me at<EMAIL_ADDRESS>

I sent an e-mail


"is not a valid option for Mongo::Connection" warnings

After upgrading to bson 1.6.1 I get the following warnings:
allow_dynamic_fields is not a valid option for Mongo::Connection
max_retries_on_connection_failure is not a valid option for Mongo::Connection
use_activesupport_time_zone is not a valid option for Mongo::Connection
identity_map_enabled is not a valid option for Mongo::Connection
host is not a valid option for Mongo::Connection
databases is not a valid option for Mongo::Connection
host is not a valid option for Mongo::Connection

same

same


How to get the action labels?

Currently when I infer or evaluate a video with the pretrained ActivityNet model, the action label is always 0[time segments are available as expected]. The reason I guess is the pretrained model was trained with the setting num_classes=1
Also, the valid_one_epoch uses external score file to get the action labels. How was the score file generated and how to get the action label if one does not have such file? Is there any parameter in the config file that needs to be changed?

For the external score on ActivityNet, we use the score from CUHK & ETHZ & SIAT Submission to ActivityNet challenge 2017. If you do not have the external score file for your dataset, you may just disable the score fusion part. Please refer to our THUMOS14 config for more details (L50).

Thanks for the explanation of external scores. I tried using the pretrained Activitynet model following the config you mentioned and setting the multiclass_nms: True and ran inference/test(topk=5) with a kickboxing video from activitynet dataset. The output is shown below:
{'video-id': ['doing_kickboxing', 'doing_kickboxing', 'doing_kickboxing', 'doing_kickboxing', 'doing_kickboxing'],
't-start': array([3.5618675e-01, 5.6287831e-01, 3.0202144e-01, 2.3099737e+01, 2.7876747e+01], dtype=float32),
't-end': array([29.75667  , 13.629519 , 29.829634 , 29.884605 , 29.819345 ], dtype=float32),
'label': array([0, 0, 0, 0, 0]),
'score': array([0.74504584, 0.1019143 , 0.0653148 , 0.05246412, 0.02856769], dtype=float32)}

Here, the action-labels are still 0. Am I missing something?

Hi, The ActivityNet pre-trained model is trained with one class. Directly changing to multi-nms won't make any changes here. You may need to re-train the ActivityNet model with multiclasses.

Closed due to inactivity.


Changelog is displayed incompletely

After reloading after some time, it was there.  Is there a caching issue?

It was indeed different caching times between version check and changelog. Fixed in <IP_ADDRESS>


Add duplicate port validation, update devfile libraries, and add tests to check port name matches endpoint name

What type of PR is this:
/kind bug
What does this PR do / why we need it:
This PR adds duplicate port validation, updates devfile libraries, and adds tests to ensure port name matches endpoint names.
Which issue(s) this PR fixes:
Fixes #4737
Fixes #5387
PR acceptance criteria:

[ ] Unit test

[x] Integration test

[ ] Documentation

How to test changes / Special notes to the reviewer:
Port name matches endpoint name validation
odo create nodejs-vue myvue
odo url create myurl --port 3000 --host `minikube ip`
odo push
kubectl get svc myvue-app -oyaml -ojsonpath="{.spec.ports[*].name}"

Duplicate port validation
odo create nodejs-vue myvue
odo url create --port 8080

It seems you will have to adapt some tests that are using duplicated port numbers: https://s3.eu-de.cloud-object-storage.appdomain.cloud/odo-tests-openshift-logs/pr-5407-openshift-tests-441.html

@feloy Please hold your review on this one for now.

/retest-required

/lgtm

This case is detected by tests on IBMCloud/Kubernetes but not on Prow tests:
â€¢ Failure [17.623 seconds]
odo devfile url command tests
/workspace/17f65e12-a2ec-43b6-bf47-4a8738e852ea/tests/integration/devfile/cmd_devfile_url_test.go:16
  when creating a Nodejs component
  /workspace/17f65e12-a2ec-43b6-bf47-4a8738e852ea/tests/integration/devfile/cmd_devfile_url_test.go:47
    should not allow to create URL with duplicate port [It]
    /workspace/17f65e12-a2ec-43b6-bf47-4a8738e852ea/tests/integration/devfile/cmd_devfile_url_test.go:70

    Expected
        <string>: I0209 06:58:40.232825   13236 util.go:816] Response will be cached in /tmp/odohttpcache for 1h0m0s
        I0209 06:58:40.236736   13236 util.go:829] Cached response used.
        I0209 06:58:40.405521   13236 implem.go:107] The path for preference file is /tmp/994218346/preference.yaml
        I0209 06:58:40.601851   13236 kclient.go:256] Checking if "routes" resource is supported
        I0209 06:58:40.607410   13236 context.go:141] absolute devfile path: '/tmp/730430071/devfile.yaml'
        I0209 06:58:40.607431   13236 context.go:92] absolute devfile path: '/tmp/730430071/devfile.yaml'
        I0209 06:58:40.608032   13236 content.go:33] converted devfile YAML to JSON
        I0209 06:58:40.608093   13236 apiVersion.go:45] devfile schemaVersion: '2.0.0'
        I0209 06:58:40.608110   13236 helper.go:41] devfile apiVersion '2.0.0' is supported
        I0209 06:58:40.686530   13236 schema.go:46] validated devfile schema
        I0209 06:58:40.703298   13236 validate.go:45] Successfully validated devfile sections
        I0209 06:58:40.705297   13236 validate.go:45] Successfully validated devfile sections
         âœ—  URL creation failed:
        	- host must be provided in order to create URLS of Ingress Kind

    to contain substring
        <string>: port 3000 already exists in devfile endpoint entry

@feloy Can you review it again?

/lgtm

Doesn't seem to work, or am I doing it incorrect?
git clone https://github.com/odo-devfiles/nodejs-ex
odo create nodejs foobar
odo push=
odo url create --port 3000 foobar --host k8s.land
 ✗  URL creation failed:
        - port 3000 already exists in devfile endpoint entry under container "runtime"

Doesn't seem to work, or am I doing it incorrect?
git clone https://github.com/odo-devfiles/nodejs-ex
odo create nodejs foobar
odo push=
odo url create --port 3000 foobar --host k8s.land
 ✗  URL creation failed:
        - port 3000 already exists in devfile endpoint entry under container "runtime"

The error is expected, as the nodejs devfile already contains an endpoint for this specific port and you cannot create several endpoints with same port anymore:
$ odo create nodejs foobar
$ cat devfile.ymal
[...]
components:
- container:
    endpoints:
    - name: http-3000
      targetPort: 3000
    image: registry.access.redhat.com/ubi8/nodejs-14:latest
    memoryLimit: 1024Mi
    mountSources: true
    sourceMapping: /project
  name: runtime
[...]

after discussion with @valaparthvi
this
/approve

/cherrypick v2


Duplicate c string before returning in type-c

This is a (possible) fix for a compiler error on an untested compiler:
clang++ --version
Apple clang version 12.0.0 (clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin19.6.0
Thread model: posix

The current master fails to build with the following error:
[ 80%] Building CXX object src/simulator/CMakeFiles/coreirsim.dir/print_c.cpp.o
/Users/makaim/repos/forks/makaimann/coreir/src/coreir-c/types-c.cpp:74:10: error: returning address of local temporary object [-Werror,-Wreturn-stack-address]
  return rcast<NamedType*>(namedType)->toString().c_str();

This PR would just call strdup to duplicate the string before returning. This means that memory needs to be freed externally. To be honest, I'm not sure this is the best fix. I'd be happy to make changes based on feedback.

O.O I'm surprised this hasn't caused a problem, but we probably use/discard the string before calling any other functions that use the stack reference.
Requiring the user to free memory is not the worst, I think we could have the Python API wrap the string pointer in an object and free the memory when it's garbage collected.  However, tracing through this it uses some dynamic logic to compute the name:

https://github.com/rdaly525/coreir/blob/2af836c85f05173bb5f12b59f6684d5579515f92/include/coreir/ir/types.h#L107
https://github.com/rdaly525/coreir/blob/2af836c85f05173bb5f12b59f6684d5579515f92/src/ir/globalvalue.cpp#L16

If, instead, we stored the string for the lifetime of the C++ object (and had the object manage the memory), then we could just return a pointer to that string and not worry about managing it.

CC @rdaly525 do you think we could update the logic mentioned above to be computed during object initialization rather than on demand?

Good bug catch! Yeah, we can precompute it.

Hmm, looked into this some more, it seems that toString is a virtual method implemented by other things like Module, where I'm not sure pre-computing can be done (we can't compute the the string at initialization time since the module may change over it's lifetime).  The alternative is to cache toString calls in side the object, but again this would require us to support the fact that the module may change and need to track when the string is invalidated which seems like a lot of complexity.  I'm inclined to think that the solution presented here might be the best, since it is a C API we can require that the user manage the memory of the string.

@rsetaluri any ideas on how we might avoid the user having to manage the allocated memory?

A fairly non-intrusive and memory-safe option would be to transfer fixed size (say 256 bytes) buffers instead of char pointers. Of course if a name takes > 256 chars this wouldn't work but I think this is a fairly common pattern for these ffi endpoints. If the strings we're transferring look more like serializations of objects then we should probably have a more sophisticated mechanism (e.g. protobuf).
Without making any other changes, this local change to copy the string is probably not so bad. It definitively introduces a memory leak but given there's probably other ones in the code base, I'd argue a few bytes isn't so bad.

2 other options actually:

CoreIR::Context keeps a scratchpad of random stuff that it should deallocate upon destruction. It can even be associated with a specific module or namespace or whatever, so that scratchpad memory is deallocated upon the specific objects destruction. This is also not very intrusive and is pretty robust actually. The only question is if this is really different than just allowing a memory leak since the context probably lives for the entirety of the program.

We could allocate memory on the client side and pass in a mutable pointer to pointer rather than returning a pointer. I'm not sure how this interacts with ctypes but conceptually is probably the most "right" thing to do since the client is really the one that owns that string (and it's memory).

might be the most idiomatic C solution for the C-API, so I'm leaning towards that (the user allocates the memory so is explicitly responsible for freeing it).  The problem here is that we'd need to know the length of the string so for all these string style methods we'd need to add something like getStrLen so we can allocate a buffer, then use a method to copy the string into the buffer.  Alternatively we could use some sort of snprintf style interface where we specify the size of the buffer and check the return value to see if we need to increase the size.

Both aren't great since option (a) requires us to duplicate the string generation (once to get the length, once to fill the buffer), or implement cacheing with invalidation (then we might as well use the option where the C++ object stores the string memory, but then there's a chance that a pointer may be come "invalid" if the string changes, depending if the user expects it to change as the entity updates).  (b) requires us to guess the buffer size, which may mean occasionally allocating too much space, and other times having to reallocate/reinvoke.
the strdup option requires the user be responsible for managing the memory, but maybe that's not so bad since that's how the strdup interface itself works (so this style of having a library method allocate memory for you isn't unheard of)

For the issue of getting string length, we could make all string return values of the C API be wrapped in a lightweight std::string like data structure. Like
struct SizedString {
    char* c_str;
    int len;
};

And then we always transfer these things around. On the C++ side we allocate memory for c_str then return a SizedString object which can be properly deallocated on the client side. I think this works.

Yea that seems like a reasonable pattern, I can look into an implementation since pycoreir will need to be updated.  Fortunately, I think we can just consume this structure, copy it into a Python string (since we need to use .decode() anyways) and then discard the memory.  I wonder if auditing similar code with memory management can help us free up some utilization where we are either (a) having the context manage the memory (which means it'll live for the lifetime of the process, basically a leak) or (b) expecting the user to free the memory but it's not being freed (an actual leak).  If this is using a non-trivial amount of memory, some of our performance problems might be related (wasting time in the heap allocator).  I can take a look at this too.

@makaimann @leonardt would suggest that if this is at all blocking, to merge the memory leak and refactor later

It's not a blocker for me. But it doesn't compile on Mac OS Catalina, so it might be nice to merge it. Totally up to you all though.

Fixed by #982.


Use ${PKG_MGR} instead of hard-coded "yum"

A small cosmetic change: there were a few occurrences left of a hardcoded yum invocation instead of the general ${PKG_MGR}.

cmtool.sh is going away - take a look at the other repos. But fair enough on the update.


fix: use correct type for '*?enhanced' imports

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[ ] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

[x] Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

Currently the type of an enhanced import is string, which is wrong. You can easily verify by logging the imported value. The correct type is Picture.

this looks broken e-e

How do?

this looks broken e-e

This should be fixed by #12363. Cc: @benmccann


[FIX] Missing report output - #1339

Fixes #1339
The previous version failed on edge cases where 'anat', 'fmap', 'func', 'dwi' strings were found in the file path, for example, if a session was named ses-noanatomicals. Output files were then placed wrongly.
Changes proposed in this pull request
Proposed small change to how mod is set  (to the name of parent folder of self.inputs.source_file). This requires valid BIDS structure, but I assume that can be assumed.
Are there cases where self.inputs.source_file can be something other than 'anat', 'fmap', 'func', 'dwi' so we need to create exceptions/tests for that?

Thanks for this! I think it should be okay, but I'll try to have a more critical look at some point today.

Hi @kasbohm, thanks a lot for this contribution. I've just submitted a PR to your branch adding a doctest for the test-case you are fixing. It will also synchronize with master (so we should not see the red cross for ds005 anymore).
Please also confirm if you want to add your name to the .zenodo.json file.
Thanks very much!

Hi @effigies and @oesteban! Thanks, do I just merge the PR on my fork, and would this step have been avoided if I had performed a git merge upstream/master before committing? Please add me to the .zenodo.json if that is appropriate.
Cheers!

The test passed, merging in.


fixes click on the nearbyNotification app crash(#4086)

Description (required)
Fixes #4086
This is second pull request of issue #4086 Becouse my first pull request branch is delect by mistake
this is my first pull request is #4092
What changes did you make and why?
addd the postDelayed function so that before call the nearbyParentFragment.centerMapToplace(). nearbyParentFragment
initialise complete so that it so that it dooes give any Nullpointer exception when we nearbyParentFragment.centerMapToplace() is called
Tests performed (required)
Android Device:Redmi  y3
API:29
ScreenShots

You can always close the old PR if you have decided to open a new PR. This one is the same with #4092, so closing.


Font rendering problems in Light mode

[x] This is not about other apps being displayed weird or etc.
[x] This is not about rendering issues that caused by a bug in the Windows.
[x] I've read FAQ.
[x] I've checked other issues and this is not a duplicate.
Describe the bug
Fonts look extremely weird (practically washed out) on any apps that use "Extend frame into client area" when using Light mode. This is particularly noticeable on the native Windows file open dialog on such apps.
The issue does not occur in Dark mode.
Fonts look significantly more aliased and sometimes outright washed out and unreadable. Furthermore, the transparency effect does not seem noticeable in Light mode.
I do use MacType which normally improves Windows font rendering, however this issue still occurs on a computer which does not have MacType installed (as it has a much higher screen resolution while being a laptop with a smaller screen, rendering better font rendering unnecessary) as well as when turning off MacType on this computer.
To Reproduce
Steps to reproduce the behavior:

Turn on Windows light mode on apps.
Enable extend frame into client area.
Use a number of apps that use Win32 UI components (such as 7Zip) or the native file open dialog from Windows (in Vivaldi browser in this case)

Screenshots

Windows Version
Windows 11 Pro, Insider Beta channel, version 23H2 build 22635.4300.
My GPU is a NVIDIA GeForce 3070, my drivers are up to date.
Additional context
I am also using the following applications:

MacType, which MAY interfere, since this is a font related issue. However, I have tried this while disabling MacType, and the issue still occurs.
AutoDarkMode, which should have no impact on the windows themselves.
TranslucentTB, which should have no impact on the windows themselves.

It's happening because the font is 'transparent' if you change the background color or image to a dark one, the font is more visible. Not a solution, but a hack I currently use.


Collect resource usage from non-joined master nodes

Some providers do not have master nodes joined to a cluster, so
fallback to SSH is added for such providers.
Resource gatherer will merge nodes registered in a cluster with
master ips, deduplicating by address, and will use old method of
collecting container ids and gathering metrics, when possible.
For master ips that are not joined to a cluster as a node, gatherer
will use provider's SSH method, and will collect metrics of all
containers registered on that node, including ones running
as part of static pods.
Kubelet package is extended with ssh stats gatherer, and generalized
way to provide container filtering (either list based, or match-all).

/assign @mborsz

From a cursory glance, I assume it allows to collect resource usage from non-joined master nodes by having them listed in the masterIPs env/flag, is it right?

That's right, will add more clear description.

@mm4tt I've updated PR description and addressed comments, can you please take a look?

/test pull-perf-tests-verify-all-python

/assign @mm4tt @mborsz
@mm4tt @mborsz - can you please take a look?

/assign @mm4tt @mborsz
@mm4tt @mborsz - can you please take a look?


fix flaky test CustomResourceDefinitionAddressSpacesTest.testCliOutput

Type of change

Bugfix

Description
CustomResourceDefinitionAddressSpacesTest.testCliOutput is failing in our CI , this PR changes a nonsense wait for deleted namespace to a wait for address space delete which will give us better information about the reason why test fails in case it keeps failing
Checklist

[ ] Update/write design documentation in ./documentation/design
[x] Write tests and make sure they pass
[ ] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[x] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

@enmasse-ci run tests testcase=CustomResourceDefinitionAddressSpacesTest#testCliOutput

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: pr
TEST_CASE: CustomResourceDefinitionAddressSpacesTest#testCliOutput
TOTAL: 1
PASS: 1
FAIL: 0
SKIP: 0


Effects in function signature

Currently, we differentiate between effects and capabilities. Capabilities in a function's signature are to be seen requirements to the call-site and not the actual effects a function may use. This is different to most other languages featuring algebraic effects, where one can easily identify pure functions just by looking at a functions type. For example
def f(): Unit / {} = ...

does not have any requirements for the caller, that is, there are no effects that need to be handled. However, f may still look like this
def f(): Unit / {} =
    try {
         ...
         l.log(...)
         ...
    } with l: Logging {
         ...
    }

even though one may think it is pure at first glance. For the FFI, we currently have the following valid syntax:
extern effect io
extern {io} alert(): Unit = "alert('hey')"

where we can specify which effects a function uses, not requires. Similarly, I propose also make this syntax available to normal definitions:
{ Logging } def g(): Unit / { Logging } = ...
     |                           |
     effects                capabilities

Here, g uses the effect Logging (left-hand side curly braces) and requires handling of the Logging effect (right-hand curly braces). For f, one would need to write { Logging } def f(): Unit / {} since it uses the effect Logging but does not require handling of that effect. Using this notation, the user can ensure that a function uses only the specified effects and none other. This also allows the user to directly identify/specifying pure function (un-effectful functions) by writing {} def g .... It should also be possible to just omit it and then everything functions as of right now.
Since the effects that are being used are already tracked, this should not require drastic changes and was already (partly) implemented for an OOPSLA-2022 paper.
I can imagine this to be really useful, since it could be great for explaining Effekt's way of dealing with effects and lifting some confusion about the notation of capabilities in conjunction with pure functions. Since it should be completely optional, it won't get in the way of the user if they should not choose to use it.

As it is perhaps the most common use-case, we could introduce the syntactic sugar pure:
pure def f(...): T = {} def f(...): T / {}


Add user_id to UI

It would be helpful when reasoning about how the system is working if the UI explicitly shows the user_id (or null/blank) so that we could more easily understand what the login state is

User will be able to sign in/sign out now. The app will also show the Google account image of user that is signed in on the top right.


How many epochs will be take when training celeba?

Hi, I'm trying to train a model on celeba datasets with your code. And I trained the model with the command line below:
mpiexec -n 8 python train.py --problem celeba --image_size 256 --n_level 6 --depth 32 --flow_permutation 2 --flow_coupl    ing 0 --seed 0 --learntop --lr 0.001 --n_bits_x 5
I just modify the gpu numbers to 8 because I only have a 8 cards server. Now, I have trained for 4days with 1300epochs,  however, the results seems not good when I check the example images generate by code. So, could you tell me how many epochs it takes when you trained on celeba dataset? @prafullasd

Same for me, it does not converge to results presented in the article. How long it should be trained?

Running into the same issue with mnist :/

@weitaoatvison @voa18105 could you post pictures of the samples you get ?

Sure, here my beauties :-)

@voa18105 My result is similar to yours. 1300epoch

Actually, your's is better. So, it improves.

@voa18105 @weitaoatvison
The samples we show in the paper are after about 4000 training epochs. As shown in figure 8 of the paper the (subjectively) most realistic-looking samples were obtained with lower temperature. The samples from figure 1 are with a temperature of 0.7. The training script creates samples with various temperatures (number 1-, so make sure to look at the right ones, namely "*_sample_4.png". See https://github.com/openai/glow/blob/master/train.py#L47

@voa18105 @weitaoatvison
P.S. I encourage you to look at temperature=0.7 samples at 1300 epochs. They should look better than the one shown above, which was probably with temperature=1.0.
Cheers

Hi, anyone reproduced the results and would like to post it?
Thanks,
2018-07-19 5:37 GMT-04:00 weitaoatvison<EMAIL_ADDRESS>
@voa18105 https://github.com/voa18105 My result is similar to yours.
1300epoch
[image: epoch_1300_sample_5]
https://user-images.githubusercontent.com/18735019/42934690-4f1cdccc-8b7a-11e8-8713-133390202ae8.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/openai/glow/issues/14#issuecomment-406217135, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AenioiuObhNwBm0XiCEazxpKFNSgHv-Kks5uIFM_gaJpZM4VSOf6
.


Update tests and framework to instrument all clients recursively

All SDK Contribution checklist:
This checklist is used to make sure that common guidelines for a pull request are followed.

[x] Please open PR in Draft mode if it is:

Work in progress or not intended to be merged.
Encountering multiple pipeline failures and working on fixes.

[ ] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[x] I have read the contribution guidelines.
[x] The pull request does not introduce breaking changes.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[ ] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code. (Track 2 only)
[ ] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK. Please double check nuget.org current release version.

Additional management plane SDK specific contribution checklist:
Note: Only applies to Microsoft.Azure.Management.[RP] or Azure.ResourceManager.[RP]

[ ] Include updated management metadata.
[ ] Update AzureRP.props to add/remove version info to maintain up to date API versions.

Management plane SDK Troubleshooting

If this is very first SDK for a services and you are adding new service folders directly under /SDK, please add new service label and/or contact assigned reviewer.
If the check fails at the Verify Code Generation step, please ensure:

Do not modify any code in generated folders.
Do not selectively include/remove generated files in the PR.
Do use generate.ps1/cmd to generate this PR instead of calling autorest directly.
Please pay attention to the @microsoft.csharp version output after running generate.ps1. If it is lower than current released version (2.3.82), please run it again as it should pull down the latest version,

Old outstanding PR cleanup
Please note:
If PRs (including draft) has been out for more than 60 days and there are no responses from our query or followups, they will be closed to maintain a concise list for our reviewers.

        return Resource;

unrelated to this PR, but related to our design discussion where Create model differs from Get model, we will have a problem here.

Refers to: sdk/resourcemanager/Azure.ResourceManager.Core/src/ArmBuilder.cs:56 in b42629b. [](commit_id = b42629b98f1ed7e3e401e9d9a45a25b2adbf82c7, deletion_comment = False)

LGTM


Add visual regression testing

Hey there Everyone! My name is James Spivey and wanted to submit a PR I think would be really helpful! I have recently joined a company called This Dot and been experimenting with visual regression testing. I am following up on fantastic work that @jayphelps has started in this area including the PR today. Applitools was kind enough to sponsor Jay and myself to help out and make some PRs to add visual regression tests to some open source projects and we immediately thought of Bootstrap.
If you're not familiar with visual regression testing there's a pretty good summary in the Storybook docs (most of the page is unrelated to Storybook) but the tl;dr it involves rendering components individually in the DOM and taking a snapshot of the pixels and doing comparisons of it against baselines.
Most solutions do normal 1:1 pixel comparing, but this often results in false positives because the exact pixels can vary. e.g. different GPUs render things differently, so your local tests will fail against baselines created on another computer, or if the CI changes its GPU or there's a browser update, etc, etc, etc. Applitools on the other hand tries to visually compare like a human would, ignoring differences that a human wouldn't perceive or care about. The whole AI thing and such.
Maintaining a separate visual tests can sometimes be a pain on such a large project so what I did instead was take advantage of the wonderful existing docs setup you have. Since you already had the ability to render the component examples mostly all by themselves e.g. https://getbootstrap.com/docs/4.1/components/alerts/ This made it pretty dang easy.
So I chose to use Cypress as the browser test harness, which Applitools has an SDK for. I started off with just one test for a handful of the most common components so it's sort of a "smoke test" but you can add more if you'd like--it'll take longer to run though.
What happens is the docs site is served, then Cypress launches a headless Chrome where it runs the tests. Applitool's SDK then takes DOM snapshots w/ styles (not screenshots) from that headless Chrome and sends them to Applitool's servers where it renders those results in Chrome and then takes a screenshot of that result and does its intelligent comparisons against the baseline. The baseline is created the first time you run it. If there's an issue, it'll be reported in TravisCI with an included link directly to Applitool's web app where you can see the visual differences and either accept or reject them or do other cool things like set ignored regions or tweak the matching behavior.

I also included the necessary changes for it to run in your TravisCI setup, all you need to do is add your APPLITOOLS_API_KEY to your TravisCI project environment variables in their UI.
While the default Applitools account has decent limits they also offer free unlimited accounts to open source projects. In addition to higher limits, it will also check your screenshots concurrently so it runs faster.  If you don't want to post your email here, you can Twitter DM it to me or find my email on my profile.

I'm not involved in visual testing companies in any way, am just interested: it seems like automated "hey this breaks button radius on chrome mobile 73" checks would be really helpful. Is the main rationale for foregoing visual testing that it would be too much for a large project like bootstrap?


Conf property not being read in

I have a script to run a Suite locally, but I want this suite to use another properties file from the conf folder. In the sh file I have written the following. I have added the parameter -conf and set Conf = the relative path of the new properties file, but for some reason, it keeps reading the default properties file.
Any help on this, please?
#!/bin/bash

Runs a Suite locally

Selenium (see ./scriots/startSelenium.sh)

@param $1: The suites to run
@param $2: The suites package
@param $3: capabilities, by default chrome
@param $4: Number of tests to run in parallel. Default is 1

SUITES=$1
SUITES_PACKAGE=$2
CONF="conf/Selenium.properties"
if [[ -z "$3" ]]; then
CAPABILITIES="chrome"
else
CAPABILITIES=$3
fi
if [[ -z "$4" ]]; then
PARALLEL_TESTS="1"
else
PARALLEL_TESTS=$4
fi
echo "Running suites for ${SUITES} on Suites Package ${SUITES_PACKAGE}. Running ${PARALLEL_TESTS} on parallel on capabilities ${CAPABILITIES} with ${CONF}"
rm -rf ./target
./gradlew runSuite -Pconf=${CONF} -Psuites=${SUITES} -PsuitesPackage=${SUITES_PACKAGE} -PparallelTests=${PARALLEL_TESTS} -Pcapabilities=${CAPABILITIES}

Any word on this? Is this project still alive? Anyone, please.


Feature request: a new function or a new package for numbering math equations

There is currently no package available for numbering math equations, so I made a simple modification to your i-figured package source code to create a basic equation numbering package. Since most of the code is still yours, I believe it should be up to you to add or release a new package.
Best wishes :-)
Numbered @eqt:ratio:

$ phi.alt := (1 + sqrt(5)) / 2 $ <ratio>

Numbered with `only-labeled: false`:

$ phi.alt := (1 + sqrt(5)) / 2 $

Unnumbered with `only-labeled: true`:

$ phi.alt := (1 + sqrt(5)) / 2 $

Unnumbered with `<->`:

$ phi.alt := (1 + sqrt(5)) / 2 $ <->

#let reset-counters(it, level: 1) = {
  if it.level <= level {
    counter(math.equation).update(0)
  }
  it
}

#let _typst-numbering = numbering
#let show-equation(
  it,
  level: 1,
  zero-fill: true,
  leading-zero: true,
  numbering: "(1.1)",
  prefix: "eqt:",
  only-labeled: false,
  unnumbered-label: "-",
) = {
  if (only-labeled and "label" not in it.fields()) {
    it
  } else if "label" in it.fields() and (str(it.label).starts-with(prefix) or str(it.label) == unnumbered-label) {
    it
  } else {
    let numbers = counter(heading).at(it.location())
    // if zero-fill is true add trailing zeros until the level is reached
    while zero-fill and numbers.len() < level { numbers.push(0) }
    // only take the first `level` numbers
    if numbers.len() > level { numbers = numbers.slice(0, level) }
    // strip a leading zero if requested
    if not leading-zero and numbers.at(0, default: none) == 0 {
      numbers = numbers.slice(1)
    }

    let dic = it.fields()
    let _ = if "body" in dic { dic.remove("body") }
    let _ = if "label" in dic { dic.remove("label") }
    let _ = if "counter" in dic { dic.remove("counter") }

    let equation = math.equation(
      it.body,
      ..dic,
      numbering: n => _typst-numbering(numbering, ..numbers, n),
    )
    if it.has("label") {
      let new-label = label(prefix + str(it.label))
      [#equation #new-label]
    } else {
      let new-label = label(prefix + "no-label")
      [#equation #new-label]
    }
  }
}

I didn't get a reply for a long time, so I created a package: https://github.com/typst/packages/pull/212
Closed this issue :-)

Sorry, I'm currently on vacation and will be for another 1.5 weeks. I think the idea is good and i would love to add it to this package. I just didn't have time to do that yet. (btw, four days isn't a long time :wink:)

Oh, I'm sorry, I didn't wait for a reply.
So I made a PR to the typst package to add the i-equation package and added you to the authors of the package. Would you like to have a new package i-equation or do you want to add equation numbering to the i-figured (so the package name might be a bit misleading)? If it's the latter, I'll withdraw the PR in the typst package.
Best wishes, have a great vacation :-)

Thank you for your patience! I finally got around to adding this. The open packages PR is here: https://github.com/typst/packages/pull/240

Great, thank you for liking it, and I'm glad to see that the code was added to i-figured. 😉


Is it possible to add keyboard shortcut to launch kitty ?

Hello with yabai combinate with shkd, I had the possibility to launch my term (kitty) with keyboard shortcut (cmd - return)
Is it possible to make the same with aerospace ?
thanks a lot

Try this: alt-enter = 'exec-and-forget open -na Kitty'

thanks for your reply, unfortunatly it did nothing i try with "Kitty" or "kitty" with or without "open -na" and for sure reload the config but nothing append.
Maybe because i've an azerty french keyboard ?

@zobi Oh, It's weird.
You need to put this line in good section [mode.main.binding] ! And when it's in good section, it work's ;) Thanks a lot for your help


VMVX ops overuse Pure trait

VMVX ops seem to overuse the Pure trait. Any op that invokes UB on some inputs cannot be marked at AlwaysSpeculatable which is implied by Pure.
We recently fixed a similar issue in the arith dialect: https://github.com/llvm/llvm-project/issues/58700.
For vmvx, it seems to me like 'NoMemoryEffect' would be the safer default since these ops are implemented in C and inherit its immediate UB semantics (e.g., signed overflow, illegal shifts, etc). This would prevent them from being speculated or incorrectly hoisted.
Related/Parent issue: https://github.com/iree-org/iree/issues/10156

cc: @benvanik @GMNGeoffrey @jpienaar

Yeah I think the origin of these long predates clear definitions of pure or even the Pure trait itself. We should clean these up


fix broken 'ok' assertions in tests

should.js' ok assertions must be called to work properly
this doesn't raise error:
describe.only('should.be.ok', function() {
    it('passes, but should not', function() {
        var x = false;
        x.should.be.ok;
    });
});

fails as it should:
describe.only('should.be.ok', function() {
    it('fails as it should', function() {
        var x = false;
        x.should.be.ok();
    });
});

same goes for other assertions like .should.be.true, .should.be.a.Function, etc. which I fixed as well

Ah, yea, probably a behavior change in some upgrade of should.


[NEW] Show version name/code in about screen

@RocketChat/android

Closes #920 #962

@divyanshub024 It would be a better choice to show the version number at the bottom of the activity/fragment. What do you think @filipedelimabrito @rafaelks ?

@aniketsingh03 I agree with you. Even in most of the apps, the version name is at the bottom because they have lots of things in their settings. If I keep the version name in the bottom there will be lots of space in between which I think is not right.

Why don't just add about section and show all the info of app - Version name, number, with logo?

@Shailesh351 yeah you are right. According to material design guidelines "Settings should not: Contain information about the app, such as a version or licensing information (Move these to a Help screen)"

Love when someone points to a truly reference (in our case, the material guidelines - in terms of UI/UX - is what we should follow).

@filipedelimabrito I think we should make an About screen as @Shailesh351 proposed. Something like this.

@divyanshub024 The about screen on screenshot looks nice. Is it already implemented on this PR?

@rafaelks I'm adding this to the 2.0.0 milestone since I think it would be useful to have this so that non dev users can easily spot the version of the app when reporting issues.

@leonardoaramaki no I haven't implemented yet. I was waiting for someone's approval. I'll start working on this.

@leonardoaramaki the about screen implementation is done. Please review it.

@leonardoaramaki Please review it and merge if it's OK.

I tried many times already running the CI on this PR but it always fails... can you confirm if this is still working @divyanshub024 please?

Closing this PR as it is having some issues. Clone: #989


Add QuerySet-level method: bulk_create

I need an efficient way to add records to a db in bulk.  I don't think it matters so much what the API looks like for accomplishing that.  If there is an efficient way to do that already, even if it's not a QS-level method, please let me know.
Reference:  https://docs.djangoproject.com/en/3.0/ref/models/querysets/#django.db.models.query.QuerySet.bulk_create

+1 . any update on this ?

Tackling it now

Hi,
This project seems stale and from what I saw on encode page it's not a priority right now. Since I was tired with reinventing the wheel and needed something as soon as possible I created ormar package, that was inspired by this one.
Ormar bases its validation on pydantic so it can be used directly with fastapi as response and request models.
This issue was implemented in ormar, so feel free to check it  out: https://github.com/collerek/ormar

This has been fixed with https://github.com/encode/orm/commit/0df624ef88616f0ae5d4a96a60f79c43b79f130f, so probably should be closed. cc/ @aminalaee


fix: should not report and null error if disassembled text is printed…

… other than returned.
Checklist

[x] I have read the Contributor Guide
[x] I have read and agree to the Code of Conduct
[x] I have added a description of my changes and why I'd like them included in the section below

Description of Changes
I went into an errot if print flag in DisassembleOptions is true while it is ok for false.
Related Issues
None

Thanks!

Thanks!


fix(keycloak-operator): remove crds

Hey @igory-bwr, this chart is currently in alpha version and we are planning to add a separate helm chart that contains those CRDs in the near future.
Until then you can install them via kubectl
git clone https://github.com/keycloak/keycloak-operator.git
kubectl apply -f keycloak-operator/deploy/crds/


Use golang.org/x/sys/unix on solaris

Avoid build issues on SmartOS (solaris, illumos)
undefined: syscall.Mmap
undefined: syscall.SYS_MLOCK
undefined: syscall.SYS_MUNLOCK
undefined: syscall.SYS_MUNMAP
undefined: syscall.SYS_MSYNC
Use unix. Mlock, Munlock, Munmap, Msync directly, to avoid
undefined: unix.SYS_MLOCK
undefined: unix.SYS_MUNLOCK
undefined: unix.SYS_MUNMAP
undefined: unix.SYS_MSYNC
https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/sys/syscall.h
unix.Msync for solaris after 2017-09-19
https://github.com/golang/sys/commit/b8ca6dd53df6c69d408877591c00f9ff76e8df88#diff-c1a0df1cd15dc5c6f51c742aa5a66b98

mmap-go would not build for me on SmartOS (solaris, illumos)
I am not sure how valid my changes are, but the go test ran okay with them.

Tests complete successfully given you have an up to date x/sys/unix
=== RUN   TestUnmap
--- PASS: TestUnmap (0.00s)
=== RUN   TestReadWrite
--- PASS: TestReadWrite (0.00s)
=== RUN   TestProtFlagsAndErr
--- PASS: TestProtFlagsAndErr (0.00s)
=== RUN   TestFlags
--- PASS: TestFlags (0.00s)
=== RUN   TestNonZeroOffset
--- PASS: TestNonZeroOffset (0.00s)
PASS
ok      github.com/edsrzf/mmap-go       0.008s


Data Transfer Failed on Local Development

Bug Report
Data Transfer error after contract negotiation
Post request to data transfer doesn't work in the local development setup. Produces  error net::ERR_INTERNET_DISCONNECTED
Expected Behavior
Once clicked, the transfer button should create an azure blob container containing the transferred data.
Observed Behavior

Submits infinite post request to (HTTP://localhost:9192/api/v1/data/transferprocess/{transferId})
Throws net:: Err_INTERNET_DISCONNECTED Error
Does create an Azure Blob Container but post request doesn't work

Steps to Reproduce
Steps to reproduce the behavior:

Negotiate Contract
Click on Transfer
See the error

Error Information
`
zone.js:2680          GET http://localhost:9192/api/v1/data/transferprocess/{id} net::ERR_INTERNET_DISCONNECTED
| q | @ | zone.js:2680
-- | -- | -- | --
  | scheduleTask | @ | zone.js:393
  | onScheduleTask | @ | zone.js:283
  | scheduleTask | @ | zone.js:386
  | scheduleTask | @ | zone.js:221
  | scheduleMacroTask | @ | zone.js:244
  | Me | @ | zone.js:683
  | (anonymous) | @ | zone.js:2713
  | o. | @ | zone.js:973
  | (anonymous) | @ | http.mjs:1915
  | _trySubscribe | @ | Observable.js:37
  | (anonymous) | @ | Observable.js:31
  | sc | @ | errorContext.js:19
  | subscribe | @ | Observable.js:22
  | _ | @ | mergeInternals.js:19
  | p | @ | mergeInternals.js:14
  | _next | @ | OperatorSubscriber.js:13
  | next | @ | Subscriber.js:31
  | (anonymous) | @ | innerFrom.js:51
  | _trySubscribe | @ | Observable.js:37
  | (anonymous) | @ | Observable.js:31
  | sc | @ | errorContext.js:19
  | subscribe | @ | Observable.js:22
  | wR | @ | mergeInternals.js:50
  | (anonymous) | @ | mergeMap.js:13
  | (anonymous) | @ | lift.js:10
  | (anonymous) | @ | Observable.js:26
  | sc | @ | errorContext.js:19
  | subscribe | @ | Observable.js:22
  | (anonymous) | @ | filter.js:6
  | (anonymous) | @ | lift.js:10
  | (anonymous) | @ | Observable.js:26
  | sc | @ | errorContext.js:19
  | subscribe | @ | Observable.js:22
  | (anonymous) | @ | map.js:6
  | (anonymous) | @ | lift.js:10
  | (anonymous) | @ | Observable.js:26
  | sc | @ | errorContext.js:19
  | subscribe | @ | Observable.js:22
  | e.subscribe.o | @ | switchMap.js:14
  | _next | @ | OperatorSubscriber.js:13
  | next | @ | Subscriber.js:31
  | (anonymous) | @ | innerFrom.js:51
  | _trySubscribe | @ | Observable.js:37
  | (anonymous) | @ | Observable.js:31
  | sc | @ | errorContext.js:19
  | subscribe | @ | Observable.js:22
  | (anonymous) | @ | switchMap.js:10
  | (anonymous) | @ | lift.js:10
  | (anonymous) | @ | Observable.js:26
  | sc | @ | errorContext.js:19
  | subscribe | @ | Observable.js:22
  | (anonymous) | @ | filter.js:6
  | (anonymous) | @ | lift.js:10
  | (anonymous) | @ | Observable.js:26
  | sc | @ | errorContext.js:19
  | subscribe | @ | Observable.js:22
  | (anonymous) | @ | tap.js:15
  | (anonymous) | @ | lift.js:10
  | (anonymous) | @ | Observable.js:26
  | sc | @ | errorContext.js:19
  | subscribe | @ | Observable.js:22
  | (anonymous) | @ | contract-viewer.component.ts:162
  | L. | @ | zone.js:2378
  | invokeTask | @ | zone.js:406
  | onInvokeTask | @ | core.mjs:25579
  | invokeTask | @ | zone.js:405
  | runTask | @ | zone.js:178
  | invokeTask | @ | zone.js:487
  | invoke | @ | zone.js:476
  | m.args. | @ | zone.js:2358
`

Used version [e.g. DataDashboard v1.0.0]
OS: [Mac]

Detailed Description

Hi @Its-suLav-D
which version of the MVD are you using?
Do you see some errors in the logs?
Thanks


undefined: newApp

➜  k8s_deploy git:(main) ✗ go build cmd/server/main.go
command-line-arguments
cmd/server/main.go:15:23: undefined: newApp
go build error

now, it's ok. i just add log. maybe before it's a cache.

go build cmd/server/main.go cmd/server/wire.go


Update to Ecto 3

Since Ecto 3 is a major version bump, the version of ex_audit should reflect that this is a breaking change.
mix format has only been run on the modified file but if this get merged, I will do another PR to add mix format in the whole codebase 😃

I found another interesting option which would work:
https://github.com/elixir-ecto/ecto/blob/master/lib/ecto/association.ex#L130
Basically, we create custom association types for every one of the normal ecto ones and use that callback to track changes on associations. We get changesets here so we can just pipe that into the track function.
However, it would mean that installing ex_audit into an existing codebase isn't quite as "drop-in" as it is for ecto 2. You'd need to replace every instance of has_one, has_many and belongs_to with our assoc (maybe it could have a tracked_ prefix).
The advantage is that the developer gets to decide which associations actually need to be tracked.
Also, I think that this will make it easier to finally get support for many-to-many relationships.

Some duplicate work was done in https://github.com/ZennerIoT/ex_audit/pull/12 (just for reference)

Checkout #13, Ecto 3.1 seems to have fixed something and all the test "just work" now.

Checkout #13, Ecto 3.1 seems to have fixed something and all the test "just work" now

I’ll close this PR since yours has already the "update to ecto 3.1" commit 😄


Disable flakey test.

See https://github.com/flutter/flutter/issues/1854

TBR @abarth

will land if travis goes green on this