Routes are not found when they contain parameters (19.11.0)

Reporting issue where routes are not being resolved when they contains parameters, as in the example below.
I migrated from Finatra v19.7.0 to v19.11.0. The Expected behavior below works in v19.7.0, but fails in v19.11.0.
Test
prefix(value = "/hello") { post(route = "/:status/?") { request: Request =>... } }
Results in a 404 for /hello/on, /hello/off/, /hello/anything/. Changing the route from /hello/:status to /hello/on explicitly, will resolve the route when a request to POST /hello/on/ is made.
Expected behavior
POST /hello/on/ will call post(route = "/:status/?")
POST /hello/off/ will call post(route = "/:status/?")
Actual behavior
The endpoint cannot be found
15:21:24.881 [finagle/netty4-1-4] INFO  c.t.f.h.filters.AccessLoggingFilter - 0:0:0:0:0:0:0:1 - - [27/Nov/2019:20:21:24 +0000] "POST /hello/on/ HTTP/1.1" 404 - 26 "PostmanRuntime/7.19.0"
Reproduce
Make a POST request to the route /hello/:status/, where the route is inside one or more prefixes.

Here are additional details. Removed sensitive details.
Router
override protected def configureHttp(router: HttpRouter) {

  router
    .filter[CommonFilters]
    .filter[LoggingMDCFilter[Request, Response]]
    .filter[TraceIdMDCFilter[Request, Response]]

    ...

    .add[MyController]

}

 override def configureHttpServer(server: Http.Server): Http.Server = {

  server.withMaxRequestSize(StorageUnit.fromMegabytes(5))
    .withRequestTimeout(twitterDuration.fromMinutes(1))
}

Controller
class MyController extends Controller ... with Logging {

  private val fetchInterval = Duration.fromSeconds(seconds = 30)

  private val sseHeaders = Map(
    "Connection" -> "keep-alive",
    "Content-Type" -> MediaTypes.EventStream,
    "Cache-Control" -> "no-cache"
   )

  prefix(value = s"/api/v1") {

   prefix(value = "/hello") {

      post(route = "/:status/?") { request: Request =>

         ...

      }

  }
}

Removing the prefixes causes the same behavior.
Using com.twitter::
finagle-*-19.11.0
finatra-*-19.11.0
inject-*-19.11.0
twitter-*-19.11.0
util-*-19.11.0

Hi @cernerae-avlino ,
I ran a test on the latest version of Finatra HTTP routing (no behavior change since our 19.9.0 release) and I was unable to reproduce the issue you reported, prefixed routes with route parameters is working as expected. Is there anything I am missing?
There are the test details:
Controller
  prefix(value = s"/api/v1") {     prefix(value = "/hello") {       post(route = "/:status/?") { request: Request =>         "Done!"       }     }   }
Test passed
  test("prefixed routes with parameters") {     server.httpPost(       "/api/v1/hello/on/",       "",       andExpect = Ok,       withBody = "Done!"     )   }

Figured it out (related to https://github.com/twitter/finatra/issues/514#issuecomment-559235331). I was defining a "root" controller at the top of the stack to catch and handle endpoint requests that are not found. I moved the controller to the bottom of the stack and it stopped blocking, but was still catching correctly.
Stripped down from original.
     class TestRootController extends Controller with .... {

         private val apiVersion = appConfig.getString("app.apiVersion")

          options("/:*") {
                _: Request => response.ok
          }

         /**
            * GET: Endpoint not found
            */
         any("/:*") { _: Request => response.notFound }

         prefix(s"/api/") {

              options("/:*") {
                   _: Request => response.ok
               }

          /**
             * GET: Endpoint not found
             */
             any("/:*") { _: Request => response.notFound }

              prefix(s"/$apiVersion") {

                 options("/:*") {
                     _: Request => response.ok
                  }

                /**
                   * GET: Endpoint not found
                   */
                any("/:*") { _: Request =>
                    info("NOT FOUND!")
                    response.notFound
                }

           }

       }

    }

Do you know why was this working in v19.7 but not in v19.11?

Hi @cernerae-avlino ,
Thanks for the details! And yes, the way you define the controller happens to reflect one major change of routing in v19.9. Before v19.9, Finatra stores routes per method verb. When a route comes in, we will check its method verb, and will only match routes that were defined for that method verb. But in v19.9, we will store the method verb with a route, and we match the route path first then decide if there is a matching method verb. This helps us distinguish a 404 not found response vs. a 405 method not allowed response.
In your case, since you defined 2 routes:
Option("/:")
Any("/:")
Before v19.9, if you call Option("/abc") from your app, it will only look for the routes that defined for the Option keyword, and you got a perfect match. However, after v19.9, it will find 2 routes that matches  /abc, and whichever defines first will be matched. So if you define Any first, it will return the Any route.
In fact, the reason your controller works before is because it happens to catch a grey area in routing pre v19.9. As Chris mentioned in another ticket, Finatra will match routes in order. So please keep that in mind when defining the controllers :-)
Hope that answers your question!
Best,
Jing


Bug: $builder->ignore()->insertBatch($data); - Only ignores on first iteration of batch

PHP Version
8.0
CodeIgniter4 Version
4.1.8
CodeIgniter4 Installation Method
Composer (using codeigniter4/appstarter)
Which operating systems have you tested for this bug?
Windows
Which server did you use?
apache
Database
MariaDB
What happened?
When using ignore() with insertBatch() only the first iteration of the batch uses the proper INSERT IGNORE INTO... statement.
Steps to Reproduce
In model call: $this->ignore()->insertBatch($data);
Be sure that batch is larger than one.
Expected Output
Expected that each iteration of a batch insert will use INSERT INGNORE INTO.. in SQL statement.
Anything else?
It looks like the code has recently changed quite a bit for /codeigniter4/system/Database/BaseBuilder.php.
line 349 the property $this->QBIgnore is set
    public function ignore(bool $ignore = true)
    {
        $this->QBIgnore = $ignore;

        return $this;
    }

line 1636 starts a loop for batches in the method insertBatch()
        for ($i = 0, $total = count($set); $i < $total; $i += $batchSize) {
            if ($hasQBSet) {
                $QBSet = array_slice($this->QBSet, $i, $batchSize);
            } else {
                $this->setInsertBatch(array_slice($set, $i, $batchSize), '', $escape);
                $QBSet = $this->QBSet;
            }
            $sql = $this->_insertBatch($this->db->protectIdentifiers($table, true, null, false), $this->QBKeys, $QBSet);

            if ($this->testMode) {
                $savedSQL[] = $sql;
            } else {
                $this->db->query($sql, null, false);
                $affectedRows += $this->db->affectedRows();
            }

            if (! $hasQBSet) {
                $this->resetWrite();
            }
        }

the problem occurs on line 1652 where the method resetWrite() is called. This method sets the property QBIgnore to false
            if (! $hasQBSet) {
                $this->resetWrite();
            }

as a patch I have modified the resetWrite() method to accept the QBIgnore property and allow this field to be persisted each iteration of the loop.
the resetWrite() method as I have modified it on line 2632
    protected function resetWrite($qbIgnore=false)
    {
        $this->resetRun([
            'QBSet'     => [],
            'QBJoin'    => [],
            'QBWhere'   => [],
            'QBOrderBy' => [],
            'QBKeys'    => [],
            'QBLimit'   => false,
            'QBIgnore'  => $qbIgnore,
        ]);
    }

then on line 1652 I have modified the call to resetWrite() method to include the current state of QBIgnore property and allow it to be persisted through loop.
            if (! $hasQBSet) {
                $this->resetWrite($this->QBIgnore);
            }

then on line 1657 after batch loop ends the method is called without the QBIgnore  parameter to reset. This was not modified.
$this->resetWrite();
I'm not sure if this is the best way of fixing the problem as I'm not sure exactly of everything going on here. The fix does provide the desired behavior in the basic scenario mentioned above.

@sclubricants Thank you for reporting.
I sent a PR: #5672


feat: add a dialog if User denies notfication permission

Fixes Issue
**My PR closes #730 **
👨💻 Changes proposed(What did you do ?)
Changed the response of notification trigger function . Added a dialog if the user denies the permission .
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title and description of the PR is clear and explains the approach.

Note to reviewers

I would suggest to first show the dialog and then request for permission .
📷 Screenshots

@AdarshKumar02291 i see your suggestion, i will merge this, can you please create a new issue based on your suggestion, thanks!


violin plot orientation = :horizontal not working

The orientation of violins in horizontal mode is not working:
x = rand(1:3, 1000)
y = randn(1000)
fig, = violin(x, y; color = :black,  orientation=:horizontal)

This does not work because violin theme does not have an attribute orientation and the docstring doesn't match the implementation:
https://github.com/JuliaPlots/Makie.jl/blob/78820311c9b45347f0937caf8b31a25bbc27dd73/src/stats/violin.jl#L16


File path tweaks in UI

Adjust file path to wrap at 30 chars instead of 25/15.
Allow text selection of path. No idea why Semantic UI blocks selection on those, so I overrode it.
Turn a few
s into s so that copied text from the path does not include newlines.

Before

After

LGTM

LGTM


Can't pull screenboards

Running doggy pull 46006 didn't work. Seems like doggy doesn't pull down screenboards?

poke @bai :)

Closing this one off as fixed.


Downloaded zip version not working

demo of Ladda works on https://lab.hakim.se/ladda/ but the copy I downloaded (the zip file) but I'm having trouble getting it to work - I'm using the same browser in each case.
On the downloaded copy of the demo the spinner does not appear, the submit button takes me immediately to example.com.
I noticed that the css filenames mentioned in README.md do not match those in the css directory and 'dist' does not exist, so I created it and downloaded ladda.min.css, ladda.min.js and spin.min.js into it.  Looks like I'm not supposed to down load form-bundle.js though.

If you want to run the demo locally you have to follow the instructions in https://github.com/hakimel/Ladda/blob/master/CONTRIBUTING.md. To use Ladda in a project, install it from npm per the instructions in the readme.

If you want to run the demo locally you have to follow the instructions in https://github.com/hakimel/Ladda/blob/master/CONTRIBUTING.md. To use Ladda in a project, install it from npm per the instructions in the readme.


Teach as more directives

... preferably these:
.comm
.data
.section
.text

Especially having more sections, defined by .section, would be beneficial - it would be possible to have more than one data data sections with different RW flags.

Finished some time ago, as now understands more than this subset of common directives.


