[FLINK-36643][filesystems] Update aws-java-sdk-core to 1.12.777

What is the purpose of the change
The current version of aws-java-sdk-core, used in the flink-s3-fs-base module, has a high severity vulnerability (CVE-2024-21634).
To address this we need to update to version 1.12.773 or higher, 1.12.777 is the current latest version.
Brief change log
Update the aws-java-sdk-core version used in flink-s3-fs-base to 1.12.777.
Verifying this change
This change is already covered by existing tests in the flink-s3-fs-base module.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): yes
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: yes

Documentation

Does this pull request introduce a new feature? no

@flinkbot run azure

@flinkbot run azure

@flinkbot run azure


Improve Stateful testing output

The main problem with state-machine-based stateful testing is that in some cases, it is too verbose. E.g., if the test is flaky, then Hypothesis will output a very long traceback, which may be distracting for the end-user, and definitely decrease the signal/noise ratio.

In my case I think it's not verbose enough
>   @settings(verbosity=Verbosity.debug)
E   hypothesis.errors.Flaky: Hypothesis found 2 distinct failures, but 1 of them exhibited some sort of flaky behaviour.

There is no more info: which test failed, input, output.


Usage description

Hi, could you extend installation and usage section?
I would like to use your implementation for another data. It would be helpful to have broader description or even better additionally your input data.
Thank you.

Thanks for your interest! I plan to clean up this repo, upload my input data and write some documentation over this weekend. I will let you know when this is almost done -- it should be around Jan 6th.


PDF: Bold MathML not rendering

Follow on from https://github.com/metanorma/metanorma-iso/issues/876
I have introduced code to insert <mstyle fontweight="bold"> into MathML if its ancestor is . However, I have  discovered that style directives to render MathML in boldface are being ignored in PDF, whether they are the older <mstyle fontweight="bold">, or the newer <mstyle style="font-weight:bold">, or the native <mstyle mathvariant="bold">.
So the following snippet renders the b in boldface (non-italic) as expected in HTML and DOC, but as plain style in PDF:
<stem type="MathML">
  <math xmlns="http://www.w3.org/1998/Math/MathML">
    <mi>a</mi>
    <mstyle mathvariant="bold">
      <mi>b</mi>
    </mstyle>
  </math>
  <asciimath>a bb(b)</asciimath>
</stem>

And it renders the same whether the mstyle has mathvariant="bold", style="font-weight:bold", or fontweight="bold".

I can't repeat. This XML:

Bold math test:
<stem type="MathML">
  <math xmlns="http://www.w3.org/1998/Math/MathML">
    <mi>a</mi>
    <mstyle mathvariant="bold">
      <mi>b</mi>
    </mstyle>
  </math>
  <asciimath>a bb(b)</asciimath>
</stem>

renders so:

Could you attach the full xml fragment?

I've test for different styles  mathvariant="bold", style="font-weight:bold", or fontweight="bold", and only mathvariant="bold" renders ok in PDF:

The mstyle is at the root of the MathML, and is still failing in PDF with mathvariant. Attached.
Αρχειοθήκη 2.zip

In my environment PDF looks so:

vs. from Αρχειοθήκη 2.zip:

I don't figure out the reason. I'll investigate.

The document from mn-samples-iso repo https://github.com/metanorma/mn-samples-iso/blob/main/sources/directives/part2/sections/28-figures.adoc contains similar math in bold:
| Position vector | stem:[bb(r)]
| Displacement | stem:[bb(Delta r)]

Position vector
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mstyle mathvariant="bold"><mi>r</mi></mstyle></math><asciimath>bb(r)</asciimath></stem>

Displacement
<stem type="MathML"><math xmlns="http://www.w3.org/1998/Math/MathML"><mstyle mathvariant="bold"><mrow><mo>Δ</mo><mi>r</mi></mrow></mstyle></math><asciimath>bb(Delta r)</asciimath></stem>

