Create latex output for Jupyter notebooks

PR #276 adds latex output for transfer functions.  It would be nice to add this for other LTI types as well (particularly StateSpace objects).  Having the output match the text approximation in __repr__ seems like a good first cut at format to use.

I got this representation in a Spyder console

I think we need to get the numbers printed in exponent form a bit nicer still.

Here's a proof of concept for SS, presenting the system in "partitioned matrix" form.
The format is loosely based on Sympy's LaTeX output for matrices with floating point entries, which centre-aligns and uses a \cdot to separate the 10^x part.
Some points:

MathJax doesn't support @ in \array preamble [1], so one can't align columns on the decimal point.  One could left-align, and use \llap{-} for the minus signs; then the leading digits are aligned in each column.  MathJax limitations only apply for notebook output.
If one uses a "tabular" output like this, perhaps _repr_html_ would be better than _repr_latex_; I haven't investigated that.  That might be better if one, e.g., labelled rows with state and output names, and columns with state and input names.
this doesn't match the current repr output (A = [[ ... ]] B = [[ ... ]], etc.)
a complete display doesn't make sense for big (nx, ny, nu > 10?) systems; we could have something like numpy's or panda's display limits.  I think something similar applies to TFs, i.e., we should omit intermediate polynomial terms for high-degree denominators and numerators.  One trick would be still showing the partitions, so this could get pretty untidy-looking.

[1] https://github.com/mathjax/MathJax-docs/issues/205
import numpy as np
from IPython.display import Latex

def _f2s(f):
    s = f'{f:.3g}'
    if 'e' in s:
        n, e = s.split('e')
        e = int(e)
        s = f'{n}\\cdot10^{{{e}}}'
    return s

def format_ss(A, B, C, D):
    nx = A.shape[0]
    nu = B.shape[1]
    ny = C.shape[0]

    lines = [
        r'\[',
        r'\left(',
        r'\begin{array}{' + 'c' * nx + '|' + 'c' * nu + '}'
        ]

    for Ai, Bi in zip(A, B):
        lines.append('&'.join([_f2s(Aij) for Aij in Ai]
                              + [_f2s(Bij) for Bij in Bi])
                     + '\\\\')
    lines.append(r'\hline')
    for Ci, Di in zip(C, D):
        lines.append('&'.join([_f2s(Cij) for Cij in Ci]
                              + [_f2s(Dij) for Dij in Di])
                     + '\\\\')

    lines.extend([
        r'\end{array}'
        r'\right)',
        r'\]'])

    return '\n'.join(lines)

nx = np.random.randint(low=1,high=5)
nu = np.random.randint(low=1,high=5)
ny = np.random.randint(low=1,high=5)
A = 10.0 ** np.random.randint(low=-20, high=20, size=(nx,nx)) * np.random.randn(nx,nx)
B = 10.0 ** np.random.randint(low=-20, high=20, size=(nx,nu)) * np.random.randn(nx,nu)
C = 10.0 ** np.random.randint(low=-20, high=20, size=(ny,nx)) * np.random.randn(ny,nx)
D = 10.0 ** np.random.randint(low=-20, high=20, size=(ny,nu)) * np.random.randn(ny,nu)
Latex(format_ss(A,B,C,D))

one can't align columns on the decimal point.

How about \hspace{-1em}? The MathJax columnspacing is 1em by default and I could not find any place, that overrides the default:
\begin{array} -> https://github.com/mathjax/MathJax-src/blob/master/ts/input/tex/base/BaseMappings.ts#L659
-> https://github.com/mathjax/MathJax-src/blob/master/ts/input/tex/base/BaseMethods.ts#L1433
-> https://github.com/mathjax/MathJax-src/blob/master/ts/input/tex/base/BaseMethods.ts#L1377
import numpy as np
from IPython.display import Latex

def _f2s(f):
    s = '{:-.3g}'.format(f)
    ne = s.split('e')
    n = ne[0].split('.')
    s = n[0]
    s += r'.&\hspace{{-1em}}{:0<2s}'.format(n[1]) if n[1:] else r'\phantom{.}&'
    if ne[1:]:
        if not n[1:]:
            s += r'\hspace{-1em}\phantom{00}'
        s += r'\cdot10^{{{:d}}}'.format(int(ne[1]))
    return s

def format_ss(A, B, C, D):
    nx = A.shape[0]
    nu = B.shape[1]
    ny = C.shape[0]

    lines = [
        r'\[',
        r'\left(',
        r'\begin{array}{' + 'rl' * nx + '|' + 'rl' * nu + '}'
        ]

    for Ai, Bi in zip(A, B):
        lines.append('&'.join([_f2s(Aij) for Aij in Ai]
                              + [_f2s(Bij) for Bij in Bi])
                     + '\\\\')
    lines.append(r'\hline')
    for Ci, Di in zip(C, D):
        lines.append('&'.join([_f2s(Cij) for Cij in Ci]
                              + [_f2s(Dij) for Dij in Di])
                     + '\\\\')

    lines.extend([
        r'\end{array}'
        r'\right)',
        r'\]'])

    return '\n'.join(lines)

#nx = np.random.randint(low=1,high=5)
#nu = np.random.randint(low=1,high=5)
#ny = np.random.randint(low=1,high=5)
nx = 3
nu = 2
ny = 2
A = 10.0 ** np.random.randint(low=-20, high=20, size=(nx,nx)) * np.random.randn(nx,nx)
B = 10.0 ** np.random.randint(low=-20, high=20, size=(nx,nu)) * np.random.randn(nx,nu)
C = 10.0 ** np.random.randint(low=-20, high=20, size=(ny,nx)) * np.random.randn(ny,nx)
D = 10.0 ** np.random.randint(low=-20, high=20, size=(ny,nu)) * np.random.randn(ny,nu)
B[1,1] = 3e4
B[2,1] = -9e4
C[0,1] = 123
lstr = format_ss(A,B,C,D)
#print(lstr)
Latex(lstr)

Jupyter Notebook:

Jupyter console:

One could argue how much space to leave after the decimal separator and if the phantom ".00" for integer mantissae when there is an exponent part should be visible. And whether the \phantom entries or the whole column will need no be removed for systems where the whole column for the fractional part is empty:
A2 = np.full((5,5),-99)
B2 = np.full((5,1),2)
C2 = np.full((1,5),3)
D2 = [[99]]
Latex(format_ss(A2, B2, C2, D2))

How about \hspace{-1em}?

Ha!  Ingenious.  This does tie us to MathJax, but we could add features for "real" LaTeX (for exporting notebooks to LaTeX) if anyone ever asks for it.
As for the extra spacing introduced by the extra column: it would be ideal to remove it, but that is a finesse.
Mathematica uses a similar output format for its state-space objects [1].
@murrayrm, do you think this is worth pursuing?
[1] https://reference.wolfram.com/language/ref/StateSpaceModel.html

"real" Latex would have a set length \arraycolsep. Maybe that could be included into the \hspace overriding the 1em with some clever LaTex hack?

Nice to have something in place.  I would probably got for something that is as "plain latex" (or MathJax) as possible.  It won't look as pretty, but it can be updated later as more functionality is added to the formatting packages.
Another possibility would be to allow the user to pass a formatting string for the table style, item entries, etc with some sort of reasonable default value.

WIP rendered https://nbviewer.jupyter.org/gist/roryyorke/6879e0b20735f533410dad883eb687e5 from code at roryyorke/python-control/tree/rory/ss-repr-latex
I've taken @bnavigator 's idea a little further by adding a third set of columns for the exponents; this makes easy to scan down the column for orders of magnitude, and it also Does The Right Thing when there are no exponents to display.
One special case is a gain-only system, which shows the partitions even though the A/B/C entries are empty.  This makes it clear this is a "D-only" system, but it doesn't look that good.  I think I'll change this.
It's probably not too diffiicult to make the formatting somewhat customizable, though we would need to be able to parse the resulting string to insert the column separators and so on.  I'm not familiar with the python-control control config system (I think there is one?), will take a look.

Oh, one thing I'm not sure about is how to write tests for this.  I don't see a lot tests for this sort of thing in, e.g., sympy.

It's probably not too diffiicult to make the formatting somewhat customizable, though we would need to be able to parse the resulting string to insert the column separators and so on. I'm not familiar with the python-control control config system (I think there is one?), will take a look.

It's called config.defaults and IMHO should be renamed anyway.
I would like to have the option to display the matrices (possibly still arranged in a table) without the partitioned matrix like this.
    [ ... ... ]      [ ... ]
A = [ ... ... ]  B = [ ... ]
    [ ... ... ]      [ ... ]

C = [ ... ... ]  D = [ ... ]

Branch and gist updated.  User can select from 'partitioned' and 'separate' types, and specify format string.
Static-gain ("stateless") systems are special-cased.
How should configuration options be documented?
I think this should have some minimal testing, though I'll probably use a "gold image" approach, i.e., generate reference strings using the implementation.

@bnavigator was that on purpose that you unlinked this issue to #450 ?

Yes. #450 did not close this. It added the functionality for StateSpace, but not for other system objects. (TransferFunction._repr_latex_ already exists, FRD and iosys don't have it yet`)

Having Jupyter display the Mathjax is useful for small state spaces, but I've had some problems with larger ones causing Jupyter Notebook to hang. I then have to forcibly stop my browser and then reopening, hoping that I can clear all outputs before it starts rendering.
Using display(ss) to show the Mathjax version might be more appropriate, or maybe have some size limit where it falls back to just showing a string, or a flag to switch this feature off. I had this issue when I just want to check what a variable in a notebook is quickly, then I end up printing a 100x100 StateSpace I'm working with and crashing everything.

I like the idea of requiring display() to get mathjax.  Then, as suggested, we could use the config module to set defaults for when display is automatically called.

Having Jupyter display the Mathjax is useful for small state spaces, but I've had some problems with larger ones causing Jupyter Notebook to hang. I then have to forcibly stop my browser and then reopening, hoping that I can clear all outputs before it starts rendering.

A short-term workaround is to remove the related method after importing python-control:
import control as ct
del ct.statesp.StateSpace._repr_latex_

Using display(ss) to show the Mathjax version might be more appropriate,

My understanding is that display just a way to force output of a variable, so IPython cells
a = ss(1,2,3,4);
display(a)

and
a = ss(1,2,3,4)
a

are equivalent.
A switch back to "plain old repr" for bigger systems seems like a reasonable idea.  We could add a config.defaults['statesp.latex_maxsize'] and if either (nstates + ninputs) or (nstate + noutputs) > latex_maxsize, have _repr_latex_ return None.  One could then set latex_maxsize to -1 to disable the LaTeX display altogether.  See https://ipython.readthedocs.io/en/stable/config/integrating.html