Pixel-level representations with DINOv2

Hi. In a lot of research papers, I have read that DINOv2 can generate pixel-level representations. Could anyone let me know how I could obtain that as the features I have right now are patch-based. Many thanks.

Hi, I have the same question, have u found some methods?


UI: Copy snippet button should indicate when something has been copied

Copy snippet button should indicate when something has been copied, maybe with a little checkmark or something.

This has been added for the 4.30 release


VMS: Added new method to gather entropy on VMS, based on SYS$GET_ENTROPY

This system services is based on FreeBSD 12's getentropy(), and is
therefore treated the same way as getentropy() with regards to amount
of entropy bits per data bit.

Note: I'm keeping this a draft until VSI has started rolling out the patch that adds this system service.

Putting WIP in the title helps as draft doesn't show in the email thread only on the web interface.

s/gether/gather/g  (commit message and pr title)

I've tested this on VMS with the 1.1.1 branch (the master branch is currently in a pitiful state on VMS)

Ping!

Should this go back to 1.1.1 as well?
Better entropy is a bug fix in my opinion.

Should this go back to 1.1.1 as well?
Better entropy is a bug fix in my opinion.

I've argued the same thing, but others disagree.  I can go either way, so someone else decide, please.

It seems we have enough quorum for a backport, see the label that got added just now

Merged.
master:
8b9896eb293a0861f0b8c191b7a278f176b729e6 VMS: Added new method to gather entropy on VMS, based on SYS$GET_ENTROPY.
1.1.1:
0a71b62107e7175d9bbecf9458bbc0bcbf05d148 VMS: Added new method to gather entropy on VMS, based on SYS$GET_ENTROPY.


cmd/compile: constant folding math/bits functions

What version of Go are you using (go version)?
Current git master 577967799c22e5a443ec49f494039f80e08202fe
What did you expect to see?
There is a very easy optimization possibility of constant folding various functions from math/bits.
Would there be interest in implementing these?
Personally, I could work on this, but I'm pretty new to the compiler internals and don't have a CLA yet.
$ git diff 577967799c22e5a443ec49f494039f80e08202fe

diff --git a/src/cmd/compile/internal/ssa/gen/generic.rules b/src/cmd/compile/internal/ssa/gen/generic.rules
index 92b5b04962..7a81712ccc 100644
--- a/src/cmd/compile/internal/ssa/gen/generic.rules
+++ b/src/cmd/compile/internal/ssa/gen/generic.rules
@@ -142,6 +142,14 @@
 (Div32F (Const32F [c]) (Const32F [d])) -> (Const32F [f2i(float64(i2f32(c) / i2f32(d)))])
 (Div64F (Const64F [c]) (Const64F [d])) -> (Const64F [f2i(i2f(c) / i2f(d))])

+// TODO: add more functions from math.bits here
+(BitLen32 (Const32 [c])) && config.PtrSize == 4 -> (Const32 [int64(bits.Len32(uint32(c)))])
+(BitLen32 (Const32 [c])) && config.PtrSize == 8 -> (Const64 [int64(bits.Len32(uint32(c)))])
+(BitLen64 (Const64 [c])) && config.PtrSize == 4 -> (Const32 [int64(bits.Len64(uint64(c)))])
+(BitLen64 (Const64 [c])) && config.PtrSize == 8 -> (Const64 [int64(bits.Len64(uint64(c)))])
+// TODO: is there a "ConstInt" to avoid "PtrSize" checks and simplify the rules above ?
+// TODO: do we have to reimplement math.bits in the compiler because of bootstrap issues ?
+
 // Convert x * 1 to x.
 (Mul8  (Const8  [1]) x) -> x
 (Mul16 (Const16 [1]) x) -> x
