refactor: Make all pipelines use the centralus agent pools

Description
We're moving our agent pools to the centralus region as part of a capacity management initiative. This PR updates all pipelines to use the new pools.
Reviewer Guidance
The review process is outlined on this wiki page.
I did manual runs of all pipelines with these changes applied, and they all run fine. Failures in test pipelines are unrelated to this change, just the usual flaky tests & similar. And build-docs is not designed to run from test/ branches so its failure is also expected.
AB#23299

Do we expect any perf or latency impact?

Do we expect any perf or latency impact?

No, with the exception of the e2e tests against routerlicious. Since our internal routerlicious deployment stays in westus2, there's now a longer network path from the agents where the tests run, and the service they're talking to. ~10min runtime increase for that particular stage of the e2e tests. However, I have some design/proposal in the works to get rid of that environment entirely in the short(ish) term, and the increase is not that huge, so I think it's acceptable. I'll also note it's a bit funny that in the 2 runs I've done in the new pools, the r11s tests seems to have fewer failures/timeouts 🤷 .
There is a ~12% increase in cost though. @scarlettjlee @rohandubal I pinged the thread to see if we can get info of which other regions we can move to, to see if there's one with the same costs as westus2. I'll hold a bit on merging this.
Today:

After this change:


Explore import of unipathway into GO ontology/go-cam

As discussed at GO-Rhea-Reactome Geneva meeting
Bring in all unipathway linear pathways as GO processes
TBD: represent ordering between MF steps as nested OWL expression in ontology vs as template GO-CAMs

cc @amorgat

I dont think we can even get that data anymore
@amorgat please let us know if this is not true.
Closing


Prepare migrating to next Avalonia Preview.

There are breaking changes of ItemsControl container generation. Most ItemsControl and similar controls need to be re-designed. ItemsPresenter no longer holds Items and ItemTemplate.
https://github.com/AvaloniaUI/Avalonia/pull/9677

And hold carousel development before actual plan.

closed in #65


fix missing code annotation and fix name

fixing https://github.com/aspnet/Docs/pull/5054

@Rick-Anderson FYI

https://github.com/dotnet/docs/pull/4002 for docs update

@yaananth  THANKS AGAIN.


Google Drive API error: "Impossible to reach the site"

Actual Behavior
Hi all, I'm Elisa and I'm trying to configure and run a Google Drive app.
I've read the Python Quickstart (https://developers.google.com/drive/api/v3/quickstart/python)
and I've done all the steps, but when I type
$ python quickstart.py
I receive the following error:
Impossibile raggiungere il sito

La pagina web all'indirizzo http://localhost:0/?state=3s0NlvCqmX2N61DLZzoHFRCAHXU80o&code=4/wQGzmEi5ZGAaEi_NzMA_sWFtkyGhe80DyVXlIlNNUqC2T9W0a98mTt0hxM3HYKhA0nKzrOyzB1Ezr13wwCA2qoU&scope=https://www.googleapis.com/auth/drive.metadata.readonly potrebbe essere temporaneamente non disponibile oppure è stata permanentemente spostata a un nuovo indirizzo web.

ERR_ADDRESS_INVALID

Expected Behavior
I think the sample should proceed automatically.
Steps to Reproduce the Problem
I've just followed the steps up to Step 4: Run the sample after which I got the error.
Specifications

Python version (python --version):
Python 2.7.16

Pip version:
pip 9.0.3 from /usr/lib/python2.7/site-packages (python 2.7)

Google libraries version:
google-api-python-client==1.7.11
google-auth==1.11.0
google-auth-httplib2==0.0.3
google-auth-oauthlib==0.3.0

OS (Mac/Linux/Windows):
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"

Other
Let me know If I have to provide you other infos.
Thank you in advance!

@sqrrrl news? :)

Think it's just because the google-auth-oauthlib is the wrong version, Should be 0.4.0.

Thank you very much! After upgrading the version of google-auth-oauthlib to 0.4.0 it worked.
Maybe it should be written in the official documentation.
Best,
Elisa


fix: grpc unix path

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area commands
What this PR does / why we need it:
This PR fixes the grpc unix path
Which issue(s) this PR fixes:
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Andreagit97
Once this PR has been reviewed and has the lgtm label, please assign leogr for approval by writing /assign @leogr in a comment. For more information see:The Kubernetes Code Review Process.
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

LGTM label has been added.  Git tree hash: 6f35e39e551274551b46042d9d5ed66cdda20cab

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

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

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


Registering multiple callback functions for node state change

How can I register multiple callback functions for node state change. For example callback function for node becoming leader and another for node becoming follower.
At what stage I should register callback function?
Can I register after the init_raft()?

Hi @kishorekrd
Why do you want to register multiple callbacks? One callback function can handle multiple events for both being leader
https://github.com/eBay/NuRaft/blob/1d66df6abe37ec4c754fb012d19d038860031a7b/include/libnuraft/callback.hxx#L66
and follower
https://github.com/eBay/NuRaft/blob/1d66df6abe37ec4c754fb012d19d038860031a7b/include/libnuraft/callback.hxx#L97
Registering callback is the part of initialization, and you can't change it after that.

Thanks for the response. Can you provide some sample code for registering callback during the init_raft() function?
I see that
class raft_server : public std::enable_shared_from_this<raft_server> {
    friend class nuraft_global_mgr;
public:
    struct init_options {
        init_options()
            : skip_initial_election_timeout_(false)
            {}

        /**
         * If `true`, the election timer will not be initiated
         * automatically, so that this node will never trigger
         * leader election until it gets the first heartbeat
         * from any valid leader.
         *
         * Purpose: to avoid becoming leader when there is only one
         *          node in the cluster.
         */
        bool skip_initial_election_timeout_;