stdint.h: make redefinition of stdint types optional

PR #16645 streamlined stdint.h type definitions. This has an unfortunate side effect that any legacy code which assumed default, compiler provided types will now generate warnings any time type mismatch is detected during the compilation process. Redefining stdint types also significantly increases porting effort when building an existing bare metal application with Zephyr.
This PR makes redefinition of stdint types optional.
I wasn't sure if the Kconfig option should go into "C library" or "Compiler Options" sub menu. For now it's in the "C library".

On Fri, 18 Oct 2019, Piotr Mienkowski wrote:

PR #16645 streamlined stdint.h type definitions. This has an unfortunate side effect that any legacy code which assumed default, compiler provided types will now generate warnings any time type mismatch is detected during the compilation process. Redefining stdint types also significantly increases porting effort when building an existing bare metal application with Zephyr.

The default, compiler provided types are not consistent across compiler
versions nor different target architectures already. Furthermore,
without this, code that happens to compile for a 32-bit build might end
up with a bunch of warnings when compiled for a 64-bit build, or vice
versa.
The only sane way to have an OS like Zephyr that aspires to be highly
portable without making the code (both the OS itself and existing apps)
is to enforce consistent types across architectures and bus sizes.
While I fully understand that this might put some burden on legacy code
users, the alternative is to move that burden onto the Zephyr code and
all the other users instead. I don't see this alternative being
beneficial on the long run.
So, to keep benefits on the majority side, and because compiler defaults
aren't helping the cause, I'm not in favor of this PR.

Let me explain my case in a bit more detail. We have built an SDK in form of a bare metal application that we use internally and provide also to third parties so they can build their products using our solution. It runs using standard gcc build process. We have another version of the SDK which is build as a Zephyr application. It provides some extra functionality like firmware over the air update (using mcuboot as a bootloader) and shell subsystem. With time we plan to move completely to Zephyr but this is not the case yet. This is a valid use case. Since #16645 was merged I had to manually patch Zephyr code base every time when making a release, I wouldn't like to do it any more. No need to say, our bare metal SDK version is using fully valid C syntax and builds clean. Without patching Zephyr the same code generates tons of warnings.

The only sane way to have an OS like Zephyr that aspires to be highly portable without making the code (both the OS itself and existing apps) is to enforce consistent types across architectures and bus sizes.

This is true, however not applicable to this discussion since stdint types are not allowed in Zephyr code base. Zephyr defines its own set of fixed size types u32_t, u16_t and alike. Had Zephyr been using stdint types then indeed the solution proposed in this PR would not be viable.
At the moment stdint types are fully reserved for the applications that are build on top of Zephyr and there is no need to artificially restrict those. Not everyone writes code that aims to be portable across architectures.
Current approach also puts much higher burden on anyone who has existing legacy code and would like to run it as a Zephyr application. It can impact acceptance of Zephyr as a go to solution.
I'm not asking to revert #16645, that's good work, I'm happy we have it. All I'm asking for is to give users an option to build their applications using stdint types as defined by the compiler. The default behavior remains as is.

On Sun, 20 Oct 2019, Piotr Mienkowski wrote:

No need to say, our bare metal SDK version is using fully
valid C syntax and builds clean. Without patching Zephyr the same code
generates tons of warnings.

Do you intend to support 64-bit MCUs eventually? If so you'll get tons
of warnings if you don't patch your own code already.

The only sane way to have an OS like Zephyr that aspires to be
highly portable without making the code (both the OS itself and
existing apps) is to enforce consistent types across architectures
and bus sizes.

This is true, however not applicable to this discussion since stdint types are not allowed in Zephyr code base.

Why not? Definitions provided by this include file are environment
dependent. Zephyr creates its own environment and provides a
corresponding stdint.h for you to use.

At the moment stdint types are fully reserved for the applications
that are build on top of Zephyr and there is no need to artificially
restrict those. Not everyone writes code that aims to be portable
across architectures.

But you must be aware that with your patch and the config option turned
off, it is some parts of Zephyr itself that will emit warnings when
built and fail the build or CI since it has been adjusted to
those types already.

Current approach also puts much higher burden on anyone who has
existing legacy code and would like to run it as a Zephyr application.
It can impact acceptance of Zephyr as a go to solution.

Sorry, but I don't really buy this argument without concrete examples.
The burden isn't that high given that adjusting Zephyr itself to those
streamlined types was trivial.
Since this is legacy code you're talking about, it is certainly 32-bit
based. Most of what you need to do in that case is to replace longs with
ints in your code or something equally trivial, and the compiled binary
will stay the same.

I'm not asking to revert #16645, that's good work, I'm happy we have
it. All I'm asking for is to give users an option to build their
applications using stdint types as defined by the compiler. The
default behavior remains as is.

Although I think it would be better for you to modify your code, I'm not
going to veto your patch. However I'd prefer if you made a few changes:

Reverse the meaning of CONFIG_ZEPHYR_STDINT with sometthing like
CONFIG_IGNORE_ZEPHYR_STDINT to make the exception explicit.

Add a note about this option in the kconfig help text warning people
to problems that come with default definitions provided by the
compiler and that they should avoid this option if they can. Some of
the original commit log content may be used for this. Might also be
worth noting that such Zephyr configuration is not validated by the CI
loop, etc.

By merging #25679 we moved to using stdint types natively in the Zephyr tree. This PR is no longer applicable. Closing.


log4j vulnerability

iqss/solr-k8s is vulnerable to CVE-2021-44228.
https://logging.apache.org/log4j/2.x/security.html

Thx for the hint.
I suggest people use a patch like this (it's what we did):
---
kind: Deployment
apiVersion: apps/v1
metadata:
  name: solr
spec:
  template:
    spec:
      containers:
        - name: solr
          env:
            # Mitigate Log4Shell / CVE-2021-44228
            - name: LOG4J_FORMAT_MSG_NO_LOOKUPS
              value: "true"

and add it to their kustomization.yaml:
patchesStrategicMerge:
  - patch-env.yaml


Support db convert map

issue https://github.com/alibaba/RedisShake/issues/348.
Add target.dbmap config option, which format is : 0-5;1-3 , Indicates that the data of the source db0 is written to the target db5, and the data of the source db1 is all written to the target db3.

 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.

Thank you very much.


Update custom domain downtime info.md

Proposed changes
Included an info box about  custome domain downtime
Merge timing

Related issues (optional)

@jfoskin is there a reason why you want the note in this specific location?


Fix the missing parameters needed by konflux

Following the konflux instructions for fixing the missing parameters. Details: https://github.com/konflux-ci/build-definitions/blob/main/task/deprecated-image-check/0.4/MIGRATION.md
Refs:

https://issues.redhat.com/browse/ACM-10761

/retest

/cc @dislbenn
The fix was to run a script Dale wrote that adds the IMAGE_URL and IMAGE_DIGEST to the deprecated-base-image-check.  It piped it all through yq so there's a lot of reformatting.  Any idea if more is needed?

/lgtm

/retest


localCI: don't re-test if pull request has not changed

with this patch if localCI is not able to get the information
of a specific pull request it uses the old one to avoid deleting
it from already tested revisions causing a re-test of a pull
request that has not changed
fixes #468
Signed-off-by: Julio Montes<EMAIL_ADDRESS>

lgtm


added example for Cron expression

This has been the number one question people ask after I recommend Watchtower.

Thanks so much for you contribution.


Update Gateway troubleshooting FAQ

Update one more FAQ for gateway service can't be connected

Hi Eric,
Good suggestion for the words!
The error happens without a clear message, it's linked to this exact message.
The root cause is in local deployment, redis-server is used as the cache service for those Spinnaker micro components. However, users only see above exact message when they access gateway.

@luhaixun : Sounds good, then I think it makes sense to leave it in this question.  So if you just add a commit to update the wording per above, I can merge this.  Thanks!

@ezimanyi I add a new commit, please let me if any questions.

This looks great, thanks!


"Privacy" link appears in site footer if a tag called "Privacy" is created.

Describe the bug
"Privacy" link appears in the site footer if a tag called "Privacy" is created.
To Reproduce
Discovered when I was writing a post and added a tag called "Privacy". Steps to reproduce the behavior:

Create a tag called "Privacy"

Expected behavior
Archive page for the tag named "Privacy" should be generated. But the "Privacy" link should not appear in the site footer section.
Technical details:

Wowchemy Version (from your go.mod): 5.3
Hugo Version (run hugo version): v0.84.1 extended
Browser/OS: firefox
Wowchemy Template (e.g. Academic):

I think the relevant code is:
{{ if or (site.GetPage "/terms.md") (site.GetPage "/privacy.md") }}
in "line 15" of layouts/partials/site_footer.html
I am not sure how the code works but I am guessing it is searching through the entire site for a file "privacy.md" which is generated when the tag is created.
If applicable, add screenshots to help explain the issue.

The code requests a privacy page at the root of the content folder, i.e. /privacy.md in content dir. If Hugo is linking a different page, consider reporting the issue to the Hugo team. Or if you have a better implementation, consider contributing a PR.


Specify JWT Similar To Cookie

We currently allow users to specify a cookie, however, many modern applications use a JWT in a header instead. We should add the ability to do this as well.

Added --header parameter.


Problem with partial decoding approach when migrating to 0.4.0

Facing a problem when testing to migrate from <IP_ADDRESS> to 0.4.0 due to that a used "feature" have stopped working.
Scenario - Having a generic message with a header message:
 message GenericMessage
 {
   Header header = 1; // Always first in message

   oneof msg
   {
     ...
     ...
     ...
   }
 }

The Header is used for routing message in the system.
Basically using pattern discussed in article https://groups.google.com/forum/#!topic/nanopb/t2vBa_L5xTQ
This works fine in <IP_ADDRESS> but seams to be broken in 0.4.0. That is the decoder reports no error when only decoding the header, but the decoded values are wrong.
Can it be due to the introduction of the has_*-parameter for sub-messages?
BR
Tomas

Hmm, I don't think there are any changes that should affect this.
Would you be able to provide a runnable example that reproduces the problem?

Thanks Petteri for your feedback.
I had a closer look today and the problem was that i wrote with pb_decode to a struct of Header-type when it should have been a struct that had the Header wrapped in a message.
It didn't cause any problems in <IP_ADDRESS>, but now it became visible due to the has-field.
So to conclude: No bug in nanoPB.
Sorry for false alarm.
Best regards
Tomas

Good to hear you got it working :)


Add user's data

I want to add some data for user like the app version and so on

I need to use webview javascript method for this?