diff --git a/src/cmd/compile/internal/ssa/gen/rulegen.go b/src/cmd/compile/internal/ssa/gen/rulegen.go
index c23a54d9b5..e7dc2b39af 100644
--- a/src/cmd/compile/internal/ssa/gen/rulegen.go
+++ b/src/cmd/compile/internal/ssa/gen/rulegen.go
@@ -155,10 +155,12 @@ func genRules(arch arch) {
        fmt.Fprintln(w)
        fmt.Fprintln(w, "package ssa")
        fmt.Fprintln(w, "import \"math\"")
+       fmt.Fprintln(w, "import \"math/bits\"")
        fmt.Fprintln(w, "import \"cmd/internal/obj\"")
        fmt.Fprintln(w, "import \"cmd/internal/objabi\"")
        fmt.Fprintln(w, "import \"cmd/compile/internal/types\"")
        fmt.Fprintln(w, "var _ = math.MinInt8  // in case not otherwise used")
+       fmt.Fprintln(w, "var _ = bits.UintSize // in case not otherwise used")
        fmt.Fprintln(w, "var _ = obj.ANOP      // in case not otherwise used")
        fmt.Fprintln(w, "var _ = objabi.GOROOT // in case not otherwise used")
        fmt.Fprintln(w, "var _ = types.TypeMem // in case not otherwise used")

Thank you @markus-oberhumer for the proposal and for offering to work on it, very much appreciated to have contributors jump on board, welcome to the Go project!
So as you noticed, in deed that CLA would be necessary to review changes, please sign it if you can.
In the meantime I'll ping @randall77 @cherrymui.

Yes, this optimization sounds like a good idea.
The config.PtrSize tests are unfortunate.  It would be nice if we could reorganize the introduction of these ops in cmd/compile/internal/gc/ssa.go to make them unnecessary.  I can't think of anything off the top of my head, however.  @griesemer : do you remember why it is organized this way (the output size of the BitLen* ops being implicit)?
@odeke-em I think this is too small to be considered as a proposal.  Just do it™®.

Ahaha roger that @randall77 Just do it™® #ShiaLaBeouf.
Sure, I'll update the title as this is something that can be done with a CL, and has been accepted.

I now have my Gerrit account and CLA ready, so I've started working on this optimization.
Implementation is indeed straightforward, but I've noticed some suprising issue while adding the test cases:
Choosing which functions are considered intrinsics in src/cmd/compile/internal/gc/ssa.go is made under consideration if an arch has efficient runtime instructions for handling that function, so any SSA constant folding is only made for specific archs.
For example, math.Sqrt(16.0) is not computed at compile time for GOARCH=386 because math.Sqrt is not considered an intrinsic for sys.I386.
I'm just wondering if this is a known issue and if there are any plans of improving this. Thanks!

( Somewhat unrelated, int(math.Sqrt(16.0)) is not computed at compile time even for sys.AMD64, but this should probably be a new  GitHub issue. )

For example, math.Sqrt(16.0) is not computed at compile time for GOARCH=386 because math.Sqrt is not considered an intrinsic for sys.I386.
I'm just wondering if this is a known issue and if there are any plans of improving this. Thanks!

This hasn't really been an issue before.  I suppose I would chalk it up to "unfortunate".  You might be able to add an additional "argument is a constant" check which triggers intrinsification regardless of arch, but that would be an imperfect check at Node->SSA time.
Doesn't seem worth the trouble to fix.

Ok, thanks, but then unfortunately many archs will be missing the new constant-time optimizations.

I think all the archs aside from 386 should be able to do all the intrinsics.  It just hasn't been implemented yet for some of them.
Another option is to always do the intrinsic, and convert back to a call for those archs which can't do the intrinsic.  That would allow your optimization to trigger in all cases.
That would be a lot of work, though.

I think all the archs aside from 386 should be able to do all the intrinsics. It just hasn't been implemented yet for some of them.

Well, for example math.bits Reverse64() will only be constant-folded for GOARCH=arm64, because no other CPU has a RBIT instruction.
But I agree that changing this would be a lot of work (and a much better understanding of the compiler than I have right now).

How's it going here @markus-oberhumer and @randall77?  Bumping to 1.11.

We started constant folding bits.TrailingZeros as part of 1.15.

Actually I did implement this 2 years ago, but I never found the energy to start using Gerrit...
In any case the implementation is as simple as outlined in my initial post.
And just in case anybody is interested, I've pushed my work (based on the go1.13 branch) to Github - please see
https://github.com/markus-oberhumer/golang--go/commits/constant-fold-math-bits--go1.13
and the actual commit at
https://github.com/markus-oberhumer/golang--go/commit/30e05d8cc945c73c4945932f9206e504cfc872d3
A few test cases are still missing, but otherwise this should be complete.
Cheers,
Markus

@markus-oberhumer thanks. Have you signed a CLA? Without that I'm afraid we can't look at your commit. If you have, and you don't mind, I can get your work incorporated, although the commit will be in my name. (I can credit you in the commit message.)
Alternatively, the Go project now accepts GitHub PRs...

Yes, I did sign the CLA back in 2017 and have a Gerrit account.
But as mentioned I never found the energy to actually start using Gerrit...

@josharian Please use whatever parts you find useful from my commit - this is much less work than me starting to rebase the commit to go1.15 and going through the review process.
Thanks!

Aye aye.
Can a Googler (@ianlancetaylor maybe) check CLA status for me, just to confirm? Thanks.

I can send a CL with the fixes and added tests - but CLA might still need to be checked.

JFTR, my account at https://cla.developers.google.com/clas says: "Google Individual CLA" signed "Sep 14, 2017 03:27 PDT".


Convert urxvt documentation to common mark

Motivation for this change
Resolves #105263
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

code and rendering look good; thanks!


add support and review page. removed paylater

system has no paylater to have a paylater page probally will be add later for now hidden. until we collab with paylater

seems reasonable. merge request approved


refactor(storage): improve filters and docs

Refactor SQL storage filter
Improve code docs

Codecov Report
Base: 48.96% // Head: 48.80% // Decreases project coverage by -0.16% :warning:

Coverage data is based on head (60a4a3e) compared to base (9d6ff17).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head 60a4a3e differs from pull request most recent head a04432a. Consider uploading reports for the commit a04432a to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #210      +/-   ##
==========================================
- Coverage   48.96%   48.80%   -0.17%
==========================================
  Files          19       19
  Lines        2510     2502       -8
==========================================
- Hits         1229     1221       -8
  Misses       1209     1209
  Partials       72       72

Impacted Files
Coverage Δ

storage/sql.go
71.42% <100.00%> (-4.58%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Do Not Use Lock File

Describe the bug
The SQLiteJDBCLoader class uses a "lock file" to determine when a process is using a SQLite binary library file. The lock file is unreliable, it may leak the lock file, and therefore may allow many instances of the SQLite binary library files to accumulate in the /tmp directory.

Deletion will be attempted only for normal termination of the virtual machine, as defined by the Java Language Specification.
Note: this method should not be used for file-locking, as the resulting protocol cannot be made to work reliably. The FileLock facility should be used instead.

https://docs.oracle.com/javase/8/docs/api/java/io/File.html#deleteOnExit--
Expected behavior
Unused copies of the SQLite binary files are cleaned up reliably.

For additional context, I came across a scenario where a service on a host was stuck in a fail-retry loop. It ended up filling up the drive of the host with these files and knocked out all other services on the host as a result.

I've been looking at this question quite a bit in-depth.
The biggest issue in my mind is trying to cleanup after oneself in failure scenarios. I think the answer is: you don't.
As things stand, every time the application starts, this library scans the entire contents of the /tmp directory. From a traditional, long-running, production server standpoint, this is not ideal as it adds some amount of extra startup time and variability into the initialization.  If you are running a long-running traditional production server, you are best served by shipping your application with a copy of the sqlitejdbc binary and you configure sqlite-jdbc to use that explicit copy instead of trying to use this auto-deploy feature. Also, as I learned the hard way, the current cleanup code is not all that robust and will leak files if both the jdbcsqlite binary and its corresponding lock file are not cleaned up during an abnormal termination of the JVM (i.e., System.exit(-1)).
If you are using an application that is transient: short-lived docker container, or AWS Lambda, then the auto-discovery feature seems perfectly fine and simplifies things for you.
If you are running this from a CLI, or from multiple JVMs concurrently (and you're not shipping your own copy of the sqlitejdbc file), I think it would be most helpful to instead re-use any sqlitejdbc files in the /tmp directory. There already exists code here to verify if a file on disk is byte-for-byte the same as the one being shipped (i.e. stored in Java Resources package). I think in those scenarios, it should use scan /tmp directory and discover any existing copies instead of dropping yet-another copy onto disk for every invocation of the JVM.

PR welcome


this client cant work!

Hi,
just tried your class and it has at least two bugs. Doesnt work w/o modifications! I can pinpoint a few:
198: const path = awsSigV4Client.pathComponent + request.path;
needs to be:
198; const path = awsSigV4Client.pathComponent;
268: Must be part of the signing process and needs to be moved more to the top.

@logemann We talk about using this in this chapter here - https://serverless-stack.com/chapters/connect-to-api-gateway-with-iam-auth.html.
And we have had this in production for quite a while. For line 198, request.path is being used and can be passed in when you invoke it. For line 268, I'm not sure what you mean.
Can you show me the errors you are running into?

awsSigV4Client.pathComponent + request.path results in
/dev/api/createuser/http://.....
client call looks like this:
const signedRequest = sigV4Client
.newClient({
accessKey: AWS.config.credentials.accessKeyId,
secretKey: AWS.config.credentials.secretAccessKey,
sessionToken: AWS.config.credentials.sessionToken,
region: "eu-central-1",
endpoint: "https://xxxxx.execute-api.eu-central-1.amazonaws.com/dev/api/createuser"
})
.signRequest({
method: "post",
path: "https://xxxxxx.execute-api.eu-central-1.amazonaws.com/dev/api/createuser",
headers: {},
queryParams: {},
});
For 268: If you use a sessionToken, this must be signed too and with your code, you dont sign that.

@logemann This isn't well documented because it was a part of the tutorial. But path is relative to the endpoint.
And in the examples we do use sessionToken and line 268 doesn't need to be moved up for it to work. I'm not sure what error you are seeing. But we are using this exact setup in production and in the past versions of the tutorial.

whatever. The path got constructed wrongly with the caller mentioned in my post and with your code from github.
Also in your code sessionToken wont get signed in the Authorisation header which is also obvious because the signing happens a few lines above. You just put the sessionToken in the X_AMZ_SECURITY_TOKEN header but you dont sign it.
Perhaps you dont use sessionTokens or its in fact not needed to sign it (Postman does it though) but either one of the two issues broke the call to AWS or both of them.

@logemann What type of authentication are you using for your API?

I know that this client is a variant of AWS api gateway SDK which you can download. But you modified the path portion which made the problem for me. I rewrote this thing to be a class btw. Didnt touch the content very much apart from two parts i mentioned. I can put that on github if you like.
What do you mean which type auf Auth? You mean the API GW authorizer? This is AWS_IAM.

@logemann Yeah feel free to put it up and link to it here. We have moved on to using AWS Amplify instead of this client. But if I can test the case that is causing the issue, then I'll update it here as well.


Adding initial workflow commit

Testing out workflows.
Kinda hard to test out until we have something to be released.
Also need to add the rubygem env token

See #46

Closing because using #51


Show b2C SAML metadata url when adding a SAML IdP to B2C

add-IefPoliciesIdp SAMl should show the url for b2C metadata that can be used in the SAML IdP.

Fixed in 3.1.9


using caffeine replace guava cache

Make sure set the target branch to develop
What is the purpose of the change
using caffeine replace guava cache
Brief changelog
using caffeine replace guava cache
Verifying this change
TopicRouteService class
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Codecov Report

Merging #4669 (7bfba8a) into develop (0d1eec2) will decrease coverage by 0.15%.
The diff coverage is 55.66%.

@@              Coverage Diff              @@
##             develop    #4669      +/-   ##
=============================================
- Coverage      45.04%   44.89%   -0.16%
- Complexity      7613     7632      +19
=============================================
  Files            977      978       +1
  Lines          67778    68069     +291
  Branches        8959     9001      +42
=============================================
+ Hits           30533    30559      +26
- Misses         33478    33721     +243
- Partials        3767     3789      +22

Impacted Files
Coverage Δ

...apache/rocketmq/broker/BrokerPreOnlineService.java
0.00% <0.00%> (ø)

...ocol/header/namesrv/GetRouteInfoRequestHeader.java
0.00% <ø> (ø)

...tmq/namesrv/processor/DefaultRequestProcessor.java
58.88% <ø> (-2.91%)
:arrow_down:

...rocketmq/remoting/netty/NettyRemotingAbstract.java
53.95% <0.00%> (-0.17%)
:arrow_down:

...apache/rocketmq/store/timer/TimerMessageStore.java
54.18% <36.36%> (+0.08%)
:arrow_up:

...a/org/apache/rocketmq/broker/BrokerController.java
46.52% <66.66%> (-0.04%)
:arrow_down:

...ocketmq/proxy/service/route/TopicRouteService.java
65.38% <71.42%> (-15.57%)
:arrow_down:

...etmq/namesrv/processor/ClientRequestProcessor.java
70.37% <73.33%> (+25.37%)
:arrow_up:

...g/apache/rocketmq/store/timer/TimerCheckpoint.java
91.39% <90.90%> (+24.73%)
:arrow_up:

...ntroller/processor/ControllerRequestProcessor.java
24.17% <0.00%> (-22.64%)
:arrow_down:

... and 59 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Severity explanation incorrect

The Azure CLI command reference says "Severity of the alert from 0 (low) to 4 (high)" but the Alerts Overview information on https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-overview indicates "...0 (critical) to 4 (verbose)".

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

ID: d97968df-72c9-e50c-d5b1-54562c1bdef7
Version Independent ID: 0cde4f15-6464-3106-b787-3ee37c7de0ee
Content: az monitor metrics alert
Content Source: src/azure-cli/azure/cli/command_modules/monitor/_help.py
Service: monitoring-and-diagnostics
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

hi @MyronFanQiu could you pls have a look? thanks

add to S170

@ade-nz Thanks for reporting this. official doc should be the source of truth. https://docs.microsoft.com/en-us/azure/azure-monitor/platform/alerts-overview We will refine the help message.

This issue has been fixed by https://github.com/Azure/azure-cli/pull/13512


Regionally priced DLC is not marked as owned

Something I don't plan to fix, but want to capture details here. The way GOG does regionally priced products is creating separate products with different ids. There is Product entry for it that maps to ProductData and another one for GameDetails that has different id. To mitigate this for purposes of marking products owned, updated, wishlisted, etc. I've been using "bundles" where I bundle product and gamedetails object together (see Quake series as example). However this won't work for DLC currently as there is no good way to track DLC that is regionally priced (that means it's id would be different from ProductData id) and doesn't have id in GameDetails. Potentially I could use title comparison to understand whether this is owned, but I currently don't plan to do anything about it. Known product affected is Frozen Synapse: Red - and there is no real functional impact - files would be downloaded, DLC would be shown under Frozen Synapse (just without image or details, since I can't map this to ProductData).

As mentioned in description - not something I plan to fix soon


On a send you cannot paste in the amount without a recipient

On the send screen you cannot paste in a bitcoin amount from your paste buffer until you select a recipient. The recipient field goes red and grabs focus if it is blank.
It's a bit annoying as you should be able to enter either an amount or recipient first.

Altered verifier so that user can move focus from recipient is fails validation

OK. There may be other fields where this behaviour should be copied to ensure consistent behaviour. It may also affect the FEST tests.

Verified working.
Closing.


Feature request: let tab key move upwards in the list

Category

[ ] fzf binary
[ ] fzf-tmux script
[ x] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[ x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[x ] bash
[ ] zsh
[ ] fish

The keybinding can be changed with --bind, but it would be nice to make this as default.

I suppose by left-tab you mean shift-tab. We bind shift-tab to "toggle-up" action by default. It's used when --multi is set.

Since the list grows in the up direction, I think the default way should be like this:
fzf --cycle --bind 'tab:toggle-up,btab:toggle-down'

fzf changes its layout depending on --reverse, so we provide toggle-in and toggle-out as well.
https://github.com/junegunn/fzf/blob/master/CHANGELOG.md#0112
However, I don't use them as I find them more confusing rather than helpful. They are many users who have used fzf for more than 4 years by now, and are perfectly comfortable with shift-tab going up, so I don't want to change the default and surprise those users (including myself).


Adds scss implementation and updates bower.json.

Adds a .scss implementation for sass compilers.
Fixes the "main" specification to match the docs at http://bower.io/docs/creating-packages/#main.

I've merged another PR with only the scss file version. I'll pass for now for a new release, I need some time to test everything. Thanks

Thanks, but since there is no tag for the newer version I can't see how to include it with bower.


avoid TableInfo creation in ShardReferenceResolver

ReferenceInfos/SchemaInfo cache the TableInfo so it is not necessary to
rebuild the TableInfo from scratch in most cases.

ack


Appstudio update test-component-pac-ilzg

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-ilzg-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
28 seconds
init

✅ Succeeded
31 seconds
clone-repository

✅ Succeeded
2 minutes
build-container

✅ Succeeded
40 seconds
inspect-image

✅ Succeeded
1 minute
deprecated-base-image-check

✅ Succeeded
2 minutes
clair-scan

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
38 seconds
sbom-json-check

✅ Succeeded
8 seconds
label-check

✅ Succeeded
15 seconds
show-summary

✅ Succeeded
7 seconds
show-sbom


OPL: Update versioning to new scheme

It basically changed version to makefile header because
its more easy to find and detect what OPL Version is,
and also because old method is just hardcoded in one line
and not show revision, and no way to change it without
dirty the code
Makefile:

first of all, cleanup

add Git Revision to version, make it easy to find if is
Official or Unofficial releases, since we can store hash
commit in a Thread, also it add "-dirty", if no .git found or
if it is a edited/wip repo

reworked ifeq logic

reworked when a devbuild will be enabled

add "make release" to prevent editions before official release, also
no one use partial edition

versioning is on .ELF now

add "make oplversion" to show current OPL Version

changed from #if to #ifdef, because its flag on Makefile

TravisCI:

change versioning to new version scheme
changed to "make clean" and "make release"
building of LANGS zip and DETAILED CHANGELOG is made after
"make" command to prevent addition of "-dirty" to version
add if to opl_git and opl_extraversion in case of it is "blank"

Others:

change lng_pack to new version scheme
fix make_changelog author corruption
regenerate DETAILED_CHANGELOG

Signed-off-by: Caio Oliveira<EMAIL_ADDRESS>

TravisCI building under link https://travis-ci.org/TeamVee-OPL/opl-caio99br/builds/169182071


port sec buffs

About the PR

https://github.com/Goob-Station/Goob-Station/pull/953 with some minor code changes to work with our stun system
Why / Balance

I have no idea maybe I just hate myself
Technical details

Media

Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

:cl: Aviu
add: Flashbangs now stun and knockdown people. Wear over-ear headset or combat hardsuit helmet to reduce flashbang effective range.
add: All sec and command members received over-ear headsets.
add: Energy bola was added for security.
add: Flashbangs and e-bolas now printable on secfab.
add: Epinephrine autoinjector was added for security.
tweak: Epinephrine now speeds up by 10%.
add: Jackboots, combat and mercenary boots now reduce all stun and knockdown times by 20%.
add: Combat hardsuit helmets now protect from flashes.
add: Security survival box now contains extended emergency tank.
tweak: Tear gas is now stronger.
add: Wearing security, ert, syndie or deathsquad gas mask blocks smoke inhalation even if internals are off.
tweak: Disabler bolts now pierce through glass but deal no heat damage.
tweak: Stamcrit stun time is once again 6 seconds.
tweak: Security hardsuits now have heat resistance.
tweak: Sec belt and webbing now have 50% explosion resistance to contents.
fix: Now you won't get stunned no matter what after baton knockdown.

this is a lot of power in secs hands


(MAINT) Document how to do ssh agent forwarding.

I literally spent hours understanding that the @option / option hash in the code was coming from the CONFIG section of the hosts file…  Such a howto would have saved my day :-)

Can one of the admins verify this patch?

Thanks for the doc @smortex! I left one quick comment, but other than that, things look good, and I look forward to getting this merged!

I tried to improve the wording @kevpl.  Please tell me if other improvements are needed.
Thanks!

Looks great! Thanks so much for the doc @smortex!


Need for contribution.md file

As your projects don't contain the contribution.md file
it is getting difficult to get an understanding
I know the
steps are provided in readMe.md file
but it is still better to have a contribution. md file instead of putting the steps in the readme. MD

okay, go ahead and create a CONTRIBUTING.md file.

@arpitghura can you please assign this issue to me? I am interested in helping


Does it support passing in multiple audio files and text prompts?

hi, for now, the model is only trained on single turn dialogue data, so it does not support multiple files.


install pyyaml via apt

See title. Somehow, the runner-os complains when trying to use pip install pyyaml. So I replaced this by apt install python3-yaml. See also here

I'm totally on your page to not break this action for non-ubuntu runners. But I think it's a bit unsatisfactory to implicitly pin the upper bound of the OS version.
We could, for example, ether

have a look how the pipx command can be used on windows and MacOS runner-images; this is an alterative way to install pip packages without messing with system-python by using a venv.
install pyyaml (and other pip-iunstalled packages) - if possible - via the respective package manager: APT (apt) for ubuntu, homebrew (brew) for MacOS and Chocolatey (choco) for windows.
(have a look here)

I'm on mobile right now and I don't think I'll come back to my PC before tomorrow morning. But I'd be happy to work on this, if you agree that this should be implemented in a more flexible way.

Maybe this issue will also be solved by the github devs over https://github.com/actions/runner-images/issues/10781.
I changed this PR to draft for now.

Yes, this is the crux of my argument -- it's not our fault, and if we wait a bit it will go away.

I'm totally on your page to not break this action for non-ubuntu runners. But I think it's a bit unsatisfactory to implicitly pin the upper bound of the OS version.

Instead of "fixing" it in the action here, we could alternatively make a (temporary) fix in the reusable workflow itself where we explicitly change the default runner from "ubuntu-latest" to a pinned older ubuntu runner.

When seeing their discussion, I'm not so sure they will fix it soon.
Alternatively, to avoid work downstream now and also when the issue might get fixed, we could use ubuntu-22.04 as default. Otherwise some of our workflows fail by default and also it's super easy to revert this to ubuntu-latest if required.

Another solution would be to use
pip install <package> --break-system-packages

.
While this is generally considered bad practice, I think it's okay for runners, as they are killed quickly anyway.

My top preference would be to leverage the existing runner kwarg downstream, I can also handle updating the default.


[Feature Request] get only the last generated part of a message

🚀 Feature
Allow to get only the new parts of a message
Motivation
I'm trying to stream data and currently backend.getMessage returns the full message:
    fun getMessage(): String {
        assert(!Looper.getMainLooper().isCurrentThread)
        return get_message_!!.invoke().asString()
    }

Feel free to refer to the CLI impl, we can have a diff message that allows you to get things as streamed. One catch is that as we partially decode the message can change


[ceres] Don't force C++14 on downstream customers.

Resolves https://github.com/microsoft/vcpkg/issues/22980
https://github.com/microsoft/vcpkg/pull/12785 Added a set of CMAKE_CXX_STANDARD in this CMake config which accidentally overwrites higher versions. Upstream already has a target_compile_options to do this the Right Way.
This change:

Deletes the offending attempt to set CMAKE_CXX_STANDARD. Downstream users that don't listen to the INTERFACE_COMPILE_FEATURES need to be patched locally.
Modernizes to use vcpkg_cmake_Xxx.
Removes attempt to fix up paths that already appears handled by vcpkg_cmake_config_fixup.
Adds quotes.

/cc @cenit

Depends on #22984


Enable cucumber to cope with Faker names with apostrophes

Enable cucumber to cope with Faker names with apostrophes
Occasionally, feature tests fail because Faker has generated names like O'Keefe which then cause the cukes to fail because it's trying to find O'Keefe on the page, and it is rendered as O'Keefe. This fixes that issue (in at least one place - there may be more).
Describe what you did and why.
Checklist
Before you ask people to review this PR:

[ ] Tests and rubocop should be passing: bundle exec rake
[ ] Github should not be reporting conflicts; you should have recently run git rebase master.
[ ] There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
[ ] The PR description should say what you changed and why, with a link to the JIRA story.
[ ] You should have looked at the diff against master and ensured that nothing unexpected is included in your changes.
[ ] You should have checked that the commit messages say why the change was made.

Sorry @stephenrichards I didn't see this PR when I created mine #1883  😬
I have just removed the applicant name from the HTML.  It was a belt and braces addition when I added the delete button and, it turns out, wasn't needed anyway


Add 2.5 release notes

Description
Add 2.5 release notes
Issues Resolved
#708
Check List

[X] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #714 (6858a03) into main (577205e) will decrease coverage by 0.32%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #714      +/-   ##
============================================
- Coverage     84.64%   84.32%   -0.33%
+ Complexity     1072     1064       -8
============================================
  Files           151      151
  Lines          4345     4345
  Branches        389      389
============================================
- Hits           3678     3664      -14
- Misses          489      501      +12
- Partials        178      180       +2

Impacted Files
Coverage Δ

...va/org/opensearch/knn/index/KNNCircuitBreaker.java
60.00% <0.00%> (-20.00%)
:arrow_down:

...earch/knn/index/codec/KNN910Codec/KNN910Codec.java
87.50% <0.00%> (-12.50%)
:arrow_down:

...earch/knn/index/codec/KNN940Codec/KNN940Codec.java
90.00% <0.00%> (-10.00%)
:arrow_down:

...earch/knn/index/codec/KNN920Codec/KNN920Codec.java
81.81% <0.00%> (-9.10%)
:arrow_down:

...ain/java/org/opensearch/knn/index/KNNSettings.java
80.88% <0.00%> (-2.21%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Merging. Will open separate issue for failing BWC test: https://github.com/opensearch-project/k-NN/actions/runs/3887733331


Show all Reports Options in demo site

Hi,
Right now I could see only below columns for Reports in view.
Valid, Time, Latitude, Longitude, Altitude, Speed and Address
Can you please enable all fields of Reports, so that I can select and check all options reading ?
Thanks.

What "all" options are you talking about?

Sir, things like Distance travelled and I don't what other parameters available to display.

There can be 50 or more parameters. Where do you want to show all of them?

Can it be categorize them something like Distance related, Trip related options and push them to select in some sort side bar like how right now Reports is shown.

They show up in state table.

Right now I could see 11 attributes shown. I believe we can expose rest of the attributes there.

Have you actually read my comment? All attributes are displayed in the "State" table.

Yes Sir. What I mean was as shown in attached screenshot, regarding State view.

It means that your device doesn't send more attributes.

I am using Android mobile.
Do I need to enable/configure any advanced setting in mobile so that it sends other details ?

Do you mean Traccar Client? It can send only basic information. If you run your own Traccar server, you can configure it to calculate distance on the server side which will also show in attributes.

Ok, I will create new server and check it.
Thank you.


DateInput:  When enableTextInput=false clicking on month or year immediately closes popup

This is a production bug reported by a client.


Improve Last Modified Datetime

In sitemap.xml, created time seems to be used as last modified time.

https://gohugo.io/templates/lists/#by-last-modified-date
https://gohugo.io/templates/sitemap-template/#hugo-s-sitemap-xml
https://gohugo.io/variables/git/#lastmod
https://gohugo.io/getting-started/configuration/#configure-dates

[frontmatter]
lastmod = ["lastmod", ":fileModTime", ":default"]

sets sitemap.xml correctly.


PDF version not updated

Description
Hi arXiv admin,  I find that HTML is using the latest version, which is very good. But the PDF version, i.e. https://arxiv.org/pdf/2101.06944.pdf, is not the latest. Could you please fix it? Thanks!Best,Ligang
(Optional:) Please add any files, screenshots, or other information here.
No response
(Required) What is this issue most closely related to? Select one.
Choose One
Internal issue ID
754edc5a-8ccd-48e4-a214-9cac5579a955
Paper URL
https://arxiv.org/html/2101.06944v7
Browser
Firefox/115.0
Device Type
Desktop

Hi @xialigang, it looks like the PDF links are now pointing to https://arxiv.org/pdf/2101.06944v7.pdf (and the watermark shows v7). If you still see the older version, it may be a caching issue (either on your computer or the CDN service). Can you test it again tomorrow and see if the problem persists?


Microsoft Graph Permissions section doesn't exist in the current Azure Portal

The doc references 'Microsoft Graph Permissions section.' I believe it should be 'API permissions' instead.

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

ID: 0ac43307-75d4-cb6f-e561-0dd9008f28c6
Version Independent ID: 8fc47e76-5ee1-6aeb-73e2-c64c44e3e4ed
Content: Microsoft identity platform scopes, permissions, and consent
Content Source: articles/active-directory/develop/v2-permissions-and-consent.md
Service: active-directory
Sub-service: develop
GitHub Login: @rwike77
Microsoft Alias: ryanwi

Hi @dkamstra - Thank you for your feedback! We will review and update as appropriate.

@dkamstra Thank you for pointing that out . We have initialed a pull request internally to fix this so that it is as per changes in the new App registrations UI on the azure Portal . The change will be merged and the page will be updated within the next 24-48 hours as per the normal release cycle. We thank you for your contribution once again. We will close this issue now.
Thank you.


Add parameter sweep example code

It would be nice to include an example of a parameters sweep optimization.

Added a basic example with https://github.com/twitter/torch-twrl/commit/e725660c75f2501fe965da682313de5653204b32


How to start parrot vnc

Sir how to start vnc in parrot i use your linuxdroid to install GUI version of parrot

And how to uninstall parrot completely and return the default basharc .. all these steps are not mentioned

© LinuxDroid
To install and start VNC server on Parrot OS, you can use the following steps:

Install a VNC Server:
Open a terminal and run the following command to install a VNC server. For example, you can use tightvncserver:
sudo apt-get install tightvncserver

Start the VNC Server:
After the installation is complete, run the following command to start the VNC server:
tightvncserver

During the first run, you'll be prompted to set up a password for VNC access. Enter a strong password as instructed.

Stop the VNC Server (Optional):
If you ever need to stop the VNC server, you can use the following command:
tightvncserver -kill :1

Replace :1 with the display number if you are using a different one.

Configure Autostart (Optional):
To configure the VNC server to start automatically when you boot your system, you might need to add a command to the startup scripts. This can be done by modifying the appropriate configuration file, such as ~/.config/autostart/tightvnc.desktop or using other methods depending on your desktop environment.

Bash : sudo command not found
also pkg command not found
how to fix ?

Your comaands doesn't work

I delete everything thank you sir


[WIP][Core]The first PR for running worker in container

Why are these changes needed?

We want to use container to resource limit, and use container image to support different dependencies.
This is the first PR to implements that feature. By using Podman, Worker process will started in container.
Now runtime_env is serialized in cpp code, we can't reuse runtime_env to specify the contain image.We add container image option fields into job_config, and supports to specify the contain image.
We add worker_resource into WorkerCacheKey, because worker_resource is one of worker’ characteristic, different actors have different worker_resource should not reuse worker process especially in container mode.
Start worker in container:

start ray with config

ray start --head --port=6379 --system-config='{"worker_process_in_container":true}'

2 start job with container image
job_config = ray.job_config.JobConfig(container_image="ray:latest")

ray.init(address="auto",job_config=job_config)

Related issue number

Checks

[ ] I've run scripts/format.sh to lint the changes in this PR.
[ ] I've included any doc changes needed for https://docs.ray.io/en/master/.
[ ] I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
Testing Strategy

[ ] Unit tests
[ ] Release tests
[ ] This PR is not tested :(

可以加一个 e2e 启动的case么？

I have a few of questions here:

How do we use this in production? Do we need to prepare image in every node?
How do validate that the image works with a correct version?
How does a user use the image? Does he need to build an image top on Ray-Worker-Image, and add his item to the images?


Pseudo labeling question

As I looked at your code, "model.eval()" is not used. (Instead, "torch.no_grad()" is used)
( ex.
https://github.com/charlesCXK/TorchSemiSeg/blob/main/exp.voc/voc8.res50v3%2B.CPS%2BCutMix/train.py

line 209~219
)

However, I found that when each model generates a pseudo-label as a prediction, the accuracy of the pseudo-label is much higher when using "model.eval()" than when using "torch.no_grad()" .
Is this part okay? Or is the author's other intentions?
Thank you!

Hi, we didn't notice this before. We just hoped we could obtain the pseudo label without the backward process, and we did not deliberately select model.eval() or no_ grad().
By the way, will model.eval() leads to a higher segmentation performance?

Hello.
I'm working on semi-supervised semantic segmentation.
I did several checks to confirm my assumptions in semi-supervised semantic segmentation.
Through this, we have confirmed that the accuracy of pseudo-labels increases if you use 'model.eval()' in your implementation of an interesting research paper 'CPS'.
As you know, batch normalization is used in your study, so 'model.eval()' can serve as an important option.
I plan to do my research a little further and compare the above with the original method.
I will share the results with you in the near future.
good luck.


tomcat9: 9.0.91 -> 9.0.93

https://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.93_(remm)
Description of 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.11 Release Notes (or backporting 23.11 and 24.05 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

[x] Fits CONTRIBUTING.md.

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

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

2 packages built:

tomcat9
tomcat9.webapps


Typo in readme.md

There's a typo in the readme of this repo at 'Hide / Disable 'Raw Score' number' in the UI section. Currently it says 'Accuacy', but this should probably be 'Accuracy'.

Readme is generated from the Ingame settings, so It will be fixed in the readme on next update 👍


about evaluaion of CoFusion dataset

Hi
Have you tried CoFusion's data set? When I verified it on your code, I reported the following error. Can you give some solutions? Thanks
#################### Results for /root/autodl-tmp/project/GO-SLAM/Datasets/CoFusion/room4 ...
Traceback (most recent call last):
File "run.py", line 90, in
slam.terminate(rank=-1, stream=dataset)
File "/root/autodl-tmp/project/GO-SLAM/src/slam.py", line 369, in terminate
pose_relation=PoseRelation.translation_part, align=True, correct_scale=True)
File "/root/miniconda3/envs/go-slam/lib/python3.7/site-packages/evo/main_ape.py", line 192, in ape
*traj_est.align(traj_ref, correct_scale, only_scale, n=n_to_align))
File "/root/miniconda3/envs/go-slam/lib/python3.7/site-packages/evo/core/trajectory.py", line 205, in align
with_scale)
File "/root/miniconda3/envs/go-slam/lib/python3.7/site-packages/evo/core/geometry.py", line 70, in umeyama_alignment
raise GeometryException("Degenerate covariance rank, "
evo.core.geometry.GeometryException: Degenerate covariance rank, Umeyama alignment is not possible

same issue occurred on scannet 0000_00.


Dead code

Dead code needs to me removed. We seem to have thousands of lines of it. Here is one example: https://github.com/MFlowCode/MFC/blob/fc40ccea496abd8e3b81a543c6b5ba80af589dfb/src/simulation_code/m_rhs.f90#L358-L544
We also have two entire RHS functions: https://github.com/MFlowCode/MFC/blob/fc40ccea496abd8e3b81a543c6b5ba80af589dfb/src/simulation_code/m_rhs.f90#L2928
https://github.com/MFlowCode/MFC/blob/fc40ccea496abd8e3b81a543c6b5ba80af589dfb/src/simulation_code/m_rhs.f90#L1010
The unused one needs to be deleted.
I'd like to see a PR that deletes thousands of lines of unused code.

Still more dead code! But going in the right direction.

Not sure if this is dead code, but src/simulation/m_variables_conversion and m_riemann_solvers has a subroutine s_compute_average_state and several variables like rho_avg_sf and vel_avg that are never used. Should I get rid of them?

Possibly. Can you go back in the git history (perhaps looking at MFC-develop repo as well) and see when they were used? I assume, at some point, they were.

Note on this issue: VSCode seems to be pretty good at finding variables that are declared multiple times (once globally and again locally) and finding unused variables. You will need the appropriate fypp extension for VSCode to do this for .fpp files, I think it is here.
At the same time, we should be a bit careful.
It will likely throw spurious unused warnings due to not recognizing preprocessing directives like #ifdef from C preprocessor statements.

@anandrdbz remove _flat names in variables.


FeatureRequest / Query: Multiple Config for Numerical Metric Based Parameters

Expected behavior
For Numerical Metric based cops (Or infact, all cops to an extent), I want to be able to configure these values to be different in different "areas" of the suite.
Actual behavior
I can enable and disable cops, but I cannot "configure / tweak" cops across the suite. (To my knowledge) - Apologies if you can
Steps to reproduce the problem
In a cucumber project. You will regularly break the 80character limit on your gherkin files. These aren't configured to be monitored by rubocop :+1:
However, these then also have a corresponding step definition, these will be monitored by rubocop. - This can cause a problem with LineLength
I want to have something like this...
AllCops:
  LineLength:
    Matcher: './**/step_definitions/*_steps.rb' # New Logic
      Max: 120
    Otherwise:
      Max: 80

Apologies if this is already configurable. If not I'd like to hear some opinions from contributors as to.
a) Is this possible?
b) Is this desirable (My opinion is yes) - If originally introduced, maybe just on numerical metric based ones

Try making step_definitions/.rubocop.yml with:
Metrics/LineLength:
  Max: 120

For 15 intermediate level folders (If this works), would require me creating this file 15 times though?
I have the following structure
`features-> Around 20 folders (Most of which have a steps folder) -> between 1 and 6 features


Support for Kubernetes 1.22 - networking.k8s.io/v1beta1 removed

Several APIs where deprecated in Kubernetes 1.22, in particular the networking.k8s.io/v1beta1 (used here). This prevent ingress.yaml to deploy successfully on Kubernetes 1.22.
I think it could be possible to support both APIs, using conditional logic (Grafana does this, for example).

That's a nice hack :+1:
Sure, a PR would be welcome to support it!

FYI, I have raised a PR for this as EKS just announced support of the v.1.22. We will need to use this change for our production upgrade and will test it out soon.


Capitalize name and description

I don't have Libre office so i can't create the other format.
I worked on the json file and then convert it back to csv using the php script and Numbers.
I am not sure why the json format has an "id" field.

Add them, ideally in a new pull request.
At this point it seems necessary to close this and start over.


Change of Jenkinsfile by untrusted user

Finding: The Jenkinsfile changed by untrusted user is ignored by Jenkins.
Instead the Jenkinsfile of cd0116245d7949b6237e6bb86f34ccac5d037fac
See Log.


fbcp-ili9341 does not initialize on boot

Hello there,
I installed and compiled the driver for my Raspberry Pi Zero W running Retropie over Raspbian Stretch, and it seems that it won't start the driver after a reboot. The log says that it can't find the directory specified in rc.local (which I definitely copied and pasted there). Any advice?
Thanks!

More specifically, it says "command not found" on boot

FIXED! I was simply not inputting the correct path. It might be worth mentioning in the documentation that the command is more like sudo /home/pi/fbcp-ili9341/build/fbcp-ili9341 & for the novices like myself.

Thanks! This is a good suggestion, added an example in above commit to illustrate the actual line to add in the /etc/rc.local file.


deps: update images to v0.18.0

Update the images dependency to v0.18.0
This includes a change in the Fedora IoT remote configuration which is now installed through an RPM instead of being hard-coded in the image definitions.

Rebased to prevent OCI private key leaking. Apologies :(

PR is (was) green.  I made a new release on images to include the change: https://github.com/osbuild/images/releases/tag/v0.18.0
and pulling it in here now so we can get this in composer.  Fedora IoT want this change in the service.

PR was green on last run. I made a new release on images [1] to include the change in the Fedora IoT remote configuration [2] and pulling it in here now so we can get this in composer. Fedora IoT want this change in the service.
cc @runcom and @nullr0ute
[1] https://github.com/osbuild/images/releases/tag/v0.18.0 [2] osbuild/images#95

@paulwhalen You were interested in this too.

@achilleas-k All green now.


Doc Feedback:

Location : https://is.docs.wso2.com/en/latest/develop/writing-a-custom-password-validator/

test issue


Dashes in variable names <=> environment: block

Dashes can be used in variable names (https://github.com/compose-spec/compose-go/pull/336).
However, I'm unable to use a variable that contains dashes in an environment: block since compose interprets the dash as a separator between the variable name and its default value:
environment:
  VAR-WITH-DASHES: ${VAR-WITH-DASHES}

Is there any way to escape the dash or is this a bug/unimplemented functionality?

- indeed is delimiter for default value, which makes #336 actually irrelevant 😓
I guess we should revert, as this issue demonstrate this "feature" was incomplete and can't be used anyway
cc @jhrotko @glours

@glours Can this bug fix be released in a patch so compose can release a version with the fix?

no worries, this will be part of the next compose release coming soon.
Cheers


[Feature Request] Prefill PR description with commit message

Is your feature request related to a problem? Please describe.
When I create a PR through the UI for a branch that contains only a single commit relative to the target, the description is set to the commit message. With the CLI Extension (az repos pr create) in the same situation the description remains empty.
Describe the solution you'd like
When creating a PR through the CLI Extension, ideally I would like the first line of the commit message to be taken as the PR title (already the case), and the third line onward set as the description. I could also live with the behavior in which the complete commit message is taken as the PR description (as is the case in the UI now).
Additional context
In my team we have the workflow where we try to squash related commits already on the client. We value well crafted commit messages in line with git recommendations, which provide a concise title (up till 50 chars on the first line) and a more detailed description (separated by a blank line from the title). When a PR is initiated from a pushed commit, it would save time when the PR description is already pre-set from the commit message.

Thank you for the request and providing detailed context!

Would it be enough to have the same behaviour as the Add commit messages button on the UI when there is multiple commits.

Right now there's no option in cli to trigger this behaviour. And once the PR is created, the option is not proposed in the UI.
Would be awesome to just add a flag for this when creating my PR !

@AltarBeastiful I do not completely understand your message.

Would it be enough to have the same behaviour as the Add commit messages button on the UI when there is multiple commits.

Was that sentence intended as a question, and if so, to whom? My original issue is related to no description being set when creating a PR for a branch with a single commit difference to the target.
Presently, in the UI the following happens:

Creating a PR for a source branch with a single commit difference to the target branch: The title gets preset with the first line of the single commit message. The description gets preset with the complete commit message.
Creating a PR for a source branch with multiple commits difference to the target branch: The title and description fields remain empty. By clicking the indicated Add commit messages button the text of all commit messages is concatenated to the description.

Through the CLI the following happens:

Creating a PR for a source branch with a single commit difference to the target branch: The title is set to the first line of the single commit message. The description remains empty.
Creating a PR for a source branch with multiple commits difference to the target branch: The title is set to 'Merge SOURCEBRANCH to refs/heads/TARGETBRANCH'.

My feature request was only about the single commit case through the CLI. In that case I would like the description being prefilled. I think that can safely be changed without breaking expectations about present behavior.
Your very valid remark is specifically about the multiple commits-case. You request for an additional command line option to concatenate all commit messages into the description field. That will also work for the single commit case, with the remark that a user then always has to pass an additional option for the CLI to behave in the same way as the UI. My take would be that it would be a valuable additions to have this option, but to let it be a no-op in case there is only a single commit. What would you think?

I see help-wanted tag, I'm going to attempt implementing this.

Ah, I see Azure is using an older version of the extensionÖ
az-version:
azure-cli                         2.57.0

core                              2.57.0
telemetry                          1.1.0

Extensions:
azure-devops                      0.26.0

And these changes are in azure-devops v1.0.0.
Does anyone know when 1.0 should be landing into the cli?


intro: Add asciinema embed

Add https://asciinema.org/a/42945?speed=2 to the intro
page.
Fixes https://github.com/coala-analyzer/website/issues/24

did you test locally that it works? we don't want our website go down

@sils1297 yeah, it works

cool :) can we adjust the speed somehow? (Merged this for now since it's probably better than without it)


Bypass links: allow keyboard-only users to skip navigation

Description

Adds new block to all pages for a bypass link
Adds CSS to hide the block except when it's focused

closes https://github.com/inveniosoftware/invenio-app-rdm/issues/1171
Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:

[x] I'm aware of the code of conduct.
[x] I've created logical separate commits and followed the commit message format.
[ ] I've added relevant test cases.
[ ] I've added relevant documentation.
[x] I've marked translation strings (for relevant code).
[x] I've followed the CSS/JS and React guidelines (for relevant code).
[x] I've followed the web accessibility guidelines (for relevant code).
[x] I've followed the user interface guidelines (for relevant code).
[x] I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions).
[x] I've NOT included third-party code (copy/pasted source code or new dependencies).

Hi,
Here is some more information:
https://webaim.org/techniques/skipnav/
https://www.w3.org/TR/WCAG20/#navigation-mechanisms-skip
And a screenshot of expected behavior

Improved design now uses existing styles and is left-aligned with a small top and left margin.


Need performance benchmark tests for CoreText

Would be useful to time these scenarios.  The goal is to have a simple commandline test similar to the unit tests, but rather than pass fail, these would run the perf scenarios and log the various metrics.  Here are some basic metrics we want to have:

Drawing a frame with 100 sentences.
Drawing 10000 lines.
Drawing 100,000 runs.
Drawing 10,000,000 glyphs.
Drawing using NSString drawAtPoint and variations.
Drawing using NSAttributedString drawAtPoint.

Once we have this, we could plug this into nightly build for build-over-build tracking of perf numbers to catch future regressions.

@rajsesh-msft Suggestion: If you set a baseline against Release 41 ( https://github.com/Microsoft/WinObjC/issues/1500 ) then that would give pass/fail criterion and the unit tests would be more fudge proof.


Remove-EdgeOnly Flag Not Working As Intended

Hello, I have been trying to add this to a few machines I work on that do not need Edge installed.
Task Scheduler will run the program when any user logs on using admin permissions and I have the /s flag in the arguments box. However, when testing this after a user logs on a command prompt will open and still display the 'Uninstalling Edge' text.
My intended effect is that the user logs on and the process will run in the background with no new tabs or text displayed. Is this functionality possible or am I missing a setting?

It has to do with how the program is compiled. I uploaded a new file NoTerm.exe. It does not remove EdgeView, does not show the terminal, and does not need flags. Just run it.
Be sure to check the "Run with highest privileges"

You're amazing. Thanks a bunch!


Paginate and improve UX

Is your feature request related to a problem? Please describe.
This issue specifically aims at improving the experience of using the /anime kona command. Out of all the other subcommands, this one looks the most off. Too many redundant details are displayed at once to the user and could be simplified.
Describe the solution you'd like

Unlimited pages. A problem I find is that if there is a specific tag you're interested in using and want to see the next page, you'll have to call the command again to specify the page you want to see. Therefore, unlimited pages should be implemented, wherein you can view the images of all the pages you want to see. As per usual a paginator is used to loop through all the pages available. It might be worth providing a (default) limit of the maximum number of pages that can be displayed, because some tags have thousands of pages. No one is going to view all of them, so it should be set.
Less links, more buttons. There are multiple different links that are available for you to see. These could easily be converted into buttons (remember using the clear_items() method regardless of what page we're on.
Debate how many images are displayed at once. Currently, you are shown 3 images on every page you surf through. This could increase or decrease (if necessary, to 1) to make the embed more readable and 'pretty'. I'm finding any more than 1 image displayed at once makes it overwhelming to the end-user as two massive embeds are displayed at once. Yet, displaying less images would mean less to see at a glance so the end-user presses the buttons more often.

Describe alternatives you've considered
On second thought, clear_items() would not work alongside our paginator, so we're thinking of rewriting the way our paginator works. Because items are determined by their index, we want to store the items within the view that are intially created, so the forward, backward, start and end buttons will all be stored by defining its locations within the __init__ method. This hopefully reduces the need for iterating through the view and figuring out ourselves what item needs to be added, removed, disabled etc.
Additional context
This command being referred to is one of the subcommands that are within the bot. It's a command with a lot of potential, which is why we're devoting some more time onto it. The website is intricate, with millions of images uploaded every year.

This issue will now also address adding a paginator to the help command, for the exact same reasons as said above.

We've received criticism from this some time ago, and indeed the effect is profound upon our mobile users.

This issue will now also address adding a paginator to the help command, for the exact same reasons as said above.

In the current situation we're in with paginators, we won't be able to implement this feature just yet. The reason being because of the way our help command works currently. It starts the paginator by sending (or responding to) the message.
For this use case, we would need to edit our original message instead, which is just not what the paginator is built for.
This will be implemented at a later date as it's quite a hectic mess to make. A lot of other commands that desirably should have paginators work based on this logic. But note that the paginator for the kona command is unaffected and will still be implemented as per schedule.
Hold off using small screens for the time being!

The kona command is complete, and now supports pagination. Most irrelevant details like the tags and file links were also removed. The paginator is also currently limited to 1 image at a time, though this is flexible and can change if we prefer otherwise.
This issue will remain open until the help command is paginated (3-6 few weeks from now).

The paginator is also currently limited to 1 image at a time, though this is flexible and can easily be changed if we prefer otherwise.

This has become a customizable setting, users can now specify how many pages they want to see at once, defaulting to the conventional 3 if not passed in.

For this use case, we would need to edit our original message instead, which is just not what the paginator is built for.

It is not as hard as it seemed before. Instead of sending a message in our navigate function, we instead edit the message. It easy to implement if we just chose a straightforward path, that is to just make a new class (which maybe inherits from this original paginator and then use the polymorphism aspect of classes to modify what the navigate function does in this instance), but for some reason I don't feel that's a good idea resource wise. I'd much rather just pass in the way we respond in the navigate function itself, and to allow for backward compatability, fallback to sending via the send message interaction response endpoint if its not passed in. That's just me though.

For this use case, we would need to edit our original message instead, which is just not what the paginator is built for.

Not only that, we will also need to refresh the data being paginated through each time a new option is clicked on the callback. This is the hardest part out of it all.
I can't in the least vague way describe how this will possibly work.

A new class will be made for the refreshable paginator class, since this functionality is not needed for every single command that uses this paginator out there. It will inherit from the PaginationSimple class and override the method with name edit_page.
The function will take in a new parameter, named refresh that is of a boolean type (if we use the same class, it will default to False). If it is set to True, the get_page_part function should refresh the paginator. The disabling logic should still apply as normal, and the page could be reset because of a potentially invalidated page count.
Both the get_page_part (within the command) and the edit_page (within the PaginationSimple class) functions take in this parameter. This is to ensure that the paginator is refreshed when the refresh button is clicked.
This is the plan of what will happen. It may not turn out as expected, so in the case it does not (due to the inheritance pillar of OOP not working in the way I imagined), we'll recreate a pagination class from scratch without any inheritance. That is the only point of failure we can see so far.

Assuming we go ahead with the plan to inherit the class, inserting the button into the view becomes a bit more complicated. We want to ensure that the button is at the centre of the view, but adding it via the decorator always inserts the button at the far right (to the end of it). Meaning that to insert it in the correct position, we have to access the children attribute, possibly using the insert method and provide an index of where this button will land (2 in most cases). Subclassing the button is also required for this to work.
This does not always work though when there are other items in the view (e.g., a dropdown). In this case, we'd have to loop over the children in its current order until we reach the first button. From there, we calculate the midpoint index as normal. Not sure if this would work though since there is a different method specifically for adding items onto a view, not allowing the ability to insert the item at a specific index. Whereas the official method is similar to an append method to lists, we are looking for an equivalent to the insert method which allows for index insertion.
But if we don't follow this plan of inheritance, this isn't a problem at all. We would simply create a button using the decorator, creating it between the backward and forward buttons.

We still want to inherit from the class, but currently we are facing issues with adding it. As expected, the View.children attribute is read only because calling it simply creates a copy (using the copy list method) meaning changes aren't applied to the original function. There may be a hacky way around this using some of the private attributes like View._children but in general I wouldn't want to touch those since they are subject to changes.
I'm thinking the only way of changing the position of this button when it is added onto the list is to add the item to a different row first. From there, we change the rows of the two buttons that are to the right of the view. Then, change the row of the refresh button to the normal laid out row and then the two right buttons? I'm not sure this'll work and doing this seems like an inefficient operation.
On the other hand, we could just not place the refresh button at the centre and instead just leave it in the order it is added in. Not ideal, but we'd have to live with it if all other options fail.

In the end, we did not inherit from the original pagination class due to issues placing the refresh button in the correct order.
A workaround was made in a recent commit.

In the current situation we're in with paginators, we won't be able to implement this feature just yet. The reason being because of the way our help command works currently. It starts the paginator by sending (or responding to) the message.
For this use case, we would need to edit our original message instead, which is just not what the paginator is built for.

Not only that, we will also need to refresh the data being paginated through each time a new option is clicked on the callback. This is the hardest part out of it all.

The main issue still hasn't been addressed however.


Inconsistency in version placeholder location

Hello,
I noticed that some installers have the {{.version}} placeholder in the URL in the registry and others have the {{.Version}} placeholder in the updater URL template. What's the reason for this?

That's mainly due to historical reasons. Currently, we generally use the placeholder in the registry for manually updated entries, and the placeholder in the updater for automatically updated ones.


Migration tool produces invalid syntax

When run on the following input:
class A {
  num get foo => null;
}

void test() {
  A a = A();
  var x = a.foo as int;
  x.isEven;
}

The migration tool produces the following output:
class A {
  num? get foo => null;
}

void test() {
  A a = A();
  var x = a.foo as int?!;
  x.isEven;
}

I believe (and the parser agrees) that the cast a.foo as int?! is not valid syntax, since ! must be applied to a primary expression.  The cast should be parenthesized here.
A nice bonus would be to instead cast to the non-nullable version of the type, but that's secondary.
cc @stereotype441
cc @lrhn @eernstg to check my interpretation of the grammar.

I agree on the syntax stuff. Suffix '!' can be put after <X> <selector>* where <X> can be <primary>, <constructorInvocation> and a cascade, and as is a <typeCast> which is much closer to <expression>.

Agreed--this is crazy output and needs to be fixed.  I'm currently reworking the way the migration tool builds its set of fixes (#38472).  Once that is done I can work on this.

Duplicate of https://github.com/dart-lang/sdk/issues/38469

As of 1c7fe7196dd7a542f7f91cd6ea2ac81e1a13146c, the null safety migration tool has been removed from active development and retired. No further work on the tool is planned.
If you still need help, or you believe this issue has been closed in error, please feel free to reopen.


[SQLAlchemy Add entry] invalid input for query argument

I get this error when adding a new record where there is a foreign key
invalid input for query argument $1: '17' ('str' object cannot be interpreted as an integer)
Here is my solution, maybe it will be released someday
    async def orm_save_obj(self, id: int | Any | None, payload: dict) -> Any:
        """This method is used to save orm/db model object.

        :params id: an id of object.
        :params payload: a dict of payload.
        :return: An object.
        """
        session_maker = self.get_sessionmaker()
        async with session_maker() as session:
            foreign_keys = self.get_foreign_key_fields()

            for key in foreign_keys:
                if key in payload and isinstance(payload[key], str):
                    try:
                        payload[key] = int(payload[key])
                    except ValueError:
                        raise ValueError(f"Invalid value for foreign key '{key}': {payload[key]}")

            if id:

                obj = await session.get(self.model_cls, id)

                if not obj:
                    return None
                for k, v in payload.items():
                    setattr(obj, k, v)
                await session.merge(obj)
                await session.commit()

            else:
                obj = self.model_cls(**payload)
                session.add(obj)
                await session.commit()

            return await session.get(self.model_cls, getattr(obj, self.get_model_pk_name(self.model_cls)))

    def get_foreign_key_fields(self) -> list:
        """
        Returns a list of foreign key fields for the model.

        :return: List of foreign key field names.
        """
        return [
            column.name
            for column in self.model_cls.__table__.columns
            if column.foreign_keys
        ]

Should be fixed here https://github.com/vsdudakov/fastadmin/releases/tag/0.2.17


Added export for LiteralString

Reference Issue

Fixes this

Tagging @justinfagnani as he is the one most knowledgeable about these kind of changes.

Exposing this would bypass the guarantee that html only interpolates values that originate from string literals in script.  Exporting this would encourage e.g. const notSafe = new LiteralString(untrustedString); which could be interpolated into html.
html uses innerHTML to generate a template, and is thus not safe to interpolate untrusted strings. For your use case (interpolating strings from an import), the thing you import needs to have been generated using html or htmlLiteral; perhaps this could be done by passing your pug file through a webpack transform that wraps with html.
We will not support interpolation of arbitrary strings (i.e., not verifiably trusted strings) into Polymer's html tag function, since we want the default that ships with Polymer to be verifiably safe.
Note however, it is not a requirement that you use the html tag function that ships with Polymer in your static template getter.  It only needs to return an HTMLTemplateElement.  You can use your own javascript to make a template however you like, and it should be trivial for you to create a function that innerHTML's a template from whatever sources you want -- we're just not going to write that code for you since it's you (the author) who needs to verify it's safe for your use case.  Hope that helps.


Shakey-s-Empire-Emporium-Brands-Of-77-Shenanigans - Visual Studio Code

https://symmetrical-chainsaw-jw776rvrwwph5v4r.github.dev/

Yh
On Thu, 12 Oct 2023 at 3:23 AM, @.*** <
@.***> wrote:

Closed #29092 https://github.com/github/docs/issues/29092 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/github/docs/issues/29092#event-10624735401, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BDAZCGR73Y6W22XIU5RDHXLX64L7JANCNFSM6AAAAAA54U4T74
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

8804
On Thu, 12 Oct 2023 at 3:32 AM, Kokoo Jan @.***> wrote:

Yh
On Thu, 12 Oct 2023 at 3:23 AM, @.*** <
@.***> wrote:

Closed #29092 https://github.com/github/docs/issues/29092 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/github/docs/issues/29092#event-10624735401, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BDAZCGR73Y6W22XIU5RDHXLX64L7JANCNFSM6AAAAAA54U4T74
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Yeh
On Thu, 12 Oct 2023 at 3:32 AM, Kokoo Jan @.***> wrote:

Yh
On Thu, 12 Oct 2023 at 3:23 AM, @.*** <
@.***> wrote:

Closed #29092 https://github.com/github/docs/issues/29092 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/github/docs/issues/29092#event-10624735401, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BDAZCGR73Y6W22XIU5RDHXLX64L7JANCNFSM6AAAAAA54U4T74
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


"Na" being displayed instead of previous month's dates

Issue Being Reported
Notice that at the beginning of the month, the previous month's dates are showing as "Na" instead of the date. At the end of the month, the next month's dates are displaying properly.

Expected Behavior
I would expect the dates for the previous month to display correctly, like they do for the next month.
Steps to Reproduce

Go to https://indiana-al-anon.org/events/event-calendar/ or https://indiana-al-anon.org/ and notice the issue described above on the calendars.
Click > to forward to the next month and notice it happens for all months whose first day of the month does not fall on Monday.

Your Environment

Version used: Event CLNDR Version 1.05
Browser Name and version: Chrome Version 72.0.3626.96 and Firefox Version 65.0
Operating System and version (desktop or mobile): desktop version on macOS High Sierra 10.13.6, it also occurs on iPhones

Dear Blackbaud-KimberlyHammer,
it might be user fad115 found a solution for your problem. Look at https://wordpress.org/support/topic/nan-in-adjecant-month-fix/

@Blackbaud-KimberlyHammer If this is still an issue for you, would you please mind doing the following things for me:

Upgrading to the latest version of clndr (1.4.9 right now)
Provide a configuration example directly on this issue.

I believe you that it's not working on your site but I'll need config to test with on my machine, and to be able to reproduce the error for testing.

Closing this since it seems stale.


Primitive REPEATED fields not contained in LIST annotated groups aren't read as lists by record reader

Describe the bug
Primitive REPEATED fields not contained in LIST annotated groups should be read as lists according to the format but aren't.
To Reproduce

Expected behavior

Additional context

repeated_no_list.parquet.gz
The attached file has two REPEATED primitive fields that aren't read correctly with the current implementation:
{Int32: 0, String: "foo"}
{Int32: 1, String: "zero"}
{Int32: 2, String: "one"}
{Int32: 3, String: "two"}
The fix yields the proper result:
{Int32: [0, 1, 2, 3], String: ["foo", "zero", "one", "two"]}
{Int32: [], String: ["three"]}
{Int32: [4], String: ["four"]}
{Int32: [5, 6, 7, 8], String: ["five", "six", "seven", "eight"]}

TIL, thanks! One question, however. The spec actual says A repeated field that is neither contained by a LIST- or MAP-annotated group nor annotated by LIST or MAP should be interpreted as a required list of required elements where the element type is the type of the field. So is it allowable for the max def level to be 1 here? If the elements are required, shouldn't max_def be 0? TBH I'm not sure why the spec is worded that way...nulls are clearly detectable so I'd think the required vs optional could be deduced from the max def level. In fact, arrow-cpp/pyarrow seems to read the given file just fine (although the arrow schema seems do indicate all elements are not null).
>>> df = pq.read_table('repeated_no_list.parquet')
>>> df
pyarrow.Table
Int32: list<Int32: int32 not null> not null
  child 0, Int32: int32 not null
String: list<String: string not null> not null
  child 0, String: string not null
----
Int32: [[[0,1,2,3],[],[4],[5,6,7,8]]]
String: [[["foo","zero","one","two"],["three"],["four"],["five","six","seven","eight"]]]

We currently meet a similiar problem and issue a discussion here[1], also refer to [2]
[1] https://lists.apache.org/thread/s6b25j3x26009v054yqjov0f1z49ctqj
[2] https://github.com/apache/parquet-format/pull/466

This is not a normal LIST type specified by the Parquet spec where a LIST annotation on a group type is required. Should we disable writing lists as this in parquet-rs? We should follow the three level list encoding.

But IIUC this form is permitted by the spec. It just can't be mixed with the LIST annotation.

I believe this is specific to the record reader, i.e. the non arrow reader, and so have updated the title to reflect this. Let me know if I am mistaken

@etseidl

So even if required, is it that a REPEATED field has 0 to many entries?

I think so, it aligns with the definition of REPEATED in the thrift:
"  /** The field is repeated and can contain 0 or more values */
REPEATED = 2;"

@tustvold

I believe this is specific to the record reader, i.e. the non arrow reader, and so have updated the title to reflect this. Let me know if I am mistaken
#2394 is also related

Correct, this is only for the record reader. TBH I totally forgot I've opened the same issue you've mentioned from two years ago :)
Every time we encounter such a file with one of our customers I'm looking into it again, finally decided to just fix it.

@wgtmac

This is not a normal LIST type specified by the Parquet spec where a LIST annotation on a group type is required. Should we disable writing lists as this in parquet-rs? We should follow the three level list encoding.

This is allowed by the format, other writers sometimes generate such files (e.g. the customer file that tripped our code was created with parquet-mr)

Thanks @zeevm! I think the provided file is worth adding to https://github.com/apache/parquet-testing as a good example for interoperability test.

It seems that parquet-cli (backed by parquet-mr) cannot read it:
> parquet-cli cat repeated_no_list.parquet
Unknown error
java.lang.RuntimeException: Failed on record 0 in file repeated_no_list.parquet
	at org.apache.parquet.cli.commands.CatCommand.run(CatCommand.java:89)
	at org.apache.parquet.cli.Main.run(Main.java:163)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:82)
	at org.apache.parquet.cli.Main.main(Main.java:191)
Caused by: org.apache.parquet.io.ParquetDecodingException: Can not read value at 0 in block -1 in file file:/Users/gangwu/Downloads/repeated_no_list.parquet
	at org.apache.parquet.hadoop.InternalParquetRecordReader.nextKeyValue(InternalParquetRecordReader.java:280)
	at org.apache.parquet.hadoop.ParquetReader.read(ParquetReader.java:136)
	at org.apache.parquet.hadoop.ParquetReader.read(ParquetReader.java:140)
	at org.apache.parquet.cli.BaseCommand$1$1.advance(BaseCommand.java:356)
	at org.apache.parquet.cli.BaseCommand$1$1.<init>(BaseCommand.java:337)
	at org.apache.parquet.cli.BaseCommand$1.iterator(BaseCommand.java:335)
	at org.apache.parquet.cli.commands.CatCommand.run(CatCommand.java:76)
	... 3 more
Caused by: org.apache.parquet.io.ParquetDecodingException: The requested schema is not compatible with the file schema. incompatible types: required group Int32 (LIST) {
  repeated int32 array;
} != repeated int32 Int32
	at org.apache.parquet.io.ColumnIOFactory$ColumnIOCreatorVisitor.incompatibleSchema(ColumnIOFactory.java:104)
	at org.apache.parquet.io.ColumnIOFactory$ColumnIOCreatorVisitor.visitChildren(ColumnIOFactory.java:81)
	at org.apache.parquet.io.ColumnIOFactory$ColumnIOCreatorVisitor.visit(ColumnIOFactory.java:57)
	at org.apache.parquet.schema.MessageType.accept(MessageType.java:52)
	at org.apache.parquet.io.ColumnIOFactory.getColumnIO(ColumnIOFactory.java:167)
	at org.apache.parquet.hadoop.InternalParquetRecordReader.checkRead(InternalParquetRecordReader.java:155)
	at org.apache.parquet.hadoop.InternalParquetRecordReader.nextKeyValue(InternalParquetRecordReader.java:245)
	... 9 more

It seems that parquet-cli (backed by parquet-mr) cannot read it:

Strange. An old parquet-tools 1.11.1 jar I have can read it, however.
row group 0
--------------------------------------------------------------------------------
Int32:   INT32 UNCOMPRESSED DO:4 FPO:54 SZ:109/109/1.00 VC:10 ENC:PLAIN,RLE,RLE_DICTIONARY ST:[min: 0, max: 8, num_nulls: 1]
String:  BINARY UNCOMPRESSED DO:113 FPO:208 SZ:154/154/1.00 VC:10 ENC:PLAIN,RLE,RLE_DICTIONARY ST:[min: eight, max: zero, num_nulls: 0]

    Int32 TV=10 RL=1 DL=1 DS:  9 DE:PLAIN
    ----------------------------------------------------------------------------
    page 0:                     DLE:RLE RLE:RLE VLE:RLE_DICTIONARY ST:[min: 0, max: 8, num_nulls: 1] CRC:[none] SZ:24 VC:10

    String TV=10 RL=1 DL=1 DS: 10 DE:PLAIN
    ----------------------------------------------------------------------------
    page 0:                     DLE:RLE RLE:RLE VLE:RLE_DICTIONARY ST:[min: eight, max: zero, num_nulls: 0] CRC:[none] SZ:23 VC:10

INT32 Int32
--------------------------------------------------------------------------------
*** row group 1 of 1, values 1 to 10 ***
value 1:  R:0 D:1 V:0
value 2:  R:1 D:1 V:1
value 3:  R:1 D:1 V:2
value 4:  R:1 D:1 V:3
value 5:  R:0 D:0 V:<null>
value 6:  R:0 D:1 V:4
value 7:  R:0 D:1 V:5
value 8:  R:1 D:1 V:6
value 9:  R:1 D:1 V:7
value 10: R:1 D:1 V:8

BINARY String
--------------------------------------------------------------------------------
*** row group 1 of 1, values 1 to 10 ***
value 1:  R:0 D:1 V:foo
value 2:  R:1 D:1 V:zero
value 3:  R:1 D:1 V:one
value 4:  R:1 D:1 V:two
value 5:  R:0 D:1 V:three
value 6:  R:0 D:1 V:four
value 7:  R:0 D:1 V:five
value 8:  R:1 D:1 V:six
value 9:  R:1 D:1 V:seven
value 10: R:1 D:1 V:eight

label_issue.py automatically added labels {'parquet'} from #6649


feat(docs): add search for docs

What this PR does / why we need it:
https://github.com/hwameistor/hwameistor/issues/1442
Special notes for your reviewer:
Does this PR introduce a user-facing change?

LGTM