        /**
         * Callback function for hooking the operation.
         */
        cb_func::func_type raft_callback_;
    };
----------
    /**
     * (Read-only, but its contents will change)
     * Server context.
     */
    std::unique_ptr<context> ctx_;
--------------
struct context {
   /**
     * Register an event callback function.
     *
     * @param func Callback function to register.
     */
    void set_cb_func(cb_func::func_type func) {
        cb_func_ = cb_func(func);
    }
------------------------
// Initialize Raft server.
    stuff.raft_instance_ = stuff.launcher_.init(stuff.sm_,
                                                stuff.smgr_,
                                                stuff.raft_logger_,
                                                stuff.port_,
                                                asio_opt,
                                                params);
------------
Looks like I have to provide one more option "const raft_server::init_options& opt" here to init.
opt.raft_callback_ = user_callback;

Is it correct?

@kishorekrd yes, that's correct.

Thanks for the response. One more question. I see that there is a single "nuraft_commit" thread. Is that means all commits will be serialized. do I still need to worry about multi thread synchronization in state machine commit call
ptr<buffer> commit(const ulong log_idx, buffer& data)

Yes, commit is invoked by a single thread at a time, in the log_idx order.

Thanks for your fast responses. Couple of more questions regarding saving the state and snapshot. Calculator example has one single variable as state
calc_state_machine()
        : cur_value_(0)
        , last_committed_idx_(0)
        {}

What if state machine is a C++ map object, that stores key/value mappings, how the following operations change?
save_state(const srv_state& state):
ptr buf = state.serialize();
Write buf to disk
Does the state includes the entire map object? How often this is saved?
I see read_state reads the disk but doesn't deserialize the data, is that means deserialized data is written to disk?
Snapshot:
// Put into snapshot map.
        ptr<snapshot_ctx> ctx = cs_new<snapshot_ctx>(ss, cur_value_);

Here instead of cur_value_, map object will be used. Is it going to take deep copy of entire map object as sanpshot?
Persistence:
For every commited operation like adding and deleting keys to this map, how can I make it persistent ? Is there any way to save delta of map object and flush to disk? or save the append_log entries to disk and reapply to recreate the map for recovery. Any other alternative methods?

Hi @kishorekrd
srv_state is not related to the user-defined state machine, it just stores the term and voting information which are independent of the user-defined contents
https://github.com/eBay/NuRaft/blob/8715f27ac3fb3cd2fd6df946b7628123171e8340/include/libnuraft/srv_state.hxx#L156
What you need to do for load_state and save_state is read/write the given srv_state from/to disk. The implementation detail is up to you: you can use a raw file or a database to store it.
Regarding snapshot -- it should be logically an entire instance of the map at the given moment. But it doesn't need to be a physical deep clone of the state machine. As long as you can implement read_logical_snp_obj and save_logical_snp_obj correctly, the implementation detail is up to you. In eBay, we are using an MVCC storage engine so that we don't maintain a whole clone for each snapshot.

Is there any way to save delta of map object and flush to disk?

Again, it is up to you; it depends on how you implement the commit function of the state machine. You can invoke fsync of the entire map for each commit, which will be super expensive. Or you can make append and write_at functions in log_store call fsync every time, and then rely on the Raft logs (i.e., the delta of the map) and replay them to the state machine as a recovery.

Thanks for your response. I see that there are followers (who participate in the leader election) and learners (Who doesn't participate in the leader election). Both of them gets leader heartbeat and also participate in the state machine replication. Is there any node type that participate in the leader election but does not participate in the state machine replication?
I am trying to increase the cluster size by restricting the state machine replication only for certain number of nodes.
For example if there are 10 nodes in the cluster, I want to replicate the state machine only on 5 nodes. Remaining nodes only gets leader heartbeat and also participate in the leader election.

Is there any node type that participate in the leader election but does not participate in the state machine replication?

No, there can't be such a member because replicated log information is needed for the correct vote. Otherwise, a wrong leader can be elected by votes from such members.
If what you want is to replicate logs, but not to apply them to the state machine, then you can check the type of member in the state_machine::commit(), and simply do nothing.

10 is not the hard limit, and you can increase the cluster size with more burden to the leader. You can find your optimal size.
But if you want to maintain many replicas more than that, maybe you can think about tiered replication. There is a tier-1 Raft cluster with N replicas and each replica in tier-1 is a leader of tier-2 Raft cluster with also N replicas. You can serve N * N replicas by having N + 1 Raft clusters, while each Raft cluster manages N replicas only.

There is no such support by NuRaft, you need to set it up by yourself.


Switches do not show up in hass-cli but all other switches do

See:
https://github.com/home-assistant/home-assistant-cli/issues/272

TBH i really have no idea if this is a bug or not. never used hass-cli but in theory they should be easily listed just like all the others.
i'm injecting the devices just like i've seen it done in other implementations, if someone could point me what i'm doing wrong i'm more than glad to change/fix it, but otherwise i won't spend too much time digging on this problem right now, bigger issues to fry 😬
as a small test, try to enable the debug mode of this component as described in documentation, while doing this a fake sonoff device is added. if you can list this device than maybe hass-cli doesn't detect devices that are added a bit later on in the HA boot flow.


⚠ ClamAV has degraded performance

In 8cbe88c, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 489 ms

Resolved: ClamAV performance has improved in 643cc78.


Create 0000_01_02-RosyRomance.md

Added a  new slide

This issue could definitely be merged

Where is the “Merge pull request” button, I can’t find it
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: github-learning-lab[bot]<EMAIL_ADDRESS>Sent: Wednesday, September 18, 2019 3:52:03 PM
To: RosyRomance/github-slideshow<EMAIL_ADDRESS>Cc: RosyRomance<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [RosyRomance/github-slideshow] _posts/0000-01-02-RosyRomance.md (#3)
@github-learning-lab[bot] approved this pull request.
Step 8: Merge your pull request
Nicely done @RosyRomancehttps://github.com/RosyRomance! ✨
You successfully created a pull request, and it has passed all of the tests. You can now merge your pull request.
⌨ Activity: Merge the pull request

Click Merge pull request

Click Confirm merge

Once your branch has been merged, you don't need it anymore. Click Delete branch.

I'll respond when this pull request is merged.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/RosyRomance/github-slideshow/pull/3?email_source=notifications&email_token=ADJADVZ36RVYSEJEJ4GVFALQKHM2HA5CNFSM4IXZVSF2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCFCOZVA#pullrequestreview-289729748, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADJADV2C253ILHAWNVHGIVLQKHM2HANCNFSM4IXZVSFQ.


[Docs Rewrite] Meta-Issue: Rewrite Examples

This is a tracking issue to cover all tasks related to rewriting our existing example projects.
Tasks

[ ] Decide which examples can be removed (like todos vs todomvc vs todos-flow)
[ ] Rewrite remaining examples with Redux Toolkit and React-Redux hooks

@markerikson I think I could help to rewrite some examples, but I need to know how fast they must be rewritten.

@markerikson Hi, quick question: for the first task of deciding which examples can be removed, you wanna decide between all the examples or just between the three you mentioned?

@giacomocerquone I think it's worth reviewing all the examples, deciding what the original intended purpose was, and then deciding what the overlap is and what should be removed.
I do actually think the tree-view example is useful - this was a big question early on in the life of Redux about "do I just connect the top component, or multiple components?", and it shows components extracting items from the store based on ID as well as recursive rendering.  Someone over in Reactiflux was actually trying to port that to hooks as a learning exercise yesterday, which is what prompted me to file this issue.
todomvc is a slightly larger version of todos.  This was more relevant when the TodoMVC project was being widely used as a comparison between varying UI frameworks, and it at least looks nicer than the barebones todos project, but tbh it can probably be removed.
Haven't looked at async lately, but yes, it can probably be removed.
I would honestly just go replace counter with the contents of our Redux+JS template for Create-React-App:
https://github.com/reduxjs/cra-template-redux
Flow is dead, effectively. I would delete that one.
On the other hand, I would consider having a counter-ts example that copy-pastes the Redux+TS template for CRA.  We ought to at have least one TS-based example in there somewhere.
The other thing to consider is that I've built out a larger real-world-ish app as the example for the "Essentials" tutorial, here:
https://github.com/reduxjs/redux-essentials-example-app
and this TodoMVC-based app for the "Fundamentals" tutorial:
https://github.com/reduxjs/redux-fundamentals-example-app
We're going to keep those repos because I want them to be independently cloneable so people can try out the projects themselves, but we should probably either link to them on the "Examples" docs page, or copy-paste the final versions of the code into projects in the /examples folder.
@zpwebbear : No particular timeline for this. It's just something that crossed my mind yesterday as a thing that needs to be done at some point.

@markerikson
All clear, tbh don't like the idea of copying stuff though. For the counter example it's ok I suppose, but for everything else that might have even just a few changes in time, I'd leave a link so that they don't have to be synced every time.
So I'm about to prepare a PR for:

the deletion of the todomvc and the async examples
the replacement of the counter example with the cra-template-redux
adding the links of the fundamentals and the redux essentials example (still don't understand why we should call them MVC examples...)

Actually instead of linking the stuff, we could also copy the redux-fundamentals-example-app repo inside the example repo, but I've never experimented with this kind of configuration

You mean like a git submodule? https://git-scm.com/book/en/v2/Git-Tools-Submodules

You mean like a git submodule or subtree?

yes, or even simpler, symlinks: https://stackoverflow.com/a/4660048/2809729

I don't think you can symlink across repositories, unless you require users always clone both repositories in the same place relatively, but they that would probably break on GitHub. GitHub supports submodules, though I'm not sure about subtrees as they're newer.

@nickmccurdy clear enough for me. Let's just link them in the README, once some contributor or directly mark will have tested this solution (if he likes it) we will change it!

I'm working on real-world

This is made redundant by #3565. I would still like to move the examples out of this repo, as they add a ton of weight to the test process and a lot of noise to the git history.

I'd forgotten that that PR existed.
Biggest issue is that there are external links pointing to those folders. At a bare minimum, we would need to replace all of those folders' contents with a README that points to the new location.

We can submodule it.

@markerikson I would prefer to rewrite the shopping-cart. Do I need to use typescript to show the whole might of RTK?
Do I need to create the PR at the very beginning of work to be able to see the process of rewriting, or we just will replace the example folder with the single commit from PR when work will be done?

I didn't write it, but apart from the #3919 which is reorganizing the whole examples question, I'd like to refactor the "todos"

Well, clearly this effort stalled and went nowhere. We had a couple PRs filed, like #3922, but tbh I never got around to looking at it.
I'd really like to clean up the examples folder, nuke some dead examples, and update any others to show RTK.
I noticed we don't even have a TS CodeSandbox on the "TS Getting Started" page. I'm going to update all the example READMEs right now to say "this is outdated", replace the existing counter with our current CRA+JS template, and add a counter-ts example with our current CRA+TS template, so I can add a CSB embed of the CRA+TS example.
From there... honestly I have no great attachment to CRA at this point and I'm also open to converting them to Vite or something :)  But more than that I want examples that show RTK, not legacy Redux.
Anyone want to help redo the examples (basically from scratch)?

Hello dear contributor , I would like to contribute in this repo , specially this issue , would you please guide me , or at least assign me some task , to start help . Thank you in advance

It might be an idea to set up sandpack so the code sandbox examples can stay in the documentation repository as single source of truth

We don't actually need Sandpack - CSB can be pointed to a folder in the repo directly, and that's what we already do for both the Redux and RTK docs:
<iframe class="codesandbox"src="https://codesandbox.io/embed/github/reduxjs/redux/tree/master/examples/counter/?runonclick=1"sandbox="allow-modals allow-forms allow-popups allow-scripts allow-same-origin"></iframe>


JQuery not injected when popups turned off.

Current behavior
Turn popups off, JQuery not injected.
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>
<%@ Register TagPrefix="dnn" TagName="jQuery" Src="~/Admin/Skins/jQuery.ascx" %>

is included in the skin.
Expected behavior
JQuery UI should not be injected. But JQuery still should be.
This is how it worked before.
Affected version

[X] 09.10.02 release candidate

Workaround
Add JQuery CDN to the "HTML Header Tag" of all the Page.

DNN only includes jQuery if something on the page asks for it. If your theme or modules require jQuery they need to request it (via the jQuery theme object).  You've registered the jQuery theme object in your example, but if you don't have <dnn:jQuery runat="server" /> somewhere in the markup, then the registration doesn't do anything.

OK, That token was missing on the skin.  It fixes the problem.
But the designer is still going to go with his work around because of the JQuery Migrate that gets injected.
Thanks for your help.

Yes, the jQuery theme object does request jQuery Migrate.
https://github.com/dnnsoftware/Dnn.Platform/blob/87d23d3be194037ef7caba540ae6c31003522f46/DNN Platform/Website/admin/Skins/jQuery.ascx.cs#L19-L38
As does requesting jQuery without a version
https://github.com/dnnsoftware/Dnn.Platform/blob/87d23d3be194037ef7caba540ae6c31003522f46/DNN Platform/Library/Framework/JavaScriptLibraries/JavaScript.cs#L81-L103
However, if you request jQuery with a version, then only that library gets requested. I would suggest using JavaScriptLibraryInclude in the theme so you don't run into a scenario where something on a page (e.g. a module) requests DNN's jQuery and then you have two copies overwriting each other.
<%@ Register TagPrefix="dnn" TagName="JavaScriptLibraryInclude" Src="~/Admin/Skins/JavaScriptLibraryInclude.ascx" %>

<dnn:JavaScriptLibraryInclude runat="server" Name="jQuery" Version="3.0.0" SpecificVersion="LatestMajor" />


span environments tooltip - add private/public environment icon next to each one of the environments

Motivation:
Users can have 2 environments with the same name one private and the other public, in order to distinguish between them we should show an icon next to each one of the environments.

@ionuiux please provide design


add net.Listen compatible netpoll.Listen

Is your feature request related to a problem? Please describe.
netpoll.CreateListener has the same interface as net.Listen, but there is no netpoll.Listen
Describe the solution you'd like
rename netpoll.CreateListener to netpoll.Listen, or add a wrapper function
Describe alternatives you've considered
N/A
Additional context
N/A

@qsliu2017 it should be better that use "netpoll.Listen" at the beginning, but for now, it's hard to rename the Public API. What's problem you meet with current interface?

@qsliu2017 but it will let package have 2 same function public fuction... It's not a frequently-used function, and it not a Interface type so will not let anything break. So I think it's not worth to change it only for keep same with go net.


Unable to start Electron App no matter in WSL 1 or 2 with X Server

Windows Build Number
Microsoft Windows [Version10.0.19042.1110]
WSL Version

[X] WSL 2
[X] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu 18.04/20.04
Other Software
VcXsrv: <IP_ADDRESS>
Repro Steps
I have configured everything for X Server, and apps like xcalc can show up. However, I cannot start any Electron app.
Steps followed: https://www.beekeeperstudio.io/blog/building-electron-windows-ubuntu-wsl2
Besides, I tested on this repository: https://github.com/Molunerfinn/PicGo
Every time when I run yarn run electron:serve it just ended like the following image:

Expected Behavior
There should be an app start up.
Actual Behavior
Nothing happens.
Diagnostic Logs
No response

Running GUI apps is not officially supported unless you are using WSLg (which requires Win11).


[XSLT 3.0 Support] Managing errors

This issue is a specialisation of #127 concerning errors.
XSLT 3.0 added support for try / catch. So we can define functions with a strict signature, that throw error when something goes wrong.
Here is an example of such a function :
<xsl:function name="conf:getConfVar" as="xs:string">
  <xsl:param name="conf" as="element(els-conf:conf)"/>
  <xsl:param name="varName" as="xs:string"/>
  <xsl:sequence select="
    if (exists($conf/els-conf:variable[@name=$varName]))
      then
        $conf/els-conf:variable[@name=$varName]/@value
      else
        (error(
          $conf:ERROR_MISSING_ENTRY,
          concat('Entry ',$varName,' is missing in environment configuration')
        ))
    "/>
</xsl:function>

Such a function can not be tested, as XSpec is not able to use try / catch.
I'd expect to be able to test this function like this :
<x:scenario...>
  <x:call function="conf:getConfVar">
    <x:param name="conf" xmlns="foo:bar">
      <conf>
        <variable name="foo" value="nothing"/>
      </conf>
    </x:param>
    <x:param name="varName" select="'missing'"/>
  </x:call>
  <x:expect error:code="ERROR_MISSING_ENTRY" error:description="nothing is missing in environment configuration"/>
</x:scenario>

I create this issue, as we are working for a pull request proposal.

In xsl:variable "xslt-version" why get version in xspec xslt-version attribute and not directly in xslt stylesheet like this?
<xsl:variable name="stylesheet" as="document-node()"
  select="doc($stylesheet-uri)" />
<xsl:variable name="stylesheet-version" as="xs:decimal"
  select="doc($stylesheet-uri)/*[1]/@version" />

I don't know exactly why.
But I sometimes use XPath 3.x expression in .xspec file while the tested .xsl is still 2.0. Perhaps that's one of the reasons.

And yes, Saxon 9.7 is picky about the version when .xspec contains XPath 3.x:
...
  XPST0003: Concatenation operator ('||') requires XPath 3.0 to be enabled
Errors were reported during stylesheet compilation

So you can't simply take the version from the tested stylesheet.

OK thanks.

@AirQuick : could you have a look at this clone : https://github.com/Nico-Amplexor/xspec/tree/issue/500
@Nico-Amplexor is actually on holidays, but I think he has done quite a good job...

Quick random thoughts:

Success/Failure is determined only using some predefind rules? Isn't it more robust if we just expose a variable (e.g $x:err) which encapsulates all the error information? Then the user can test whatever she/he likes by using it like <x:expect test="$x:err?code eq 100 and ends-with($x:err?module, '/foo.xsl')" />?
Can you provide some basic tests (putting some Success instances of x:scenario into test/error.xspec, for example)? Then we can easily understand the actual usage patterns.
We'll need to update the schema if we update the grammar

(I just took a very rough look at the code changes. Sorry if I misunderstand something!)

XSLT 3.0 added support for try / catch. So we can define functions with a strict signature, that throw error when something goes wrong.
...
I create this issue, as we are working for a pull request proposal.

This would be a good improvement, as would a parallel change for XQuery 3.0.  (I just had to add 'pending' to four of six tests I wrote this morning because XSpec lacks a way to say that what is expected is that a dynamic error will be raised.)
If there are active XSpec users working with XSLT 2.0 or XQuery 1.0 processors, I can understand the need to be careful about assuming support for dynamic errors and try/catch.  But I would guess that there are more XSLT 1.0 users out there (people using xsltproc or in-browser stylesheets) than 2.0-but-not-3.0 users.  (Of course, that's just my guess; I do not have data.)

This would be a good improvement, as would a parallel change for XQuery 3.0.

Right now XSpec's XQuery implementation is way behind XSLT. The upcoming v1.3.0 fills some gaps. On  v1.4.0, XQuery will be mostly on a parity with XSLT (as far as I'm aware). It will be easier to implement new XQuery features then.

I have an implementation where you can set @catch in <x:scenario>.
With <x:scenario catch="yes">, its descendant-or-self scenarios will catch dynamic errors when invoking the tested module. The standard error variables including $err:code and $err:description are stored in $x:result as a map.
So, with the initial example (https://github.com/xspec/xspec/issues/500#issue-400638585), you would write a scenario like this:
<x:scenario... catch="yes">
  <x:call function="conf:getConfVar">
    <x:param name="conf" xmlns="foo:bar">
      <conf>
        <variable name="foo" value="nothing"/>
      </conf>
    </x:param>
    <x:param name="varName" select="'missing'"/>
  </x:call>
  <x:expect test="$x:result?err?code='ERROR_MISSING_ENTRY'"/>
  <x:expect test="$x:result?err?description='nothing is missing in environment configuration'"/>
</x:scenario>

If conf:getConfVar() didn't throw an error in the above example, $x:result contains its return items intact.
Is this fine with you, @cmarchand , @Nico-Amplexor , @cmsmcq ?
The implementation is available both for XSLT and XQuery. (requires 3.0 and 3.1 respectively)

Submitted #599


Missing return values

I miss return values, e.g. for keyword 'Connect'. In case of a connection error the test execution immediately stops and the test result is UNKNOWN. Why is it implemented in this way? The disadvantage is: The test has no chance to react on this.
It would be better to hand over the responsibility for error handling to the test developer. Maybe he wants the test to do something more before the execution ends.

Hi @HolQue ,
I agree to Cuong. We need to think a bit different than TML. Sometimes philosophy is slightly different.
Can you please try to use Run Keyword and Ignore Error ,... in SelfTests and verify if this fulfills our requirements compared to TML. Finally TML's function must be 100% covered.
Thank you,
Thomas

Hi Cuong, hi Thomas,
OK, I understand now. And I agree. The keyword Run Keyword And Ignore Error solves my concern.


[Rector] Apply Rector: RemoveUnusedVariableAssignRector

Remove unused assigns to variables with RemoveUnusedVariableAssignRector rector rule.
Checklist:

[x] Securely signed commits

I espacially like the part where the new Response is created and then never used 😆

Very nice.


Link to "buffer" example is broken

The link to the "buffer" example is not working, as the corresponding shadertoy doesn't seem to exist. Would you mind to share another example?

Hi Tim.
Yes, I deleted my old ShaderToy account and forgot to re-upload the example and modify the link in the tool.
Here's the re-uploaded example: https://www.shadertoy.com/view/7lKGzR
I will try to modify the link in the tool later...

@zduny thank you very much! The buffer example is still killing my browser :D (But that is totally off topic)


[Feature] Split the module into packages

Is your feature request related to a problem? Please describe.
As raised in other issues, it takes a long time to initially compile this module. It took my 8 core, 16G ram VM 4.5 minutes. I thought it had crashed and I'd left the room, only to come back later and see it actually just took an insane amount of time.
Describe the solution you'd like
I'm assuming that the reason it's taking so long is that the module has very large packages: glib + gtk. I don't know if it's possible but it would be much better to import just the things you need which should hugely reduce compile time.
Describe alternatives you've considered
The only alternative is not to use this library.

I understand that and am proposing a potential fix for that.


Move Major/Minor choices to JavaScript and show only when school is UTD

Also need way to indicate that university is UTD with JavaScript

Can this be done with just a checkbox in the degree model?


Installation on unix systems

It was surprising generated makefiles does not install library/headers into system. Instead it creates some xbin and install there.
Please make proper installation

Executables into /usr/bin by default
Libraries into /usr/lib by default
Headers into /usr/include

Where /usr prefix may be redefined and full path to lib directory may be redefined as well.
So project file should use PREFIX and LIBDIR variables passed to qmake and use some default values is not passed.

yes it would be nice to have a more generalized *.pro/*.pri combination.
(qhttp is mostly used as an static lib by myself)

I faced the same issue and I finally used the solution suggested by @azadkuh. I added CONFIG += staticlib in src/src.pro and then xbin/libqhttp.a is generated in addition to the shared library. To link, use -l:libqhttp.a instead of -lqhttp.


Recursively propagate feat traits to effect traits

This allows any propagation to action traits at all to also lead to a propagation to effect traits.

👏


Emoji shortcuts and important fix for segmentation fault!

I know it's not cool to have feature and a fix at the same time. The fix is important, but the "features" are just a shortcut I think are great for some applications.
The important one is the src/dpp/cluster.cpp

"cool" or not i'll still accept it and merge it, many thanks! :)


Command Injection Vulnerability

This exploit exists in this project. We've highlighted the affected lines
Details in this report
stackdriver-tools
https://github.com/cloudfoundry-community/stackdriver-tools/blob/master/src/common/utils.sh#L3-L4

This bug is not exploitable by logging to the firehose because log output is directed to a stream. This only affects our ctl scripts. Tile users are not affected by this.


Enable build on MacOS 10.14

Switch to minimal supported MacOS to 10.14
Enable onedal target in public CI

/intelci: run

/intelci: restart
set infra_branch=dev/napetrov_mac_onedal

@napetrov, there are is no oneAPI examples for Mac, I'll add it soon as part of this PR

/intelci: run
set infra_branch=dev/napetrov_mac_onedal

/intelci: run
set infra_branch=dev/napetrov_mac_onedal

/intelci: restart
set infra_branch=dev/napetrov_mac_onedal

There are warnings in macOS build that should be fixed


Indexing is ignoring all but one page

Consider the following output, running pagefind --verbose --source _site:
Running Pagefind v0.8.1
Running in verbose mode
Running from: "/home/itamarst/devel/pythonspeed.com"
Source:       "_site"
Bundle Directory:  "_pagefind"

[Walking source directory]
Found 180 files matching **/*.{html}

[Parsing files]
Did not find a data-pagefind-body element on the site.
↳ Indexing all <body> elements on the site.
5 pages found without an <html> element.
Pages without an outer <html> element will not be processed by default.
...

[Reading languages]
Discovered 2 languages: en-us, unknown
  * en-us: 169 pages
  * unknown: 1 page

[Building search indexes]
Language en-us:
  Indexed 1 page
  Indexed 824 words
  Indexed 0 filters

Total:
  Indexed 1 language
  Indexed 1 page
  Indexed 824 words
  Indexed 0 filters

Finished in 0.250 seconds

It found 170-180 HTML pages it knows how to index, but it only indexes one page? And when I try to search it does indeed seem to only have one page indexed.

Hello! 👋
Hmm, something looks to be slightly amiss here. Since Pagefind found two languages on your site (en-us and unknown) it is running multilingual mode and building an index for each language — some wires seem to have been crossed there though, as the single page en-us index logged below doesn't make sense.
Are you working on a public site that I could peek at? Otherwise I'll try reproduce this bug on my own.
One useful thing to test would be to run Pagefind again, but this time with the --force-language en flag to opt out of the multilingual behavior — curious to see what happens in this case.

That fixed it! Thank you.

This is definitely a bug, though, so if you have a reproduction case available I'd love to see it!

I don't actually have pages in multiple languages, so I'm not sure which page it's detecting as unknown...

Unknown just means that the page was <html> without a lang atttribute, instead of <html lang="en-us"> or the like.
These are supposed to be merged into your main language, but something has been mixed up in that logic causing the unknown page to replace the main language.
There's something amiss in my language map, I'll try track it down. I can see where, but not yet how 🙂

In an ideal world, you would have seen this log:
https://github.com/CloudCannon/pagefind/blob/76748ed333d5f4a74305c97c5aa55c90e985f753/pagefind/src/lib.rs#L160-L167

Tracked it down — this will be fixed in the next release ☺

Hello! This is fixed in the Pagefind v0.9.0 release 🎉


[$1000] No error shown if User B leaves the room while splitting the bill

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to staging dot on web chrome and login with User A
Create a room in public mode
Now on another web chrome login with User B as an Expensify user (Imp step)
On User A side, click on + icon on the room and click on split bill option > Enter the amount and click on next so that you get to see the Split money page (Do not split the amount and let the page remain open)
From User B, leave the room
On User A, now try to split the bill by clicking on the Split money button and notice nothing happens.

Expected Result:
It should have shown an error if User B leaves in between while User A tries to split the bill
Actual Result:
No error shown if User B leaves the room while splitting the bill
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number: 1.3.38-2
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/67c1ee9d-0bae-4d84-adaa-4a243abb97bc
https://github.com/Expensify/App/assets/43996225/12fdede4-d9ea-4f82-962c-99d0ae3d7e89
Expensify/Expensify Issue URL:
Issue reported by: @priya-zha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1688567897032649
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~010901a16a9425020c
Upwork Job ID:<PHONE_NUMBER>829661696
Last Price Increase: 2023-07-10

reproducible!

My only question - what is the error you would expect to see based on other error message and patterns?

Like in the other cases, we can show 'Hmm, it's not here page' OR if not, then the modal can be dismissed on User's B side.

Why do we allow split bill in public room?

That's part of the design, we want all users (with a validated account) to be able to split a bill. it enables better bottom up adoption.

what should happen when we split a bill with a user , and then he leaves the room ?

 or something like that!

If we think this warrants a larger conversation, let's take this to slack!

Brought this to slack - here https://expensify.slack.com/archives/C01GTK53T8Q/p1689860314396989


[WIP] using catalogue db image

Have only update the docker-only deploy.
Still needs to be modified for all others.

LGTM


Give opponent their own note colors?

What is your question?
Is there any way to give the opponent their own note colors using Lua?
There's not really much to explain with this one, basically just a script that can somewhat emulate how the note color thing works maybe? Or just a script that changes the opponents notes to a different png works as well.

https://www.mediafire.com/file/ddznxnaiq55r13p/opponentnote.lua/file
Try using this.
This might help


explicit community operator subscriptions for non-bundle install

Description of the change:
Motivation for the change:

https://github.com/open-cluster-management/backlog/issues/3047


OAuth flow results in 404 from github

Environment info

OS: osx
App Version (Command/Ctrl + ,): npm install && npm run build && npm run start on master ( 6288a86ba6a674122a8100a2dc3f04d0de063088 )

Description of the problem / feature request / question:
When clicking the Github Login button on startup, I get sent to a github 404 web page.  When I open up the inspector on the page, I think it's on the correct url:

I can't verify if this is wrong or not, but according to the oauth docs they mention using this url to begin the flow:
GET https://github.com/login/oauth/authorize

Which is what Lepton appears to be doing.  When I visit that url in a browser, I get the same 404, so maybe this is really a bug on Github: https://github.com/login/oauth/authorize

Where should this get reported, or how do I further debug this?

@cpdean
Did you try the release binary or build from the source? For the latter, you need to register the app on GitHub and provide the client id and secret. Please refer to the "Client ID/Secret" section of the README.

oh interesting, yeah i didn't do the full registration.
How do i put in urls for an electron app?

AFAIK, it doesn't matter what is the home page URL.  For the callback URL, it's a URL that the login page will be redirected to with an appended auth code.
This is a general OAuth app registration procedure. The Electron app uses an embedded webview(Chromium) to fetch the auth code from the redirected page(where the callback URL points to), so there is no difference between a web app and an Electron app here.  Ideally, each registration should have their own callback URL.
You can learn more about the GitHub OAuth process here.

Awesome, I registered an app for building and testing Lepton from source, i just used https://example.com/ for both urls and it worked fine.
Thanks!

Feel free to play with the code. If you find something interesting, don't hesitate to send a PR:)


Make web api for squoosh

Create a service that compresses and returns the compressed image according to the parameters entered
I need that haha

How do you envision this web API working?
Are you thinking where you post an image to an api url with query data for compression parameters and have this api return you the compressed image?
If so I believe squoosh runs purely in the browser so a web api like the above might be unlikely or out of the scope of Google's vision for this project.
However, since it's running in JS I guess it could be possible to clone squoosh and create a node application that could do this for you.

I hope it supports API access and can quickly compress images

We have a CLI now!


Healthboost, Armor & Quad appears too early

When joining the Sour server on Sourga.me; the Healthboost, Green & Yellow Armor, and Quad Damage items appear on the screen before they are actually spawned. You can not pick them up until they spawn in game. Then will then disappear like they are supposed to when picked up.
Tested on Sourga.me using Chromium on Linux.

Does this happen on every server or just the one accessible through "play" on the main menu?

That's a good question. I only jumped into a couple of other servers for a few minutes to see if it worked. I want to say I saw the same thing, but wasn't in them long enough to notice/remember. Will test against some others.

Currently not getting any servers listed in the Server Browser via sourga.me, so I can't test at the moment. Will try again later.

Please note that the item issue only appears after the start of a map. If you join a map after the items have already spawned, there is not an issue.

Ah, that makes sense. Right now there's a bug in the relay server which is causing it to crash after a while. Thank you for reporting!

Issue also exists on Firefox.
Might be an issue with Health pickups as well. Researching.

I did end up fixing this. Servers now load game maps to place entities properly, including spawns and flags. Web clients also delay initializing entities until after the map loads.


Block coinminerz.com

https://cryptocurrencytalk.com/topic/88008-coinminerzcom-a-new-multi-crypto-currency-mining-pool/

Thanks for the report, I'll have a closer look at that one.

Hi there Gentlemen,
I run coinminerz.com now known as 803 Mining Pool and we actively check to make sure no bot nets use our site and take action against those that do.
Is this just a general block of all mining pools as part of the plugin regardless of there policies or due to a known issue of someone abusing our service?
Also if this is to stop web based coinmining using the CPU then it shouldnt matter adding us as our difficulty is generally too high for a CPU miner to use it. Very happy to work with you on this no problem.
Thanks and look forward to hearing from you.
Kind Regards,
James @ 803 Mining Pool

Please block all miners, no exceptions.

Hi there @RaTcHeT302 just to confirm I don't condone or use webpage mining on my site. Please can someone let me know if they have found something I am not aware of? And why it warrants my mining pool being blacklisted? If this is the case how come the main mining pools are not listed in your blacklist such as Slush, Ghash etc? Am I missing something here? Once again I am against people mining using a brower as it is sneaky but how come my pool is involved here? Please provide some explanation.

I don't know why you mentioned me, I'm not part of the project, I don't know why other pools aren't blocked.

Hi @RaTcHeT302 I am just trying to work out why you thumbs down my comment and I have no answer as to why my pool is listed. Also I noticed you have since edited your original comment. I thought this app was trying to stop mining code from executing in a browser? If so has my pool been used for malicious purposes? When you say miners do you mean people that mine for coin, hardware miners or pool mining websites? Again I think it is great to create an app to block mining code as it's a great annoyance but I still don't understand why my site is listed. And if your not part of the project why did you thumbs down my question? Surely it makes more sense to target the malicious code than a wide block on all sites as they can be created so quickly with new DNS that keeping on top of a blacklist is difficult unless you get a lot of community feedback or a way to streamline blocking IP's or DNS addresses? But then again and I am guessing here as I have had no response as to why I am added. If anyone could simply let me know that would be great and keep up the great work! :) Of course you don't want double standards I was just asking for a why? Thanks everyone

Are there any examples of web miners using this site? I couldn't find any miner scripts on the link provided.

Closing issue for inactivity. Please reopen a new issues if you find a miner. Cheers!


Update specs2-core, specs2-scalacheck to 4.12.7

Updates

org.specs2:specs2-core
org.specs2:specs2-scalacheck

from 4.10.6 to 4.12.7.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.specs2" } ]

labels: test-library-update, semver-minor

Superseded by #227.


How to install last version of devise_security_extension

When Installing with gem, we don't get the last version of Master branch.
I need the changes in password_salt that are in master, it it possible to publish the new version ?
Thank you

This would help me also.

specify this in your gemfile
gem 'devise_security_extension', github: 'phatworx/devise_security_extension'

Can we get a version bump?


[Bug]: Allow outer variables to be modified inside functions- JSHint

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
fun1: () => {
        var total = {
          "all": 0,
          "filtered": 0
        };
        console.log(total);
        var p = [{"value": 1, "value": 2}]
        for(var i=0; i < p.length; i++) {
            Api1.run(() => {
                total["filtered"] += Api1.data.stat.all;
                total["all"] += Api1.data.stat.closed;
            }, ()=>{}, {_param1: Select1.options[i].value});
        }
        console.log(total);
        return total;
    }

This adds a error from JShint -
functions declared within loops referencing outside scoped variables may lead to confusing semantics
This causes user to stop js object from using unless then return this into promises
Steps To Reproduce

Create a js object
add the above piece of code
check the error

Environment
Production
Version
Cloud

solution-
add loopfunc: true to jsHint config


Print Contract Allocations

Tiny script to print airdrop allocations given to smart contracts that are not wallets.
Test Plan:
 python -m src.scripts.contract_allocations

Will print the following:
loading contracts from mainnet-contracts.txt
making batch call for 357 addresses on mainnet (this will take a while)...
found 278 wallet contracts on mainnet
found 49 contract allocations to non-wallets on mainnet.
printing Top 3
1. 0x7f30a53f290fc551a089bd83107906be649a92bd - 1.104M
2. 0xbf74c12d6e6a8c2bd7f36a917250e2bf8bffefc1 - 0.348M
3. 0x3e8468f66d30fc99f745481d4b383f89861702c6 - 0.010M
total mainnet (in WEI)<PHONE_NUMBER>894087768984187
loading contracts from gchain-contracts.txt
making batch call for 64 addresses on gchain (this will take a while)...
found 47 wallet contracts on gchain
found 16 contract allocations to non-wallets on gchain.
printing Top 3
1. 0x918a1f8ee8f8f9e0802071929ce5fe9eff60ac8c - 1.622M
2. 0x647507a70ff598f386cb96ae5046486389368c66 - 1.330M
3. 0xf6a78083ca3e2a662d6dd1703c939c8ace2e268d - 0.306M
total gchain (in WEI)<PHONE_NUMBER>577464636110864

Grand Total Non Wallet Airdrop Allocation (in WEI)<PHONE_NUMBER>471552405095051

Ran it and it looks good to me.
Note I had to generate the main allocations before running this python -m src.main.
I did not look over all of the contracts but I checked a few of them and they looked correct. Also, some of the unverified contracts are hard to determine whether or not they are wallets. With that in mind - I think we have to consider all unverified contracts as wallets. Otherwise, they could claim and swap for COW and then we won't have enough COW balance in the contract to cover all the swaps.
We should only discount contracts that we know for absolute sure cannot swap COW if claimed (which required verified code).
PS: reminder - remove the print statements.

Thanks @nlordell - I have cleaned up a bit, applied your suggestion regarding unverified contracts and made everything extra nice.
Logs should look like this for everyone now
loading contracts from mainnet-contracts.txt
making batch call for 357 addresses on mainnet (this will take a while)...
found 278 wallet contracts on mainnet
found 49 contract allocations to non-wallets on mainnet.
printing Top 3
1. 0x7f30a53f290fc551a089bd83107906be649a92bd - 2.208M
2. 0xbf74c12d6e6a8c2bd7f36a917250e2bf8bffefc1 - 0.697M
3. 0x3e8468f66d30fc99f745481d4b383f89861702c6 - 0.020M
total mainnet ~2.99M
loading contracts from gchain-contracts.txt
making batch call for 64 addresses on gchain (this will take a while)...
found 47 wallet contracts on gchain
found 16 contract allocations to non-wallets on gchain.
printing Top 3
1. 0x918a1f8ee8f8f9e0802071929ce5fe9eff60ac8c - 3.244M
2. 0x647507a70ff598f386cb96ae5046486389368c66 - 2.660M
3. 0xf6a78083ca3e2a662d6dd1703c939c8ace2e268d - 0.613M
total gchain ~6.55M
Total Non Contract Allocation (in WEI)<PHONE_NUMBER>943104810190102

Changes seem fine.
Please ignore. I looked at an old version. Will leave another review.

Also not that I have split this into two PRs to make this easier to review.

For the testplan, which allocation file should we use? The one within the repo?
Then I get:
python -m src.scripts.contract_allocations

loading contracts from mainnet-contracts.txt
making batch call for 391 addresses on mainnet (this will take a while)...
Traceback (most recent call last):
  File<EMAIL_ADDRESS>line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File<EMAIL_ADDRESS>line 86, in _run_code
    exec(code, run_globals)
  File "/Users/alexherrmann/gnosis/cow-token-allocation/src/scripts/contract_allocations.py", line 45, in <module>
    mainnet_total = non_wallet_allocation(
  File "/Users/alexherrmann/gnosis/cow-token-allocation/src/scripts/contract_allocations.py", line 15, in non_wallet_allocation
    not_wallets = account_info.get_non_wallets(
  File "/Users/alexherrmann/gnosis/cow-token-allocation/src/fetch/contracts.py", line 138, in get_non_wallets
    raise RuntimeError(
RuntimeError: Unclassified Contract Bytecode:
0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea265627a7a7231582099bf9ecf033b5a5cd7073e2e717749e94f49c79dbfc065d6204cb99db2ba11ab64736f6c634300050c0032
example address: 0x506109c8c43b1838a466f37dc3f57019fa0537ca

0x506109c8c43b1838a466f37dc3f57019fa0537ca seems to be a safe.

0x506109c8c43b1838a466f37dc3f57019fa0537ca seems to be a safe.

Yes, for some reason I have been getting this error a couple of times as well. Its very strange because if you search the project for this bytecode, you will find that it is indeed already included. I will have to figure out what is happening here...


How to Implement OAuth2 server / provider using Hapi?

I tried, Hapi OAuth2orize is not working properly.
Getting Plugin registration error.
I need to implement following end points in hapijs.
exports.endpoints = [
{method: 'GET', path: '/',  config:RequestCtrl.index},
{method: 'GET', path: '/login', config: RequestCtrl.loginForm},
{method: 'POST', path: '/login',  config:RequestCtrl.login},
{method: 'GET', path: '/api/userinfo',  config:RequestCtrl.userDetails},
{method: 'GET', path: '/dialog/authorize', config:{auth:false,handler: AuthorizeCtrl.authorize}},
{method: 'POST', path:'/dialog/authorize/decision', handler: AuthorizeCtrl.decision},
{method: 'POST', path:'/oauth/token', handler: AuthorizeCtrl.token}
];
Want to use JWT2 Tokens.
A sample code will be appreciated.
Thanks,

@mayankkumar0072 You may have already resolved this but I feel this is not related to crouton?
Might be worth updating/closing this in that case.

#262


Api client throws error if there is no GET method in the OpenAPI spec.

What happens?
createApiClientApp throw error when there is no GET method in the paths.
What did you expect to happen?
It should work without error. For example it causes gitbook to crash.
https://github.com/user-attachments/assets/0bcf99c9-98bc-413a-b43e-103f276dd4b4

OpenAPI Document
openapi.json

Thanks for the report! It’s working without a get operation it seems: https://sandbox.scalar.com/e/3Sy4u
Any chance you can share your OpenAPI file?

Thanks for the report! It’s working without a get operation it seems: https://sandbox.scalar.com/e/3Sy4u
Any chance you can share your OpenAPI file?
EDIT: Ah, you did already! Awesome. :)
Thanks.

Did you check the console logs? It throws an error about Vue emits.

I have a project where i was getting the same error in console log. Added a GET method and it disappeared but my real problem is that a POST method decorated with [FromForm] is not model binding. It has two fields but both are coming as empty strings.
I had another older project where the Form Post was working fine and there was NO error in the console log. I press Ctrl+F5 and the scalar.js updated. Now it see the error in the console log and Form Post also stopped working. Looks like some issue with scalar.js.
I created a new .net 9 WebApi project (minimal api) with just OpenApi and Scalar packages added. I see the same error in the console log and Form Post is NOT model binding in this one also.

I also got this error

I also got this error我也遇到这个错误

+1

hey @jesse996 @hieu79115 @ammar-haider @imburak im looking into this right now :)

good news @hanspagel i was able to recreate this in api-client-react playground
    <ApiClientModalProvider
      configuration={{
        spec: {
          content: {
            openapi: '3.1.0',
            info: {
              title: 'Hello World',
              version: '1.0.0',
            },
            paths: {
              '/foobar': {
                post: {},
              },
            },
          },
        },
      }}>
      ```

throws the error

i should be able to drill this down

i found it!
wow that took way way way too long
<ScalarTooltip
          side="right"
          :sideOffset="12">
          <template #trigger>
            <ScalarButton
              class="px-1 transition-none"
              size="sm"
              variant="ghost"
              @click.stop="deleteAllRows">
              Clear
              All {{ title }}
            </ScalarButton>
          </template>
          <template #content>

                Clear optional parameters

          </template>
        </ScalarTooltip>

its ScalarTooltip inside of RequestParams.vue

fix here https://github.com/scalar/scalar/pull/4341
not sure why it was throwing this error, but will look into it in the new year!


Changes made to linked files from DevTools are not visible when undo in the editor

Does this issue occur when all extensions are disabled?: Yes

When a linked file changed via Edge/Chrome DevTools (CSS or javascript) while VSCode had that file opened, doing undo in VSCode doesn't scroll to the line where the change occurred. This makes it nearly impossible to know what changes are being done, unless it happened to be scrolled exactly where undo is occurring.
Version: 1.74.2
Commit: e8a3071ea4344d9d48ef8a4df2c097372b0c5161
Date: 2022-12-20T10:29:14.590Z
Electron: 19.1.8
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045
Sandboxed: No

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!


Fix #1809

D'oh. Our approach for sourcing the package version in setup.py is flawed, we need to get that fixed first.


Umlaute or Currency symbols are not preserved

We have following code:
    {
        return currencyString switch
        {
            "EUR" => "€",
            "GBP" => "£",
            "USD" => "$",
            _ => string.Empty,
        };
    }

If we use the Rider plugin this code will be produced
  public static string ToCurrencySymbol(this string currencyString)
    {
        return currencyString switch
        {
            "EUR" => "â‚¬",
            "GBP" => "Â£",
            "USD" => "$",
            _ => string.Empty,
        };
    }

Using the CLI gives us no problems. Also the Visual Studio Plugin does not give us this problem

This was a bug with the new http version of communicaton with csharpier 0.28 not reading the result from csharpier as UTF-8. I submitted the new version to jetbrains but it may take a couple of days for them to approve it.
I added a release for the new version if you want to grab it directly - https://github.com/belav/csharpier/releases/tag/rider-1.7.1
Otherwise I think downgrading to 1.6.4 should also work.


The CMakePresets.json file presented in the text is incompatible with the CMake shipped with VS 2019 (latest)

In the documentation on how to use vcpkg the CMakePresets.json file uses a version 3 schema.
This schema type is available only with Cmake version 3.21, while the version shipped with VC 2019 is 3.20, and therefore the
subsequent
cmake --preset=default
fails with the error "Invalid preset".
Please either:

Add a pre-requisites section indicating the need for a newer CMake (and link to instructions on how to install a more modern cmake)
Correct the CMakePresets.json file to be compatible with version 2 schema
Arrange for an update to the Cmake in 2019 (and others) so that the json file successfully processes

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

ID: 5099d71b-6e6f-f2d6-ab3f-3e8327541245
Version Independent ID: 5099d71b-6e6f-f2d6-ab3f-3e8327541245
Content: Install and use packages with CMake
Content Source: vcpkg/get_started/get-started.md
Product: vcpkg
GitHub Login: @JavierMatosD
Microsoft Alias: javiermat

Closing as the schema version seems to have been updated to 2 a while ago.


Difficulties including library in client-side code

When I include the library together with RequireJS like the following in an HTML page I get the error and stack trace below:
<script src='https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.20/require.js'></script>
<script>
  require(['http://cpettitt.github.io/project/graphlib-dot/latest/graphlib-dot.js'], function(dot) {
    console.log(dot);
  });
</script>

Uncaught TypeError: Cannot read property 'Graph' of undefined
  3../graphlib @ graphlib-dot.js:55
  s @ graphlib-dot.js:1
  (anonymous function) @ graphlib-dot.js:1
  8../build-graph @ graphlib-dot.js:2619
  s @ graphlib-dot.js:1
  (anonymous function) @ graphlib-dot.js:1
  2../lib/graphlib @ graphlib-dot.js:28
  s @ graphlib-dot.js:1
  (anonymous function) @ graphlib-dot.js:1
  (anonymous function) @ graphlib-dot.js:24
  1../index @ graphlib-dot.js:26
  s @ graphlib-dot.js:1e @ graphlib-dot.js:1
  (anonymous function) @ graphlib-dot.js:1

What do I need to do to make graphlib-dot work with RequireJS (which is a requirement)?

I don't have any experience with RequireJS, but there seem to be some issues with it and browserify, which is what I used to build the graphlib-dot bundle. See discussion / suggestions here: https://github.com/substack/node-browserify/issues/790.

Thanks for the pointer. I can confirm that it works when I add graphlib-dot with a  <script> element before the one for RequireJS. Would be still neat to  use graphlib-dot as RequireJS module, though.


Readme: adds info about failing ssh connection

Explain how to fix ssh connection trouble when the github project was cloned using an ssh alias (to manage the ssh key to use).

I used dune-releasefor the first time and I faced just one difficulty about ssh aliases. This HOWTO could be useful for other users. Do not hesitate to reword the suggested text.


Updates for freshwater

add chunks override option
update to intake2
improved vertical options
added complexity around if the model might have gaps, like for ciofs freshwater
fixed title in plot
generalized surface plot better
test fixing

Codecov Report
Attention: Patch coverage is 9.38776% with 222 lines in your changes missing coverage. Please review.

Project coverage is 33.24%. Comparing base (4fe262e) to head (f2ba44f).

Files with missing lines
Patch %
Lines

ocean_model_skill_assessor/main.py
5.55%
119 Missing :warning:

ocean_model_skill_assessor/plot/surface.py
0.00%
79 Missing :warning:

ocean_model_skill_assessor/plot/__init__.py
0.00%
16 Missing :warning:

ocean_model_skill_assessor/utils.py
14.28%
6 Missing :warning:

tests/make_test_datasets.py
0.00%
2 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (4fe262e) and HEAD (f2ba44f). Click for more details.
HEAD has 15 uploads less than BASE

Flag
BASE (4fe262e)
HEAD (f2ba44f)

unittests
18
3

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #69       +/-   ##
===========================================
- Coverage   70.70%   33.24%   -37.46%
===========================================
  Files          22       22
  Lines        2379     2208      -171
===========================================
- Hits         1682      734      -948
- Misses        697     1474      +777

Flag
Coverage Δ

unittests
33.24% <9.38%> (-37.46%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Not sure if Windows is really not working or it is residual caching.


router: unified header formatters

Commit Message:
unified formatters for access log and header
Additional Description:
At the core of this PR are changes to signature of just two methods:
HeaderFormatter::evaluateHeader - it used to take only stream_info as param. Now it also takes RequestHeaderMap and ResponseHeaderMap. This is required to directly map parameters to access log substitution formatters.
Router::ResponseEntry::finalizeResponseHeaders - added RequestHeaderMap to the parameters.
Remaining changes are around changes to those two methods.
Header formatters used to have internal parser and its own set of formatters. Now parsing is done by access log's parser and header formatting is done via access log's substitution formatters.
Runtime guard envoy_reloadable_features_unified_header_formatter was added to allow using the previous implementation of parser and formatters.
New changes are fully backward compatible. However, header formatters for DYNAMIC_METADATA, UPSTREAM_METADATA and PER_REQUEST_STATE had a different format than access log's equivalent. Temporary translators have been added for those 3 formatters and will be removed when old format is deprecated.
All substitution formatters are allowed to be used. Some usage does not make sense though. For example, it is possible to modify request headers using a formatter which needs response headers, like ,%RESP(X-SERVED-BY)%. At the moment of modifying request headers, the response headers are not present yet and formatter produces empty string. It is left up for the administrator to select only formatters which make sense to use. This behaviour could be modified by adding attribute flags to each formatter indicating where formatters can be used (for example only in request headers, only in response headers or both), but it would come at some code complexity.
Risk Level: Med
Testing: Added unit tests.
Docs Changes: Yes.
Release Notes: Yes
Platform Specific Features:
Runtime guard: envoy.reloadable_features.unified_header_formatter
Fixes #20389
Fixes #15036

/retest

/retest

/assign-from @envoyproxy/first-pass-reviewers

/docs

/wait

@tonya11en would you mind giving this a review
@cpakulski looks like this needs another main merge

@wbpcode would you be able to take a look at this ?

/assign

/retest

Code is ready for review. For some reason lcov counts comments as code lines, which brings down coverage. I will address it later.

Thanks. This is a great work. It seems that there are some base interface updates.
Before the further review, I wonder could we update the StreamInfo to set and get request/response headers/trailers? The StreamInfo provides interfaces to get/set request headers for now, could we extend these interfaces to set and get more info of request/response messages? 🤔 Then all the formatters could work with only one parameter of StreamInfo.
May be also related to #22242.
cc @alyssawilk
/wait-any

Before the further review, I wonder could we update the StreamInfo to set and get request/response headers/trailers? The StreamInfo provides interfaces to get/set request headers for now, could we extend these interfaces to set and get more info of request/response messages? 🤔 Then all the formatters could work with only one parameter of StreamInfo.
May be also related to https://github.com/envoyproxy/envoy/pull/22242.

I was actually hoping to remove get/set request headers from StreamInfo after this PR is accepted and runtime guard is retired. It was used only by REQ(X) header formatter which will be replaced by equivalent REQ(X) access log formatter which does not take headers from StreamInfo.
If you look at the code, whenever formatters are called to manipulate headers, all required params (including request and response headers) are already easy to access and there is no need to take them from StreamInfo.
IMHO it would be cleaner to not to pack everything to StreamInfo.

IMHO it would be cleaner to not to pack everything to StreamInfo.

Although I agree with you in this point. I still think the headers/trailers could be set into StreamInfo because it's metadata of request/response streams.
Wait some more input from other maintainers. @alyssawilk @envoyproxy/envoy-maintainers

regarding stream info, I think everything else accessible from stream info is owned by stream info and the headers AFIK can't be, so I'd either be inclined to remove the APIs and pass those fields explicitly as done here, or make them shared pointers and move underlying ownership to stream info.
Not a strong opinion though and I'm happy to defer to @mattklein123 as he's back today

One extra thought. When I was working on Postgres filter, I wanted to add access log for database transactions: type of operation, database name, table name, etc. It was not trivial because API interface to access logging is very HTTP specific. To solve the problem I envisioned type specific access log interface. For example database like Postgres would pass transport specific information via StreamInfo, and database specific information via DB parameters like:
log(operation, table, db_name, stream_info)
In other words, streamInfo could be shared between different protocols and remaining parameters could be protocol specific. That is the reason I think it would be cleaner to keep Http outside the StramInfo.
Thank you for all the comments so far. I am away right now and will address them when I get back (in 3 weeks).

In other words, streamInfo could be shared between different protocols and remaining parameters could be protocol specific. That is the reason I think it would be cleaner to keep Http outside the StramInfo.

What I expected before is that we add a protocol-independent wrapper to stream info to wrap all protocol-related data.
Then, based on that, we can construct a generic format interface std::string format(const StreamInfo::StreamInfo&).
Based on the generic format interface, we can go a step further and construct the generic access log (#13085).
Envery proxy can reuse the access loggers by implementing as set of formatters that implement the ``std::string format(const StreamInfo::StreamInfo&)`.
This is a very rough idea though, and I haven't figured out how to handle grpc logger yet.

Thank you for all the comments so far. I am away right now and will address them when I get back (in 3 weeks).

Thanks for you great work. This PR is very helpful and valuable. I will add wait tag before you get back. 😺
/wait

Going back to the issue whether headers should be saved in stream_info or not...

regarding stream info, I think everything else accessible from stream info is owned by stream info and the headers AFIK can't be, so I'd either be inclined to remove the APIs and pass those fields explicitly as done here, or make them shared pointers and move underlying ownership to stream info.
Not a strong opinion though and I'm happy to defer to @mattklein123 as he's back today

The current situation is that only request headers are saved in stream_info. They were saved only because "old-style" header formatter (the ones we are trying to deprecate in this PR) took only stream_info as a parameter. Access log formatters do not read request headers from stream_info.
After refactoring the code to use access log formatters to manipulate headers, there is no need to read the headers from stream_info anymore, so I was planning to remove them from stream_info after runtime guard is deprecated. In all places I needed request/response headers they were readily available either as local variables, as parameters or as data members.

@cpakulski Thanks for still working on this. After rethinking your design again, may be it's OK to separate the protocol dependent message from the protocol independent stream info.
But could we wrapper these request and response headers/trailers to a simple HttpMessage and unifiled all the formatter interface?
// Just for example.
struct HttpMessage {
  Http::RequestHeaerMap* request_headers{};
  Http::RequestTrailerMap* request_trailers{};
  Http::ResponseHeaderMap* response_headers{};
  // ......
};

By this way, if we added trailer support in future (update response headers based on request trailers, logging support for the request trailers, etc.), we needn't update all these methods again.

@wbpcode

But could we wrapper these request and response headers/trailers to a simple HttpMessage and unifiled all the formatter interface?
// Just for example.
struct HttpMessageInfo {
const Http::RequestHeaderMap* request_headers{};
const Http::RequestTrailerMap* request_trailers{};
const Http::ResponseHeaderMap* response_headers{};
// ......
};
By this way, if we try to add trailer support in future (update response headers based on request trailers, logging support for the request trailers, etc.), we needn't update all these methods again. 🤔

I agree, but as I noted in https://github.com/envoyproxy/envoy/pull/21932#discussion_r965326784, I would prefer to do it after runtime guard is deprecated. Lots, and I mean lots of code will be removed then and interfaces will be easier to change.
What I would like to achieve in this PR is simply to funnel all format calls to access log implementation with minimum "bridging". I can open an issue to track/rethink interface to unified formatters.

@wbpcode after you are done reviewing can you ping me for a final pass? Thank you.

@wbpcode Thanks for reviewing. I appreciate your effort  to understand the changes and call flow. I know it is not easy to review hundreds of lines.

And according to previous discussion, we will have a dedicated PR to unify all interfaces and some others.
So, could we defer all these unnecessary interface updates to the future dedicated PR and minimize the code change in current PR and avoid duplicate interface updates?
The whole work can be divided into three parts:
Make the access log formatters work for the header with minimum code change.
Unify all the interface after the runtime guard is expired.
Remove deprecated interface in the stream info (getRequestHeaders).

This is still the plan. The whole problem here is that the "new" (access log) formatters require different set of parameters, which are not available in stream_info, so some API changes are unavoidable in this PR.

The whole problem here is that the "new" (access log) formatters require different set of parameters, which are not available in stream_info, so some API changes are unavoidable in this PR.

Yeah, I agree. But still some method signatures could stay the same in this PR. We can update it in the future dedicated PR. At that time, we can do a more uniform design of these interfaces.

/wait

@wbpcode Thanks for reviewing. I addressed all your comments and reverted most methods to the original form which reduced size of this PR by around 300+ lines :).
However, it sometimes comes at a cost of retrieving request headers from streamInfo in methods' bodies and adding mocked methods in tests. So in effect the new code relies on streamInfo's getRequestHeaders more than before. But I agree with you that the code is easier to review and understand with this approach. I also believe that when it comes to removing streamInfo's getRequestHeaders it will be easier to do it module by module instead of in one big step, so it seems to be the right approach.

/retest

@wbpcode Thanks for another review! I reverted most of calls  to evaluateHeader in tests to the version with 2 params. It was possible because in those cases headers to be generated did not depend on response headers (did not have for example RESP(x) formatter). I extended one test case to be dependent on both, request (REQ(X)) and response (RESP(X)) headers and therefore all 4 params must be passed to evaluateHeaders method.

/retest

/retest

Thanks. Great.

cc @mattklein123 I think this is ready for a final review.
Some background: according to previous discussion, this PR will not change the method signature as far as possible to reduce impact to exist code tree (except some unavoidable updates). We will have a dedicated PR to unify all these interfaces after the runtime guard is expired.
Something I think is important: If the runtime guard (default to true) is OK for the scene. It will break users' configuration immediately if the user does not change the runtime guard value to false. I think this behavior change has a bigger impact.

/assign @mattklein123


Some nice things

Yes I see the can't automatically merge warning. I'll figure it out

fixed merge conflicts


Macro: Store custom presets in browser local cache

Custom presets should be stored in browser's local cache and restored in the monomer library on Ketcher restart.
In case certain preset loaded from the cache conflicts with another preset loaded from the library (has the same name), its name should be modified by adding "_Copy" to the end. The new name should be validated again and if still not unique, yet another postfix to be added, etc. Preset with updated name should replace the original one in browser cache.

Verified.

Indigo Toolkit Version 1.20.0-dev.1.32-gf28bad61-wasm32-wasm-clang-12.0.0
Ketcher Version 2.21.0-rc.2 Build at 2024-05-13; 05:32:02
Chrome Version 124.0.6367.201 (Official Build) (64-bit)
Windows 10


Add onChange event

See: https://github.com/dotansimha/angularjs-dropdown-multiselect/issues/42

This feature is included ?
if not , +1 For This feature to be merged

How to get selected text(label) from the multiselect other than the id????


dev: adopt the new #[abi_embed(v0)] notation on the whole repo

As a result of this release: https://community.starknet.io/t/cairo-v2-3-0-release-candidate/101137
We will now follow the new norm
### Tasks
- [ ] In contracts crate, adopt the new abi_per_item norm
- [ ] Mark with external only the required functions

ERRATUM: I want the abi_embed for when we implement an Interface, otherwise abi_per_item

Can check existing PRs / code for those keywords

Hey, happy to try this one!

Awesome;D


Test: TLS 1.3 Server Extensions Fixes Part 1 (#1644)

Please note that while we are transitioning from travis-ci to AWS CodeBuld, some tests are run on each platform. Non-AWS contributors will temporarily be unable to see CodeBuild results. We apologize for the inconvenience.
**Issue #1641 **
Description of changes:

Part 0: Add s2n_server_extensions_send_size()

splits s2n_server_extensions_send() and helps add more tests
for server extensions

Part 1 - disables extensions that should not be sent in TLS 1.3
server extensions. These should be move to their new extension
destinations with relation to RFC8446

(cherry picked from commit 917ce70c59b3ae29bcd76c7934784d70b3a6b9dc)
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (test@cf3045f). Click here to learn what that means.
The diff coverage is n/a.

Integration and unit tests on ubuntu 18.04 passed locally.


Writes to disk still occur when in preview mode

Preview mode is designed with SwiftUI previews in mind. We want to prevent writes to disk and keep data in memory only, when isPreview is set to true.
Photo resources are still being written to disk.

I don't believe it is the onus of this library to prevent writes to disk and instead keep data in memory. The consumer of this library should declare the root directory as the temp folder.


[Missing SNMP Profile] CISCO 10-Port Gigabit Managed Switch

Device Vendor: Cisco
Device Model: SG 300-10 10-Port Gigabit Managed Switch
System Object Identifier (SysOID): .<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS>
Serial Number: PSJ16160AYL
List of critical metrics that you expect in the profile (does not need to be all-inclusive, just a general idea of your expectations):
all metrics related to mib id.txt
cisco mib id.txt

@Ratchanad - - please provide an snmpwalk output from your device so we can add this to our queue for building new profiles. thanks!

Please provide a public gist with a sanitized (sensitive information removed) SNMP walk of the device. Providing MIB files is not a substitute for an SNMP walk and failure to provide one here will result in delays for closing this issue. The output of these commands shows the "true story" of what a device will respond to in SNMP and is used to ensure that our profiles are efficient and accurate for your devices.

Example SNMP walk commands:
# v2c example
snmpwalk -v 2c -On -c $COMMUNITY_STRING $IP_ADDRESS . >> snmp_walk.out

# v3 example
snmpwalk -v3 -On -l authPriv -u $USERNAME -a MD5|SHA -A $AUTH_PASS -x DES|AES -X $PRIV_PASS $IP_ADDRESS . >> snmp_walk.out

@Ratchanad - - please provide an snmpwalk output from your device so we can add this to our queue for building new profiles. thanks!

Please provide a public gist with a sanitized (sensitive information removed) SNMP walk of the device. Providing MIB files is not a substitute for an SNMP walk and failure to provide one here will result in delays for closing this issue. The output of these commands shows the "true story" of what a device will respond to in SNMP and is used to ensure that our profiles are efficient and accurate for your devices.

Example SNMP walk commands:
# v2c example
snmpwalk -v 2c -On -c $COMMUNITY_STRING $IP_ADDRESS . >> snmp_walk.out

# v3 example
snmpwalk -v3 -On -l authPriv -u $USERNAME -a MD5|SHA -A $AUTH_PASS -x DES|AES -X $PRIV_PASS $IP_ADDRESS . >> snmp_walk.out

v2c example
snmpwalk -v 2c -On -c public <IP_ADDRESS> >> snmp_walk.out
snmp_walk.zip

Thanks, this is in queue to get a profile built, after the issue closes you will want to pull the latest image and rediscover these devices.

PR has been submitted for review; note this device has no CPU or Memory metrics based on the results of the SNMP walk provided

PR can check What metrics can the device detect?

@Ratchanad - this device has been added under the general Cisco switch profile here
Active collection is enabled on all metrics on that profile; along with the profiles shown in the extends section at teh top of the YAML; the ktranslate container will poll against all of the listed OIDs and return data for every metric that the device supports, as evidenced by the provided SNMP walk.

Closing with #82


Performance issues when scaling to multiple GPUs

Hello and thank you for this fantastic repository!
I am trying to run inference on the laion2B-en dataset and thus am looking for a lot of performance. During performance testing on a small subset of 6921 images, I noticed that the performance gains were not as large as expected when going from 1 GPU to 4 GPUs using data parallelisation (I have confirmed that they are all under full load using nvidia-smi).
In the docs, I read that increasing the request throughput is the main issue when encountering req-queue=0, so I increased the amount of requests I send in parallel from 1000 to 1500. The prefill batch phase now takes significantly longer, but req-queue=0 has not changed.
Could you please help me understand my mistakes? I expected the total time in row 2 to be 25 - 30 % of row 1 when quadrupling the resources, but in my case it only dropped to 54 %. Also I expected row 3 to outperform row 2, but the opposite happened.

--dp
batch_size
avg. time per batch
total time

1
1000
42.34s
6m 2.46s

4
1000
16.87s
3m 16.29s

4
1500
2m 54.19s
13m 10.41s

sglang version: 0.4.0
GPU: NVIDIA A100-SXM4-80GB
environment: containerized
python: 3.10.15
model: AIML-TUDA/LlavaGuard-v1.2-0.5B-OV
chat template: chatml-llava

Sorry for waiting so long.
What is the batch size you are specifically using? @FinnGu

Also, scaling to multi dp replica could introduce the routing concern. Try SGLang router instead.

https://sgl-project.github.io/router/router.html
@FinnGu

Hi @zhaochenyang20,

Sorry for waiting so long.

no worries, I'm thankful you are taking the time!

What is the batch size you are specifically using? @FinnGu

I am trying to run inference on the laion2B-en dataset (2 billion images scraped from Common Crawl). Right now I have decided to use them in 336x336 resolution as that is the native resolution of LLaVa. The best performing batch_size in my tests has been 1.000, but I was hoping to increase that to use the cache more efficiently.

scaling to multi dp replica could introduce the routing concern

Can you explain this a bit more? Do you think using the router is more efficient than the --dp flag?

yeah. Try router. It's much better than --dp.
https://sgl-project.github.io/router/router.html

Thank you @zhaochenyang20!
I will try the router this week and update here in case anyone else googles it later.


Incorrect sourceMappingURL generated

Hello,
For our specific setup we create the map file and move it into the same place the minified CSS lives. The issue is that the pre-generated sourceMappingURL is pointing to a network location where the files are referenced, which is therefore the incorrect place when loaded from the web.
Example:
/*# sourceMappingURL=Z:/Custom/Templates/Saber/WWWRoot/content/live/client_rd_base_donotdelete/default/css/styles.min.css.map */
I can see there is an option to prefix this link, but there doesn't appear to be a way for me to say just use the filename and no path.
Thanks

I'm also having simular issue to this.
I'm moving my prod ready files to dist/scripts/*.js.map, nginx then serves my dist folder.
So my config is like this

  return gulp.src(['src/**/*.js'])
    .pipe($.sourcemaps.init())
    .pipe($.sourcemaps.write('../dist', {
        'sourceMappingURLPrefix': '/scripts'
    }))

my resulting sourceMappingURL
//# sourceMappingURL=/scripts/../dist/scripts/app-91b1b644.js.map
What I want
//# sourceMappingURL=/scripts/app-91b1b644.js.map
So I solved this by doing this, not sure it's related to your problem
https://github.com/getanewsletter/gulp-sourcemaps/commit/cdbec2e9dfc3cf50f0c184ae0d2ac68ec5ebd84a

Hey @jonlil - Yes I think you are right that is the problem, or similar to what I am after.
Are you submitting a pull request for the main sourcemaps repo? If not, how do I point my npm node module to your version?
Thanks

Actually my issue is with the line 225 in index.js where the dest file path is included. Because that appears local we want to ignore it.

To help with edge cases like this there is a new option sourceMappingURL now, which allows full control over the URL.


rPackages.RBioFormats: skip load check

Description of changes
Tries to download a .jar file during first .Onload. By skipping the load test after installation, we defer this to the first call to the library. Alternatively, we could make the jar in a separate derivation, but then we'd have to update the hash each time it changes.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build rPackages.RBioFormats

LGTM, just need conflicts resolved.

should be okay now

@ofborg build rPackages.RBioFormats


Missing

I'm hitting a snag trying to install and run this, and I'm hoping it's just something obvious that I'm missing.  When I attempt to run the CMAKE commands to build the directory, there's a call out to a file that doesn't seem to exist.  As the file is supposed to be in live2d/core, I'm assuming it was supposed to be either part of Live2D Cubism SDK for Native download or downloaded from somewhere else.    Any ideas where I might find that file?
Here's the error:
D:\XX\X\Live2LOVE>cmake -T v120 -H. -Bbuild -DBUILD_SHARED_LIBS=1
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.22631.
-- The C compiler identification is MSVC 18.0.21005.1
-- The CXX compiler identification is MSVC 18.0.21005.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/amd64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/amd64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:32 (add_subdirectory):
The source directory
D:/XX/X/Live2LOVE/live2d/Core

does not contain a CMakeLists.txt file.
-- Selected Live2D Core MSVC ver: 120 (x86_64)
-- Configuring incomplete, errors occurred!

Live2D Cubism Core v4 no longer provides CMake file. Please see #2.

Live2D Cubism Core v4 no longer provides CMake file but at same time I'm no longer maintaining this project. Please see #2.

Thank you so much for taking the time to respond, and for your work on this project.  Good luck!

@Tatalebuj I have a fork (which I might merge it here later) working for macos. I plan to support Windows and Linux in the future.
https://github.com/RW21/Live2LOVE


Adaptive Cards on Android missing Password toggle icon

Copied bug from: https://github.com/microsoft/AdaptiveCards/issues/8249
Details from original post:
Target Platforms
Android
SDK Version
4.18
Application Name
Microsoft Teams Mobile - Android
Problem Description
Adaptive cards rendered on Android Mobile for a password field containing "style":"Password" are missing the Input visibility toggle icon( the Eye icon).
Screenshots

Card JSON
{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.5",
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "TextBlock",
            "size": "Medium",
            "weight": "Bolder",
            "horizontalAlignment": "Center",
            "wrap": true,
            "style": "heading",
            "text": "Sign in with Username & Password"
        },
        {
            "type": "Input.Text",
            "id": "user_name",
            "isRequired": true,
            "label": "Username",
            "errorMessage": "Username is required",
            "style": "Email",
            "placeholder": "e.g<EMAIL_ADDRESS>        },
        {
            "type": "Input.Text",
            "id": "password",
            "isRequired": true,
            "label": "Password",
            "errorMessage": "Password is required",
            "style": "Password"
        }
    ],
    "actions": [
        {
            "type": "Action.Execute",
            "title": "LOGIN",
            "verb": "login",
            "data": {
                "id": "LoginVal"
            }
        }
    ]
}

Sample Code Language
No response
Sample Code
No response---
Document Details
⚠ Do not edit this section.It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3fb4394d-25b1-8752-3996-fe3a2934732d
Version Independent ID: 6d391381-89d0-117c-27cc-00043bd26a36
Content: Cards reference - Teams
Content Source: msteams-platform/task-modules-and-cards/cards/cards-reference.md
Product: msteams
GitHub Login: @surbhigupta12
Microsoft Alias: surbhigupta12

@RaghuramVelichetiEntytle - We checked this issue from our end and can confirm that the password toggle icon is not showing in Android. (Android 11)

Teams version:

In Desktop/Web and iOS it works fine.
Desktop/Web:

iOS:

We have raised a bug for the same and engineering team is looking into it. We will inform you once we get any further update. Thanks!


How long does it take to train?

How long does it take to train?

It depends on your problem and the amount of resources you use. Please refer to the TLeague technical report for some instances of solving complex games.
https://arxiv.org/abs/2011.12895


Config for R-dev-env Gitpod workspace

Gitpod yml config file
Dockerfile for Gitpod
Github Actions workflow to build gitpod docker image

Solves issue number : #111 #109


Left navbar visual design problem (general title to close to avatar)

There is caption general at left menu under user picture. It's to close to each other.
It looks like general is username, but it's not. It should looks like navigation bar caption.
Here is screenshot:
Just adding
.main_menu_side {margin-top: 100px;}
will fix the problem
And looks much better:

Hi there @taime ,
I think you're not using the latest version , because in the latest one that space it's already there, nevertheless some small changes can be made there so I will add enhancement level to this one, thank you !


In custom LayoutManager (extends RecyclerView.LayoutManager) RecyclerView.getChildViewHolderInt NullPointerException issue

Hi!
After trying similar to this (simplify version):
@Override
public void onLayoutChildren(RecyclerView.Recycler recycler, RecyclerView.State state) {
     ....
     addView(new TextView(mRecyclerView.getContext()))
}

I have an exception:
java.lang.NullPointerException
    at android.support.v7.widget.RecyclerView.getChildViewHolderInt(RecyclerView.java:2497)
    at android.support.v7.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:4807)
    at android.support.v7.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:4803)
    at android.support.v7.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:4791)

I can't add to RecyclerView child view without ViewHolder?

Hi,
I am facing the same problem, but I obtained the view from the adapter, like this:
for (int i = 0; i < getItemCount(); i++){                 View newBadge = recycler.getViewForPosition(i);             }
Thanks for your help!
Error: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.support.v7.widget.RecyclerView$ViewHolder.isRemoved()' on a null object reference


Comments: API Gateway and Lambda Logs

Link to chapter - https://serverless-stack.com/chapters/api-gateway-and-lambda-logs.html

Input for changing instructions due to AWS console "tab changes" ->
Click tab “Logs”
Checkmark “Enable CloudWatch logs”
Log level -> “INFO”
Checkmark “Log full requests/responses data”
Checkmark “Enable Detailed CloudWatch Metrics”
Click button “Save changes”

@topguncharl Thanks for letting us know. Just updated it - 2716a7ef80b7706d181393cfcbc65739fffb5955

This issue was moved to https://discourse.serverless-stack.com/t/comments-api-gateway-and-lambda-logs/31


Can we include all labels: values in the service definition written to consul...

I am trying to recreate the functionality between ciscocloud/marathonpconsul and ciscocloud/haproxy-consul
In the original setup the full service definition as described in marathon was inserted straight into kv's in consul.
I can see this function:
func (c *Consul) marathonTaskToConsulService(task *apps.Task, app *apps.App) (*consulapi.AgentServiceRegistration, error) {
IP, err := utils.HostToIPv4(task.Host)
if err != nil {
return nil, err
}
serviceAddress := IP.String()
return &consulapi.AgentServiceRegistration{
	ID:      task.ID.String(),
	Name:    app.ConsulServiceName(),
	Port:    task.Ports[0],
	Address: serviceAddress,
--->	Tags:    c.marathonLabelsToConsulTags(app.Labels), <----
	Checks:  c.marathonToConsulChecks(task, app.HealthChecks, serviceAddress),
}, nil

}
I would have assumed that it would have picked up all these labels from my service definition:
"ports": [10000],
"labels": {
"consul": "basic-3",
"HAPROXY_HTTP": "true",
"HTTP_PORT_IDX_0_NAME": "basic-3",
"HTTP_PORT_IDX_10000_NAME": "basic-3"
},
but it doesn't...
Additionally I wanted to pull in the ports.
Any advice?

Here simple VM that demonstrates how marathon-consul works with haproxy (including tags).
In usage you can find description how to register tasks with tags:

Labels with tag value will be converted to Consul tags, e.g. (note: consul-tag is set to marathon) labels: ["public":"tag", "varnish":"tag", "env": "test"] → tags: ["public", "varnish", "marathon"]

So to distinguish services avaliable over HTTP you can set marathon label to " http":"tag" and than handle it differently in consul template.

Thanks -- that clears it up!


⚠ Bofrost.fr has degraded performance

In f43335c, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1388 ms

Resolved: Bofrost.fr performance has improved in 916f2c4 after 7 minutes.