@kcrebound yes, inside our code there is a function called appendScript where we add the user data. You can go on and open an PR to add more fields you find useful (I can't do it now) :smile:


About "Encrypt config file" Option

When the "Encrypt config file" option is enabled in the Vault tab, all data is encrypted as follows:
vault:
  version: 1
  contents: >-
--------------------------

However, after decrypting the Vault in Tabby, it should be restored to a non-encrypted configuration file along with the Vault that stores the password. These two components are essential for Tabby to function properly. It's important to note that the automatic synchronization of "tabby-cloud-sync-settings" only synchronizes the Vault that stores the password; the configuration section is not synchronized.
Does this imply that the current "tabby-cloud-sync-settings" is incompatible with the "Encrypt config file" option? Is there any plan to provide support for this in the future?

Please don't encrypt config file with Tabby while using this plugin, otherwise you could use Tabby sync feature (You should set up yourself), per my point of view that setting has buggy and you will lose your settings and never got it back.


Add 404 component to render on invalid routes

Hey can I work on this?

Hey can I work on this?

Hi, there's no design finalized for this yet, so I guess let's keep it aside for now. There are other issues and repositories you could have a look in the meantime if you like


Data classification: The display formats are different between file data and SQL server data on the generated Console App and Web API projects' output results.

System Information (please complete the following information):
Windows OS: Windows-11-Enterprise-22H2
ML.Net Model Builder 2022: <IP_ADDRESS>6301 (Main Build)
Microsoft Visual Studio Enterprise: 2022(17.4.4)
.Net: 6.0
Describe the bug

On which step of the process did you run into an issue:
The display formats are different between file data and SQL server data on the generated Console App and Web API projects' output results.

TestMatrix
https://testpass.blob.core.windows.net/test-pass-data/wikipedia-detox-250-line-data.tsv
To Reproduce
Steps to reproduce the behavior:

Select Create a new project from the Visual Studio start window.
Choose the C# Console App (.NET Core) project template.
Add model builder by right click on the project.
Select "Data classification" scenario.
On Data page, choose the file data or SQL Server data source to complete the training.
Click "Add to solution" button on the Consume page to generate Console App and Web API projects.
Run the generate Console App and Web API projects.

Expected behavior
The display formats should be the same between file data and SQL server data.
Screenshot

Additional context

The bug is still repro on the latest main build <IP_ADDRESS>5701.


Chore: manifest file to exclude from source build

Excludes all files/dirs that aren't part of the Python package source, e.g. our local devcontainer files.
See more: https://setuptools.pypa.io/en/latest/userguide/miscellaneous.html#controlling-files-in-the-distribution
Testing locally

In the devcontainer, pip install build
Remove any old local build artifacts e.g. dist/, calitp_littlepay.egg-info/
Run python -m build
View contents of calitp-littlepay.*.tar.gz
Confirm none of the excluded files/dirs are present

I used unzip -l dist/*.whl and tar -tf dist/*.tar.gz to view the contents of the built artifacts


use different command for different racket dialect

For example, if we have lang tag #lang r5rs, the command for calling racket REPL should include be racket -I r5rs

I'm wondering if @glyh is requesting that the racket client honor the lang tag by automatically changing the command to racket -I <lang> from the default of racket. This would be based on the #lang <lang> line in the file to be edited.
My observation is that the default command set in the global variable, g:conjure#client#racket#stdio#command, works with a file that has a lang tag like #lang sicp. But only the first time that the file is loaded. The same racket REPL is used for other files after that which might not apply.
So, it would also be helpful if multiple REPLs could be enabled for each of the lang tags found in files being edited. I'm assuming only one lang tag would appear in a file. I think that the general guidance is to always have a lang tag line at the top of the file.


feat: switch to use hubble images

switch to use hubble images for the crossmodal search example

waiting for https://github.com/jina-ai/jina/tree/feat-hub-pull to merge


s2n-quic 1.35 is semver breaking due to rustls export

s2n-quic v1.35 reexports s2n-quic-rustls v0.35.0 which re-exports rustls v0.23. Previously  s2n-quic v1.34 reexported s2n-quic-rustls v0.34.0 which reexported rustls v0.21. Since rustls 0.21 to 0.23 is breaking, then so must s2n-quic v1.34 to v1.35 be. As such, a major version bump is required. Minimally, s2n-quic v1.35 should be yanked as soon as possible. (This was detected due to a failing CI job.)
For v2, I would suggest removing the re-export entirely and asking the user to depend on s2n-quic-rustls directly to avoid such changes from being major breaking changes in the future.

@WesleyRosenblum I want to be clear that this issue isn't on your dependent's side, even if it can be mitigated on that side, but rather with s2n-quic itself. Stated clearly: the release of s2n-quic v1.35 violates semantic version because it includes breaking changes, which are not allowed in a v1 point release. It must be yanked if you wish to adhere to Rust's and Cargo's semantic versioning policies, which are expected (really, required) by the entire ecosystem.
Your suggestions seem to pass the blame to your dependents, and if not blame then at least the onus. This feels contrary to your earlier statement of taking backwards compatibility and stability seriously.

Given the ongoing instability of the rustls API, it is not feasible for s2n-quic to have a major version bump for each rustls release.

This is not a requirement, but you have made it so by reexporting rustls directly. Any time you reexport a crate, then that crate becomes part of your API. As I mentioned earlier, I would suggest that you not reexport rustls or any other crate that you're not okay with making part of your API and handling breaking changes for.

And depending on s2n-quic-rustls directly is not recommended, as that crate depends on other internal s2n-quic crates that do not have a stable interface and thus must be upgraded in unison.

I would suggest making it possible to depend on s2n-quic-rustls directly, or if not that crate then some other crate that provides the integration and that you're willing to make major releases of. Otherwise, it seems the only option you're giving users is to always pin a version of your library. This is especially bad for libraries like Rocket: if Rocket pins a version (as you suggest), then no downstream consumer of Rocket will ever get an updated version of your library unless we manually update it and push a release. In effect, this completely breaks cargo update.

We will be adding documentation to our re-export of rustls that will highlight the instability of the re-exported API and the risk in using it.

This is not sufficient - your crate will still be breaking when it is not allowed by semver or Cargo. Why reexport it at all if it cannot and should not be used?
If you really want to reexport unstable APIs, then the only correct way to do so that I'm aware of is via opt-in cfgs. See, for instance, the way that proc-macro2 does it.

Thank you for clarifying your perspective.
You're correct that re-exporting the rustls crate causes unversioned breaking changes in our interface and compromises our goal of stable backwards compatibility. In hindsight it was a mistake to have the re-export. Our plan is to

yank version 1.35
revert the rustls upgrade
mark the re-exported module as deprecated in our next release

Moving forward, the stable "wrapper" API we provide will be the only way to configure the underlying rustls endpoint and we will likely stop exporting rustls in the near future. We recommend the Rocket integration switch to this interface to ensure it's not impacted by future rustls upgrades. If it would be helpful, we can open a PR to do that work for you.

We've yanked 1.35.0, and published 1.35.1 which reverts the rustls upgrade and marks the re-exported module as deprecated.
I've opened https://github.com/rwf2/Rocket/pull/2768 to perform the migration off of the re-exported rustls


[TS-4723] ATS CARP Plugin

JIRA: https://issues.apache.org/jira/browse/TS-4723
This is the code for our ATS CARP plugin along with some tests.
Two caveats with this code:

The makefile is all wrong. I'll definitely fix this before we get it merged. It's just something you can checkout if you want to build on your own machine. I'm not super familiar with automake, so I didn't add this to the Makefile.am in the parent directory or write my own Makefile.am and Makefile.in for this. If someone could send me a doc or help me do that, I'd love to learn.
There are some simple cppunit unit tests included here along with an api stub for running them. I've noticed the other experimental plugins don't have tests with them. If you'd like me to drop them because of the external requirement, I can. Figured I'd include for now.

We can reopen this if needed after the Denver meetup on CARP and Parent Selection.


Migrate in Focalboard developer documentation

Summary
This PR migrates the Focalboard developer documentation into the Mattermost developer documentation. The Focalboard website undergo a redesign soon, and as a result we will be losing the "Contribute" link in the header. All of those pages will need a new home. Several of those pages are duplicative of things already in the Mattermost developer documentation, so they were removed and relevant links were provided instead. Wherever unique information was mentioned on those pages about the Focalboard contribution process, those callouts have now been moved to the initial Focalboard page in the developer documentation so they stand out more clearly.
Because this PR will change where developer resources will live, I will also submit a separate PR to the focalboard repository to fix any links that reference old pages. UPDATE: this PR can now be found here.
The following list demonstrates how of the focalboard/docs pages migrated over:
code-review.md ➡ eliminated, was extraneous
contribution-checklist.md ➡ eliminated, was extraneous
contributions-without-ticket.md ➡ eliminated, was extraneous
core-committers.md ➡ eliminated, was extraneous
dev-tips.md ➡ is now site/content/contribute/focalboard/personal-server-setup-guide.md
index.md ➡ is now site/content/contribute/focalboard/_index.md
mattermost-boards-dev-guide.md ➡ is now site/content/contribute/focalboard/mattermost-boards-setup-guide.md

I went ahead and signed the CLA just now.


Consult Flag - Allow additional flag

As an IAO user
I want to be able to always tell when a page was sent for consult
so that I do not need to retain this information elsewhere

Assumptions & Scope
This story comes out of the IAO super user feedback sessions. Users noted that it would be very helpful if the consult flag was retained. Since the consult flag does not contribute to % complete, nor does it allow a sign-off to be downloaded, users have expressed wishes for the consult flag to be retained when a partial disclosure, full disclosure or withheld in full flag also applies.
Users can have the option to manually remove the consult flag if necessary, however, they do not want to lose it for future reference purposes.
What is IN scope?
Updating how flags function with respect to consult flags
What is NOT in scope?
Acceptance Criteria
Scenario 1: Page flagged as consultation - Auto-Flag Behavior - Partial Disclosure

GIVEN an IAO user is on a page that is already flagged for a consultation
WHEN they draw a redaction box in part on the page
THEN the partial disclosure flag will be set for the page
AND the consultation flag will be retained and noted with a (c)

Scenario 2: Page flagged as consultation - Auto-Flag Behavior - Withheld in Full

GIVEN an IAO user is on a page that is already flagged for a consultation
WHEN they mark the page for redaction in full
THEN the withheld in full flag will be set for the page
AND the consultation flag will be retained and noted with a (c)

Scenario 3: Page flagged as consultation - Auto-Flag Behavior - Withheld in Full Flag

GIVEN an IAO user is on a page that is already flagged for a consultation
WHEN they update the flag to withheld in full
AND select the appropriate redaction mark
THEN the withheld in full flag will be set for the page
AND the consultation flag will be retained and noted with a (c)

**Scenario 4: Page flagged as consultation - General Flag Behavior **

GIVEN an IAO user is on a page that is already flagged for a consultation
WHEN they select a different flag
THEN the selected flag will be set for the page
AND the consultation flag will be retained and noted with a (c)

Scenario 5: Consult Page Flag - Remove

GIVEN an IAO user is on a page that is already flagged for a consultation
WHEN they select the consult flag again
THEN the consult flag will be removed
AND any flag that existed with it will be retained

Dependencies? What is the impact of this dependency? (If so, link dependency in the ticket, make it visible in a team´s backlog)
Validation Rules? (If yes, list here)
Design
@xxx - please link the Design here
Definition of Ready

[ ] Is there a well articulated User Story?
[ ] Is there Acceptance Criteria that covers all scenarios (happy/sad paths)?
[ ] If there is a user interface, is there a design?
[ ] Does the user story need user research/validation?
[ ] Does this User Story needs stakeholder approval?
[ ] Design / Solution accepted by Product Owner
[ ] Is this user story small enough to be completed in a Sprint? Should it be split?
[ ] Are the dependencies known/ understood? (technical, business, regulatory/policy)
[ ] Has the story been estimated?

Definition of Done

[ ] Passes developer unit tests
[ ] Passes peer code review
[ ] If there's a user interface, passes UX assurance
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Confirm Test cases built and succeeding
[ ] No regression test failures
[ ] Test coverage acceptable by Product Owner
[ ] Ticket ready to be merged to master or story branch
[ ] Developer to list Config changes/ Update documents and designs
[ ] Can be demoed in Sprint Review
[ ] Tagged as part of a Release
[ ] Feature flagged if required
[ ] Change Management activities done?

consult flag story @lmullane @KyEggleston @JHarrietha-AOT @liseandtea

Refinement Questions:

Are there any other page flag combinations that will arise in the future (ie. in progress + withheld in full etc). Will there be more than 2 page flags applied in the future? (this will impact how we design the feature)
Jackie to provide designs / UX for these new page flag icons or application of two flags being applied (consult +  partial disclosure/full disclosure/withheld in full flag)?
If we are adding the 'consult' flag for the first time, it should only be possible to save when at least one ministry is selected. On the other hand, if we are removing the 'consult' flag, it should be allowed to deselect the ministry before saving?

FE and BE changes needed. Estimate based on if only the current AC's apply (if future scenarios where 3+ flags can be applied or if different combinations like in progress + consult arise later will increase the estimate of ticket)

Matt to add scenario to address question re: removing consult flag

Follow up notes:

In regards to future changes in page flags (types and quantity) -> there will only ever be a max of two page flags applied and the page flag combinations will only involve consult + redaction page flag (withheld for disclosure, full disclsure, partial disclosure)
Jackie Input -> We will need to show two page flag icons for this feature. Use the white space to the right of the page number. The icon closest to page number should the redaction icon, and the icon farthest from page number should be the consult icon. If UX review is needed, reach out to Jackie once completed.
In regards to removing of consults, a scenario where all consults can be unapplied will exist (If user makes a mistake etc) and the modal will have to require saving if 0 consults are applied (only if after consult has been applied originally?). Matt will make a scenario to address

@m-prodan @Aman-Hundal - As I wasn't here for refinement - did we acknowledge the reverse of Scenarios 1-4 (i.e., when a page is flagged as Partial Disclosure, Withheld in Full, Full Disclosure, or any other flag besides Consult first, and it is then flagged for Consult, what should happen with the original page flag?) - assume it should still be retained when the Consult flag is applied, but may just need to test this as part of QA too (as it's not captured in scenarios).
Also updated OP to reference a scenario for Full Disclosure (Withheld in Full scenario was duplicated).
For QA, should also test filtering by page flags to ensure it's working to properly filter, now that pages can have two page flags.

Did not discuss this, but I think you assumption make sense!


TypeScriptでnew FirestoreSimpleの型がエラーになる

firebase-adminの場合は正常に動きます。
import admin from 'firebase-admin'
const firestore = admin.firestore()
const firestoreSimple = new FirestoreSimple(firestore)

下記は型エラーが発生します。
「'firebase.firestore.Firestore' の引数を型 'FirebaseFirestore.Firestore' のパラメーターに割り当てることはできません。
Type 'Firestore' is missing the following properties from type 'Firestore': getAll, listCollections」
import firebase from 'firebase/app'
import '@firebase/firestore'
const firestore = firebase.firestore()
const firestoreSimple = new FirestoreSimple(firestore)

I was able to reproduce it too. I found two of javascript SDK web and admin has different types.
web: https://github.com/firebase/firebase-js-sdk/blob/master/packages/firestore-types/index.d.ts
admin: https://github.com/googleapis/nodejs-firestore/blob/master/types/firestore.d.ts
Unfortunately, firestore-simple only support admin sdk types now.
I'll try to support web sdk while keeing the current interface as much as possible.

I tried to support both SDKs and keep the current interface but I found it is very difficult 😢
So I gave up on supporting web SDK and decide to add it to feature works.


Unit Testing

How would you unit test the access layer? Is there a mini neptune or gremlin that I can use to test out the query and responses.
For redis and sql there are mocked databases, but I couldn't find any for neptune or this library. Any pointers?

@schwartzmx ^
any idea?


improve ipex example benchmark

Signed-off-by: changwa1<EMAIL_ADDRESS>Type of Change

modify benchmark to compare ipex optimized torchscript mode int8 model v.s. ipex optimized torchscript mode fp32 model
remove invaild code about get example_input in int8 model load function

Description
detail description
JIRA ticket: xxx
Expected Behavior & Potential Risk
the expected behavior that triggered by this PR
How has this PR been tested?
how to reproduce the test (including hardware information)
Dependency Change?
any library dependency introduced or removed

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4099/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4121/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4128/

bert_large/distilbert: https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4149/

/AzurePipelines run Model-Test

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4194/

/AzurePipelines run

distilbert: https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/4195/artifact/report.html


Content Validation STG 97

API change check
API changes are not detected in this pull request.

/azp run net - storage - ci

@seanmcc-msft I push a comment and undid it just to refresh the merge branch which for whatever reason was missing and cause ci jobs to fail to start. The CI job is now moving.

TODO update user-agent feature string to include Content Validation on this branch.  Merge, revert, and cherry-pick to 98.


Current plugin won't work with IL2CPP...

The latest update broke the plugin. It changed from Mono runtime to IL2CPP runtime.
Even I managed to make the BepInEx work again (using BepInEx Bleeding Edge) but the current plugin won't work with IL2CPP.
Hope you hear this.
Thank you in advance

I FIXED IT!!!
I managed to create the plugin on IL2CPP based on your awesome code 👍

Ah, I was unaware of the update until now! I'll push an update tomorrow for it, then

Updated to 1.3.0


Particles/additive shader whites out screen in DirectMode

Some fire particles using this shader and caused the display to go white in DirectMode. Changing to another shader such as alpha blended premultiplied looks similar enough and doesn't have the same whitewash effect.

Fixed as of Unity v<IP_ADDRESS>


feat: Add support fo legacy dockercfg in scan jobs

Description
Now pods imagePullSecrets with secret type kubernetes.io/dockercfg are ignored when generating imagePullSecrets for scan jobs. This PR adds functionality to treat legacy kubernetes.io/dockercfg secrets and converts them to newer version (kubernetes.io/dockerconfigjson) for operator scan jobs.
I think it's not too bad to support the old types of secrets since both types (kubernetes.io/dockerconfigjson and kubernetes.io/dockercfg) perform the same function and are still supported by kubernetes.
If you don't think so - could you please explain why we can't support both types of secrets in the operator?
Checklist

[x] I've read the guidelines for contributing to this repository.
[x] I've added tests that prove my fix is effective or that my feature works.
[ ] I've updated the documentation with the relevant information (if needed).
[ ] I've added usage information (if the PR introduces new options)
[ ] I've included a "before" and "after" example to the description (if the PR is a user interface change).

@alex123012 I'm cutting a patch release and I'll review your PR afterwards

@alex123012 thank you for the contribution lgtm 🚀 , holding merge until  trivy-operator v0.13.2 officially released


Make npmconf/test/fixtures/package.json a valid package.json file

When running flow on my project, it gives an error because npmconf/test/fixtures/package.json is an empty file. I can ignore it locally, but it probably shouldn't be an empty file here anyways.

This package is deprecated, because npm now incorporates the affected code directly. As such, it's not going to see any further work. Closing as WONTFIX.


cmd/vet: false positive in Printf recursive Stringer check with non-matching String() functions

What version of Go are you using (go version)?

$ go version
1.12

Does this issue reproduce with the latest release?
Yes!
What operating system and processor architecture are you using (go env)?
play.golang.org
What did you do?
package main

import (
	"fmt"
)

type Foo int
func (f Foo) String() (string, error) {
	return "", fmt.Errorf("%v", f)
}

func main() {
	s, err := Foo(1).String()
	fmt.Println(s, err)
}

https://play.golang.org/p/-zpHBBPnetu
What did you expect to see?
No vet output
What did you see instead?
prog.go:9:13: Errorf format %v with arg f causes recursive String method call

https://go-review.googlesource.com/c/tools/+/164217 is a potential fix for this.

CC @alandonovan @josharian @mvdan @ianthehat


[Bug]:

Steps to reproduce
locally its working when deployed to server its getting error like this
0|admin  |   Puppeteer old Headless deprecation warning:
0|admin  |     In the near future headless: true will default to the new Headless mode
0|admin  |     for Chrome instead of the old Headless implementation. For more
0|admin  |     information, please see https://developer.chrome.com/articles/new-headless/.
0|admin  |     Consider opting in early by passing headless: "new" to puppeteer.launch()
0|admin  |     If you encounter any bugs, please report them to https://github.com/puppeteer/puppeteer/issues/new/choose.
Expected results
i expect a url
Actual results
0|admin  |   Puppeteer old Headless deprecation warning:
0|admin  |     In the near future headless: true will default to the new Headless mode
0|admin  |     for Chrome instead of the old Headless implementation. For more
0|admin  |     information, please see https://developer.chrome.com/articles/new-headless/.
0|admin  |     Consider opting in early by passing headless: "new" to puppeteer.launch()
0|admin  |     If you encounter any bugs, please report them to https://github.com/puppeteer/puppeteer/issues/new/choose.

You can suppress this deprecation warning by PUPPETEER_DISABLE_HEADLESS_WARNING or changing the log level.

{
"error": true,
"message": "Failed to launch the browser process!\n/home/ubuntu/.cache/puppeteer/chrome/linux-116.0.5845.96/chrome-linux64/chrome: error while loading shared libraries: libcups.so.2: cannot open shared object file: No such file or directory\n\n\nTROUBLESHOOTING: https://pptr.dev/troubleshooting\n"
}


Adding fabric content

🛠 Description

Fixes #
📷 Screenshots

📋 Checklist

🔬 How did you test this change?

[ ] 🤏 Lint tests
[ ] 🤞 PS -WhatIf / az validate
[ ] 👍 Manually deployed + verified
[ ] 💪 Unit tests
[ ] 🙌 Integration tests

🙋♀ Do any of the following that apply?

[ ] 🚨 This is a breaking change.
[ ] 🤏 The change is less than 20 lines of code.

📑 Did you update docs/changelog.md?

[ ] ✅ Updated changelog (required for dev PRs)
[ ] ➡ Will add log in a future PR (feature branch PRs only)
[ ] ❎ Log not needed (small/internal change)

📖 Did you update documentation?

[ ] ✅ Public docs in docs (required for dev)
[ ] ✅ Internal dev docs in src (required for dev)
[ ] ➡ Will add docs in a future PR (feature branch PRs only)
[ ] ❎ Docs not needed (small/internal change)

@flanakin All discussed changes completed. Please merge. Next, I'll sync changes in MS Learn source.


Add wind chill indicator

Description

Add wind chill indicator

https://www.canada.ca/en/environment-climate-change/services/weather-health/wind-chill-cold-weather/wind-chill-index.html
https://weather.gc.ca/windchill/wind_chill_e.html
https://en.wikipedia.org/wiki/Wind_chill

Already implemented in MetPy: https://github.com/Unidata/MetPy/blob/f062f0637da60e27fef644ebcf46c4287b5f5e52/src/metpy/calc/basic.py#L157


How to change opacity of Card with image overlay?

Hi,
I'm trying to change the opacity of image overlay to none, got no luck with enforcing the opacity value like this;
<div className="card bg-base-100  image-full !opacity-100 "> ... </div>
Sorry if I missing the obvious :)
Appreciate any help.

It's a little bit tricky because of CSS specificity.
Add a class name like this to card if you want a custom opacity:
[&.card]:before:opacity-90

Example: https://play.tailwindcss.com/hJhivYQbf8
Let me know if you have any questions.


Update poll item and new registration email

Poll items can now be updated
New and fancy registration email with logo
Confirmation link forwards to frontend
Websocket returns poll id if no poll item is live
Convert application.properties to application.yml
Cleanup Maven Pom file

Feel free to merge when you are ready ;)


Routing function and extended binding properties

It does not look like the following is possible.
spring:
  cloud:
    stream:
      function:
        routing:
          enabled: true
      kafka:
        bindings:
          functionRouter-in-0:
            consumer:
              enableDlq: true
              ackEachRecord: true
              autoCommitOffset: true
              autoCommitOnError: false

The Kafka bindings are ignored and the application gets into an unstable state. It is convenient for the app developer to set extended binding properties on the routing function bindings. For example, what if something goes wrong with the function routing and it throws an exception in which case the application prefers to send the record in error to a DLQ.

It appears to work fine with Rabbit binder.
Given the following properties
spring.cloud.stream.function.routing.enabled=true
spring.cloud.stream.bindings.functionRouter-in-0.destination=rtDestination
spring.cloud.stream.bindings.functionRouter-in-0.group=rtGroup
spring.cloud.stream.rabbit.bindings.functionRouter-in-0.consumer.auto-bind-dlq=true

. . . and few functions.
If any function or even RoutingFunction throws an exception, the message would go to DLQ

@sobychacko Does this mean also other consumer-related properties such as concurrency, maxAttempt, etc. would also work now at the binding level? Like how it was working before with the streamListner?


carma sim vehicle attempts to follow route and crashes into map

Types of Issue

[x] Anomaly report (something appears to not work correctly)
[ ] Enhancement request (describe the enhancement being requested)
[ ] Other (please ensure the description clarifies why the issue doesn’t fall into either of the above categories)

Descriptive summary

carma-sim vehicle crashes into the map while seemingly attempting to follow route.
It is seen that most ros topics stop publishing any data when this happens, however the containers remain active and an echo request can be sent on the topics.
trajectory_executor continuously publishes successfully swapped trajectories which should be happen on each new trajectory plan.
Terminal output shows trajectory plans being published are empty.

Carma version where this issue was discovered

Using  usdotfhwastol/carma-config:carma-system-4.2.0-xil-cloud-test.
Expected behavior
carma sim is launched with an engaged carma vehicle which is able to complete the set route.
Actual behavior

carma vehicle in sim crashes into map.
Steps to reproduce the actual behavior

Start carma-cloud sim
At time of reporting issue is seen 1/5 times.

Related work

This issue will be fix by adjusting inlanecruising config


more than 2 types of font

what if you have more than 2 fonts set to your labels and buttons

You can just replace the font which you want to.


Link to other providers section of docs where you list providers

Page: /setup/install/environment/
Feedback: Add a link to the providers section of the docs.


Preconditions of apply_pack

Hi,
Could you help to clarify preconditions which apply_pack may rely on? In particular I'm wondering which of cases listed below are possible.
(In the list below by index I refer to first parameter of apply_pack)

index < log_store::start_index()
index > log_store::next_slot()
index + number_of_logs(pack) < log_store::next_slot()

If 3rd case is possible then may we truncate log entries which go after index + number_of_logs(pack) as part of apply_pack execution?

pack is invoked in leader's side when below conditions are met. Let's say S1 is leader (pack) and S2 is follower (apply_pack).

params->log_sync_stop_gap_ > 0. AND
S2's next_slot() < S1's start_index(). AND
S1's committed index > S2's next_slot() + params->log_sync_stop_gap_.

Then apply_pack's first parameter (index you referred to) will always be S2's next_slot(). Leader always sends the log starting from next_slot() of the follower, so none of three can be possible, unless follower's log store is changed before receiving the pack message from the leader.


snapshot testing

There is an issue using this library with snapshot testing. The uuid created changes on each test run, and which is used as id and other attributes, so snapshot differs in each test run. Is there a way to make them deterministic, or a way to mock part of this library which varies on test run.
               <div
    -            aria-controls="react-sanfona-item-body-b63789ff-4a49-4f8f-9184-85127fc5e3e0"
    +            aria-controls="react-sanfona-item-body-f913643c-4ad1-4707-85dd-25d8364e2667"
                 className="react-sanfona-item-title"
    -            id="react-safona-item-title-b63789ff-4a49-4f8f-9184-85127fc5e3e0"
    +            id="react-safona-item-title-f913643c-4ad1-4707-85dd-25d8364e2667"
                 onClick={[Function]}>
                 <div

just saw this https://github.com/daviferreira/react-sanfona/issues/94
I may have to start using custom ids then. will try.

It worked with custom uuid prop. may worth noting in the docs.


01.ai Yi Client

Why are these changes needed?
To enhance the support of non-OpenAI models with AutoGen. The 01.ai Yi family of models  includes yi-large etc.
Developers can utilize the AI capabilities of the Yi series LLMs to perform a variety of tasks, such as text generation, language translation, content summarization, logical reasoning, mathematical calculation, and code generation.

[X] Pricing Implemented
[X] API Checks
[X] Create
[X] Tool calls
[X] get_usage

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[X] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

@microsoft-github-policy-service agree

Hey @uukuguy, thanks so much for putting this together. In line with @Hk669's questions, can you describe how you use this client?
I can see there's an official Yi API but it's limited to Beta Testers - is this designed to use that?
I'd love to test it but I'm not sure how to get started and whether I need an account somewhere.

01.AI's LLM API is located at https://platform.01.ai/, currently featuring only the yi-large model, with plans to deliver multiple models such as yi-large-turbo, yi-medium, and yi-vision. The Yi series of open-source models can be found at https://huggingface.co/01-ai, including several popular models like Yi-1.5-34B.
According to the official documentation, 01.AI provides an HTTP request interface highly compatible with OpenAI API, but no SDKs for Python or other languages have been found so far.

I couldn't find the pricing as well. please feel free to share some references. Thanks

https://platform.01.ai/docs#models-and-pricing

@uukuguy thanks the the amzing PR. It seems there are some format issues. Could you help fix those by running pre-commit? Thanks!

@uukuguy, I am wondering what's the status of this PR. Could you fix conflicts and also the code format issues? Thank you!

If 01.ai is highly compatible with openai, this PR might not be need. For example, deepinfra support openai's format, and we only need to pass in an additional base_url. Please check if it works this way.
{
        # using DeepInfra
        "model": "meta-llama/Meta-Llama-3-70B-Instruct",
        "api_key": "YOUR_API_KEY",
        "base_url": "https://api.deepinfra.com/v1/openai" # need to specify the base_url
 }

@uukuguy i believe we can close this PR, as @yiranwu0 mentioned, it should work just with passing an extra argument base_url and is highly compatible with openai. update us with the status. thanks
cc @marklysze @qingyun-wu please share your thoughts on this. thanks

@uukuguy i believe we can close this PR, as @yiranwu0 mentioned, it should work just with passing an extra argument base_url and is highly compatible with openai. update us with the status. thanks
cc @marklysze @qingyun-wu please share your thoughts on this. thanks

Thanks @Hk669, yes I didn't get a response from Yi about function calling either, so this can be revisited perhaps if they update their API to differentiate or provide more capability than just the OpenAI API compatibility.


[Statistics] Introduce Community Statistics Reports

Introduce Community Statistics Reports
This change introduces the concept of "community" statistics report. These reports statistics do not include Microsoft owned packages, and are displayed by default. Users can choose to "Show all packages" to view reports that include Microsoft's packages.
Note: The JsonStatisticsService had some serious concurrency issue and did not cache reports that it loaded from blob storage. This pull request fixes that by loading reports once every four hours.
This change depends on https://github.com/NuGet/NuGet.Jobs/pull/239.
Fixes https://github.com/NuGet/NuGetGallery/issues/3417.
TODO: Unit tests need to be updated! Screenshots are slightly out-of-date!
Screenshots
Statistics Homepage
Default view:

With "Show all packages" option selected:

Note that clicking on the "Show all packages" checkbox switches out the report client-side. It's all very snappy 😄
Detailed Report
Clicking on the "Show more..." link at the bottom of the homepage will take you to a different report depending on the state of the "Show all packages" checkbox. If you click "Show more..." while "Show all packages" is deselected, you will see the following screen:

If you click "Show more..." while "Show all packages" is selected, you will see the following screen:

I dont think we should have the filter on the https://www.nuget.org/stats page. The filter should only be there on the details pages:
https://www.nuget.org/stats/packageversions
https://www.nuget.org/stats/packages

Something like this:

Added a filter to both index and detailed pages. I will update the screenshots on Monday.

Do users really care about the old report? Is this driven by a specific customer ask? It is unclear from the linked issue if we should provide a way to toggle between them.

The filter (check box) should be enabled by default to filter out the Microsoft packages as that is what users want. It serves 2 purposes:

Soft landing for users who are used to seeing the Microsoft packages in the list.
Messaging: We need to tell what is it that we show on the page :)

Addressed feedback.


provide a convinient method whether a issue is cause by specific extension

alterlative 1:
add menu item reload with only enable this to extension view:

alterlative 2:
provide a command to select a list of extension want to enable and reload:

@daviddossett  @sandy081

Personally, when trying to identify if an issue is caused by certain extensions, I use the Extension Bisect feature of VS Code as I find this invaluable.

@nimcomputing

I know that, but that still cost too much time.
In fact, most of the time, If I think an issue is caused by extension, I can always know that is caused by specific one or several extensions. The bisect cover all extensions.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Improve the code format for functional programming, basically for java 1.8 onwards.

Java 1.8 onwards, we have functional programming style available in Java. Please update the eclipse and IntelliJ style for Java. I can send you the sample functional coding format which I have added in the existing styles.

@vaibhavbhootna why not raise the PR and link it here... or can you share the style guide which you are following.


2 Errors on Staging Branch

Hey, we had worked yet with Staging Branch,
if it would be added in release State ->
TryFindTrackNearby was Changed to TryFindTrackNear in Facepunch Staging Branch we had changed it
1468 ->if (!TrainTrackSpline.TryFindTrackNear(hitPosition, 5, out spline, out distanceResult))
2327-> if (TrainTrackSpline.TryFindTrackNear(WorldPosition, 2, out spline, out distanceOnSpline))
isEngine does not exist anymore in Staging, we had changed it to
1540 -> if (trainCar.CarType != TrainCar.TrainCarType.Engine)
I would come back after testing and debuging, if any errors come on the server

Our second admin has said, since it has changed to Near and not Nearby, it works not smooth anymore. Plugin worked yet.
The WagonPrefab wagonD doesn‘t exist anymore we deleted the line

I am aware of the errors, and I made fixes for them earlier this week, though I had not pushed them since sometimes it can cause issues with the GitHub integration on the uMod website. Since you created this issue, I have pushed the changes now to the develop branch.
https://github.com/WheteThunger/AutomatedWorkcarts/compare/master...develop

I am aware of the errors, and I made fixes for them earlier this week, though I had not pushed them since sometimes it can cause issues with the GitHub integration on the uMod website. Since you created this issue, I have pushed the changes now to the develop branch.
master...develop

Hey, no Problem, i thougt, you had a lot of work on Oxide, we would help if you don't had time to look on it. Thanks for your answere :)

No worries. Thanks for looking out.

it works not smooth anymore

Are you saying there are still issues, or all is good?

Hey, it is working, but the triggers are working not so good anymore
if i will change an trigger, it change an trigger in the near, not the right one, (2 triggers on sided rail) sometimes it use the false trigger. a little bit unsmooth.
Is there a way to change the rotation of the last train? it looks in the false direction

To change the spawn rotation of a trigger, face the approximate direction you want the train to look, while aiming at the trigger, run awt.rotate, then awt.respawn.

if i will change an trigger, it change an trigger in the near, not the right one, (2 triggers on sided rail) sometimes it use the false trigger. a little bit unsmooth.

Can you record a video, or take a screenshot of two triggers, and tell me which trigger was changed?

To change the spawn rotation of a trigger, face the approximate direction you want the train to look, while aiming at the trigger, run awt.rotate, then awt.respawn.

the problem is, we had only one trigger, and the second workcart looks in the false direction.
on the screenshot, you could see, the left one looks in the correct direction, but the right workcart looks in the same direction. is there a way to add an rotation on wagons and added workcarts?

Can you record a video? Alternatively, take a screenshot of two triggers, while standing/flying in the original position where you ran the command, while aiming the original direction you were aiming when you ran the command, then tell me which trigger in the screenshot was changed. My guess is that there is an invisible collider which the raycast is hitting, which is closer to you, so it's finding the nearby trigger instead of the one you are aiming at.

we will come back with an video

Ok, I see what you mean about the rear workcart facing forward. This is how the plugin is currently designed; all train cars face the same direction.
I have thought about ways to allow controlling the rotation, such as by giving them different names like WorkcartCovered_R ("_R" for reverse). Alternatively, the plugin could try to guess which direction you want the workcart to face. I'm not sure which of these approaches is better, but I think we'll have to pick one. Let me know if you have any suggestions.

On our side, i think the fastest way is an request, if two entites of workcarts are in the trigger, the second one should be added bidirectional to the spawn workcart,
Or You could also  add an request in the trigger, if the train will drive forward and backwards, it could be spawn the second worcart bidirectional.
this are 2 suggestions, ii think, this xcould be a way to go

I've pushed a change to the develop branch which I think will resolve the issue where the commands find the wrong trigger.
I also experimented with allowing spawning of train cars backwards, by appending _R to the train car name. I've pushed that change to the reverse-wagons branch, but it has some bugs I haven't had time to figure out.

okey, we will look on debug server, if we found some changes, i will come back


Use with a custom JSON-LD

Hello, I'm interested in generating pojo for a customized schema.org.
It looks like it's not possible with the current version (0.2.2) of your maven plugin.
I'm thinking of something like this:
.
├── pom.xml
└── src
    └── main
        └── resources
            └── custom.jsonld

with this configuration:
    <build>
        <plugins>
            <plugin>
                <groupId>com.weedow</groupId>
                <artifactId>schema-org-generator-maven-plugin</artifactId>
                <version>${schema-org.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <schemaVersion>classpath:/custom.jsonld</schemaVersion>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

(not sure about re-using schemaVersion though 🤔 )
Are you interested in this functionality ? I think I can contribute it if you want

This is an interesting proposal.
However, I don't think the schemaVersion field is well suited for this.
Maybe a new field: schemaResource?
If you can contribute, it will be with great pleasure :)

I have time to deal with this issue.
I have created a branch to take care of this feature:
https://github.com/Kobee1203/schema-org-java/tree/feature/issue-23

Hi @Allsimon
The latest release 0.3.1 adds a new option, schemaResource, to specify a schema resource location to be used for generation.
The value can be either a "classpath:" pseudo URL, a "file:" URL, or a plain file path.
let's assume the following tree structure:
.
├── pom.xml
└── src
    └── main
        └── resources
            └── example.jsonld

Here is the configuration of the maven plugin
<plugin>
    <groupId>com.weedow</groupId>
    <artifactId>schema-org-generator-maven-plugin</artifactId>
    <version>0.3.1</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <schemaResource>classpath:example.jsonld</schemaResource>
            </configuration>
        </execution>
    </executions>
</plugin>


rxjs 6.3.3 is missing

UNPKG returns 404 for rxjs 6.3.3 although this is the latest version on NPM:
<EMAIL_ADDRESS>https://www.npmjs.com/package/rxjs/v/6.3.3

This is due to a caching bug. I've cleared the cache for now, so that URL now works. Let's track in #138.


Added gradient clip test for native AMP

What does this PR do?
Avoid repeat of #1381
Before submitting

[X] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[X] Did you read the contributor guideline, Pull Request section?
[X] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[X] Did you make sure to update the documentation with your changes?
[X] Did you write any new necessary tests?
[X] Did you verify new and existing tests pass locally with your changes?
[X] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @teddykoker! Thanks for opening this PR.

In the file tests/trainer/test_trainer.py:

Line 870:1: E302 expected 2 blank lines, found 1

Do see the Hitchhiker's guide to code style


Add lizan and zack to OWNERS

https://github.com/istio-ecosystem/authservice/pull/124#issuecomment-767864532

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: lizan
To complete the pull request process, please assign liminw after the PR has been reviewed.
You can assign the PR to them by writing /assign @liminw in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

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

Needs approval from an approver in each of these files:

OWNERS [liminw]

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


provider setting on laravel 5.3

if set provider with
anlutro\LaravelSettings\ServiceProvider after command php artisan vendor:publish
i found message  Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalThrowableError: Undefined constant 'anlutro\LaravelSettings\ServiceProvider'
and i try with anlutro\LaravelSettings\ServiceProvider::class
okey. i can publish now.

Sorry, but I don't understand the problem you're having. You mention php 5.3 in the subject but anlutro\LaravelSettings\ServiceProvider::class was only added in php 5.5. It sounds like you just didn't add quotes around the class name the first time around.


[5.5] Ensure Arrayable and Jsonable (...) returns a JsonResponse.

For now only a normal Response, mimicing a JsonResponse is returned; this enforces a JsonResponse to be returned.

A much more performant way to achieve #17869 /cc @taylorotwell

What is the actual benefit of this?

They are many, in a normal Response, you cannot get and set the encoding option, you cannot set the callback either.
Within your API middlewares you can never be sure to always expect a JsonResponse too.

I really feel like instead of all this header business you should just check for Arrayable or Jsonable in the prepareResponse method of the router.

@taylorotwell , the check is now done in the Router https://github.com/laravel/framework/pull/17875/commits/a7edae88f802b81c7b5e9c4ce98c494273ef8896.

👎 This forces people to use json at the router level.

What if they wanted a streamed json resource too?

@GrahamCampbell I don't follow. We were returning Response before and this just changes Arrayable and Jsonable to convert to JsonResponse if a more explicit response type is not provided? Can you give an example of what you mean?

@GrahamCampbell ?

Ah, right, probably fine then.


Unable to view DataFrame in VS Code

Environment data

VS Code version: 1.92.2 (user Setup)
Jupyter Extension version (available under the Extensions sidebar): v2024.7.0
Python Extension version (available under the Extensions sidebar): 3.12.3
OS (Windows | Mac | Linux distro) and version: Windows
Pandas version: 2.2.2
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Jupyter server running: Local | Remote | Local (On VS Code)

Expected behaviour
Showed be able to view dataframe in new pop-up
Actual behaviour
When attempting to view a DataFrame in Visual Studio Code using the Data Wrangler extension, I encounter the following error:
"Could not retrieve variable autos from the Jupyter extension. Please file an issue on the Data Wrangler GitHub repository."
FYI : 1 month ago I used to get popup.  But then I don't what changes were made and I am not getting this pop.
Steps to reproduce:
I first reported this issue with Data Wrangler , after our discussion they suggested that the issue is at your end. Here is the link for our discussion.
https://github.com/microsoft/vscode-data-wrangler/issues/270
If you want further information from my end, do let me know.

relevant error

looks like a permission issue between DW <-> Jupyter

Solution

Select the command Jupyter: Manage Access to Jupyter kernels from the command palette
From the quick pick that appears, select the Data Wrangler extension

FYI : 1 month ago I used to get popup. But then I don't what changes were made and I am not getting this pop.

Yes, that was a prompt asking to allow the Data Wrangler extension to allow using this API.
If the above solution doesn't work, please feel feel to file a new issue or ping here


Update userLocale, bottomUnits, bottomCurrency with best guess

navigator.language or HTTP req header
If they're different, I'm not sure which to use... probably navigator.language?

Could set user locale based on navigator.language

https://github.com/SirCen/country-currencies has a TS file that includes everything
https://github.com/parzh/iso4217 also offers what I'm looking for
I'm inexplicably nervous about including these as dependencies, maybe I'll just statically include them?

https://nium-documents.s3-eu-west-1.amazonaws.com/spend-documents/Country+Code.pdf has everything

https://github.com/vijinho/ISO-Country-Data also but it's 9 years old

https://github.com/thiagodp/country-to-currency if I want a package (??)

https://github.com/SirCen/country-currencies/blob/main/countryCurrencyInfo.ts seems like a jackpot


Document how private link uses redirect/proxy

@ecki commented on Thu Mar 19 2020
If I use a Database Service with private link, will it always proxy to my database or is it using the redirect method. What's the performance implication.

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

ID: b006a616-2f2f-8ecf-8b80-fd0a3cc62090
Version Independent ID: 92c54dc6-8ddf-b1f7-4a58-d61b8cd7fe25
Content: Was ist privater Endpunkt in Azure?
Content Source: articles/private-link/private-endpoint-overview.md
Service: private-link
GitHub Login: @malopMSFT
Microsoft Alias: allensu

@srvbpigh commented on Thu Mar 19 2020
Hello, @ecki
Thank you for your feedback.
We are actively reviewing your comments and will get back to you soon.
Kind regards,
Microsoft DOCS International Team

Thanks for your comment. The feedback has been shared with the content owner for further review. Thanks for your patience.

Hi Cecilia
For SQL, we are only using proxy mode at this point, for heavy applications the performance impact is ~2% on specific scenarios, most of the scenarios have no penalty.
For Cosmos DB when supported by the API type, it's using redirection with no penalty on performance

PostgreSQL, MySQL, MariaDB are only using proxy mode including the public access method :)

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-private-endpoint-overview#limitations states it uses Proxy only.
Thanks for the info on performance. good to know.

It appears this one has been answered.
#please-close


Expand or link "When enabled, micro-batches on the same stream"

Please expand the notes or provide links to deeper reading material under Event Hubs Basic and Standard - quotas and limits.  I struggled to understand how to make a decision or take action regarding:
Capture | Entity | When enabled, micro-batches on the same stream | No | Yes
After searching around, I think I have a basic notion of what this is saying can only be done in a standard instance but there is an opportunity for you to help other similarly ignorant customers.
Thanks

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 36f49a06-90b1-cbe1-3853-2c38277b79f8
Version Independent ID: 02ff6f6c-3ef6-b48f-060d-b290419e0aba
Content: Azure subscription limits and quotas - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/azure-subscription-service-limits.md
Service: azure-resource-manager
Sub-service: management
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@erikerikson Thanks for your feedback. We will review the issue and get back to you shortly.

Assigning to content author @tfitzmac for review

@erikerikson - thanks for this feedback. I am looking into this issue.

I added a link for more context. It should get published later today.

Thank you for adding the link @tfitzmac.  I did find that doc independently.  Although it mentions batches, it doesn't contain the term "micro-batch" on it.  Also, it seems by "same stream" the docs reference the EventHub instance that has Capture enabled.
In hindsight, this line in the table seems to be saying that users can only enable capture if the EventHub is set to  the "Standard" sku but not if set to "Basic".  The notes then can be understood to partially explain what the Capture feature is (missing the persisting aspect) rather than speaking to the limitation itself of 'not available to instances configured to "Basic", see ...'.  FWIW, given that all other notes on the page speak to the quota or limit, this was confusing.  Combined with the incomplete description of the Capture feature, I don't know how I could have grasped the intention without a cognitive slowdown.


Allow the user to set the level of netpol permissiveness

Some options:

Only allow connections identified by the algorithm
If a service exists, but no incoming connections detected, open the service to the whole namespace
If a service exists, but no incoming connections detected, open the service to the whole cluster
If a service exists, open the service to the whole cluster

Proposed format:
# The provided deployment catalogue in namespace sock-shop can connect to the provided deployment catalogue-db in the same NS using any protocol
sock-shop/deployment/catalogue -> sock-shop/deployment/catalogue-db

# The provided deployment orders in NS sock-shop can connect to the provided service catalogue in the same NS using TCP:80
sock-shop/deployment/orders    -> sock-shop/service/catalogue       | TCP:80

# # The provided deployment orders in NS sock-shop can connect to external IPs <IP_ADDRESS>/24 using TCP:443
sock-shop/deployment/orders -> <IP_ADDRESS>/24 | TCP:443

# The deployment catalogue-db in NS sock-shop may receive incoming traffic from all external IPs
<IP_ADDRESS>/0 -> sock-shop/deployment/catalogue-db

# Known workloads in NS sock-shop, can connect to known workloads in NS sock-shop, named session-db
sock-shop/_/_ -> sock-shop/_/session-db

# All known workloads (in any NS), can connect to known workloads named session-db (in any NS)
_/_/_ -> _/_/session-db

# All workloads in NS ns1, can connect to the deployment shipping in NS sock-shop
ns1/*/* -> sock-shop/deployment/shipping

# All workloads in the cluster, can connect to the deployment catalogue-db in NS sock-shop
*/*/* -> sock-shop/deployment/orders

# ns1/*/session-db # not supported
# ns1/deployment/* # not supported
# */deployment/*   # not supported
# */deployment/session-db # not supported


Fix 'MainNav' and 'MobileNav' for consistent navigation

EXISTING ISSUES:
It's important to note that the navigation bar in the project has a issue:

The problem is that the main navigation bar content displays Frontend Freaks in the desktop view but shows Menu in mobile view.
This inconsistency could lead to confusion or uncertainty for users about the exact brand name when navigating the website.

For example, the below is displayed in desktop.

But, in mobile view it looks like this.

And, if we click on Menu, then the toggle menu in mobile view shows:

CHANGES MADE:
To address this issue, I have made the following changes:

I have updated the MainNav component to display Frontend Freaks as the main navigation bar content in both desktop and mobile views.
I have also updated the MobileNav component to display Frontend Freaks as the main content in mobile view, maintaining consistency with the desktop view.
I have improved brand clarity by ensuring that the name Frontend Freaks is consistently displayed in both navigation bars, leaving no ambiguity.

Here's how the fixed navigation bar will look:

In desktop view,

In mobile view,

And, if we click on Frontend Freaks, then the toggle menu in mobile view shows:

REQUEST:
Please review and merge this pull request at your earliest convenience. I have attached the screenshots for existing and updated navigation as well. Thank you for your attention to this enhancement, which addresses the issue of inconsistent navigation between desktop and mobile views in our website. I look forward to your suggestions and edits.

Hi @Vishal-raj-1 Sir,
Thank you so much for merging my pull request!
Warm regards,
Sarvesh.

Hi @Vishal-raj-1 Sir,
Thank you so much for merging my pull request! Please add ```
hacktoberfest

Warm regards,
Sarvesh.

Hi @Vishal-raj-1 Sir,
Thank you so much for merging my pull request! Please add hacktoberfest label to it. 🙏🏻
Warm regards,
Sarvesh.

Hello @Vishal-raj-1 Sir,
Thank you for merging my pull request! Please add hacktoberfest label to it, as I am participating in hacktoberfest this year.


Add issues roadmap for company endpoint

Keep better track of your commits and make sure there's associated issues they're addressing.

Done!


Add ESM export

In order to use this package in an ESM only context the package needs to be compiled to ESM. Are you willing to support this?
If you want I can create a PR for this. If so, do you prefer ESM only or support both CommonJS and ESM?

@nene maybe you have some time to look at this?

@Siilwyn, sorry, but no. I've only contributed one small commit to this library :)

Hello @decrek, this issue was fixed in version v2.2.0. Please update.

Hello @decrek, ESM export was added in version 2.3.1.

@mdevils  ESM export need to declare an explicit file suffix, otherwise, it will report an error
Error [ERR_MODULE_NOT_FOUND]: Cannot find module<EMAIL_ADDRESS>imported from<EMAIL_ADDRESS>
All imports should be modified as follows:
- export { createParser } from './parser';
+ export { createParser } from './parser.js';
export { render } from './render';
export { ast } from './ast';

@noyobo Thanks for checking. Fixed in 2.3.2.


Exposing ports through kontena cli not properly updating docker

#on my machine
kontena service ls
NAME                                                         INSTANCES  STATEFUL STATE      EXPOSED PORTS
⊝ qagyver-builder                                            1 / 1      yes      running
⊝ qagyver-registry                                           1 / 1      yes      running
⊝ loadbalancer                                               1 / 1      no       running    <IP_ADDRESS>:80->80/tcp, <IP_ADDRESS>:443->443/tcp, <IP_ADDRESS>:12222->12222/tcp, <IP_ADDRESS>:12223->12223/tcp
#looking good.. 12223 seems to be open

#And then on the node:
core@timogrid-node-0 ~ $ docker port loadbalancer-1
443/tcp -> <IP_ADDRESS>:443
80/tcp -> <IP_ADDRESS>:80

As I try to ssh to qagyver-builder on port 12223 it this works on the node:
ssh -T git@loadbalancer -p 12223

But if I try to access through localhost or through the nodes public dns it does not accept connections to 12223. Are docker/kontena port exports somehow mixed out of sync and thus this doesn't work?
Ran the configure script again and now it updated and everything works. It looks like there’s a bug in kontena that if you do:
kontena app deploy # has some default port configs
kontena service update —ports # replace yml port defs with something more dynamic…
#-> kontena service ls shows new port defs, but docker is using originals from yml

Omg, I forgot about this bug and fell in to this trap again...

Does it still fail to update the ports properly if you do kontena service deploy xxx after the update?

You mean like?
kontena app deploy -f kontena.yml &&
kontena service update \
  --ports 80:80 \
  --ports 443:443 \
  --ports 12222:12222 servicename &&
kontena service deploy servicename

I suppose that could work... I'll give it a try at some point
Right now I'm just doing app deploy, then sleep a bit, tehn update ports, then sleep a bit, then test it's working..

If I do that then I get:
 [fail] Deploying service servicename
 [error] Not found

I suppose I could just loop there until it succeeds, but it's getting awfully laborious...

I think the Not found issue in deployment was a bug which was fixed in 1.0.1.
I'm failing to reproduce this with following steps:
$ k app deploy -f web-app.yml -p web
 [done] Creating web
 [done] Deploying web

$ k service ls
NAME                                                         INSTANCES  STATEFUL STATE      EXPOSED PORTS
⊝ web-web                                                    1 / 1      no       running    <IP_ADDRESS>:9999->80/tcp

$ k service update -p 9999:80 -p 9090:80  web-web
 [done] Updating web-web service

$ k service ls
NAME                                                         INSTANCES  STATEFUL STATE      EXPOSED PORTS
⊝ web-web                                                    1 / 1      no       running    <IP_ADDRESS>:9999->80/tcp, <IP_ADDRESS>:9090->80/tcp

$ docker port null-web-web-1
80/tcp -> <IP_ADDRESS>:9090
80/tcp -> <IP_ADDRESS>:9999

@timolehto Did I miss some steps or other details?

It seems like this probly works now as this test succeeds already with the first curl when just given enough sleep time. Previously it was so that even though the update would instantly update the ports you see with kontena service ls docker ports wouldn't get updated and ultimately the container wouldn't have those ports open until you'd do a redeploy. Now it looks like it's actually working. Have to still confirm this by redeploying localgyver from scratch with updated lb config script:
kontena app deploy -f web-app.yml && kontena service update -p 9999:80 web-web && sleep 12 && kontena service ls | grep web-web && echo $(docker port null-web-web-1) && curl localhost:9999; kontena service deploy web-web && sleep 1 && curl localhost:9999
 [done] Creating web
 [done] Deploying web
 [done] Updating web-web service
⊝ web-web                                                    1 / 1      no       running    <IP_ADDRESS>:9999->80/tcp
80/tcp -> <IP_ADDRESS>:9999

	<title>Hello world!</title>
	<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>

Hello world!

My hostname is web-web-1

 [done] Deploying service web-web

	<title>Hello world!</title>
	<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>

Hello world!

My hostname is web-web-1

Actually today I ran our entire setup script again and it happened again (I updated docker for mac version in between, but likely not relevant here). So there maybe is something that makes this sometimes work and sometimes not:
#lb deployed and updated ages ago, kontena shows ports updated
Timos-MacBook-Pro:kontena-xgyver timo$ kontena service show loadbalancer
localgyver/null/loadbalancer:
  stack: localgyver/null
  status: running
  image: kontena/lb:latest
  revision: 4
  stateful: no
  scaling: 1
  strategy: daemon
  deploy_opts:
    min_health: 0.8
    wait_for_port: 80
  dns: loadbalancer.localgyver.kontena.local
  secrets:
    - secret: LOCALGYVER_COM_CERT_PEM
      name: SSL_CERTS
      type: env
  env:
    - CONFIGURED_ENVS=localgyver
  net: bridge
  ports:
    - 80:80/tcp
    - 443:443/tcp
    - 12222:12222/tcp
  instances:
    null-loadbalancer-1:
      rev: 2016-12-21 07:56:59 UTC
      service_rev: 2
      node: moby
      dns: loadbalancer-1.localgyver.kontena.local
      ip: <IP_ADDRESS>
      public ip: <IP_ADDRESS>
      status: running
      exit code: 0

docker port null-loadbalancer-1
443/tcp -> <IP_ADDRESS>:443
80/tcp -> <IP_ADDRESS>:80

Timos-MacBook-Pro:kontena-xgyver timo$ docker -v
Docker version 1.12.5, build 7392c3b
Timos-MacBook-Pro:kontena-xgyver timo$ kontena version
cli: 1.0.2
master: 1.0.2 (http://localhost:19292)

When I ran the script to try to setup our core services 4 times in a row once it worked/passed, but 3 out of 4 times the port updates did not properly propagate.

Ok, I've figured it out. It has something to do with vault. I ripped the lb configuration script from our localgyver and modified it into a test case and simplified as much as possible and noticed that it didn't fail unless the script also touched the vault and linked vault items between the deploy and update commands. Here's a simple test project you can try, just bin/test_loop. (It runs 5 times outputting information about success/fail, or if you uncomment line 8 from bin/test_loop it will stop on first fail):
https://github.com/AppGyver/deploy-update-ports-issue-sample

Ah, now I see the issue. :)
The issue is that when you link a secret to a service, that service is updated. Updated services will be automatically deployed in the background. Now when you do two consecutive updates in short time, the first update "triggers" deploy, when that is processed services deployed_at timestamp gets updated. Now it seems that the second update comes within this first update and the deployed_attimestamp and thus does not trigger deploy.
One way to overcome this is to do both port updates and secret linking in one update:
kontena service update
--ports 80:80
--ports 443:443
--ports 12222:12222
--secret "$KEY:RANDOM_TUUBA:env"
loadbalancer

Right, that sounds believable and we can certainly take this "feature" into consideration with your configuration scripts.
However, I would argue that it's still a bug. Successive calls to updates shouldn't lose some of the updates. I guess when deciding should update call initiate a new deploy it shouldn't use the last deployed_at, but the services updated_at when the deploy read the service configurations. Or I suppose it could simply ignore timestamps altogether and every update would always initiate a deploy unless deploy is already running, in which case it would set a flag or something that a redeploy is needed. Then whenever a deploy completes it would check this flag and do a redeploy if needed.

Yes, I do agree that this needs some fine tuning so that it does not lose any updates.


Network configuration URL for registry during installation

Problem:
Currently during installation of registry we ask for a network configuration URL. Nothing happens to this input.
Solution

We should start a discussion on what network configuration means in the context of Registry
Based on the discussion, we should implement the same.

To establish clarity and work with Venkatesh.

Actually #18
is the parent of
#132
#133
#134

This is already part of #18.
And this needs collaborative discussion with the larger audience to make certain conclusions out of it. Moving it to next iteration for planning on discussion. cc @vbabuEM @faizmagic @yesrag2309 @emmayank

I don't see the option where we are asking for the "network configuration URL" during registry installation.
SS for registry installation.

Hence closing this ticket.


Is it possible to hopper both in and out?

Minecraft Version: 1.16.5
Forge Version: 36.2.28
Mod Version: 1.2.1
Single Player or Server: Server
Describe problem (what you were doing; what happened; what should have happened):
Is it possible to use a hopper not only to add items, but to extract the output as well? I can't figure out how.
Sorry not an issue, but there is no comment section on the mod's CF page.

Nevermind, allowAutomation needed to be true in the config.


Configure Lighthouse CoreDNS metrics

This shares the metrics setup code and uses it to setup a
ServiceMonitor for the CoreDNS service.
Fixes: lighthouse#276
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

This needs https://github.com/submariner-io/lighthouse/pull/445


slackin: invite to signup flow “Continue with Google” fails on OAuth2 handoff

What were you trying to do?
I was helping a new employee invite themselves to slack at slack.moov.io and the "Continue with Google" page failed on a google.com callback page. A generic error was returned about it being unable to complete the request.
What did you expect to see?
"Continue with Google" should pass and allow a new user to signup from their email invite.
How can we reproduce the problem?
I invited a<EMAIL_ADDRESS>address, so maybe that's it? We allow any domain though, so it should't be a configuration problem.

I was unable to reproduce this bug.  The Google Oauth flow actually starts at moov-io.slack.com, so it seems this may have been an issue on Slack's side


Setup opp test

This PR sets up opp_test for module tests.
For using opp_test, we need to build quisp as a library, not executable.
And then opp_test compiles test code and links with the library.
Finally, we can run the test program.
step to run module tests

ensure pkg-config can find the eigen3.pc file. You can check with $ pkg-config eigen3 --validate.
run $ make lib at the repository root
then you can find quisp/out/clang-debug/quisp_dbg.dylib or quisp/out/clang-debug/quisp_dbg.so (if you use clang compiler)
run make run-module-test.

pkg-config for resolving eigen3 library/header path
now we need to set up the OMNet++IDE to pass the eigen3's path like /usr/include/eigen3 as which is written in build doc.
But it's troublesome, and the path depends on where a user installs the eigen3 library.
We can solve this problem by introducing pkg-config.
pkg-config knows where the library is by reading the .pc file inPKG_CONFIG_PATH.
In the build process, I use pkg-config to set the library/include path.
So now we don't need to set up the eigen3 path in OMNet++IDE.
In docker, pkg-config can find the eigen3.pc file in default.
the eigen3.pc file location and PKG_CONFIG_PATH
In my macOS and HomeBrew installs the eigen3.pc file into /usr/local/opt/eigen/share/pkgconfig/.
so I set export PKG_CONFIG_PATH=/usr/local/opt
In my ubuntu, pkg-config can find the eigen3.pc file.
build process and pkg-config
OMNet++ doesn't provide the way to build both library and executable files in one Makefile.
This means we need to run opp_makemake to change the configuration.
If we use only OMNet++IDE, there's no problem, but it becomes a problem when we need to test on CI because we need to re-generate Makefile by opp_makemake.
OMNet++IDE stores the include paths into the .oppbuildspec file. This is an XML file, so I considered using this file to feed the paths to opp_makemake, but it makes the build process complicated and needs to set up OMNet++IDE. It's not suitable for CI.
Fortunately, opp_makemake provides makefrag us the ability to customize Makefile.
Now quisp/makefrag file has a Makefile fragment which contains a fragment to retrieve the Eigen path.
test structure
TODO
see also OMNet++ doc and INET framework's doc

TODO:

[x] make version check
[x] load options for opp_makemake from quisp/.oppbuildspec
[x] remove tests code from build target
[x] makefile rule to run all opp_test

I was able to run opp unittest on my docker!


Have podspecs declare the libraries are on GitHub

To point to a subdirectory of the repo, combine source with source_files like this:
s.source   = { :git => '... path to the git repository on our github instance...' }
s.source_files = 'KPFacilityStore/.{h,m}', 'KPFacilityStore/**/.{h,m}'

This is only done when submitting the podspec to Cocoapods.


TCP Viewer And End Task

Description of the new feature / enhancement
Why there no ports viewer and i can form there end that task easily it would be more usefully than restarting my computer
Scenario when this would be used?
Everytime some ports get open and i don't know how to end it so i just restart my pc?
Supporting information
No response

/dup https://github.com/microsoft/PowerToys/issues/23993