and math in PDF rendered in bold on Win, Ubuntu and Mac (https://github.com/metanorma/mn-native-pdf/pull/488), Table 10 on the page 53:
Windows (https://github.com/metanorma/mn-native-pdf/actions/runs/4073826433):

Ubuntu (https://github.com/metanorma/mn-native-pdf/actions/runs/4073826407):

MacOS (https://github.com/metanorma/mn-native-pdf/actions/runs/4073826414):

Will investigate further...

I assume that wrong (old?) Cambria font without Math sub-font is using.
@opoudjis could you help make some actions?

re-generate PDF again
immediately after that, go to the folder /Users/<user name>/.metanorma/fonts/ and find the file pdf_fonts_config.xml.out.
attach it here (or via Skype)
in the file pdf_fonts_config.xml.out find two elements font with  and  inside it, like this:

	<alternate embed-url="cambria.ttf"/>

	<alternate embed-url="cambria.ttf"/>

attach the font files specified in the attribute embed-url.

Thanks.

@opoudjis thanks.
From pdf_fonts_config.xml.out - Cambria.ttf is using for Cambria Math:

	<alternate embed-url="cambria.ttf"/>

	<alternate embed-url="cambria.ttf"/>

	<alternate embed-url="cambria.ttf"/>

But on the disk there is the font Cambria Math in Cambria Math.ttf.
Also, missing simulate-style="true" for .
Will fix it.

I'm trying to generate PDF for a.doc on MacOS and get the error:
bundle exec metanorma -t iso -x pdf a.adoc:
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
bundler: failed to load command: metanorma (/usr/local/lib/ruby/gems/3.2.0/bin/metanorma)
/usr/local/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.6.12/lib/metanorma/cli/commands/config.rb:57:in `block in load_configs': undefined method `exists?' for File:Class (NoMethodError)

            next unless File.exists?(config_path)
                            ^^^^^^^^
Did you mean?  exist?
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.6.12/lib/metanorma/cli/commands/config.rb:56:in `each'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.6.12/lib/metanorma/cli/commands/config.rb:56:in `load_configs'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.6.12/lib/metanorma/cli/thor_with_config.rb:14:in `options'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-cli-1.6.12/lib/metanorma/cli/command.rb:46:in `compile'
...

ruby -v:
ruby 3.2.0 (2022-12-25 revision a528908271) [x86_64-darwin20]

Will try to re-install metanorma.

Issue with File.exists? fixed by adding this line into Gemfile:
gem "metanorma-cli", git: "https://github.com/metanorma/metanorma-cli", branch: "main"
New error occurs:
Fatal Error: Refinement#include has been removed
bundler: failed to load command: metanorma (/usr/local/lib/ruby/gems/3.2.0/bin/metanorma)
/usr/local/lib/ruby/gems/3.2.0/gems/rdf-n3-3.1.2/lib/rdf/n3/refinements.rb:176:in `include': Refinement#include has been removed (TypeError)

    include ::RDF::Term
            ^^^^^^^^^^^
	from /usr/local/lib/ruby/gems/3.2.0/gems/rdf-n3-3.1.2/lib/rdf/n3/refinements.rb:176:in `block in <module:Refinements>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/rdf-n3-3.1.2/lib/rdf/n3/refinements.rb:174:in `refine'
	from /usr/local/lib/ruby/gems/3.2.0/gems/rdf-n3-3.1.2/lib/rdf/n3/refinements.rb:174:in `<module:Refinements>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/rdf-n3-3.1.2/lib/rdf/n3/refinements.rb:2:in `<top (required)>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/rdf-n3-3.1.2/lib/rdf/n3.rb:26:in `require'
	from /usr/local/lib/ruby/gems/3.2.0/gems/rdf-n3-3.1.2/lib/rdf/n3.rb:26:in `<module:N3>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/rdf-n3-3.1.2/lib/rdf/n3.rb:21:in `<module:RDF>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/rdf-n3-3.1.2/lib/rdf/n3.rb:3:in `<top (required)>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/linkeddata-3.1.6/lib/linkeddata.rb:26:in `require'
	from /usr/local/lib/ruby/gems/3.2.0/gems/linkeddata-3.1.6/lib/linkeddata.rb:26:in `<module:LinkedData>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/linkeddata-3.1.6/lib/linkeddata.rb:1:in `<top (required)>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-w3c-1.14.0/lib/relaton_w3c/data_fetcher.rb:2:in `require'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-w3c-1.14.0/lib/relaton_w3c/data_fetcher.rb:2:in `<top (required)>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-w3c-1.14.0/lib/relaton_w3c.rb:8:in `require'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-w3c-1.14.0/lib/relaton_w3c.rb:8:in `<top (required)>'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-1.14.2/lib/relaton/registry.rb:28:in `require'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-1.14.2/lib/relaton/registry.rb:28:in `block in register_gems'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-1.14.2/lib/relaton/registry.rb:27:in `each'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-1.14.2/lib/relaton/registry.rb:27:in `register_gems'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-1.14.2/lib/relaton/registry.rb:21:in `initialize'
	from /usr/local/Cellar/ruby/3.2.0/lib/ruby/3.2.0/singleton.rb:127:in `new'
	from /usr/local/Cellar/ruby/3.2.0/lib/ruby/3.2.0/singleton.rb:127:in `block in instance'
	from /usr/local/Cellar/ruby/3.2.0/lib/ruby/3.2.0/singleton.rb:125:in `synchronize'
	from /usr/local/Cellar/ruby/3.2.0/lib/ruby/3.2.0/singleton.rb:125:in `instance'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-1.14.2/lib/relaton/db.rb:6:in `initialize'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-1.14.2/lib/relaton/db.rb:530:in `new'
	from /usr/local/lib/ruby/gems/3.2.0/gems/relaton-1.14.2/lib/relaton/db.rb:530:in `init_bib_caches'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-standoc-2.3.7/lib/metanorma/standoc/ref_sect.rb:166:in `init_bib_caches'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-standoc-2.3.7/lib/metanorma/standoc/base.rb:119:in `init_biblio'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-standoc-2.3.7/lib/metanorma/standoc/base.rb:40:in `init'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-iso-2.3.3/lib/metanorma/iso/base.rb:54:in `init'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-standoc-2.3.7/lib/metanorma/standoc/base.rb:140:in `document1'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-standoc-2.3.7/lib/metanorma/standoc/base.rb:130:in `document'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-standoc-2.3.7/lib/metanorma/standoc/utils.rb:13:in `convert'
	from /usr/local/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.18/lib/asciidoctor/document.rb:956:in `convert'
	from /usr/local/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.18/lib/asciidoctor/convert.rb:120:in `convert'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-1.5.5/lib/metanorma/input/asciidoc.rb:18:in `process'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-1.5.5/lib/metanorma/processor.rb:21:in `input_to_isodoc'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-1.5.5/lib/metanorma/compile.rb:59:in `process_input_adoc'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-1.5.5/lib/metanorma/compile.rb:42:in `process_input'
	from /usr/local/lib/ruby/gems/3.2.0/gems/metanorma-1.5.5/lib/metanorma/compile.rb:33:in `compile'

bundle info rdf is ok, but let me upgrade to Ruby 3.2.0....
... replicated error. Aha.
Please use Ruby 3.1.3 until we've worked this out.

Please use Ruby 3.1.3 until we've worked this out.

@opoudjis thank you, it's working.
I've repeated the wrong PDF rendering with non-bold math on MacOS.
I've installed these fonts

Cambria.ttf
Cambria Bold.ttf
Cambria Math.ttf
on clear MacOS installation.

Fontist manifest looks correctly:
---
Cambria:
  Bold:
    full_name: Cambria Bold
    paths:
    - "/Library/Fonts/Cambria Bold.ttf"
  Regular:
    full_name: Cambria
    paths:
    - "/Library/Fonts/Cambria.ttf"
Cambria Math:
  Regular:
    full_name: Cambria Math
    paths:
    - "/Library/Fonts/Cambria Math.ttf"
...

In the FOP font config (parsed from fontist manifest):
<fonts>

		<alternate embed-url="cambria.ttf"/>

		<alternate embed-url="cambria.ttf"/>

		<alternate embed-url="cambria.ttf"/>

		<alternate embed-url="Cambria Bold.ttf"/>

there are a few wrong items:

for Cambria.ttf specified sub-font="Cambria", but in .ttf there aren't sub-fonts, only in .ttc
for Cambria.ttf -
there isn't  for file:/Library/Fonts/Cambria%20Math.ttf

There is a differences between my FOP font config (left panel) and provided by @opoudjis (right panel):

there is a redundant sub-font on the left
there isn't Cambria Math on the right at all

I don't figure out why Cambria Math is missing.
At this moment I see two issues:

wrong fontist manifest parsing by mn2pdf
wrong fontist manifest generation on @opoudjis machine (don't sure).

@opoudjis to make sure that fontist manifest is correctly, could you make some actions. please?
 To catch the fontist manifest file I've updated mn2pdf-ruby in the branch fontist_catch.
Add this line into Gemfile:
gem "mn2pdf", git: "https://github.com/metanorma/mn2pdf-ruby", branch: "fontist_catch"
Execute bundle update and then run PDF generation.
In the log, before the line java -Xss5m -Xmx2048m  you will see the line like C:/Users/TestUser/AppData/Local/Temp/fontist_locations20230203-7164-rldc4h.yml.copy.yml:
C:/Users/TestUser/AppData/Local/Temp/fontist_locations20230203-7164-rldc4h.yml.copy.yml
java -Xss5m -Xmx2048m -jar C:/tools/ruby31/lib/ruby/gems/3.1.0/bundler/gems/mn2pdf-ruby-fc9a124159b9/lib/../bin/mn2pdf.jar --xml-file "D:/Work/Metanorma/repositories/mn-samples-iso/sources/math_bold/a.presentati
on.xml" --xsl-file "C:/tools/ruby31/lib/ruby/gems/3.1.0/gems/metanorma-iso-2.3.3/lib/isodoc/iso/iso.international-standard.xsl" --pdf-file "D:/Work/Metanorma/repositories/mn-samples-iso/sources/math_bold/a.pdf"
--syntax-highlight  --font-manifest "C:/Users/TestUser/AppData/Local/Temp/fontist_locations20230203-7164-rldc4h.yml"
C:/tools/ruby31/lib/ruby/gems/3.1.0/bundler/gems/mn2pdf-ruby-fc9a124159b9/lib/mn2pdf.rb:83:in `mn2pdf'
C:/tools/ruby31/lib/ruby/gems/3.1.0/bundler/gems/mn2pdf-ruby-fc9a124159b9/lib/mn2pdf.rb:58:in `block in convert'
C:/tools/ruby31/lib/ruby/gems/3.1.0/bundler/gems/mn2pdf-ruby-fc9a124159b9/lib/mn2pdf.rb:104:in `block in dump_fontist_manifest_locations'
...
[mn2pdf] Fatal:  Error: Unable to access jarfile C:/tools/ruby31/lib/ruby/gems/3.1.0/bundler/gems/mn2pdf-ruby-fc9a124159b9/lib/../bin/mn2pdf.jar

Please attach this .yml.copy.yml.
The process ends with error due missing mn2pdf.jar, so ignore it. I need just fontist manifest yml.
Thanks.

I'll make one more attempts to fix this issue...

After update (mn2pdf v.1.64) Apache FOP config looks correct:
<fonts>

		<alternate embed-url="cambria.ttf"/>

		<alternate embed-url="Cambria Math.ttf"/>
		<alternate embed-url="cambria.ttf"/>

		<alternate embed-url="Cambria Math.ttf" simulate-style="true"/>
		<alternate embed-url="cambria.ttf" simulate-style="true"/>

		<alternate embed-url="Cambria Bold.ttf"/>

but PDF still renders in the normal:

To do:

check missing %20 in Cambria Math.ttf
check simulate-style="true" is workable or not for Cambria Math.ttf

Looks like this

renders in non Cambria Math Bold at all.
Cambria Math bold should looks so:

I'll debug jEuclid rendering.

I've spent a day, but didn't find the reason yet...

OK, I've already completely forgotten where this came from, and I don't want to add a never ending ticket to your workload, so...
Is this a font issue, specific to Cambria Math Bold?
Is there something I can do in markup to push it along?
I'm confused that you are getting boldface and I'm not; this looks like something that can be gotten around, but it also sounds like it needs explicit invocation of the distinct Cambria Bold. Does this issue generalise to other bold math fonts? I know we've had problems with boldface maths in the past—incomplete coverage of maths symbols in fonts.

@opoudjis I assume that the reason in jEuclid.
There is 'Cambria Math' only  font, not  'Cambria Math Bold'.
Apache FOP can 'simulate' font's styles. I.e. if there is only normal/regular font, then Apache FOP automatically 'build' bold/italic fonts. This works ok for text.
jEuclid is using for mathml rendering, and it seems jEeuclid doesn't know anything about how to simulate the font.
I didn't have enough time to focused on this issue. As soon I've ended with JIS XSLT, then I'll switch to here again....
I think about workaround solution - create on-fly 'Cambria Math Bold' .ttf and specify it for jEuclid...

After today's investigation, as I understood

jEuclid uses ImageGraphics2D object (org.apache.xmlgraphics.image.loader.impl.ImageGraphics2D) for drawing formulas, and then converts it into the curves, and put into PDF, I don't sure that SVG is using
jEuclid uses own 'simulate style' algorithm than Apache FOP:

left - jEuclid curves, right - Apache FOP text

Cambria Math

STIX Two Math:

Just for experiment, I've removed simulate-style="true" for STIX Two Math font, and jEuclid still renders in the bold:

The reason why math isn't bolded on MacOs in the investigation still.

For further investigation, example XML:
    <clause id="id1" displayorder="1">
      <title depth="1">1<tab/>Math bold test</title>

Cambria math: [a,b], [a,b]

        <stem type="MathML" font-family="Cambria Math">
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <mstyle mathvariant="bold">
              <mfenced open="[" close="]">
                <mrow>
                  <mi>a</mi>
                  <mo>,</mo>
                  <mi>b</mi>
                </mrow>
              </mfenced>
            </mstyle>
          </math>

          <asciimath>[a,b]</asciimath>
        </stem>

STIX Two Math: [a,b], [a,b]

        <stem type="MathML" font-family="STIX Two Math">
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <mstyle mathvariant="bold">
              <mfenced open="[" close="]">
                <mrow>
                  <mi>a</mi>
                  <mo>,</mo>
                  <mi>b</mi>
                </mrow>
              </mfenced>
            </mstyle>
          </math>

          <asciimath>[a,b]</asciimath>
        </stem>

    </clause>

XSLT updated for new tags (for testing only):
 <xsl:template match="*[local-name() = 'font']">
    <fo:inline font-family="{@font-family}"><xsl:apply-templates /></fo:inline>
 </xsl:template>

<xsl:template match="mathml:math">
...
<fo:inline xsl:use-attribute-sets="mathml-style">
      <xsl:copy-of select="ancestor::*[local-name() = 'stem']/@font-family"/>
...

Fontist manifest fragment (Cambria fonts from Mac machine specially for testing):
---
Cambria:
  Regular:
    full_name: Cambria
    paths:
    -"D:/Work/Metanorma/Mac_fonts/Cambria.ttf"
  Bold:
    full_name: Cambria Bold
    paths:
    - "D:/Work/Metanorma/Mac_fonts/Cambria Bold.ttf"
...
Cambria Math:
  Regular:
    full_name: Cambria Math
    paths:
    - "D:/Work/Metanorma/Mac_fonts/Cambria Math.ttf"
STIX Two Math:
  Regular:
    full_name: STIX Two Math Regular
    paths:
    - C:/Users/TestUser/.fontist/fonts/STIXTwoMath-Regular.otf

Currently rendering on Win10:

Note: first [a,b] is normal text, 2nd is bold text, 3rd is jEuclid graphics.
I'll try on Mac tomorrow, something wrong with VirtualBox.

Rendering on Mac:

jEuclid renders bold in STIX Two Math, but doesn't in Cambria Math. Very uncertain result...
Further actions:

[ ] remove space in the filename Cambria Math.ttf on the disk and in manifest (may be jEuclid doesn't understand spaces in the filename?)
[ ] try cambria.ttc (contains both Cambria and Cambria Math) from Windows.

[x] remove space in the filename Cambria Math.ttf on the disk and in manifest (may be jEuclid doesn't understand spaces in the filename?)
[x] try cambria.ttc (contains both Cambria and Cambria Math) from Windows.

The same result - no bold.

JEuclid MathViewer with fontSerif attribute:

on Windows :

with mathvariant="bold"

without mathvariant="bold"

Note: bold looks different than as it renders in PDF.
on Mac
with and without mathvariant="bold" looks identically

This code from Mo.java has affect on the bold style for brackets:
 info.setGraphicsObject(new TextObject(t, this.getLspaceAsFloat(now)
                + textLayoutInfo.getOffset() * calcScaleX, calcBaselineShift,
                AffineTransform.getScaleInstance(calcScaleX, calcScaleY), //calcScaleX, calcScaleY
                (Color) now.getParameter(Parameter.MATHCOLOR)));

For calcScaleX=1.0f and calcScaleY=1.0f, PDF renders (on Windows):

For calcScaleX=1.5f and calcScaleY=1.0f, PDF renders (on Windows):

For both case in Mac:

The objects textLayout is identical on both platforms:
textLayout=sun.font.StandardTextSource@671c4166[start:0, len:1, cstart:0, clen:1, chars:"5b", level:0, flags:0, font:java.awt.Font[family=Cambria Math,name=Cambria Math,style=bold,size=11], frc:java.awt.font.FontRenderContext@78f755b2, cm:sun.font.CoreMetrics@41183d00]

textLayout=sun.font.StandardTextSource@228cea97[start:0, len:1, cstart:0, clen:1, chars:"5b", level:0, flags:0, font:java.awt.Font[family=Cambria Math,name=Cambria Math,style=bold,size=11], frc:java.awt.font.FontRenderContext@6e20c58e, cm:sun.font.CoreMetrics@41273c00]

It's the Java issue.
I've developed a small program to check the math fonts rendering in Java GUI (https://github.com/Intelligent2013/mathfontstest).

1st and 3rd lines in normal
2nd and 4th lines in bold

        JLabel label1 = new JLabel("Cambria Math: [a, b]");
        label1.setBounds(50, 50, 400, 30);
        label1.setFont(new Font("Cambria Math", Font.PLAIN, 30));

        JLabel label2 = new JLabel("Cambria Math: [a, b]");
        label2.setBounds(50, 100, 400, 30);
        label2.setFont(new Font("Cambria Math", Font.BOLD, 30));

        JLabel label3 = new JLabel("STIX Two Math: [a, b]");
        label3.setBounds(50, 150, 400, 30);
        label3.setFont(new Font("STIX Two Math", Font.PLAIN, 30));

        JLabel label4 = new JLabel("STIX Two Math: [a, b]");
        label4.setBounds(50, 200, 400, 30);
        label4.setFont(new Font("STIX Two Math", Font.BOLD, 30));

On Windows:

On Mac - no differences between 1st and 2nd lines:

And I don't figure out why Cambria Math looks thickness on Mac than on Windows.

On Ubuntu:

There are the similar issue on the openjdk bug tracker:

https://bugs.openjdk.org/browse/JDK-8176835
https://bugs.openjdk.org/browse/JDK-8222624
https://bugs.openjdk.org/browse/JDK-8185569
First issue raised in 2017 (6 years ago) and still opened.

Previously, I've installed the font Cambria Math.ttf into the folder /Library/Fonts on my VB MacOs (just to repeat the environment from the original issue MacOS machine).
But now I've moved it into ~/.fontist/fonts/... and now it renders ok in the test application MathFontsTest:

Note: now, 'normal' renders as normal font, not 'bold' as in https://github.com/metanorma/metanorma-iso/issues/910#issuecomment-1519686929
I'll test the PDF rendering and will think about one more workaround solution, specially for MacOs.

Case for ~/.fontist/fonts/Cambria Math.ttf - PDF renders OK:

So, workaround solution for mn2pdf:

if OS is MacOS
if font file path doesn't contain .fontist (i.e. isn't installed by fontist), then

copy font file into tmp folder (one folder for all fonts)
change font path to the tmp folder font file
generate PDF...
flush font tmp folder

Current FOP config:
<fonts>

		<alternate embed-url="cambria.ttf"/>

		<alternate embed-url="Cambria Math.ttf"/>
		<alternate embed-url="cambria.ttf"/>

		<alternate embed-url="Cambria Math.ttf" simulate-style="true"/>
		<alternate embed-url="cambria.ttf" simulate-style="true"/>

		<alternate embed-url="Cambria Bold.ttf"/>

There is file:/Library/Fonts/Cambria Math.ttf still.
To do: for non-fontist manifest entries apply the same actions.

@Intelligent2013 is there something that Fontist can do here? I don't like the idea of mn2pdf moving fonts around.

For FOP font config:
<fonts>

		<alternate embed-url="cambria.ttf"/>

		<alternate embed-url="Cambria Math.ttf"/>
		<alternate embed-url="cambria.ttf"/>

		<alternate embed-url="Cambria Math.ttf" simulate-style="true"/>
		<alternate embed-url="cambria.ttf" simulate-style="true"/>

		<alternate embed-url="Cambria Bold.ttf"/>

PDF again wrong:

Looks like JEuclid uses the system information about registered fonts, and therefore uses the font from /Library/Fonts/.
I'll try to unregister font for Java...

@Intelligent2013 is there something that Fontist can do here? I don't like the idea of mn2pdf moving fonts around.

@ronaldtse we need to isolate system fonts from Java somehow, but I don't know how yet.

I've asked about this issue here https://stackoverflow.com/questions/76185073/java-how-to-render-system-font-in-bold-on-macos.

I have one idea:

copy system font to the temp folder
register the font from the temp folder with a new name, for instance, Cambria Math Metanorma
replace Cambria Math to Cambria Math Metanorma in the XSL-FO

Java doesn't allow to change font name directly.
Currently, I've found the method how to change the font name in the Java Font object (via reflection feature):

But GraphicsEnvironment ge.registerFont(ttfFont) doesn't register this updated font, because familyName and fullName still have value Cambria Math (without Metanorma suffix):
Locale l = getSystemStartupLocale();
String familyName = font.getFamily(l).toLowerCase();
String fullName = font.getFontName(l).toLowerCase();

The methods getFontName and getFamilyName in the class Font2D just return fullName and familyName:
public String getFontName(Locale l) {
        return fullName;
}

public String getFamilyName(Locale l) {
        return familyName;
 }

Actually, the right class is TrueTypeFont (Font2D is abstract class):
    @Override
    public String getFontName(Locale locale) {
        if (locale == null) {
            return fullName;
        } else if (locale.equals(nameLocale) && localeFullName != null) {
            return localeFullName;
        } else {
            short localeID = getLCIDFromLocale(locale);
            String name = lookupName(localeID, FULL_NAME_ID);
            if (name == null) {
                return fullName;
            } else {
                return name;
            }
        }
    }

The font's name depends on locale and stores very deep into the byte array:
public static final int nameTag = 0x6E616D65; // 'name'
...
   /* Return the requested name in the requested locale, for the
     * MS platform ID. If the requested locale isn't found, return US
     * English, if that isn't found, return null and let the caller
     * figure out how to handle that.
     */
    protected String lookupName(short findLocaleID, int findNameID) {
        String foundName = null;
        byte[] name = new byte[1024];

        ByteBuffer buffer = getTableBuffer(nameTag);
        if (buffer != null) {
            ShortBuffer sbuffer = buffer.asShortBuffer();
            sbuffer.get(); // format - not needed.
            short numRecords = sbuffer.get();

            /* The name table uses unsigned shorts. Many of these
             * are known small values that fit in a short.
             * The values that are sizes or offsets into the table could be
             * greater than 32767, so read and store those as ints
             */
            int stringPtr = ((int) sbuffer.get()) & 0xffff;

            for (int i=0; i<numRecords; i++) {
                short platformID = sbuffer.get();
                if (platformID != MS_PLATFORM_ID) {
                    sbuffer.position(sbuffer.position()+5);
                    continue; // skip over this record.
                }
                short encodingID = sbuffer.get();
                short langID     = sbuffer.get();
                short nameID     = sbuffer.get();
                int   nameLen    = ((int) sbuffer.get()) & 0xffff;
                int   namePtr    = (((int) sbuffer.get()) & 0xffff) + stringPtr;
                if (nameID == findNameID &&
                    ((foundName == null && langID == ENGLISH_LOCALE_ID)
                     || langID == findLocaleID)) {
                    buffer.position(namePtr);
                    buffer.get(name, 0, nameLen);
                    foundName = makeString(name, nameLen, encodingID);
                    if (langID == findLocaleID) {
                        return foundName;
                    }
                }
            }
        }
        return foundName;
    }

So, it's very hard to change it.
I assume that would be easier to change the locale before font registering to en_US and restore it to the previous value after.
In this case the values from localeFamilyName and localeFontName will be used.

I assume that would be easier to change the locale before font registering to en_US and restore it to the previous value after.
In this case the values from localeFamilyName and localeFontName will be used.

No, this approach isn't working, because 'locale' determines via the system properties:

from TrueTypeFont:

nameLocale = sun.awt.SunToolkit.getStartupLocale();

...

} else if (locale.equals(nameLocale) && localeFullName != null) {
            return localeFullName;

where locale determines in SunFontManager:
                String fileEncoding = System.getProperty("file.encoding", "");
                String sysEncoding = System.getProperty("sun.jnu.encoding");
                if (sysEncoding != null && !sysEncoding.equals(fileEncoding)) {
                    return Locale.ROOT;
                }

                String language = System.getProperty("user.language", "en");
                String country  = System.getProperty("user.country","");
                String variant  = System.getProperty("user.variant","");
                return new Locale(language, country, variant);

and nameLocale determines in SunToolkit:

    public static Locale getStartupLocale() {
        if (startupLocale == null) {
            String language, region, country, variant;
            language = AccessController.doPrivileged(
                            new GetPropertyAction("user.language", "en"));
            // for compatibility, check for old user.region property
            region = AccessController.doPrivileged(
                            new GetPropertyAction("user.region"));
            if (region != null) {
                // region can be of form country, country_variant, or _variant
                int i = region.indexOf('_');
                if (i >= 0) {
                    country = region.substring(0, i);
                    variant = region.substring(i + 1);
                } else {
                    country = region;
                    variant = "";
                }
            } else {
                country = AccessController.doPrivileged(
                                new GetPropertyAction("user.country", ""));
                variant = AccessController.doPrivileged(
                                new GetPropertyAction("user.variant", ""));
            }
            startupLocale = new Locale(language, country, variant);
        }
        return startupLocale;
    }

Need find the another way for the workaround solution.


Added timestamp prefix for debug logs

Added timestamp prefix for debug logs

No, see comment for #7


Friendship requests

I totally love this boilerplate
Is there a way to add friends and friendship requests?
I tried azeirah:friends, but this conflicts on Accounts.onCreateUser (Can only call onCreateUser once).
I tried socialize:friendships, but this depends on matb33:collection-hooks and the latter also gives some conflicts on Tabular.
How would you advise to easily add this functionality?

matb33:collection-hooks has been updated and now it works with this trick:
Make sure matb33:collection-hooks appears before comment in your packages.js file


Create Protocol Feature Matrix

Users should quickly have an overview of how each language binding support looks like, e.g. resumption and lease might not be implemented in all of them.
A simple table on the front page should do it.

Started in #12


Class Request does not exist in Illuminate/Container/Container.php

Laravel Version: 5.7.10
PHP Version: 7.2.11
Database Driver & Version: MariaDB 10.3

Description:
After an update from laravel/framework 5.7.9 to version  5.7.10, site won't open anymore with following error in nginx/apache error log (tested on both):

PHP message: PHP Fatal error:  Uncaught ReflectionException: Class request does not exist in localhost/vendor/laravel/framework/src/Illuminate/Container/Container.php:779
Stack trace:
#0 localhost/vendor/laravel/framework/src/Illuminate/Container/Container.php(779): ReflectionClass->__construct('request')
#1 localhost/vendor/laravel/framework/src/Illuminate/Container/Container.php(658): Illuminate\Container\Container->build('request')
#2 localhost/vendor/laravel/framework/src/Illuminate/Container/Container.php(609): Illuminate\Container\Container->resolve('request', Array)
#3 localhost/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(733): Illuminate\Container\Container->make('request', Array)
#4 localhost/vendor/laravel/framework/src/Illuminate/Container/Container.php(1222): Illuminate\Foundation\Application->make('request')
#5 localhost/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(112): Illuminate\Container...

If i downgrade to 5.7.9 everything works fine. No code was changed between, only the framework was updated.
Steps To Reproduce:
Update laravel/framework to version 5.7.10.

Please post the whole stacktrace.

I'd love to, but that is all i got. On every server (three of them), stack trace has been stripped for some reason.

Are you using configuration caching (php artisan config:cache)?

Unfortunately, that did not solve the issue.

I notice it says "Class request" and not "Class Request"
Looks like a local error, where you have incorrectly named a class somewhere. It might work on your local machine (i.e. Windows) - but on production it might be case sensitive (i.e. Ubuntu).

FWIW, I'm experiencing something similar, and getting the same error.  For my particular case, the stack trace leads through this code in Illuminate\Http\Resources\Json\JsonResource:
    public function response($request = null)
    {
        return $this->toResponse(
            $request ?: Container::getInstance()->make('request')
        );
    }

Now, I'm not (yet) sure why this is breaking.  For me, it's while running tests.  I can make one HTTP request from my test and all is well, then second one triggers this same error, however.
I'm not sure that this is worth re-opening...yet.  I've spent a lot of time on this so far, but I've not made much headway.  Also, I'm on PHPUnit 7.5.16 (although I just switched back from 8.x thinking it may have had something to do with PHPUnit) and Laravel Framework 6.0.3.

Sorry...I also wanted to point out with the code above that the difference between request and Request isn't necessarily because of an error on the user's part.  (I'm experiencing similar errors with config.
Another interesting note...I've got around 125 tests across 6 test classes that work fine, making HTTP request after HTTP request.  But, my 7th test class seems to have a problem.  There are few differences in the test classes themselves.  There's a lot of repetitive tests for the various API resources.  The code for the resource with the failing tests does do some things differently....like dispatching jobs.
I've still got to dig a bit more...and other than the error being the same and coming from a line of code that seems to work fine everywhere else, I'm not sure my particular problem is related...yet.

make sure to use Laravel Controller and extend it this actulally the issue for me

When I have this issue, I just composer update and it goes away.

Okay so I encountered the same issue here. I feel the pain.
@staudenmeir 's php artisan config:clear worked for me, but before that I did try a composer update this boggles me. Although I am new to the intricacies of docker and environments.
Hope this helps someone out there, I nearly gave up tonight..

I notice it says Class request and not Class Request
Looks like a local error, where you have incorrectly named a class somewhere. It might work on your local machine (i.e. Windows) - but on production it might be case sensitive (i.e. Ubuntu).

This was my problem, you saved my day. Thank you

or try clearing bootstrap/cache dir.

@Shailabk24 Did you recently upgrade to Laravel 7? Your error looks like they are documented in the upgrade notes. https://laravel.com/docs/7.x/upgrade#symfony-5-related-upgrades

sir upgraded the latest version but now again there's an error
PHP Fatal error:  Uncaught TypeError: Argument 1 pass
ed to Illuminate\Foundation\Exceptions\Handler::shouldntReport() must be an inst
ance of Illuminate\Foundation\Exceptions\Exception, instance of TypeError given,
called in C:\xampp\htdocs\javashop\vendor\laravel\framework\src\Illuminate\Foun
dation\Exceptions\Handler.php on line 61 and defined in C:\xampp\htdocs\javashop
\vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php:91
Stack trace:
#0 C:\xampp\htdocs\javashop\vendor\laravel\framework\src\Illuminate\Foundation\E
xceptions\Handler.php(61): Illuminate\Foundation\Exceptions\Handler->shouldntRep
ort(Object(TypeError))
#1 C:\xampp\htdocs\javashop\app\Exceptions\Handler.php(40): Illuminate\Foundatio
n\Exceptions\Handler->report(Object(TypeError))
#2 C:\xampp\htdocs\javashop\vendor\laravel\framework\src\Illuminate\Foundation\B
ootstrap\HandleExceptions.php(88): App\Exceptions\Handler->report(Object(TypeErr
or))
#3 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handle
Exception(Object(TypeE in C:\xampp\htdocs\javashop\vendor\laravel\framework\src
Illuminate\Foundation\Exceptions\Handler.php on line 91
[Thu Jun 11 20:09:21 2020] PHP Fatal error:  Uncaught TypeError: Argument 1 pass
ed to Illuminate\Foundation\Exceptions\Handler::shouldntReport() must be an inst
ance of Illuminate\Foundation\Exceptions\Exception, instance of Symfony\Componen
t\ErrorHandler\Error\FatalError given, called in C:\xampp\htdocs\javashop\vendor
\laravel\framework\src\Illuminate\Foundation\Exceptions\Handler.php on line 61 a
nd defined in C:\xampp\htdocs\javashop\vendor\laravel\framework\src\Illuminate\F
oundation\Exceptions\Handler.php:91
Stack trace:
#0 C:\xampp\htdocs\javashop\vendor\laravel\framework\src\Illuminate\Foundation\E
xceptions\Handler.php(61): Illuminate\Foundation\Exceptions\Handler->shouldntRep
ort(Object(Symfony\Component\ErrorHandler\Error\FatalError))
#1 C:\xampp\htdocs\javashop\app\Exceptions\Handler.php(40): Illuminate\Foundatio
n\Exceptions\Handler->report(Object(Symfony\Component\ErrorHandler\Error\FatalEr
ror))
#2 C:\xampp\htdocs\javashop\vendor\laravel\framework\src\Illuminate\Foundation\B
ootstrap\HandleExceptions.php(88): App\Exceptions\Handler->report(Object( in C:
xampp\htdocs\javashop\vendor\laravel\framework\src\Illuminate\Foundation\Excepti
ons\Handler.php on line 91
please help me out anyone

or try clearing /bootstrap/cache dir.
(delete the php files in that directory/folder)

It's hard to believe that this actually worked. :-o
I had already run php artisan optimize, config:cache, config:clear ....
How is it that optimize did not automatically delete those files before running? :-/
And the error Illuminate\Contracts\Container\BindingResolutionException
No help whatsoever.
This error happened from just installing Laravel Blog demo, and the UI Auth scaffold.

How is it that optimize did not automatically delete those files before running? :-/

Because it's a bit of a chicken and egg problem. I commented this elsewhere, but forget where :}
Those files are an intrinsic part for the "laravel boot" process and thus it happens already before any artisan command is executed.
This means if an artisan command would exist to delete those files, and those cache files contain outdated information preventing Laravel from booting properly, you wouldn't get that far to actually delete them.

I am still getting this problem in a docker container and nothing works to fix it.

I notice it says Class request and not Class Request
Looks like a local error, where you have incorrectly named a class somewhere. It might work on your local machine (i.e. Windows) - but on production it might be case sensitive (i.e. Ubuntu).

100% worked for me. it was upper case lower case issue in my case. Thanks a lot

This is a code issue...In my app.php code i had used    if (in_array(request(), ['X.X.X.X']))
{
return false;
}. this is what was causing the issue

Had a similar issue and referencing the Controller directly solved it. Route::get('/yourRoute', [App\Http\Controllers\SomeController::class, 'index'])->name('yourRoute');

Illuminate\Contracts\Container\BindingResolutionException
Target class [view.engine.resolver] does not exist.
at C:\Users\srall\Desktop\ecom\vendor\laravel\framework\src\Illuminate\Container\Container.php:811
807▕
808▕         try {
809▕             $reflector = new ReflectionClass($concrete);
810▕         } catch (ReflectionException $e) {
➜ 811▕             throw new BindingResolutionException("Target class [$concrete] does not exist.", 0, $e);
812▕         }
813▕
814▕         // If the type is not instantiable, the developer is attempting to resolve
815▕         // an abstract type such as an Interface or Abstract Class and there is
1   [internal]:0
Illuminate\Foundation\Application::Illuminate\Foundation{closure}(Object(Facade\Ignition\IgnitionServiceProvider))
2   C:\Users\srall\Desktop\ecom\vendor\laravel\framework\src\Illuminate\Container\Container.php:809
ReflectionException::("Class view.engine.resolver does not exist")

Tuve un problema similar y hacer referencia al controlador lo resolvió directamente. Route::get('/yourRoute', [App\Http\Controllers\SomeController::class, 'index'])->name('yourRoute');

A mi me funciono asi esa solución, o colocando directamente la ruta del controlador ejemplo:
Route::get('/inicio','App\Http\Controllers\ProductosController@index');

I had a similar error like this : PHP Fatal error:  Uncaught TypeError: Return value of Illuminate\\Container\\Container::offsetGet() must be an instance of Illuminate\\Container\\mixed
All I had to do was to check the installed php versions using sudo update-alternatives --list php
The result of that looks like this:
/usr/bin/php7.4
/usr/bin/php8.0
Since that error is a php 7 error, I hard to disable php7.4 and enable php 8.0 by following the below steps:

sudo a2dismod php7.4 -> disables php7.4
sudo a2enmod php8.0 -> enables php8.0

Finally I had to restart apache2 for those changes to take effect using : systemctl restart apache2, you may need to restart your machine if the problem persist.

or try clearing /bootstrap/cache dir.

(delete the php files in that directory/folder)
It's hard to believe that this actually worked. :-o
I had already run php artisan optimize, config:cache, config:clear .... How is it that optimize did not automatically delete those files before running? :-/
And the error Illuminate\Contracts\Container\BindingResolutionException No help whatsoever. This error happened from just installing Laravel Blog demo, and the UI Auth scaffold.

Amazing

I miss the days of vanilla PHP, where an error message would tell you exactly what the problem is.


[vcpkg-pkgconfig-get-modules] Turn into proper helper port

I wonder if LIBRARIES_DIRS should return a list of directories instead of a list of -L... flags.

colmap:x64-linux
ninja: error: '/mnt/vcpkg-ci/installed/x64-linux/lib/intel64/libmkl_intel_lp64.a', needed by 'src/colmap/exe/colmap', missing and no known rule to make it

Installation order defect elsewhere? lapack involved?

@MonicaLiu0311 There is a baseline issue. Please restore https://github.com/microsoft/vcpkg/labels/info%3Areviewed.

azp /run


System unavailable: test-docker-fedora33-ppc64le-1

Please describe the issue:

The docker host - https://ci.adoptopenjdk.net/computer/test-docker-fedora33-ppc64le-1/  is not working correctly and cant be bought online in jenkins, this needs to be investigated.

The dockerhost itself is fine, the following containers..  are missing.

    test-docker-fedora33-ppc64le-1Offline<IP_ADDRESS>2227test-docker-ubuntu1804-ppc64le-1Offline<IP_ADDRESS>2223test-docker-ubuntu2010-ppc64le-1Offline<IP_ADDRESS>2225

Jenkins nodes have been returned to service, and upgraded to jdk17 for the nodes.
Currently running extended.system tests for all 3
Fedora Test : https://ci.adoptopenjdk.net/job/Test_openjdk17_hs_extended.system_ppc64le_linux/260/
U18 Test : https://ci.adoptopenjdk.net/job/Test_openjdk17_hs_extended.system_ppc64le_linux/261/
U20 Test : https://ci.adoptopenjdk.net/job/Test_openjdk17_hs_extended.system_ppc64le_linux/262/

All test runs completed successfully, nodes returned to service.


Regression in 1.7.2rc2 - WITH inside custom tests

When invoking custom tests in the previous version, the generated SQL looks like this:
select

      count(*) as failures,
      case when count(*) != 0
        then 'true' else 'false' end as should_warn,
      case when count(*) != 0
        then 'true' else 'false' end as should_error
    from (

      select *
      from "db_name"."dbo_dbt_test__audit"."custom_test_name"

    ) dbt_internal_test

however, in 1.7.2rc2, it generates SQL like this:
select

      count(*) as failures,
      case when count(*) != 0
        then 'true' else 'false' end as should_warn,
      case when count(*) != 0
        then 'true' else 'false' end as should_error
    from (

      <test_definition.sql>

    ) dbt_internal_test

Since it is dropping the raw SQL query into the executed SQL query, this breaks any custom tests that use CTEs.
Workaround: Don't use CTEs in custom tests.

@matsonj
If you want to use CTEs in custom tests, start your code with WITH. Then it works correctly. Perhaps you have a comment in SQL format /*.... */ or --...., then change it to the Jing format {#.... #}.

The custom test appropriately uses as CTE. The problem is in 1.4 (previous version), the test was first added as a view and then executed. In 1.7, the test is tested directly with a subquery, which means you cannot use CTEs inside of custom tests.

When your custom test begins with the word with a view is also created.
https://github.com/microsoft/dbt-fabric/blob/main/dbt/include/fabric/macros/materializations/tests/helpers.sql#L3
Are you sure ur code doesn't contain anything before the word with
Here is an example of a test with a CTE

When your custom test begins with the word with a view is also created
https://github.com/microsoft/dbt-fabric/blob/main/dbt/include/fabric/macros/materializations/tests/helpers.sql#L3
Are you sure your code doesn't contain anything before the word with , any comments etc.

@pl-pr I will provide more notes here shortly. Thanks for the feedback

@matsonj unfortunately it's because of the dependency to dbt-fabric. This, like many other errors, is fixed in the version 1.8.0
https://github.com/microsoft/dbt-fabric/commit/57f2aa60ef9f60f5bf2a065fd508c5c3335b6ea1

I've pushed a changed to swap it to using a regex search instead of the with statement. If you'd like to test on your models please feel free.
https://github.com/dbt-msft/dbt-sqlserver/pull/518

Should be closed by https://github.com/dbt-msft/dbt-sqlserver/pull/518


✨ Added Int.down(to:) helper function

Iterates from this number down to the given number, inclusive, decrementing by one each time.
Sample Usage
5.down(to: -2) { print($0) }
Checklist

[x] I checked the Contributing Guidelines before creating this request.
[x] New extensions are written in Swift 5.0.
[x] New extensions support iOS 8.0+ / tvOS 9.0+ / macOS 10.10+ / watchOS 2.0+, or use @available if not.
[x] I have added tests for new extensions, and they passed.
[x] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[x] All extensions are declared as public.
[x] I have added a changelog entry describing my changes.

Hey @cHaLkdusT :) Thank's for taking the time to send this PR, but actually like I mention in the other one, there is already a very simple and nice way to do this on the stdlib using range types like (-2..<5).reversed().forEach { print($0) }

          4 Messages

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

:book:
iOS: Executed 538 tests, with 0 failures (0 unexpected) in 10.589 (11.907) seconds

:book:
tvOS: Executed 513 tests, with 0 failures (0 unexpected) in 6.393 (9.086) seconds

:book:
macOS: Executed 380 tests, with 0 failures (0 unexpected) in 0.823 (1.076) seconds

SwiftLint found issues
Warnings

File
Line
Reason

IntExtensions.swift
163
Variable name should be between 3 and 40 characters long: 'to' (identifier_name)

  Generated by :no_entry_sign: Danger

Heya @LucianoPAlmeida, that makes sense! Though I was trying to make it more readable and easy to recognize by developer. Clarity over brevity. What do you think?

Heya @guykogus , thanks for reviewing this. I've updated this PR based on your review. 👌

Same as #669 cc @omaralbeik @BennX @SD10

Just cleaning up those old PR's.
@cHaLkdusT Closing this one due to inactivity on the discussion, feel free to reopen if you like it :))


Remove Decimal from docs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.869%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
7226

Relevant Lines:
7698

💛  - Coveralls

good catch. As far as I can see, the documentation needs some love in general...

@zariiii9003, @juleq: are you aware of any issues that preventing a 39.0.0 release? if no, I'd like to get over this hump soonish...

@andlaus I didn't really have much time to test it. But there seems to be a regression. Maybe you can tell the reason without access to the arxml file 😄
Traceback (most recent call last):
  File "D:\PythonProjekte\cantools\cantools\database\__init__.py", line 363, in load_string
    return load_can_database('arxml')
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PythonProjekte\cantools\cantools\database\__init__.py", line 348, in load_can_database
    db.add_arxml_string(string)
  File "D:\PythonProjekte\cantools\cantools\database\can\database.py", line 262, in add_arxml_string
    database = arxml.load_string(string, self._strict, sort_signals=self._sort_signals)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\__init__.py", line 73, in load_string
    return SystemLoader(root, strict, sort_signals).load()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\system_loader.py", line 152, in load
    messages = self._load_messages(root_packages)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\system_loader.py", line 652, in _load_messages
    messages.extend(self._load_package_messages(package))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\system_loader.py", line 713, in _load_package_messages
    messages.append(self._load_message(bus_name,
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\system_loader.py", line 784, in _load_message
    self._load_pdu(pdu, name, 1)
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\system_loader.py", line 1100, in _load_pdu
    signals = self._load_pdu_signals(pdu)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\system_loader.py", line 1337, in _load_pdu_signals
    signal = self._load_signal(i_signal_to_i_pdu_mapping)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\system_loader.py", line 1492, in _load_signal
    self._load_system_signal(system_signal, is_float)
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\system_loader.py", line 1913, in _load_system_signal
    comments = self._load_comments(system_signal)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\PythonProjekte\cantools\cantools\database\can\formats\arxml\system_loader.py", line 1374, in _load_comments
    tmp = [ x.strip() for x in l_2.text.split('\n') ]
                               ^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'split'

speculation: does your file contain an <L-2> tag that is immediately closed a la <L-2 />? The ElementTree node for one of the comments of a system signal does not seem to exhibit a .text attribute and as far as I'm aware, this only happens if tags are immediately closed. while at this, can you validate your file against the AUTOSAR XSD? (you can almost certainly download the XSD from their website, but they make it extraordinarily hard to find it for some reason and I can't find anymore it after they changed their site a while back.)

A simple check solves the problem if you agree:

I agree, but a comment without any content does not make sense? That said, it's AUTOSAR...

finally! I found the XSD: https://www.autosar.org/fileadmin/standards/R21-11/FO/AUTOSAR_MMOD_XMLSchema.zip

I don't know how to validate it. But it does indeed contain two of these:
          <DESC>
            <L-2 L="FOR-ALL" />
          </DESC>

The schema version is 4.3.0

xmllint seems happy with the file. Would you prefer to skip or to add an emtpy string as comment?

xmllint seems happy with the file.

with autosar there never is any worry about the lack of surprises... ;)

Would you prefer to skip or to add an emtpy string as comment?

I think it is better to skip it: An empty comment for a language is functionally the same as no comment for that language...


BooleanChecker for check concrete boolean value

$validator->validate($data, [
  'i_agree_with_the_rules' => [
    ['boolean::isTrue']
  ],
  'i_want_to_hack_you' => [
    ['boolean::isFalse']
  ]
]);

It would be great to have aliases like accepted, 'not_accepted'

You need also to register checker https://github.com/spiral/validator/blob/master/src/Bootloader/ValidatorBootloader.php

Thank you, @gam6itko for your contribution!


RSS readers cannot detect the feed automatically

Hi, i was able to download and deploy Autost fairly easily despite not knowing anything about web tech - my cohost mirror is live on lottemakesstuff.pink. One issue I did notice was my RSS read (Twine for iOS) wasn't able to automatically detect the feed - some other cohost users reported the same issue.
after messing with it for a bit I discovered if I removed the first line ( <?xml version="1.0" encoding="utf-8"?>) from the generated feed it would work as expected. Without that line the RSS reader was able to detect the feed just from my root url
THANK YOU FOR MAKING AUTOST

okay this just seems to be an issue with some specific feed readers - some are picking it up some aren't I'm going to close this as this 'fix' no longer seems to work - SORRY

THANK YOU FOR MAKING AUTOST

thank you for using autost!

okay this just seems to be an issue with some specific feed readers - some are picking it up some aren't I'm going to close this as this 'fix' no longer seems to work - SORRY

no need to be sorry, it could be a bug in those feed readers, but it could also be a bug in autost. is twine able to detect the feed on other blogs?

Hi - Twine was able to detect the rss feed at other blogs - for example Nat's feed at nex-3.com is instantly picked up.
I just went to try again with my site to verify things and right now the twine app is able to detect the feed on lottemakesstuff.pink again - but not on shuppy.org/posts -so I'm really at a loss, maybe it is the xml version line that removed who knows! I do not have an android phone to check if its the same on that version of Twine, this is all very confusing!

the android version worked ok:

but i can indeed reproduce this on the ios version in some cases:

that last one is a much smaller page, and the <link> tag is different, hmm…


fix(valuecard): data state tooltip opens behind other cards

Closes #1040
Summary
GRAPHITE team has implemented the data-state-error value cards in Reference application Dashboard. Since it has multiple tiles/cards on the page. here if we are clicking on the no data or error icon the tooltip is opening behind other cards. As per discussion with team, they are mentioning that they are not directly using the IOT component and not modifying tooltip in GRAPHITE hence it seems to be fixed in IOT.

Change List (commits, features, bugs, etc)
-Removed the tooltip wrapper which had the 'data-floating-menu-container' attribute. This wrapper was originally added as a fix recommended by carbon to handle the offset when the tooltip container was scrolling and there was a parent with position:fixed. That scenario is considered a corner case and non of the tooltips in our components handle that.
-Modified a card in the story dashboard -> only value cards to show the data-state so that the issue and fix could be easily tested
The issue #1040 also requests a fix for better tooltip edge positioning which I believe is outside the scope of this fix. See discussion in the original issue.
Acceptance Test (how to verify the PR)

Go to the story 'dashboard -> only value cards' in the build for this issue. (https://deploy-preview-1041--carbon-addons-iot-react.netlify.com/?path=/story/watson-iot-dashboard--only-value-cards)
Click the data state info icon and make sure it is not hidden by another card

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Upload Files

Files uploaded through "Upload Files" get downloaded instead of previewed when you click on the result; the difference in Blobstore seems that such files get Content_Type = 'application/octet' whereas files uploaded directly to Blobstore or Azure Storage Explorer have Content_Type = 'application/pdf'

Tested here and both get downloaded and previewed.


[GH-178] Assign moderator to only the user who start the meeting

Summary

Adding field moderator to JWT claims so it can work with jitsi-token-moderation-plugin to identify moderator.
Now, only the user who start the meeting can be moderator
Ticket Link

Fixes #178

hmm, there is one chance that someone replace creator_id in jwt payload, but then the token will be invalid when verifying.
I see no way to fake the moderator for now

Out of curiosity as a present user of this mattermost plugin: Is this change configurable/optional and disabled by default or will this be a breaking change?
I'm asking because we actually prefer the current behavior of gaining moderation privileges by using the link in mattermost and then generating a non-privileged link in the meeting to use for external invitations. So this change would break our workflow if not disabled.

@DaDummy Thanks for commenting here. Sure, I think it makes sense to have this be configurable
@ngoan98tv Are you interested in implementing this? Also, would be good to know if you would be open to address any concerns that come up in general with this, as this was submitted quite a while ago. Apologies for the large delay in review here


Install MinGW using msys2/setup-msys2

This seems to fix everything except the issue observed in https://github.com/rust-lang/libz-sys/pull/87 .


[Tracker] Repair/reinstall stub mode

This will let people fix a lot of issues, including folks who ran into pairing issues before that was handled in step2, and more, and provides a pathway for stub and m1n1 upgrades in the future.

Done.


Consider adding facilities for constructing code string for eval

Currently, for multi-staged evaluation we may manually write code as a string literal, and then call eval on it.
But since string literals and escape characters are not easy to read/write (consider e.g. "(put \"hello\\n\")"), it might be a good idea to add something for constructing code strings.
Example: something like (makeCall (makeId "put") (makeStr "hello\n")) should evaluate to "(put \"hello\\n\")". This is really like built-in ASTs but to keep the language core simple I don't want to introduce a new AST type.
Another option is to introduce the new syntax <> so that <(put "hello\n")> evaluates to "(put \"hello\\n\")", and in this case we need to consider cases like <(put <(lt 1 2)>)>, <"<>">, ...

Added the strquote intrinsic function, which can basically solve the escape character problem.


Feature/us 613858 - Minor fixes to support web-ready on the preferred OS.

We are making changes to ensure users can build pega-ready images on the preferred OS and application server.
As a part of this PR, we are removing hardcoded references of pegasystems from Dockerfile and also replaced /usr/local/tomcat with $CATALINA_HOME.
We are also including detemplatize exe file in this repo so that this is available if user prefers to build the image on a different OS.

I've tested the image locally by bringing the tomcat on standalone machine and verifying $CATALINA_HOME is actually replaced by /usr/local/tomcat in the setenv.sh


chore(at_app_flutter): expand version constraint of at_onboarding_flutter to '>=4.0.0 <6.0.0'.

- What I did
Expanded the version constraint of at_onboarding_flutter to support 4.x.x and 5.x.x in at_app_flutter's dependencies.
- How I did it
- How to verify it
- Description for the changelog
chore(at_app_flutter): expand version constraint of at_onboarding_flutter to '>=4.0.0 <6.0.0'.

superseded by #175


Implement DeviceCopy for Complex numbers

This PR adds an optional implementation of DeviceCopy for Complex numbers. This can be very valuable for scientific computing. The num_complex::Complex type is already Copy and #[repr(C)].

I'm kind of wondering if this is the wrong approach, it might be better to instead PR a CUDA feature to num to make it derive DeviceCopy. Just so we don't end up with hundreds of features.

The plan currently is to actually move DeviceCopy out of cust and into cust_core which will build on gpu targets, that way you don't need tons of cfg's for structs. So i think i will hold off on merging this until then, that way we can decide if we want this in cust_core or in num-complex. Im personally for the latter considering how many math crates could be useful for the GPU, but i am not sure.

@RDambrosio016 I think that @cuviper makes a very good point: since Rust-CUDA will likely evolve a lot in the near future, it is best to have the cust (or cust_core) depend on num-complex instead of the other way round. Then we could revisit this decision in a few years once Rust-CUDA becomes more stable.
The core issue with having num-complex depend on cust (or cust_core) is that each minor version bump (which we can expect to happen fairly frequently in the near future) of cust would imply a minor version bump of num-complex, which in turns implies a minor version bump of the whole ecosystem relying directly or indirectly on num-complex (even if they don’t care about CUDA).
Having cust depend on num-complex on the other hand would have little consequences on the ecosystem versioning considering that num-complex is already fairly stable it this point (with only 3 minor version bumps during the past two years).

Hmm thats a good point, tho we will need to move this to cust_core later


Research browser connection problems on Linux Github Actions

The problem is in xvfb. Here is PR in the testcafe-action repo: https://github.com/DevExpress/testcafe-action/pull/4


Neither old or new registration id is canonical

I have two registration ids in database one from the old version which used gcm.register() and the new one using instanceID.getToken
I sent a ghost notification to both of the registration ids which are of the same device. This is what I get. Old registration id (before app update generated using gcm.register)
"multicast_id": 0000000,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
    {
    "message_id": "0:1f9fd7ecd"
    }]
}```
New Registration id (After app update, generated using instanceID.getToken):

```{
"multicast_id": 0000000,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [
    {
    "message_id": "0:8ccf9fd7ecd"
    }]
}```
How can I remove or update the old registration ID? Please Help! Right now, I can't send notifications because of this. Since it will send double/duplicate notifications.

Sorry about that, we are working on a fix. We will update this ticket after the fix is published.

Any updates?

Still working on a fix.

This should be fixed now, if a client uses the old register to retrieve an identifier then uses the new getToken. Using the old identifier should return the new identifier as the canonical ID.

Was this fixed locally in the jar, or do we need to check version of the installed Google Play Services? If so, in which version?

Fixed on the server.
On Tue, Jan 19, 2016 at 6:26 PM, henrik-lindqvist<EMAIL_ADDRESS>wrote:

Was this fixed locally in the jar, or do we need to check version of the
installed Google Play Services? If so, in which version?
—
Reply to this email directly or view it on GitHub
https://github.com/google/gcm/issues/94#issuecomment-173063493.

How long the old registration id available on the server side ?
I read the below one in google documentation -
"If you try to send a message using an old registration token, GCM will process the request as usual, but it will include the canonical ID in the registration_id field of the response. Make sure to replace the registration token stored in your server with this canonical ID, as eventually the old registration token will stop working."
For example if the server sends a notification to device after 30-60 days, will the old registration id still be available and process the request, and server returns the canonical id to server who sent notifications ?


Add cluster_name config option

What does this PR do?

This PR mitigates the mesos_slave integration DDOSing the mesos master.
Motivation

When we tried adding in the mesos_slave integration into our system, the agents DDOS'd the master, by sending hundreds of requests every minute to the masters /state endpoint, all to get one piece of static information (the cluster name). That particular endpoint, /state, returned a JSON object around 85MB, as it returned the entire history of the entire cluster to the agents, all to get one very small piece of static configuration - the cluster_name.
This fix mitigates that in 3 ways:

It directs the master traffic to /state-summary, rather than /state, to get a significantly smaller response
It caches the cluster_name on the agent, assuming that in most cases the cluster name doesn't change, and the call is therefore just a meaningless call for static configuration.
It allows for a piece of instance configuration, where we provide the cluster_name ahead of time, in order to cut down the number of requests the agent has to make, and the load our master has to handle. This is useful for a situation where we know ahead of time what the cluster_name will be, and are confident that it won't change, as we are in our system.

Signed-off-by: David Freilich<EMAIL_ADDRESS>Additional Notes

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

This doesn't test the state-summary, but I couldn't figure out how to test that.

The labeler seems to be failing because it can't access the secrets (particularly as I'm not a member of the project). It could be that the labeler workflow (https://github.com/DataDog/integrations-core/blob/371b02aa659fc12b353ac51b7247e5fa47e559f0/.github/workflows/labeler.yml#L5) needs to be changed to run on pull_request_target, rather than on pull_request – For more, you can see the readme for the action/labeler action here, the Github security blog here, and the FAQ on dependabot here
I'm not sure why the docs/build workflow didn't work though, perhaps it was a simple timeout?

Thanks for the help! When can I expect a release with this patch to go out?

Hello! This will be in Agent 7.30.0
In the meantime, can you try upgrading the integration to 2.9.0?


Update 5.lookup.md

update col name

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@lopn Thanks for your contribution to the Nebula Graph community! This is Jamie with Nebula and I'd like to email you the Nebula Contributor certificate and ship you a mug to mark this special moment. Could you please kindly reach me via jamie.liu(at)vesoft.com? Again, thanks for being a part of the Nebula community!


Unexpected behaviour in output of Adjusted Coordinates table

Description
An issue with running dnaadjust where options are set as ENzPLHhXYZ and --stn-corrections is set. The SD(e)(n)(up) columns are merging together and then the remaining columns are out of line.
Running DNA v 1.1.0
Steps to reproduce
To reproduce the unexpected behaviour:

Execute program using the following commands:

program [options] [files] ...

Command line arguments:            /usr/local/bin/dnaadjust AP079465H --output-adj-msr --dms-msr-format 2 --stn-coord-types ENzPLHhXYZ --stn-corrections --max-iterations 100 --iteration-threshold .0005

**Expected behaviour**
Columns lining up with the values

**Screenshots**
<img width="1600" alt="image" src="https://user-images.githubusercontent.com/49735855/141868719-2262f40a-39ff-4933-8dff-ca9c03db8160.png">

**Operating system**
Apple

**Additional context*
[stn_msr.zip](https://github.com/icsm-au/DynAdjust/files/7542237/stn_msr.zip)
*
Add any other context about the problem here.

seems to happen any time --stn-corrections is used

Thanks @jameslevershadelwp.  I see this an issue for 1.1.0.  Can you please confirm if this is still an issue for version 1.2.2?


How to change code dynamically

Hello. since you are using slot to pass code to this plugin. If the code was changed outside. There seems no way to pass the new code to this plugin. Maybe you could consider using prop instead?
Great plugin btw!

I forked a new version and changed the code. It works for now but my code is tricky. Since I'm new to vue, hopefully you could figure out a better way to solve this problem.
Thanks.

I've implemented this feature in code-binding branch. You can see it in ad6ed3d.
Thank you for textContent idea. It works nicely!.

So sorry for the late response. My first baby is about to born and I'm quit busy these days😁. I'll try your new code and resp to you ASAP.

I've tried your new code. the code binding works. sadly this version would cause an error while compiling on the server side(ssr), I have to delete the sub component part to make it work:
`
{{ code }}
<slot></slot>

`

What's error on SSR?

"document" is not defined

It seems like vue is trying to render a style tag for the sub component. the error is triggered from addStyle function

`function addStyle (obj /* StyleObjectPart */) {
var update, remove
// here
var styleElement = document.querySelector('style[data-vue-ssr-id~="' + obj.id + '"]')
if (styleElement) {
if (isProduction) {
// has SSR styles and in production mode.
// simply do nothing.
return noop
} else {`

That error occurs because I forgot to remove trailing style tag in sub components. 😅
I've fixed it in 6bff118f26e925e52e8ad42c2d1992b537a7686b. Please try and tell me. 🙃

nicely done~~!! It worked.
however there is a little typo in webpack.prod.config.js
    output: {
            path: path.resolve(__dirname, '../dist'),

          filename: 'vue-highlight.min.js',

          filename: 'vue-highlight.js',
          libraryTarget: 'umd',
          library: 'VueHighlightJS',
          umdNamedDefine: true
  },

to match package.json
main:'dist/vue-highlight'

I decide to use unminified file as main file. Former main is minified file.

@windinsky 1.1.0 released. 🎉


gtk{2,3}-x11: build against pango with X11 support enabled

Motivation for this change
On Darwin pango does not have X11 support enabled by default, but gtk{2,3}-x11 requires it. Force gtk{2,3}-x11 to be built against pango with X11 support enabled. Related to #61912.
Things done

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

[ ] NixOS
[x] macOS
[ ] other Linux distributions

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

cc @matthewbauer

@GrahamcOfBorg build gtk2-x11 gtk3-x11


Stable resumable transcoding implementation

Backward-incompatible:

removed video_transcoding.metadata.Analyzer - replaced with analyzers from fffw


ENH/CLN: Rename feature extraction functions so we can do vocalpy.feature.function

Right now we have to write vocalpy.feature.sat.similarity_features and vocalpy.features.soundsig.predefined_acoustic_features, both of which are a mouthful
I think it's safe to assume we can just refer to them with the brief package name:

[ ] vocalpy.features.sat
[ ] vocalpy.features.soundsig

To achieve this, rename the modules with a preceding underscore, vocalpy.features._sat and then import the top-level feature extraction function inside vocalpy/feature/__init__.py

Also I think we should rename soundsig -> Biosound since from the tutorial it seems like this is the preferred name at least to refer to this set of features


Register event listeners in MidiInputManager.

Love the work you've done with the plugin. It was really fun to play with once I figured out how to fix the midi input not doing anything.
The fix was pretty simple, just had a couple instances that needed to be registered on the event bus in MidiInputManager.
I've also taken the liberty to add runtimeOnly dependencies for JEI and Patchouli so that they will be loaded up with servers created using the forge gradle ide run configurations.
Would be great if you could expedite a patch on curse for this since midi devices currently do not work with the latest version (at least for 1.18.2).

Hello! Thanks for the pull request! I've been in the midst of a major move for the last couple of weeks since I released the Anniversary Update so I didn't have time to actually test out the MIDI input stuff and I'm glad you found the issue!
This all looks great, I really appreciate the report and the fix and I'll get it merged and get a fix up to CurseForge ASAP!


[feature] Decouple Identifiers and Registrations [OSF-7023]

Purpose

Identifiers can now be created on public, non-registered nodes, as well as registrations. The API endpoints for identifiers were strongly tied to only registrations, and thus did not support accessing identifiers on non-registered nodes. This PR adds the necessary routes for non-registered node identifiers, and generalizes the identifier view so that they can be accessed for both registrations and non-registered nodes.

Changes

Adds /v2/nodes/<node_id>/identifiers/ route.
Adds identifiers field to the NodeSerializer.
Removes the RegistrationMixin from the IdentifierList view.
Changes the existing IdentifierSerializer -> IdentifierRegistrationSerializer and adds IdentifierNodeSerializer.

Side effects

None expected.

Expected JSON Responses (for QA)

Registration identifiers response (i.e. /v2/registrations/<node_id/identifiers/)
Node identifiers response (i.e. /v2/nodes/<node_id>/identifiers/)
Node serialized with identifiers (i.e. /v2/nodes/<node_id>/)

Ticket

OSF-7023

@brianjgeiger, re: comment 2.2, I see what you mean now, and I believe you're correct. Working on fixing that and adding tests for it now.

🎉 🐧 🎉


Is it worth adding params to open method so we can pass node to render as children,

Hi,
I was thinking of enhancing open method to accept param:node . So we can have only one modal and pass things to render it while opening. If It makes sense ? I can send a PR.
thanks :)

Hi @gs-akhan,
Well I think you're looking for the flux pattern, please take a look at libraries such as redux, alt...
Here is a few steps of how it should work:
1/ You should render the modal component somewhere in your root container that is listening to a store
2/ In the components where you need to display a modal you will just have to call an action with the component node as parameter.
2/ The action will update the store and trigger an event that will update your container and therefore your modal component.
You could also use a router component like react-native-router-flux to trigger your modal component.


Add <Meta /> component documentation

Context
A new component will be added to withastro/docs to help authoring new features in the documentation. You can learn more about the new component in https://github.com/withastro/docs/discussions/9498 and https://github.com/withastro/docs/pull/9513.
The PR is not yet validated so this is just a draft written in advance to avoid any confusion once validated. Further modifications may be necessary.
Changes

Adds <Meta /> to the custom components page
Adds a "Deprecated" note regarding the <Since /> component (if we really want to encourage the use of a single component)
Updates the examples in the "API references" page
Replaces <Since /> with <Meta /> in the "PR reviews and merging" page (if we really want to encourage the use of a single component)

Since we're a not using the Meta component (see https://github.com/withastro/docs/pull/9513#issuecomment-2435560869), I'm closing this too!


Translations update from Hosted Weblate

Translations update from Hosted Weblate for Voice Notify/App.
Current translation status:

Merged externally: 1438631


Correctly display number of questions when first creating a queue

When creating a new queue in homepage, the number of questions showed in queue card is "undefined questions" instead of supposed "0 questions".

fixed by #87


⚠ Cioos National CKAN Sitemap has degraded performance

In 086d550, Cioos National CKAN Sitemap (https://catalogue.cioos.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 11495 ms

Resolved: Cioos National CKAN Sitemap performance has improved in 33c2be5 after 8 minutes.


feat: Add ops function to compute transducer offset from the antenna

Closing this Issue after completion ...
PR #217


Simplify how Runner uses task groups.

We have logic in a few places in Runner that creates a task group and, depending on if parallelization is enabled, either runs a bunch of child tasks in parallel or in serial. This PR extracts the common logic out into a helper function.

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test macOS

@swift-ci please test


Draft: Add datetime of original message to title when replying

Hi!
It's not always obvious which message is actually being replied to, since the title is only set to the username that sent the original message. With this PR, a timestamp (time for same day, otherwise datetime) is added afterwards, turning this:
╔Replying to cyberme0w════════════════════════════╗
║[message input here]                             ║
╚═════════════════════════════════════════════════╝

into this (original message from same day as reply):
╔Replying to cyberme0w @ 15:45:32═════════════════╗
║[message input here]                             ║
╚═════════════════════════════════════════════════╝

and this (original message from previous day or older):
╔Replying to cyberme0w @ 2024-01-01 15:45:32══════╗
║[message input here]                             ║
╚═════════════════════════════════════════════════╝

If this sounds interesting, I can also add support for the following:

config entry to enable/disable timestamps in reply title
configurable timestamp format string, or perhaps a selection of typical datetime formats

Note: there is currently a bug with replies - when replying to a message, if the highlight is moved, the message being replied to will be the highlight instead of the message that was highlighted when pressing the reply shortcut. I have a fix for that which I'll add in a separate PR. This means that, while that bug exists, the timestamp added in this PR might not match the message being replied to.
Cheers!

Or have a configuration option

I'll set up the config option and add your format as the default to the config, along with a comment explaining what it is. I think it also makes sense to have a 'time' and a 'date' string, as that makes generating the 'same-day' vs. 'different-day' timestamps easier.

Perhaps it also makes sense to set the config option as generic timestamp formats - that way they could be reused to format the individual messages' timestamps in Messages Text.

Closing, as I will no longer be working on this PR.


Add folder oracle

Add folder oracle for Oracle Cloud Infrastructure (OCI) CPI.

Thanks for reviewing, @dpb587-pivotal.  See response under individual comments.

@dpb587-pivotal wondering if you've had a chance to look at the updates.  Thanks!


Cast Button Disappears With Awkward Networking

Checklist:

[x] I have checked that there are no issues with similar or the same content
YOU SHOULD CHECK CLOSED ISSUES ASWELL

[x] I have checked the FAQ (https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/wiki/FAQ) and the answer I am looking for is not there

[x] I have double checked and can reproduce the issue

OS: Win10 1809 w/ newest Security Update as of post
GPMDP Version: 4.6.1
Issue Descriptions: When there is an active ethernet connection that doesn't have a connection to the internet, and also a WiFi connection that does have internet access - the cast button does not show up.
The program functions in all other aspects, to my knowledge.
I don't know how far this goes. That is to say:
I have other ethernet adapters enabled on my computer, but they are inactive. Like my VPN. These don't bother the program at all. So 'active' seems to be a component.
I don't know if it only breaks casting when ethernet is the bad guy and WiFi is the good guy or if the other way works too.
I don't know if the ethernet not being connected to a network (it couldn't get an IP address) at all, not being connected to the internet, or not being connected to the same network as my WiFi/Google Home Mini is what causes the problem.
etc.
Other weirdness in the broken state: when I reconnect (toggle on and off) the WiFi connection with GPMDP open, the cast button reappears. Yet when I click it, instead of showing my 3 devices, it shows a blank list that responds to clicking but doesn't do anything.
I am aware of and in compliance with the firewall and bonjour situation.
Also, I don't necessarily know if this is fixable. Ie if it is a 'you thing' or a 'Windows/networking thing'.
Steps to Reproduce: Boot Windows 10. Connect ethernet to a bad network that doesn't resolve an IP. Connect WiFi to the same network as a cast device which usually works. Open GPMDP. Observe the lack of cast button.
EDIT:
Did a bit more testing. If I am first connected to just WiFi and am casting to my Home Mini, then I connect the bad ethernet with everything open and playing, it works even if I turn off WiFi, wait for GPDMP to complain, turn back on WiFi - the cast button is still present (with the bad ethernet still connected). This is also the case if I am first connected to just WiFi and am casting to my Home Mini, then I first disconnect WiFi then connect the bad ethernet with everything open and playing and turn WiFi back on again - everything works as above (even with bad ethernet still connected).
Although, after the above, while it's functioning I now have 3 copies of that cast device in the list of "Choose Cast Device" and the list is wayyy too long. It has my 3 actual devices (let's call them) d1, d2, d3, and then numerous blank lines, (that sort of respond to being clicked, as described in the issue post above when it isn't working) and then d1, d1.
However, also of note in both of these (similar) working cases (connecting the bad ethernet and cycling the good WiFi in some capacity), if I close and open GPMDP without changing anything else, the cast button is no longer present (need to disconnect ethernet, have the good WiFi, and close and reopen GPMDP to get the button back).
Edit2:
I opened google chrome in the same way as GPMDP (both programs fully closed, bad ethernet and good WiFi connected, open both programs). GPMDP did not have the option to cast (as outlined in my issue post above) but YouTube/Chrome presented the cast menu and casting functioned properly.
This leads me to believe that there is not an insurmountable underlying problem with Windows/Networking.
I also discovered the following sequence of actions and outcomes:
Fully close GPMDP, connect bad ethernet, connect good WiFi, open GPMDP => Cast button is not displayed and GPMDP is in the classic error state described in the issues section above. (Continuing from here) GPMDP is in error state, disconnect the offending bad ethernet, press control+R which refreshes the program (a soft reboot, I guess?) => the cast button is back and fixed!
I don't know if this is interesting. Namely if there's any fundamental difference between this soft reboot and just actually closing and reopening the program entirely.
NOTES:

Having my music cut in and out and not being able to listen to it while writing and examining this issue was very stressful.
No, I don't think "just don't have a bad ethernet connection while trying to cast" is a good solution.
I did this to procrastinate an English essay assignment.
Does anyone have a summer internship for me? I'm (humbly) a dedicated and good college student who is getting kinda desperate now (my other plans fell-through :/) thanks.
Whoops. Speaking of college, I accidentally posted this with my college GitHub account...

This also occurs when I have Hyper-V enabled (which throws a few network interfaces onto the system, most don't go anywhere).

More info on the Hyper-v example.
If you enable Hyper-v but do not create a network switch, music player can cast. If I make another external based network for my VMs, it can't.

works

doesnt work

Does anyone have a summer internship for me? I'm (humbly) a dedicated and good college student who is getting kinda desperate now (my other plans fell-through :/) thanks.
Whoops. Speaking of college, I accidentally posted this with my college GitHub account...

<EMAIL_ADDRESS>email me.

Along a similar line, disabling the Hyper-V network also resolved the issue for me, as well as when I did this GPMDP re-asked for firewall access, almost like it had created the firewall rules for the wrong network
Works

Didn't work

But re-enabling seemed fine afterwards
Steps to resolve

Close GPMDP
Check to see if there are networks GPMDP may have confused for the intended network for configuring firewall rules
Disable the offending networks temporarily
Launch GPMDP anc check ti fhte cast button is as expected in the bottom right corner
Re-enable networks as required

The next time you launch the application it should still have the cast button. I will report here if I can reproduce this issue, and if the resolution is repeatable. https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/issues/3605 Is a similar issue with less helpful discussion, but with a similar conclusion that network weirdness is the cause


Sliced arrays don't get updated cuda_array_interface pointer

Consider the following example:
import numpy as np
import cupy
from numba import cuda

@cuda.jit
def add(x, out):
    start = cuda.grid(1)
    stride = cuda.gridsize(1)
    for i in range(start, x.shape[0], stride):
        out[i] = x[i] + 5

x = np.arange(10)
y = cupy.arange(10)

out_x = x[2:5] + 5
out_y = np.empty_like(y[2:5])
add[1, 32](y[2:5], out_y)

print(out_x)
print(out_y)

this will print:
[7 8 9]
[5 6 7]

This is due to the __cuda_array_interface__ data pointer always pointing to the base address of the memory block, therefore, Numba will always start computation from the base of memory block as well, which should have an adjusted offset.

The fix in #2129 is now merged.

@pentschev thank you for fixing this! We also ran into this bug recently and I'm glad someone was ahead of us!


[usecase-wrt] Fix incorrect execution_type in tests.xml

execution_type should be auto if it's a bdd/ref test.

@yhe39, PTAL.

LGTM


NEWSMASTER HAS BEEN CERTIFIED BY A LEGEND.

The one and only... Ms. Phadke!!!


Added library and API key

Reference Issues/PRs

What does this implement/fix? Explain your changes.
Any other comments?

test 4/4/2022

test 4/26/2022
__
  Summary: :trophy: This code is awesome  |  Tags: Reusable, Maintainable

test 4/26/2022

test


cmd/link: short tests are not short enough

Running all.bash (which does go test -short std cmd), my target is usually that individual tests should run in under 1 second.
The cmd/link test takes 3.4s on my system. Can we make it take less time?
cmd/link is implicitly tested by pretty much every other test in the system, so it's hard to believe it needs to do a ton in the -short test.
/cc @aclements

I missed that cmd/link/internal/ld takes an additional 12.9 seconds. That's even worse.

Takes about 1.4 sec on laptop mac:
~/golang/src (master $=) % go test cmd/link -v -short
=== RUN   TestDWARF
=== RUN   TestDWARF/testprog
=== RUN   TestDWARF/testprogcgo
--- PASS: TestDWARF (1.30s)
    --- PASS: TestDWARF/testprog (0.39s)
    --- PASS: TestDWARF/testprogcgo (0.78s)
=== RUN   TestDWARFiOS
--- SKIP: TestDWARFiOS (0.00s)
    dwarf_test.go:159: skipping in short mode
=== RUN   TestLargeSymName
--- PASS: TestLargeSymName (0.00s)
=== RUN   TestIssue21703
--- PASS: TestIssue21703 (0.14s)
=== RUN   TestLargeText
--- SKIP: TestLargeText (0.00s)
    linkbig_test.go:24: Skipping large text section test in short mode or on amd64
PASS
ok  	cmd/link	1.448s

Can we close it?


Add clear property to indicate invalid property path

First of all, thanks for a great library!
There is a small improvement I thought would help me and others. A common case of using Valibot is to parse environment variables. I often get valibot errors on build time since I forget to add some env variables. An issue is that on deployment logs it does not tell which property has failed to be parsed. Example log I just recently got:
#14 89.87 web:build: {
#14 89.87 web:build: kind: 'schema',
#14 89.87 web:build: type: 'string',
#14 89.87 web:build: input: undefined,
#14 89.87 web:build: expected: 'string',
#14 89.87 web:build: received: 'undefined',
#14 89.87 web:build: message: 'Invalid type: Expected string but received undefined',
#14 89.87 web:build: requirement: undefined,
#14 89.87 web:build: path: [Array],
#14 89.87 web:build: issues: undefined,
#14 89.87 web:build: lang: undefined,
#14 89.87 web:build: abortEarly: undefined,
#14 89.87 web:build: abortPipeEarly: undefined
#14 89.87 web:build: }

I guess the failed key would be seen in the path, but the issue is that in logs it does not expand the Array and just show [Array].
Is there any way possible to maybe somehow show the failed property path?

Thank you for your kind words. Can you share your code that logs this information to the console? Maybe flatten or getDotPath is what you are looking for.

@fabian-hiller Hi, thanks for suggestions, they might work, will try them when I have time. Though in my case I am actually not handling the errors. And an issue might be that I am doing the parsing in file global scope, e.g.:
// serverEnvs.mjs

const serverEnvsSchema = object({
  SOME_ENV_VARIABLE: string()
})

export const serverEnvs = parse(serverEnvSchema, { SOME_ENV_VARIABLE: process.env['SOME_ENV_VARIABLE'] })

// next.config.mjs
import { serverEnvs } from "./serverEnvs"

// Importing it here makes it validate on build-time of Next.js

You can try if this works?
import * as v from 'valibot';

const ServerEnvsSchema = v.object({
  SOME_ENV_VARIABLE: v.string(),
});

const result = v.safeParse(ServerEnvsSchema, process.env);

if (result.issues) {
  console.error('Issues:', v.flatten(result.issues).nested);
  throw new Error('Invalid environment variables');
}

export const serverEnvs = result.output;

Yeah, silly me, this looks exactly what I would need, thank you! I guess we can close the issue since no changes to valibot are necessary to be made

Yeah, my first attempt was also with try/catch 🙃

Note that you can also write a loop to freely format and log the issues:
for (const issue of result.issues) {
  console.error(v.getDotPath(issue), issue.message);
}


Add API Business Hub API to a UI5 Application

Fiori application is not allowing me to use hard coded URL path.

How is it allowing for you?
Thanks!
Bhaskar

Hi Bhaskar,
I apologize for the long delay. Theses "errors" are really just warnings that Fiori best practices are not being followed. For this tutorial, it is ok to ignore these errors. When creating a production application, you would want to use Destinations in SAP Cloud Platform to better manage your APIs/URLs.
Let me know if you have additional questions.
Meredith


track-event directive triggered on-click for select element - should be configured to be triggered on-change

I want to track that what a user selects from a dropdown. When I use the event directive directly on the select element it will tricker a click and will also track as soon as the user clicks the dropdown.
Is there an option to tell the directive when to fire the event tracking?

My solution now is to add an ng-change=trackSelection() and track the event in the controller.


python310Packages.sqlmap: 1.7 -> 1.7.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.sqlmap is: Automatic SQL injection and database takeover tool
meta.homepage for python310Packages.sqlmap is: https://sqlmap.org
meta.changelog for python310Packages.sqlmap is: https://github.com/sqlmapproject/sqlmap/releases/tag/1.7.2
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.7.2 with grep in /nix/store/mbld4prm0yvffxvah755785cj8hfpjgv-python3.10-sqlmap-1.7.2
found 1.7.2 in filename of file in /nix/store/mbld4prm0yvffxvah755785cj8hfpjgv-python3.10-sqlmap-1.7.2

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
python310Packages.sqlmap
python311Packages.sqlmap
sqlmap

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mbld4prm0yvffxvah755785cj8hfpjgv-python3.10-sqlmap-1.7.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.sqlmap https://github.com/r-ryantm/nixpkgs/archive/e5224f21ba2645fe2d644b7898bd717ebd7eb5c2.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mbld4prm0yvffxvah755785cj8hfpjgv-python3.10-sqlmap-1.7.2
ls -la /nix/store/mbld4prm0yvffxvah755785cj8hfpjgv-python3.10-sqlmap-1.7.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

sqlmap (python310Packages.sqlmap)
python311Packages.sqlmap

Maintainer pings
cc @bennofs for testing.

Result of nixpkgs-review pr 214358 run on x86_64-linux 1

2 packages built:

sqlmap (python310Packages.sqlmap)
python311Packages.sqlmap


RawSystem

Hi,
I tried to complie the example on windows and i get the following error message:
C:\idris\examples>idris --portable-codegen jvm.bat pythag.idr -o target
idris-codegen-jvm.bat: rawSystem: does not exist (No such file or directory)

this issue is already solved

I don't know how to solve this on windows 10

my bad

How was this solved?

I just added .bat to the jvm call

Von: Peter LaValle<EMAIL_ADDRESS>Gesendet: Freitag, 19. April 2019 15:09
An: mmhelloworld/idris-jvm
Cc: Chalolennox; State change
Betreff: Re: [mmhelloworld/idris-jvm] RawSystem (#98)
How was this solved?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/mmhelloworld/idris-jvm/issues/98#issuecomment-484891077, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADAZBHCXHAPGAGUFQV6GPPLPRHABNANCNFSM4HFKPGFA.