Doc comment update

Fixes https://github.com/aspnet/Security/issues/816
cc @Eilon @blowdart

Hi @HaoK, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

:shipit:

Should this comment also be applied to DefaultAuthorizationService? It looks like it is otherwise identical.

Where is inheritdoc when you need it


Trailing call expressions should work following an identifier

testCase """
  leading . after plain identifier
  ---
  data
  .map (x) => x + 1
  .forEach (x) => console.log
  ---
  data
  .map((x) => x + 1)
  .forEach((x) => console.log)
"""

testCase """
  nested leading . after plain identifier
  ---
  data
    .map (x) => x + 1
    .forEach (x) => console.log
  ---
  data
    .map((x) => x + 1)
    .forEach((x) => console.log)
"""

From @orenelbaum and @Argeento in Discord.

One possibility to solve this is to have a SuppressSamedentPropertyAccess similar to SuppressIndentedApplication (it's essentially the same type of problem). !SamedentPropertyAccessSuppressed Samedent PropertyAccess can be added to MemberExpressionRest. I still need to think about where to turn the suppressing on and off exactly but wanted to write this down while I'm thinking of it.


undefined reference file cblas_dgemm

I try to create a simple test using the OpenBLAS library. (Call CBLAS Interface).
I previously created the following directories
c;/openblas/lib/bin (libopenblass.dll)
c:/Openblas/lib/include (cblas.h.f77blas.h,lapacke.h,,lapacke_config.h,lapacke_mangling.h,lapacke_utils.h,openblas_config.h)
c::/Openblas/lib/lib (cmake(dir),pkgconfig(dir),libopenblas.a,libopenblas.dll.a,libopenblas_haswellp-r0.3.6.a)
I tried to use the following CMake.Lists.txt file:
cmake_minimum_required(VERSION 3.14)
project(EX7)
SET( OPENBLAS_INCLUDE_DIR "C:/Openblas/lib/include " )
IF( NOT OPENBLAS_INCLUDE_DIR )
MESSAGE( FATAL_ERROR "Please point the environment variable EIGEN3_INCLUDE_DIR to the include directory of your Eigen3 installation.")
ENDIF()
INCLUDE_DIRECTORIES ( "${OPENBLAS_INCLUDE_DIR}"  )
SET( OPENBLAS_LIB_BIN "C:/Openblas/lib" )
LINK_DIRECTORIES( "${OPENBLAS_LIB_BIN}" )
add_executable(EX7 main.c)
But I always receive the following error messages:
"C:\Program Files\JetBrains\CLion 2019.2\bin\cmake\win\bin\cmake.exe" --build C:\Users\Chris\CLionProjects\EX7\cmake-build-debug --target all -- -j 4
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Chris/CLionProjects/EX7/cmake-build-debug
[ 50%] Linking C executable EX7.exe
CMakeFiles\EX7.dir/objects.a(main.c.obj): In function main': C:/Users/Chris/CLionProjects/EX7/main.c:10: undefined reference to cblas_dgemm'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[2]: *** [CMakeFiles\EX7.dir\build.make:86: EX7.exe] Error 1
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:72: CMakeFiles/EX7.dir/all] Error 2
Can anyone please help me

Can you check what your library contains (dumpbin if you have VS installed, nm or objdump if you have mingw/msys tools) ? Possibly your build is either missing the CBLAS parts, or the function names have leading or trailing underscores like "cblas_sgemm_"

I almost gave up trying, but i found the solution - the correct CMakeLists.txt file should read;
cmake_minimum_required(VERSION 3.14)
project(EX7)
SET( OPENBLAS_INCLUDE_DIR "C:/Openblas/lib/include " )
IF( NOT OPENBLAS_INCLUDE_DIR )
MESSAGE( FATAL_ERROR "Please point the environment variable EIGEN3_INCLUDE_DIR to the include directory of your Eigen3 installation.")
ENDIF()
INCLUDE_DIRECTORIES ( "${OPENBLAS_INCLUDE_DIR}"  )
SET( OPENBLAS_LIB_BIN "C:/Openblas/lib/lib" )
add_executable(EX7 main.c)
TARGET_LINK_LIBRARIES(EX7 ${OPENBLAS_LIB_BIN}/libopenblas.a )

Ah, okay, that would make it more of a cmake usage question. I must admit I know next to nothing about using OpenBLAS or CMAKE on Windows...

Actually eigen provides own cblas.h that inlines blas level 1 with fixed input sizes and passes rest to f77 blas. It should not call cblas_* in your context as eigen sort of does stub/thunk/wrap/offload already.

@brada4 it is probably safe to assume  ChrisNabold just started from a known working CMakeLists.txt that happened to come with Eigen (or some code that uses Eigen)...


Grouped update skip scheduled update PR

Grouped updates not making the PR even if there are 4 dep update to do.
Here the screenshot ("We've ran your update on Fri, 19 May 2023 at 07:10 and there were no outdated dependencies").

Sorry, it's working, is for "^" before package version number


Cookies not reset between tasks

Sometimes when running many tasks, the agent will accidentally click "sign out" halfway through these tasks. All the remaining tasks that require user login are then unable to run.

Thanks! I also encountered this problem. There might be better solutions, but here is my solution -- I periodically checked whether any trajectory contains the login page (e.g., grep -l "Welcome, please sign in" *.html ), if so, I pause the test and re-generate the cookies.
Ideally, we want to reset our environment and cookies after every example; however, it is too time-consuming.


TypeScript Error When Using c.noBody() in Contract Imported from Another Package

Describe the bug
When using c.noBody() as a response body in a contract that is imported from a shared package, TypeScript throws an error:
Type 'unique symbol' is not assignable to type 'AppRouteResponse'.ts(2345)

This error occurs when the contract is imported from another package (e.g., a shared package in a monorepo). However, if the same contract is defined locally within the project, no error occurs.
Additionally, if z.void() is used instead of c.noBody(), the error does not occur.
Downgrading to ts-rest version 3.49.3 solves the error.
How to reproduce
Steps to reproduce the behavior:

Create a Shared Contract: In a shared package, define a contract using c.noBody() for the response body.

// shared package contract.ts
import { initContract } from '@ts-rest/core';
import { z } from 'zod';

const c = initContract();

export const sharedContract = c.router({
  delete: {
    method: "DELETE",
    path: "/my/:id",
    pathParams: z.object({
      id: z.coerce.number(),
    }),
    responses: {
      204: c.noBody(),
      // using z.void() will remove error in apps/nest/src/app.controller.ts
      // 204: z.void(),
    },
    summary: "Delete a reflection",
  },
});

Import the Shared Contract into an Application: In the application (e.g., a NestJS backend), import the shared contract.

// controller backend (e.g., NestJS)
import { TsRestHandler, tsRestHandler } from '@ts-rest/nest';
import { sharedContract } from 'shared-package/contract';
import { Controller } from '@nestjs/common';

@Controller()
export class AppController {
  // TypeScript error occurs here
  // Error: Property '204' is incompatible with index signature.
  // Type 'unique symbol' is not assignable to type 'AppRouteResponse'.ts(2345)
  @TsRestHandler(sharedContract)
  async handlerShared() {
    return tsRestHandler(sharedContract, {
      delete: async () => {
        console.log('Delete item');
        return { status: 204, body: undefined };
      },
    });
  }
}

Observe the TypeScript Error: TypeScript reports an error at the handlerShared method:

Property '204' is incompatible with index signature.
Type 'unique symbol' is not assignable to type 'AppRouteResponse'.ts(2345)

Compare with Local Contract: If the same contract is defined locally within the application, the error does not occur.

// local contract.ts
import { initContract } from '@ts-rest/core';
import { z } from 'zod';

const c = initContract();

export const localContract = c.router({
  delete: {
    method: 'DELETE',
    path: '/my/:id',
    pathParams: z.object({
      id: z.coerce.number(),
    }),
    responses: {
      204: c.noBody(),
    },
    summary: 'Delete a reflection',
  },
});

// controller backend (e.g., NestJS)
import { TsRestHandler, tsRestHandler } from '@ts-rest/nest';
import { localContract } from './local-contract';
import { Controller } from '@nestjs/common';

@Controller()
export class AppController {
  // No TypeScript error
  @TsRestHandler(localContract)
  async handlerLocal() {
    return tsRestHandler(localContract, {
      delete: async () => {
        console.log('Delete item');
        return { status: 204, body: undefined };
      },
    });
  }
}

Workaround: If z.void() is used instead of c.noBody() in the shared contract, the error does not occur.

Expected behavior
TypeScript should correctly infer types when using c.noBody() in contracts imported from shared packages, just as it does with local contracts. There should be no TypeScript error, and developers should be able to use c.noBody() in shared contracts without issues.
Code reproduction
https://github.com/zollipaul/ts-errors-repro-ts-rest
ts-rest version
3.51.0

I'm having a similar issue, though z.void() doesn't work in my unit test (using supertest)
Type '({ params: { userId, accessId }, req }: { params: { userId: any; accessId: any; }; req: any; }) => Promise<{ status: number; body: { message: string; }; }>' is not assignable to type 'never'.ts(2322)

Contract also lives in another package in the same monorepo


Generalize autodiff.py functions

Right now, these functions are just used in eigendistortion and are fine as written, but they're helpful in other contexts: e.g., if you want to use torch.backward(output), and output is not a scalar, you need to pass a gradient vector, and the Jacobian-vector product should be used (assuming I'm understanding the documentation). So we should make these functions easier to use in other contexts, such as our standard way of interacting with models: when input is 4d and output is 3d or 4d (with possibly multiple batches and channels)

These are needed for synthesis and we don't currently support batch synthesis, and no plans in the near-future. Closing for now. Can open in the future if this changes.

We can refactor autodiff and roll it into eigendistortions.py, or throw it into tools.

In particular, make these hidden functions / methods and add note in docstring about how they're only meant for use with eigendistortion (with notes as to limits, e.g., expects them to be 2d and raise exception as to not).
If we end up needing them for another synthesis method, can always pull them into tools and think about how to generalize then


add "long options only" mode

This adds a "long options only" mode.  This mode prevents clustering of
short options, and recognizes long options with either a "-" or "--".
To avoid possibly conflicting long and short options, I changed getopts generally to reject single-letter long options.  I thought this was a reasonable restriction; but this could be handled a different way with more work -- if you'd prefer that, let me know.
Fixes #17.

Thanks for the PR @tromey! This looks pretty good to me, nice feature!
Perhaps the long_only method could take a boolean as to whether it's activated? That tends to be the style for our builders, and it also means you can turn it off as well.

@alexcrichton it looks like @tromey updated this PR.

Oh oops, sorry about that! Feel free to ping PRs whenever they're updated, unfortunately github historically didn't send out notifications about updated PRs (although it may now?)


Develop an approach for obtaining user feedback on SDR performance

As suggested by Christopher Kermorvant at the SDR update, it would be useful for users to be able to provide an assessment of the performance of the SDR for specific images.
This feedback could be reported to the SDR development team and Teklia who could use it to improve or retrain models.

One suggestion is to use RO-Crates to bundle images, tool output and feedback for sharing with partners.

https://usegalaxy.fr/training-material/topics/dev/tutorials/interactive-tools/tutorial.html#when-is-an-interactive-tool-appropriate
Galaxy interactive tools could be investigated for this use


Design PostgreSQL DB

Design the entire layout of the PG DB. This is completely dependent on the data sources and what the data looks like
The below need to be considered and also read the DB Design for mere mortals:

Does there need to be a specific DB per source?
Primary Keys
Foreign Keys
Tables
Views

The actual database design will be saved to the branch, but managed using draw.io

Figure out Entities and Attributes to help design the database

Need to include the attributes:

EM-DAT: DisNo. - Unique disaster Identifier
GDACS: gdacs:eventid - Unique event ID
FEMA: disasterNumber - Unique disaster number
FEMA: declarationTitle - Name of event

There is a good chance that the databases will have to change in terms of design
dont worry about adding it to draw.io; lets get coding faster!

There should be a temp view for each database, for each year that is read only

Design has been completed. Will write another issue at some point to convert to draw.io
all actions completed, closing


ISLE: add an implicit type conversion mechanism

There is a lot of (RegMem.Reg my_reg) expressions in the x64 backend that convert a Reg into a RegMem when passing a Reg as an operand to an instruction that can also take a memory operand. Even more of this kind of boring conversion will be littered about with the introduction of newtypes for GPRs and XMMs in #3752 where we have to do (xmm_to_xmm_mem my_xmm).
If we were writing these APIs in Rust, we would take an reg_mem: impl Into<RegMem> param for the first example and "hide" the type conversion inside the API so that the noise is hidden from callers and the API feels nicer and more flexible. The second example would have xmm_mem: impl Into<XmmMem>. We don't have that mechanism in ISLE and the result is that certain bits of code are painfully noisy to the point where it is distracting from what instructions we are actually lowering into.
This issue is proposing that we add something similar to impl Into<T> to ISLE, to fulfill those same API ergonomics/niceties, but much simpler and without introducing a whole traits system.
First off, a big constraint: we want to maintain that there is only one expected type for every expression. This keeps type checking a single, simple pass. We don't need to do any kind of type constraint collection/solving/inference or anything like that.
Straw person proposal (feel free to bikeshed on syntax):
;; A plain decl+constructor that happens to take a `Reg` and return a `RegMem`.
(decl reg_to_reg_mem (Reg) RegMem)
(rule (reg_to_reg_mem r)
      (RegMem.Reg r))

;; Declare that we can convert a `Reg` into a `RegMem` with the
;; `reg_to_reg_mem` constructor.
;;
;; Note that this is unidirectional and does *not* imply you can
;; convert a `RegMem` into a `Reg`!
(converts Reg RegMem reg_to_reg_mem)

;; The x64 add instruction takes two operands: a register operand and
;; a register-or-memory operand.
(decl x64_add (Reg RegMem) Reg)
(rule (x64_add src1 src2) ...)

;; We can pass a `Reg` as the second register-or-memory operand to
;; `x64_add`, without explicitly writing any type conversions, and
;; the ISLE compiler will automatically insert a call to the
;; `reg_to_reg_mem` constructor for us.
(let ((a Reg ...)
      (b Reg ...))
  (x64_add a b))

;; That is, the above is equivalent to this:
(let ((a Reg ...)
      (b Reg ...))
  (x64_add a (reg_to_reg_mem b)))

How do we implement this? Well when you try to compile the above example with ISLE today, it gives you a type error saying that it expected a RegMem but got a Reg. It already knows the expected and actual types, so it can just look up and see if an implicit type conversion between the two is already registered. If so, then insert the conversion call. If not, then report the error.
Thoughts?
(cc @cfallin @abrown @uweigand)

+1, I think this makes a ton of sense, and as we discussed it could make a lot of the tedium in the rules today (value_regs, def_inst) go away if we define right implicit conversions. So we finally reach the ultimate goal of something like
(rule (lower (iadd (imul a b) c)
         (madd a b c))

The main downside is the increased implicitness. An idea: perhaps we could have a mode where the compiler expands implicit conversions and dumps the AST? (Something like cargo expand in principle)

def_inst is actually an interesting thing to bring up because I've only thought about constructors thus far. I think we might want to have separate sets of conversions for constructors vs extractors.

Yep, that makes sense to me, since they're different semantic contexts (pattern vs expr). implicit_etor or etor_convert and implicit_ctor or ctor_convert perhaps?

I think I would prefer constructor to ctor and extractor to etor.

Makes sense to me as well!

Implemented in #3807.


chore: bump testing versions to align with current local testing

This bumps version of actions and cert-manager used during testing.

Dummy PR worked: https://github.com/redpanda-data/helm-charts/pull/330

This missed helm on line 34. I'll update it in #275


Integrating diff in an action

Description
The plan is to have this library as a github action, where a change in an AsyncAPI document present in a repo can tell us what kind of changes we are making. Helpful with info like breaking changes, etc.

What changes have to be introduced?
None in the library itself.

This issue will act as the medium to have discussion about the action, what kind of action we want, what should the format of the output, etc.
I have a few questions:

What kinds of input do we want?
For example, what files should the action check? What type of change should the action output?
What kind of output do we want?
Where do we want the output to be?
Where do we want to source code to live? (In the org, or my personal github account?)

I'll be working on this issue.
CC @jonaslagoni

I'll give this one a go for the initial implementation. I'm thinking I will copy what https://github.com/mvegter/openapi-diff-action does, only instead of a .sh entry point I'll have a small .js script that loads two files and calls this lib.
I definitely think this should be under the name asyncapi/openapi-diff-action, can someone help create it?

@gabormagyar start with a personal GH repo, then once you see fit you can donate it, same as others do: https://github.com/asyncapi/community/discussions/223
That is probably the best way to do it 🙂

or have generic action for AsyncAPI CLI

I'm for that 🚀  We already have too many repositories and it is better to have one project for generic actions.

many repos is not a problem, or at least I think we should avoid this argument as something that should block an idea.
I just think it is simply much easier for community to use one CLI action as people will be able to do more things with just one  action

wouldn't it be better to have documentation in readme that explain how to create a workflow that can do diff using AsyncAPI CLI? or have generic action for AsyncAPI CLI?

I never thought of that :facepalm:. Having action using CLI is so much better.

So, I'm guessing we should close this issue, and create one in CLI repo?


Iterating a slice backwards is a tiny bit faster than forwards

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

go version go1.12 darwin/amd64

Does this issue reproduce with the latest release?
Need to try.
What operating system and processor architecture are you using (go env)?
go env Output
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/hl/8pj040l94nlfzdfz8yzxjmr82d2t40/T/go-build481657979=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

package main

import "testing"

func BenchmarkCap(b *testing.B) {
	for i := 0; i < b.N; i++ {
		x := make([]string, 0, 500)
		for s := 0; s < 500; s++ {
			x = append(x, "taco")
		}
	}
}

func BenchmarkLen(b *testing.B) {
	for i := 0; i < b.N; i++ {
		x := make([]string, 500)
		for s := 0; s < 500; s++ {
			x[s] = "taco"
		}
	}
}

func BenchmarkLenReverse(b *testing.B) {
	for i := 0; i < b.N; i++ {
		x := make([]string, 500)
		for s := 499; s >= 0; s-- {
			x[s] = "taco"
		}
	}
}

What did you expect to see?
I figured the second and third benchmarks would be about the same
What did you see instead?
Going through the array in reverse is consistently a tiny bit faster. Is this just a quirk of my CPU architecture? I tried switching it around a little to use 1 instead of 0 for the comparison and that narrowed the gap slightly but in reverse was still consistently faster.

Thanks for the report.

a tiny bit faster

Can you provide the results?
I suggest using benchstat to get a better sense of whether the difference is statistically significant.

When I run benchstat it seems to consistently reverse:
Len-8         146ns ± 1%
LenReverse-8  159ns ± 1%

It's probably just a fluke with the numbers being so small.


Set the target JDK for older PMD tests

This allows our test code to work on older PMD versions, instead of failing due to old Java restrictions
Fixes https://github.com/gradle/gradle-private/issues/3830

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

I've triggered a build for you.


✨ Schedule roadmap + discussion

Hey folks 👋
Progress on schedule has been kinda stale for a while now and I'd like to kick things into gear again.
We've had a bunch of open issues and PRs that I'm triaging right now. Thanks to everyone who helped out answering usage and how-to questions, I really appreciate it! 😊
I've created this issue so we can discuss next steps for another schedule release in November.
We have a bunch of PRs cooking at the moment and some of them I think would make good additions.
However, one thing I want to avoid is growing schedule "randomly" by adding half-baked or too niche features. I think people like schedule because its interface is simple and straight-forward.
I'm worried schedule will lose its simplicity.
I don't think we should build another APScheduler or a replacement for Cron.
That's definitely something that will be tough to balance and I'd love to hear your opinions on that topic as well 😃 .
I also think there are some must do's that we should tackle in the next release. For me those include:

[x] Fix the CI build (done in #79)
[x] Adding Wheel support for faster installs from PyPI
[x] Setting up proper docs and expanding the FAQ (see #4). This will help keep questions like "how can I cancel jobs?" under control.

Again I'd love to hear input on that, please fire away 😃
I've also toyed with the idea of setting up a Gitter chat room for schedule. I've seen this working well on other projects and I'd be happy to set it up if there's enough interest in it.

Pinging everyone who's been active in 2016: @510908220 @AdamRi @alaingilbert @Aluriak @frispete @grampajoe @invl @jmdevince @jmpesp @laubed @mbattifarano @Michael-F-Bryan @msoedov @r0fls @seemethere @Zerrossetto
(Apologies if I missed anyone.)

For in-flight PRs that would be nice and easy to include in the next release I've created a 0.4.0 milestone

If you want to contribute I'd appreciate some help with fleshing out the Sphinx-based docs further. More info on that in #4.
Here's a quick preview: https://schedule.readthedocs.io/en/latest/api.html (these are auto-generated from the Python source so we mainly need to improve the docstrings)

A chat room for schedule is a nice idea but i would go with a standard IRC channel on a public server because it's simpler, doesn't explicitly need a registration and is a pretty common way for open source projects to communicate.

+1 for gitter.

+1 for gitter as well. Easy to setup and use.

gitter would be ok.

Great catch @Zerrossetto – mind creating a PR to update the docs? Otherwise I can do it later today.
I'm also going to set up Gitter soon.

I corrected the documentation on the pull request #102

FYI I just released schedule 0.4.0 with the following changes:

Add proper HTML (Sphinx) docs available at https://schedule.readthedocs.io/
CI builds now run against Python 2.7 and 3.5 (3.3 and 3.4 should work fine but are untested)
Fixed an issue with run_all() and having more than one job that deletes itself in the same iteration. Thanks @alaingilbert.
Add ability to tag jobs and to cancel jobs by tag. Thanks @Zerrossetto.
Improve schedule docs. Thanks @Zerrossetto.
Additional docs fixes by @fkromer and @yetingsky.

Thanks everyone!
edit: Make that schedule 0.4.1, there was an issue with README.rst not rendering correctly on PyPI. All good now.

@Zerrossetto
Hi! I just installed schedule and started playing with it. So sorry if I sound very naive but when I run this:
import schedule

def catch_exceptions(job_func, cancel_on_failure=False):
    @functools.wraps(job_func)
    def wrapper(*args, **kwargs):
        try:
            return job_func(*args, **kwargs)
        except:
            import traceback
            print(traceback.format_exc())
            if cancel_on_failure:
                return schedule.CancelJob
    return wrapper

@catch_exceptions(cancel_on_failure=True)
def bad_task():
    return 1 / 0

...I get this:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: catch_exceptions() missing 1 required positional argument: 'job_func'

Why is 'job_func' missing in the bad_task()'s catch_exception decorator? The documentation says

If you want to guard against exceptions you can wrap your job function in a decorator like this [my note: see above]

What would be my job function? I thought bad_task() would be my job function. I am probably missing something very obvious or something that goes beyond my limited understanding of Python. Any tip would be greatly appreciated. Thanks!

Hi,
it doesn't work for you because I messed up with the documentation. Try this:
def catch_exceptions(cancel_on_failure=False):
    def catch_exceptions_decorator(job_func):
        @functools.wraps(job_func)
        def wrapper(*args, **kwargs):
            try:
                return job_func(*args, **kwargs)
            except:
                import traceback
                print(traceback.format_exc())
                if cancel_on_failure:
                    return schedule.CancelJob
        return wrapper
    return catch_exceptions_decorator

@catch_exceptions(cancel_on_failure=True)
def bad_task():
    return 1 / 0

Thanks @Zerrossetto !

Are there any plans to integrate run_continuously into your original schedule? I'm thinking of using your library in my Telegram bot, however, I need to run scheduler separately from the bot itself

Hi there! It seems like this roadmap has reached its destination.
Continue reading about the future in #412 :rocket:

Hi there! It seems like this roadmap has reached its destination.
Continue reading about the future in #412 :rocket:


Fixes #YUPTOO-26 - Fix MAX_POLL_EXCEEDED error

Under msg.error() I removed raise KafkaException so that service does not terminate, consumer.poll() has the ability to recover from MAX_POLL_EXCEEDED error.

/retest

Thanks @patilsuraj767 and @r14chandra for review!


Seamless integration with system clipboard broken

With the latest update, alt-w doesn't allow pasting into other applications, and ctrl-y doesn't yank from other applications. Having a universal cmd-c, cmd-v is aesthetically pleasing; in the previous version, the emacs keybindings did read/write to system clipboard.

Thanks for the feedback @artagnon!
I've just merged @itiut's patch. Going the other way (yanking from other apps) is an interesting idea, but tricky to implement, since we can't tell if the copy happened before or after the last kill ring entry without having a clipboard timestamp. The only alternative I can think of is to poll the clipboard, which is rather unsatisfying for several reasons.
I'll mark this as resolved, and keep thinking on the yank issue. Let me know if you have further thoughts.

On the issue of keeping track of kills (ring), I like clipboard-plus.


Wrong light setting for Shutters

Hello,
Issue:
some shutters show a "light" toggle next to the up/down buttons. This doesn't make sense for shutters.
It looks like when we add new shades, they inherit by default some settings of the previous shade, but if we change shade type (garage to shutter), the new shade inherit settings that are not valid for this type and there is no way to remove that.
Repro:
This is how I think it happened:
I've set a couple of shutters and they did not have a "light" setting (makes sense), then I set up my garage door, and this have a light setting that I toggled on. I then created a new shade, this started the creation form on the garage type, I changed the type to shutter, but this didn't toggle the light setting off. Now for every shade I create, they have a light attached to them.

Go into the configuration and edit the shade.   Choose one of the garage door type then uncheck Has Light.  Now change the type back to the original and press the save button.
It appears that I need to clear that selection when it isn't an option for the type.  Thanks for the report.

@Mortimerp9 I assume you have sorted this out.  Please open another issue if you have any other issues.  I have already added code to clear the flags if the motor does not support the function.

Thanks for the fix, yes I figured it out, just wanted to flag the bug.


Precompile modexp test cases

🗒 Description
This adds a few test cases for the ModExp precompile introduced in Byzantium.
🔗 Related Issues
Part of these test cases where consensus bugs found in EthereumJS, see the issue: https://github.com/ethereumjs/ethereumjs-monorepo/issues/3168 and the PR: https://github.com/ethereumjs/ethereumjs-monorepo/pull/3169
✅ Checklist

[ ] All: Set appropriate labels for the changes.
[ ] All: Considered squashing commits to improve commit history.
[ ] All: Added an entry to CHANGELOG.md.
[ ] All: Considered updating the online docs in the ./docs/ directory.
[ ] Tests: Included the type and version of evm t8n tool used to locally execute test cases:  e.g., ref with commit hash or geth 1.13.1-stable-3f40e65.
[ ] Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.

I need some help starting with the Tox validation. Is there a way to auto-fix my files?

@danceratopz Thanks for the follow-up PR :smile:
Although I have not added all cases from the EIP test file, I think this is ready for review. If you want, I can also add the remaining tests from the EIP.

Note: I can not set labels for the PR, and I am assuming that if this gets merged, it will be merged via a squash-and-merge. I have not yet ticked those boxes.

I have updated and also added the 2 remaining cases in the EIP.

Happy new years everyone :smile:
Could someone take a look at this PR? I think it is ready-to-merge, except this spell issue (see my comment here: https://github.com/ethereum/execution-spec-tests/pull/364#discussion_r1435705248)
CC @danceratopz @marioevz

Happy new years everyone 😄
Could someone take a look at this PR? I think it is ready-to-merge, except this spell issue (see my comment here: #364 (comment))
CC @danceratopz @marioevz

Happy New Years @jochem-brouwer! Yup, will do!

Regarding the test names, do you mean something like this?: 460bf35834943154dc66935c3c38372aa92c11f2
(I am resolving the latest comment as we speak :smile: )

I'm not sure, how do I run evm_bytes_to_python? I can run fill, or order_fixtures, but if I try evm_bytes_to_python then I get command not found. (I have updated my branch to latest main)

If I rename to https://github.com/ethereum/execution-spec-tests/pull/364/commits/fe4c0a8a18a54a0e999e22d0dac247c78b83455c
tests/byzantium/eip198_modexp_precompile/test_modexp.py then I have to add
REFERENCE_SPEC_GIT_PATH = "EIPS/eip-198.md"
REFERENCE_SPEC_VERSION = "9e393a79d9937f579acbdcb234a67869259d5a96"

To the test (which I did). However now the documentation fails to build and I don't know why (just checked, CI passes if I rename it back https://github.com/ethereum/execution-spec-tests/actions/runs/7480915178/job/20361369965?pr=364 ). How should I fix this? It seems it can't find some files
ERROR   -  mkdocstrings: tests.byzantium.eip198_modexp_precompile.test_modexp could not be found

Aborted with a BuildError!
ERROR   -  Error reading page 'tests/byzantium/eip198_modexp_precompile/test_modexp/index.md':
ERROR   -  Could not collect 'tests.byzantium.eip198_modexp_precompile.test_modexp'

But I don't see anything in the other EIP tests which gives me a hunch what the problem could be :thinking:

Never mind, I forgot to rename the __index__.py to the right folder.
@danceratopz ready for re-review :smile:

I personally like this one better https://github.com/jochem-brouwer/execution-spec-tests/pull/2 since it is more descriptive. (I had thought of creating those manually, but indeed creating those using autogen is better :smile: )
Let me know if you need anything from my side :smile: :+1:

Also regarding the new classes: that definitely makes it more readable!

Big fan of 2) for the maintainability :D - will be a nice structure to follow for similar tests in the future

@danceratopz I have just manually checked, the EIP has 5 test cases. I manually also checked that the test cases from the EIP match the test cases as written down in this PR. So from my side also: go ahead and merge, thanks a lot :smile: :+1:


Prevent the error when explicitly specifying default buf gen temlate file path

Backgroud: I encountered the following error.
Buf gen template file specified in the project directory as well as with templateFileLocation; pick one.

But I have just one template file {rootDir}/buf.gen.yaml.
I didn't understand the reason for the error until I read the source code.
I think it's natural to want to specify the file path explicitly.
Therefore how about making this trivial fix to prevent confusion?
Thanks.

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

@un1024 Please let me know in the next day or so if you still want to be involved with this PR, otherwise I will go ahead and push my change to the branch and get the PR merged.

@drice-buf Sorry, I've forgotten this Pull Request and am late... 🙇  I have fixed and pushed for your comments.
Ofcourse I am fine with you to change it there.(If necessary, you can discard my pull request if you like, too.)
Thank you for your time.

@un1024 thanks for the PR and for bringing it up to date quickly.


OCW legacy redirects for course pages

In the transition from OCW legacy to OCW Next, we would like to preserve as many URLs as possible. We've considered a number of alternatives, and we've determined that redirects in Fastly are the best option.
acceptance criteria

This only applies to paths that start with /courses/ followed by a department name. A list of department names can be found in https://github.com/mitodl/ocw-to-hugo/blob/master/src/departments.json

Remove the department name from all URLs. The simplest example:
incoming: /courses/mathematics/18-06-linear-algebra-spring-2010/
301 redirect to: /courses/18-06-linear-algebra-spring-2010/
if this fails to return a working URL, then

Insert /pages/ into the URL after the course id (in addition to removing the department). For example:
incoming: /courses/mathematics/18-06-linear-algebra-spring-2010/syllabus/
301 redirect to: /courses/18-06-linear-algebra-spring-2010/pages/syllabus/
if this fails to return a working URL, then

replace the path after the course id with /resources/ (in addition to removing the department). For example:
incoming: /courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/lecture-2-elimination-with-matrices/
301 redirect to: /courses/18-06-linear-algebra-spring-2010/resources/lecture-2-elimination-with-matrices/

note that video-lectures was also removed in this path

out of scope

redirects for paths that start with anything other than courses, like /resources/ or /high-school/

@pdpinch Can we have example links where (2) and (3) apply? Just trying to test/verify Fastly config and need examples.

That's really just an example, although it's a common one.
If the request was for /courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/lecture-2-elimination-with-matrices/ I would have expected it to be rewritten in step 2 to /courses/18-06-linear-algebra-spring-2010/pages/video-lectures/lecture-2-elimination-with-matrices/ which should return a 404.

@shaidar  can we at least deploy a fastly config for rules 0, 1 and 2 so we can see how well that works?

@pdpinch Think all conditions should be working now on the test Fastly distro - https://ol-devops-ci.odl.mit.edu


Add start and end date/time configuration for OAI driver collections

QNL in particular is a large (44K+) collection that inconsistently times out during harvest. Adding start and end time parameters to the configuration will allow us to use the from and until query parameters in the OAI query string.

It appears that QNL's OAI-PMH server may not be behaving correctly when handling resumption tokens and the ListRecord until parameter. There is more info over at https://github.com/mloesch/sickle/issues/56 to confirm this isn't a bug in Sickle.


[SYM-4751] Improve documentation around sym_flow.vars type behavior

Summary

Adds a block to the sym_flow.vars attribute to document more clearly that non-string primitive values will be cast to strings when the configuration is applied, and that implementers must recast them to the correct type when using the values in their impl.py
Ran tfplugindocs to generate the new documentation and inspected them to see that they match the same syntax used by the hashicorp/aws provider to create warning blocks

Current dependencies on/for this PR:

main

PR #145   👈

This comment was auto-generated by Graphite.


Allow bid status to be absent

Allow a user to indicate the dataset as using a single bid status (i.e. valid). We can then calculate indicators as if the status were set. (I don't yet know how common this is.)

Closing in favor of making #15 generic.


Uncaught (in promise) TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation

Hi,
I tried to use this package and I got the following error: Uncaught (in promise) TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
I'm using Rollup/ES6.
I used your example for ES6.
I'm using it alongside  svelte

Hey. Currently there isn't browser support, I'll look into browser support today

Unfortunately I don't think there will be browser support since Pastebin doesn't allow requests from different origins in the browser.
Tho, you could setup a small express server with the PasteClient to send the request to from your svelte application

Ahh Damn, Thanks for checking, I wasn't sure how it worked. Thanks anyway!

No problem! I’ll close this issue, if you encounter another problem feel free to open another issue :)


drivers: can: only copy frame data for non-RTR frames

Only copy frame data for non-RTR frames as RTR frames do not carry any data.
Fixes: #57002

All driver/test changes were tested except for the changes to the following drivers, for which I do not have access to hardware. Any help in verifying these changes would be appreciated:

NXP S32 (@manuargue)

hi @henrikbrixandersen, thanks for the fixes. Are there any particular tests that should be run to verify these changes?

hi @henrikbrixandersen, thanks for the fixes. Are there any particular tests that should be run to verify these changes?

Hi! Running the tests/drivers/can/api test suite with hardware-in-the-loop should be sufficient.

CAN tests passing on mr_canhubk3 (mcux_flexcan.c) and s32z270dc2_rtu0_r52 (nxp_s32_canxl.c)
Changes LGTM, approving for the NXP S32 parts

Thanks!


Update Aggregate Report Pipeline After POM Restructuring

This PR fixes the reference to the no longer existent sdk/core/pom.service.xml that the aggregate-reports pipeline was using, this was replaced with pom.client.xml which the Core pom.service.xml was aliasing.

/azp run java - aggregate-reports


Automate logging in powershell functions

Hi
May I know how I can add logs to begin and end of a function in Powershell automately? Something like the AspectJ for Java.  I have the question as I'm going to have the clear call stack trace like all functions call with log "

Start-Transcript is probably the most effective and simple way to start with this kind of thing.
Just remember to Stop-Transcript at the end! 😄

@vexx32 Thanks for the comments so much! Hm...then I have to "Start-Transcript", "Stop-Transcript" in each function...any...automate solution here?

We could enhance our Trace commands.

If you're on a domain you can set GPOs to automate logging for PowerShell; see here for some ideas: https://blogs.msdn.microsoft.com/powershell/2015/06/09/powershell-the-blue-team/

@vexx32 I've read the logging paragraph of the above document. Yes, it's a solution to have better traceability of function calls, though a little big complex. I will consider this as a temp solution.
Thanks so much.


Migrated app to Expo

I have added some brand assets for the Expo publication, feel free to remove if you want.

@mgscreativa thank you for publishing this on Expo, really appreciated. We don't want to have sample app working only for expo though. Could you consider to maintain a different branch? i.e. we maintain master while you keep up expo branch.
Thanks.

@mgscreativa I merged your pr in the expo branch and added reference to it in master's README.
Thank you again.

Hi! I certainly can maintain the expo branch but please consider the code rework/refactoring Inhave done. That can make the maintenance a lot waster as it's just a copy/paste from future code.
Thanks!

Sorry don't see what you are saying.

If you take a look at the code, you'll see that some code refactoring was done, i.e.: created the App directory, no need to .bind(this), code reformat with prettier, assets folder organized, some branding app icons and splash (feel free to change it), etc.
If you keep that structure, the maintenance would be way too easy for me...

Sure, I will look at it.


Links modified

I have changed the links which is now redirected towards kubesimplify github page

#24 @anubha-v-ardhan


Missing Section: When To Not Use Tokio

Why should a user not use Tokio? All good explanations of libraries come with a section on when the user should not use the library.
This might require a bit of extra thought since Tokio is so general and will probably become extremely pervasive in the Rust ecosystem as time goes on, but giving the user a good idea of when Tokio is not appropriate is imporant.

When is it ok to do things synchronously?
Is Tokio appropriate for embedded environments?

Should this be part of "What is Tokio?" (#10)


Renaming the attendance page and displaying subjects and labs which student has on the particular day.

Deliverables:

[ ] Rename the attendance page to Today.
[ ] Display only those subjects and labs which a student has on that day.

Screenshots

I would like to work on this issue. @Sanyam2000-dot

@Sanyam2000-dot @ADRE9  The default cards doesn't  contains any days values, it would be better if someone could add edit those values, it would be easier for me to work.

Actually there is a days feature. But since for the first time the user gets template subjects , it is empty. As soon as the user starts editing subject it becomes necessary to add the days to it. And then you can show it in the today's page. We are imagining a page where a new registered user will be introduced to time table so taht the user can easily add and change time table. If you want to work on it before. Talk to @kunaljain0212 or @Sanyam2000-dot  , they will help you to create an issue and and work on it.

@ADRE9 Ok thanks I got your point

@ADRE9 @Sanyam2000-dot check if this is the needed functionality.
https://user-images.githubusercontent.com/16490253/113484574-ad7cba00-94c6-11eb-940d-aedb337701d9.mp4

Yes Exactly ! Change the Route from "attendance" to "today". And Classes and Labs to Today's Classes and Today's Labs respectively.

@ADRE9 Ok sure

@ADRE9 should the Today Page contain the default cards?

No only what's today.

@ADRE9 how this looks?
And as per Route I think we should make another issue if we want to update route to '/today' as it will need a lot of changes to many files. Currently it is routed to '/' and I think it's better to keep that.

No by Route I meant the Link component that is now labelled as Attendance.

@ADRE9 Can you please help me with this part, I can't seem to get it.

@ADRE9 ok I got what you're trying to say, working on that

@ADRE9 @Sanyam2000-dot kindly review the PR.

Looks good to me. @ADRE9 please review it.


Import functions from a folder into a Runspace

It would be nice to add a parameter to the import function that will load all functions in a folder. This is nice if you are creating another module to be able to import utility functions from the module. Currently, I am loading functions individually. I have an example below:
route get '/' (auth check login -o @{ 'failureUrl' = '/login' }) {
    param($s)

    . $(Join-Path -Path $PSScriptRoot -ChildPath '../Private/Get-ScriptMeta.ps1')

    Get-ScriptMeta $Path
}

Since you're dot-sourcing, you can use the load function to simplify it a little bit:
load '../Private/Get-ScriptMeta.ps1'

That being said, adding support to import and load to automatically load all modules/scripts within a directory would be useful!
Oh also, using import '../Private/Get-ScriptMeta.ps1' actually works and imports the script into the runspaces 😃

Awesome! Thank you! I switched to using load like this.
Server {
    Get-ChildItem "$PSScriptRoot/../Private/*.ps1" | ForEach-Object{
        import $_.FullName
    }
}

`

I've made it now so that import and load can have wildcard paths. Or just a directory path; in which case import will look for *.ps*1 files, and load will look for *.ps1 files.
Means you can now do:
server {
    import '$PSScriptRoot/../Private/*.ps1'
}

😄


Navbar issue resolved for all pages and also added navbar in contact page

Closes Issue #87
I have successfully added Links in Navbar of Login and Register pages, also developed Navbar for contact page

Kindly merge my PR !

Hey @hkaur008 could you please merge my PR!!

Hey @hkaur008 could you please check what's exactly the issue is with this PR, if possible could you please resolve it and merge my PR.

@hkaur008 kindly merge it 🙏🏻🙏🏻🙏🏻🙏🏻


Question regarding training & inference

According to your paper and the code, it seems that the model performs training-inference process unlike traditional test-time optimization of NeRF variants. However, I can't find which module is optimized during the training phase.  Zero123 module is frozen during training, and I see that checkpoint of SparseNeus is also provided (maybe this checkpoint is for the 3D convolution module in the figure indicated by the purple color?). Then, which module in the figure is optimized during training?

The checkpoint stores parameters from the 3D Conv and the SDF/RGB MLPs. We train it in our own way.

then the checkpoint of SparseNeus is the result of your training?

then the checkpoint of SparseNeus is the result of your training?

Yes

Thanks for reply!


Causes audio crackling and video lag

This problem goes away when I disable Audio EQ and comes after when I enable it again.
It started a few days ago.

I just started to face the same problem :(

me too

Same here!  The latest Chrome update 60.0.3112.90 I JUST did seems to screw audio...  Until I disabled this audio plugin...

I experience audio problem on BandCamp
click the play button and .... nothing it won't start playing.
Chrome Version 60.0.3112.113
Chrome Canary Version 62.0.3198.0

Same issue here.
Latest chrome version, Windows 7 x64

I'm having this suddenly too... Linux x64, Chrome 61.0.3163.91

Same here on Chromium Version 60.0.3112.78 (Developer Build) Built on Ubuntu , running on elementary 0.4.1 (64-bit)


exit nonzero upon write failure

Report by Jim Meyering :
Please make it diagnose and exit nonzero upon write failure. A good way to demonstrate the problem is to use linux's /dev/full device:
$ echo foo | programs/zstd > /dev/full; echo $?

Self note : programs/zstd already detects such situation when input is not stdin, that is :
./zstd somefilename > /dev/full; echo $?
Error 25 : Write error : cannot write compressed block
25

Jim Meyering :
You just got lucky/unlucky.
The code detects fwrite failure, but not the failure of the write induced by fclose, so if you start with a smaller input or if the error strikes only for the final write, that other usage fails to detect the error, too:
$ echo foo > k && programs/zstd k > x; echo $?
Compressed 4 bytes into 14 bytes ==> 350.00%
0

Fixed into 5b147600f9ece047159abfad03a94c0e2cd86e6a
Also : this test has been added to the automated test suite


fix(DetailPageHeader): identify children when minified

This sets a displayName property on all of the children that DetailPageHeader has special cases for, and then updates the DPH to check displayName rather than name. (name changes during minification, but displayName does not.)
I'm not completely happy with this, partially because I'm not sure how to test for it, but it should at least fix the current buggy behavior. I suppose we could minify the code and then test it, but that sounds like a giant pain.
Alternatively, there could be a lint rule that just required all components to specify a displayName, but that would be a bigger change. It wouldn't be a bad thing to enforce though, especially if we want to allow some code to depend on component names internally.
(I dropped the instanceof idea because it's not as straightforward as it sounds. Given that some of the components are stateless functions that you don't directly create instances of, this kind of makes sense.)
Fixes https://github.com/carbon-design-system/carbon-components-react/issues/136

@chrisdhanaraj can you help get this merge? It's a priority for us and that's why we reported and fixed the issue.

Superseded in #140


Zerocopy RsVec

This adds a zerocopy capabilities based on the anybytes crate.

That could probably use a forced rebase

Sorry, completely forgot to clean it up after all the other changes happened 🙇♂ 😅

No, PackedSlice doesn't implement Index and has no len() method, thats why the tests fail

I think that's a follow-up error, unless I'm missing something.
PackedSlice implements
impl<T> AsRef<[T]> for PackedSlice<T>
where
    T: FromBytes,

but with Serde, FromBytes and AsBytes don't get derived, so the blanket implementation won't exist, so it doesn't have Index or len().


primus uses old version of nvidia driver marked as broken

Describe the bug
When I tried to update under unstable, it fails by trying to use an nVidia driver now marked as broken.
Primus uses two versions of the nVidia driver.
It needs both the 64-bit and 32-bit drivers, for 64-bit it uses the one from whatever linuxPackages_n is specified, for me this is nvidia-x11-550.xxx. For 32-bit it seems to use nvidia-x11-390.157 which is now marked broken.
Unsure how many people this will affect, or if I even need it in my configuration anyway, I have it added as an extra package to steam.
Steps To Reproduce
Move to latest unstable and add primus to your packages.
Notify maintainers
Unsure who to notify since this is a really old package.
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

system: "x86_64-linux"
host os: Linux 6.7.4, NixOS, 24.05 (Uakari), 24.05.20240213.35ff7e8
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.18.1
channels(root): ""
channels(zyl): ""
nixpkgs: /nix/store/818hgwlhx8ygjilaj89za2nyfff6d8aj-source

Add a :+1: reaction to issues you find important.

The same problem also effects users of the hardware.bumblebee option.

The same problem also effects users of the hardware.bumblebee option.

Doesn't seem like this issue has gotten any attention, might be worth creating a new issue for what you're experiencing.

As a workaround I pinned the kernel to version 6.1. That should work also work for primus.
However, the usual boot.kernelPackages way does not work (why?).
But overriding the default linuxPackages attribute with an overlay works:
  # boot.kernelPackages = pkgs.linuxPackages_6_1; # Has no effect on the issue
  nixpkgs.overlays = [
    (self: super: { linuxPackages = super.linuxPackages_6_1; })
  ];


Change position based on device-width

I'd like to change the position based on the device.
Indeed, on desktop - I use bottom-right but in my case - on mobile, if navigation is on the bottom (or for other reasons) - it can obfuscate the view so I'd like to use top-left (ie. top).
Currently, I make it work using react-device-detect (which parses the user agent strings) in my global <Toaster /> provider.
PS. thanks for the package!

Hey, thanks for the suggestion! Passing a different position prop based on device width is ok, I don't think we want to support this in the library itself as it's easily achievable by the consumers.


Added environments reducer

For #

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[ ] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

Codecov Report

Merging #13953 into main will decrease coverage by 0.00%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##             main   #13953      +/-   ##
==========================================
- Coverage   59.86%   59.86%   -0.01%
==========================================
  Files         696      696
  Lines       38490    38492       +2
  Branches     5537     5537
==========================================
  Hits        23043    23043
- Misses      14261    14262       +1
- Partials     1186     1187       +1

Impacted Files
Coverage Δ

src/client/pythonEnvironments/base/locator.ts
83.33% <ø> (ø)

src/client/pythonEnvironments/info/index.ts
41.79% <66.66%> (+0.25%)
:arrow_up:

src/client/common/utils/platform.ts
60.00% <0.00%> (-4.00%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bc9cd8b...37db846. Read the comment docs.

Oh, and thanks for iterating through the design with me on this!  I'm happy with where we ended up.


ability to enable/disable an API

An use-case would be to quickly disable an API from being consumed.

this is risky. you might want to add some security protection to this action.

@sinzone Not really, anyone with access to this could just as well do a DELETE and cause the same outage.

whats the difference then from having ACL plugin activate on a specific API?

This operation deactivates the API immediately regardless of the plugins installed.

Is anyone working on this?
If not I can create a pull request for one of the following two options.

Add a enabled boolean to the apis schema and in the resolver.lua have it send a HTTP_SERVICE_UNAVAILABLE (503) response. This would be my preferred approach as you can create the api and disable it at the same time until it is fully configured.

Implement an api_enabled plugin that would have an enabled boolean field. If enabled == false then it would send a HTTP_SERVICE_UNAVAILABLE (503) response.

My current work around is to create my API with a dummy upstream URL (e.g. http://localhost/error/503) and then after all the plugins are configured I change it to the real upstream url.

there are two things here; available and enabled.

enabled says the api is or isn't there. It would make a request fallback on another matching (but lower ranking) api if it was available. Basically the same behaviour as if the api simply wasn't there.
available means it matches, is there, but gets blocked from access with a 503. No fallback on other apis.

available
Most efficient would be to have a plugin. It should not have a setting. Because when you add the plugin with available=true the plugin still causes overhead. The better approach would be to have a plugin that always returns a 503. The sheer fact that the plugin is added on an api, is then the marker for the api being unavailable. Possible configuration could be a specific message?
btw; this plugin should have the highest possible priority, such that it is always executed first
enabled
An enabled boolean should be added to the api entity, an api with this set should be skipped when loading the configuration (as if it doesn't exist), automatically making requests fall back on another api (if there is one).

That sounds reasonable.
I can work on a pull request if you'd like.

a PR would be nice :+1:
just for reference linking this to #1725 same, but on consumers.

I'm splitting this into a few PR's.
The first Http Response 503 Service Unavailable just adds a new response code for 503 Service Unavailable.
I wanted that separate to make sure I follow your committing process correctly before I do the next one which will be the api-unnailable plugin.
Let me know if I missed anything or should do anything different.
P. S. I did try and run the test suite but there seems to be some errors on the next branch. I did verify that this change didn't cause an error in normal operation of the server.

:+1:
another thought; maybe the plugin should be configurable as in "request termination" plugin, with a configurable statuscode and message. Those could then default to "503" and "Service unavailable". But would allow for another status/message. (but feel free to stick to just 503)

I wanted that separate to make sure I follow your committing process correctly before I do the next one which will be the api-unnailable plugin.

just to be clear; this cannot be a plugin, this is part of the core.

I was thinking along the same lines last night that it would be useful to be able to specify different status codes.
You're last comment about being part of the core.
For the enabled flag I was thinking that would be on the apis table and when the request is processed the api will be ignored by the core if enabled=false.
For the request termination (was originally suggested as api unavailable) plugin that would be a core plugin in the core kong source tree with a high priority that would send the configured status code and message.

This was done in https://github.com/Mashape/kong/pull/2328, no?

Robert,
No that pull request was for a plugin that allowed you to send a alternate HTTP status code instead of forwarding the request.
The ability to disable an API was thought of at the same time. Except that disabling the API would skip it in the request processing. This allowing potentially another API to be matched. In effect it would be as if the API didn't exist but you could preserve the config if you wanted to enable it again. That could be useful in provisioning an API with a lot of plugins. Create it disabled, add the plugins then enable it.


[QUESTION] Best way to handle multiple incoming requests that trigger external APIs

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
from fastapi import FastAPI
import asyncio

app = FastAPI()

async def expensive_request():
    asyncio.sleep(10)
    return {"foo": "bar"}

@app.get("/request")
async def request():
    result = await expensive_request()
    return {"message": result}

Description
The expensive_request method calls an external API service that is rate limited. When multiple users call the /request endpoint at the same time, the expensive_request gets triggered several times. What are the ways to group these multiple requests into one awaited one?
Operating System
Linux
Operating System Details
No response
FastAPI Version
0.65.2
Python Version
3.9.9
Additional Context
No response

@juangaitanv perhaps limit your fastapi rate as well with library like slowapi? You can limit the rate for the entire endpoint, per IP src etc., and add some front end handling.

@juangaitanv perhaps limit your fastapi rate as well with library like slowapi? You can limit the rate for the entire endpoint, per IP src etc., and add some front end handling.

Thank you for your suggestion @Kayx23! Do you know of any way to do it without rate limiting the customer?

Another option is to have a downstream queue whose producer is your endpoint and whose consumer batches up some of the requests currently in the queue preforms expensive request

If the client have a limiting setting use it :
example of aiohttp
SIZE_POOL_AIOHTTP = 100
timeout = aiohttp.ClientTimeout(total=2)
connector = aiohttp.TCPConnector(family=AF_INET, limit_per_host=SIZE_POOL_AIOHTTP)
cls.aiohttp_client = aiohttp.ClientSession(timeout=timeout, connector=connector)

full example -> https://github.com/raphaelauv/fastAPI-aiohttp-example/blob/92506131237f2b0d75b97a9c988ea23e46a82848/src/fastAPI_aiohttp/fastAPI.py#L28
Or put a Semaphore around the operation you want limit
SIZE_POOL = 10
sem = asyncio.Semaphore(SIZE_POOL)

async def expensive_request():
    async with sem:
        asyncio.sleep(10)

Thank you @raphaelauv! Do you know of any method to group pending futures (i.e. same pending requests wait for its response)?

Perhaps you might want to use node.js along with fastApi to handle many parallel HTTP requests. Have NodeJs to place multiple requests into a an event queue and from there use your expensive_request script.

Thank you @DavidSantacruzR! Something like this -> https://github.com/Dunkelheit/pending-promise-recycler?
Do you know of any similar implementation in Python?

@juangaitanv well not exactly like that. In other words, you might want to use a child_process from the Node packages (https://nodejs.org/api/child_process.html) and using this to call the script where you have the function or the python implementation.

One way, I found easy to implement, to wait for already pending requests (expensive_request) is to use a cache in the following way:
import asyncio
from fastapi import FastAPI

EXPENSIVE_REQUEST_KEY = "expensive"
tasks_cache = {}

app = FastAPI()

async def coro_wrapper(result):
    return result

async def expensive_request():
    print("Starting Expensive request...")
    await asyncio.sleep(5)
    print("Finished Expensive request...")
    return {"foo": "bar"}

@app.get("/request")
async def request():
    global tasks_cache

    future = None
    if task := tasks_cache.get(EXPENSIVE_REQUEST_KEY):
        if task.done():
            future = coro_wrapper(task.result())
        else:
            future = task
    else:
        tasks_cache[EXPENSIVE_REQUEST_KEY] = asyncio.create_task(expensive_request())
        future = tasks_cache[EXPENSIVE_REQUEST_KEY]

    result = await future
    tasks_cache = {}  # Reset cache
    return {"message": result}

Please give me your thoughts on the implementation 🙏


[Event Hubs] Assorted Minor Updates

Summary
The focus of these changes is to:

Update change logs
Refine documentation around event handlers in the buffered producer
Adapt to changes in the TestEnvironment that altered behavior
Fix a corner case in the AmqpConnectionScope that could lead to timers not being properly disposed in some error scenarios.

/azp run net - eventhub - tests

/azp run net - eventhub - tests

/azp run net - eventhub - tests


feat: impliment Bresenham's algorithm in drawLine

Please install and use https://github.com/w8r/bresenham-zingl (don't copy the code)

Please install and use https://github.com/w8r/bresenham-zingl (don't copy the code)

bresenham-zingl does not have ts version, it may cause issues

Do i have to create new drawline using Bresenham's algorithm or replace the function that already exist?

The goal is to replace the implementation, in other words call the library from drawLineOnIjs and drawLineOnMask

Please install and use https://github.com/w8r/bresenham-zingl (don't copy the code)

bresenham-zingl does not have ts version, it may cause issues

You can create a file in src/types/bresenham-zingl.d.ts and define the types that we need.

The goal is to replace the implementation, in other words call the library from drawLineOnIjs and drawLineOnMask

i created drawLineOnIjs using bresenham-zingl

Lgtm. Can you check the CI errors?

OK I know what the problem is. Working on it.


[WORKFLOWS-447] Create Python package scaffolding

Prior to containerizing the package, I wanted to actually make it a package. In searching how to efficiently do this, I came across PyScaffold. In one fell swoop (with admittedly some fiddling), I was able to add the boilerplate files to enable Python best practices, including:

Testing with Pytest and test coverage
Pre-commit hooks
Build/publish automation
GitHub Actions CI workflow
Sphinx documentation
Contribution page

I was able to build and publish a test version (0.0.1) on TestPyPI: https://test.pypi.org/project/sagetasks/0.0.1/

Codecov Report

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

@@          Coverage Diff           @@
##             main      #6   +/-   ##
======================================
  Coverage        ?   1.16%
======================================
  Files           ?       8
  Lines           ?     342
  Branches        ?      37
======================================
  Hits            ?       4
  Misses          ?     338
  Partials        ?       0

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

I don't expect anyone to review this monster PR, and I need to merge it so I can test some things out with the CI workflows. This PR can still be used to discuss these changes, and I can address them in a follow-up PR.

Lgtm


Fixed failures in test_save

Description
Accept that other files than exactly those tested for may have been created.
Type of change

[ ] Bug fix.
[ ] New feature.
[ ] Documentation update.
[x] Test update.

Checklist

This checklist can be used as a help for the reviewer.

[ ] Is the code easy to read and understand?
[ ] Are comments for humans to read, not computers to disregard?
[ ] Does a new feature has an accompanying new test (in the CI or unit testing schemes)?
[ ] Has the documentation been updated as necessary?
[ ] Does this close the issue?
[ ] Is the change limited to the issue?
[ ] Are errors handled for all outcomes?
[ ] Does the new feature provide new restrictions on dependencies, and if so is this documented?

Comments

Instead of suggested fixes, make sure that we always work on an empty directory.

Closing since a simpler fix was added in PR #756


Remove SUBMIT button in Create a new property pane

To make GUI consistent, remove SUBMIT button in Create a new property pane.

or we could add back the submit button when creating new blocks, as discussed during the meeting.
then the submit button could be renamed to "create new" and it would be consistent across the board.
@g1eb  @szeke ?

Yeah! This also seems to tie in with the "don't create annotations when clicking" issue. We can show a pre-filled annotation menu with our suggestion but only submit as annotation when users click the "submit" or "create new annotation" button.
We discussed this briefly with Pedro and what we could also do is simply not allow users to click outside the create property menu until they are done with the create property form. This way users are forced to either close the menu with the X button in the top right corner (aka cancel) or submit the changes with the submit button.

We discussed not automatically creating annotation blocks and asking users to confirm the annotation suggestion first. In other words, we're going to be adding a confirmation submit button back to the annotation menu and this ticket is no longer relevant.


Port 3001?

What is the significance of port 3001? https://github.com/erikras/react-redux-universal-hot-example/blob/master/webpack/dev.config.js#L8

Nevermind..

:-) That's where the webpack-dev-server lives.


7nodes README.md wrong for node 1 regarding private.get()

with the documentation, only node7 can return 42 for private.get(), please correct 7nodes README.md to either 1) privateFor param to add node1 pub key or 2) node1 private.get() to return 0 instead of 42

node1 is the sender, and the sender is always a "recipient" i.e. runs the transaction.


Adds disable_content_type_detection to sendDocument and InputMediaDoc…

…ument

Updates sendDocument to use the TelegramBotResult
Adds tests for sendDocument and some resource files for them
Adds mimeType param to sendDocument(ByteArray) as this is necessary for Content-Type expliciting
Updates the public library api
Closes issue #153

Hi, I noticed sendDocument is missing thumb and caption_entities params, I thought about adding them too, but as you guys, maybe, would prefer having another issue for that I had to let it go. 😛

Hi, I noticed sendDocument is missing thumb and caption_entities params, I thought about adding them too, but as you guys, maybe, would prefer having another issue for that I had to let it go. 😛

Let's tackle that as a separated issue 🙂 https://github.com/kotlin-telegram-bot/kotlin-telegram-bot/issues/219


Code: 452. Setting max_execution_time should not be changed

I'm trying to read Altinity demo server with Apache Spark using package ru.yandex.clickhouse:clickhouse-jdbc:0.3.1-patch and corresponding driver ru.yandex.clickhouse.ClickHouseDriver.
And I'm getting error:
Py4JJavaError: An error occurred while calling o41.load.
: ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 452, host: github.demo.trial.altinity.cloud, port: 8443; Code: 452, e.displayText() = DB::Exception: Setting max_execution_time should not be changed (version <IP_ADDRESS> (official build))

which obviously tells me that I'm trying to send max_execution_time property while it is being readonly.
The question is, can I pass some JDBC parameter or setting to overwrite this behavior and not send the parameter?
Here is my full program listing in PySpark:
from pyspark.sql import SparkSession

spark = (
    SparkSession.builder
    .config('spark.jars.packages', 'ru.yandex.clickhouse:clickhouse-jdbc:0.3.1-patch')
    .getOrCreate()
)

df = (
    spark.read
    .format("jdbc")
    .options(
        url="jdbc:clickhouse://github.demo.trial.altinity.cloud:8443/default",
        ssl=True,
        driver="ru.yandex.clickhouse.ClickHouseDriver",
        user="demo",
        password="demo",
        dbtable="airports"
    )
    .load()
)

The question is, can I pass some JDBC parameter or setting to overwrite this behavior and bot send the parameter?

Spark set a default timeout which triggered the driver sending out max_execution_time to server. Why not simply start a click server using docker for testing?
https://github.com/ClickHouse/clickhouse-jdbc/blob/5e6f74b89354e60af7d0c9437eef0520ee9ffda1/clickhouse-jdbc/src/main/java/ru/yandex/clickhouse/ClickHouseStatementImpl.java#L957-L959
This reminds me that maybe we need an option to discard all query parameters(with warnings in log?), because of scenario like this and proxy in the middle can set/overwrite query parameters as well.

Ok, thank you, that's what I thought.
Implementing a way to overwrite those default parameters would be ideal (because I spotted only one edge case, but there might be others).

Starting from 0.3.2-patch10, the driver has been slightly enhanced to respect server-side readonly setting. I was able to use DBeaver/SQuirreLSQL to connect to jdbc:ch://(https://explorer@play.clickhouse.com:443),(https://demo:demo@github.demo.trial.altinity.cloud)?load_balancing_policy=random(use arbitrary username and password) without any issue. We may still need an option to completely disable client-side setting.

Starting from 0.4.2, JDBC driver will use centralized configuration(usually good defaults for a group of users) defined in custom server setting custom_jdbc_config.


SimpleMovieFilter when run  demo crash how to do

Main Thread Checker: UI API called on a background thread: -[UIView layer]
PID: 626, TID: 80844, Thread name: (none), Queue name: com.sunsetlakesoftware.GPUImage.processingQueue, QoS: 0
Backtrace:
..........
Fatal error: View had a zero size: file /Users/ak/Desktop/akbranches/音视频相关 Demo/GPUImage2-master/framework/Source/Apple/RenderView-UIKit.swift, line 73

Same issue here

https://github.com/BradLarson/GPUImage2/issues/226

That is because the render view in SimpleMovieFilter project doesn't have top and bottom constraints. Adding the constraint in the main storyboard can solve this.


⚠ ClamAV has degraded performance

In 848c018, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 248 ms

Resolved: ClamAV performance has improved in b469526 after 9 minutes.


New chats where email starts with<EMAIL_ADDRESS>should fail gracefully, with user

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

Expected Result:
Some useful error message shown to user, so they know why a chat isn't being created
Actual Result:
Just an error message in the console
Action Performed:

Click green + button, then "New Chat" to start creating a new chat
In the search bar, type<EMAIL_ADDRESS>Click the<EMAIL_ADDRESS>chat row that pops up
Notice you don't see any feedback

Workaround:
This isn't a critical issue, just noting it so it can be fixed eventually
Platform:
Where is this issue occurring?

[x] Web
[x] iOS
[x] Android
[x] Desktop App
[x] Mobile Web

Version Number:
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:

More context here


fix: offset_encoding is required now

Adapt to the upstream change https://github.com/neovim/neovim/commit/629483e24eed3f2c07e55e0540c553361e0345a2

That is an LSP change; why should this affect a treesitter plugin?

@clason Sorry to ping you but I got an email saying I have a comment from you "That is an LSP change; why should this affect a treesitter plugin?" But, I didn't see this comment here.
To answer it: Now offset_encoding is now required for make_position_params after that commit; otherwise a warning is shown. Thank you.

Btw, this change needs Noevim nightly, do I need to handle the backward compatibility?

I formatted the code conforming to stylua. Now I think it's ready to be previewed and merged. Thank you very much.

I just realized that the has function for checking version numbers returns 0 or 1 instead of a boolean. I’ve fixed it, and everything should be fine now.


Splitting/recombining struct pins doesn't trigger resize

Splitting/recombining a struct pin changes the height of nodes but comments don't resize when splitting or recombining struct pins.

Thanks for letting me know, this was a much bigger issue. Hopefully should be fixed now https://github.com/AutoSizeComments/AutoSizeComments/commit/81931244277fd69ba939b4b22428406c31b4237d


Rollmac.spoof() gets random address twice

Just skimming your code here, I noticed that you call the getrandom method twice in Rollmac.spoof() such that a different mac is being saved than the one actually in use.

100% missed that. I use that variable just so i can log it, forgot to change the call to use the mac variable. Thanks heaps.


Updated crosshair hotbar menus

this one should be split in several features

This PR seems to be stale and has a significant number of merge conflicts. Am closing this now for clarity; please contact me if you need this PR re-opened. Am assuming that it's succeeded by #170.


chore(GroupTheory): rename induction arguments for Sub{semigroup,monoid,group}

The additive version are still incorrectly named, but these can easily be tracked down later (#11462) by searching for to_additive (attr := elab_as_elim).

Thanks!
bors merge


Project Card: 'Expand' contributors

User story: As a user, I would like to be able to expand the contributors.
Deliverables:
Clicking on the ellipsis will show full list of contributors

Thanks for assigning this task to me for GHC OSD 2020! I will start on this task now.


Remove the Option from SemaphoreGuardArc

No user-visible change

SemaphoreGuardArc::forget needs to drop the Arc<Semaphore> to avoid a memory leak. There is currently no way in safe rust to directly run field destructors without running the outer destructor, hence the Option::take. This blog post goes into more detail about this problem.

Oh I see.  It's because you use mem::forget.  I suppose there are other ways to do it, but none that are clearly better.


TMPE doesn't save settings changes after I quit game

Describe the problem
I'm changing settings in game in TMPE menu, than I start new game and it's all fine, all changed settings stay, also when I quit back to main menu they stay. But after I quit game and start it again all settings are reset to default.
I've uninstalled game, deleted all files which I could find saves etc., installed new game, disabled all mods, only TMPE was activ, started new map and it still keeps reseting settings. TM:PE version 11.5.2
Steps to reproduce
I'm changing these:

Simulation accuracy to medium - to medium
Customisations come in to effect immediately - on
Disable despawning - on
Advanced Vehicle AI - on and around 70%
Busses may ignore lane arrows - on
Automatically add traffic lights if applicable - off
Ban private cars and trucks on bus lanes - on
Heavy trucks prefer outer lanes on highways on

Log files
TMPE.log
output_log.txt

Savegame?
https://steamcommunity.com/sharedfiles/filedetails/?id=2667186106

Screenshots?

Notes or questions?

Could you post logs (TMPE + output_log.txt) after you try to save game? Those you've posted are from main menu, and game is clearing log files each time you start it, so load/start new game, do something (create lane connection/set priority rules/ whatever) and just save game, then get both logs.
Oh.. I think I see what you are trying to do. Settings you select in the mod options in the main menu are not saved anywhere (as mentioned in the warning dialog that should pop in). You have to start new game or load savegame, change settings and save game, because all settings are stored inside the savegame so you can have completely different configuration for each savegame if you want.

 I misunderstood the message.  Thanks for help!

I have plans to either hide some settings or add a feature to pull settings from selected savegame when new game started (not decided yet and also I don't have much time :/ ).

Tagging #363

Closing this - follow #363 for updates.


Why no ES6 code conventions for this repo

Why haven't you used ES6 features like classes, let, imports for this repository. Since it being a converter to ES6, it would be better for it to follow ES6 conventions

@vivinjoy That's definitely something on the list but I don't have the time to do it due to work. Please check out http://xto6.js.org/ or https://github.com/5to6/5to6-codemod
Thanks!


CI failing on Travis for pypy builds

I'm assuming this is because they are no longer supporting those versions of pypy.  We should look into upgrading.

One thing I noticed comparing to an old build:
Previously passing: https://travis-ci.org/ni/nixnet-python/jobs/439868039
Now failing: https://travis-ci.org/ni/nixnet-python/jobs/548766194
In the log for the passing one, there is a message in the log saying "Network availability confirmed.". That message is not in the failing log. I don't know if they just stopped printing that, or if there is a new requirement to get network access.
I also poked around to see, if support for older versions was removed, what versions are now supported. I haven't figured out how to determine that yet.

Looks like unversioned pypy is still available, ie changing our travis.yml file from "pypy-5.6.0" to "pypy"
See https://docs.travis-ci.com/user/languages/python/#pypy-support
Versioned is nicer because it means the CI doesn't suddenly start failing if a new version breaks things.
At one point I came across a way to browse all their archives but can't find it anymore.


Entity.setNoAI

Entity.setNoAI(par1int, par2boolean)
If No AI is true, entity can not move but can rotate head.

already requested:
https://github.com/zhuowei/MCPELauncher/issues/370


GrayScale Filter

This is so useful for me.
Here is my question. I want to create a GrayScale Filter, but I donot know how to create this operation.
Could you please make it?
Tks a lot!

See the Luminance operation, which does just this.

It works, thanks a lot


Transfer file system background action blocker

When host is unknown and you first ssh into container, you get the following question from terminal:

But when you scp in the background, it is not easy to skip this step.
One of the solutions would be to warn users first to ssh into container and then to use File Transfer System.

Fixed in Master.

Fixed in Prod.


PHOENIX-6667 Spark3 connector requires that all columns are specified…

… when writing
also fixes PHOENIX-6668 Spark3 connector cannot distinguish column name cases

Attila's patch fixed and squashed, for CI purposes.

The failures are all all unrelated, in fact all tests have passed.
Unfortunately, the CI doesn't even run the scala tests that would appy ATM, but they have passed locally.

@attilapiros this is the modified version


Remove unfinished test workflows and documentation

Signed-off-by: Tyler Ohlsen<EMAIL_ADDRESS>Description
Removes unused test pipelines that were previously left unfinished. Updates the docs and provides links to the previous effort done, to aid in future work that may use it as a base reference.
Issues Resolved
Closes #1447
Check List

[x] Commits are signed 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 #1473 (e61e580) into main (fa1f6f2) will decrease coverage by 8.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main    #1473      +/-   ##
============================================
- Coverage     94.45%   86.41%   -8.04%
  Complexity       12       12
============================================
  Files           141       21     -120
  Lines          3084       81    -3003
  Branches          8        8
============================================
- Hits           2913       70    -2843
+ Misses          164        4     -160
  Partials          7        7

Impacted Files
Coverage Δ

src/build_workflow/build_recorder.py

src/ci_workflow/ci_check_list.py

src/ci_workflow/ci_check_list_source.py

src/manifests_workflow/input_manifests.py

src/paths/output_dir.py

src/test_workflow/integ_test/integ_test_runners.py

src/sign_workflow/signer.py

.../assemble_workflow/bundle_opensearch_dashboards.py

src/build_workflow/build_args.py

src/assemble_workflow/dist.py

... and 110 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fa1f6f2...e61e580. Read the comment docs.


chore: updated esbuild to v0.14.51

I have attempted to update packup with newer version of esbuild, using the official Deno module. The included version is the same one as supported by esbuild_deno_loader (the newest version of esbuild does not work because of a change in interface).
One big feature that is enabled by this PR is support for TypeScript type-only specifiers (see https://esbuild.github.io/content-types/#typescript) so you can write code like:
import { type SomeType, someVar } from "./mod.ts"

The code uses native build of esbuild instead of WASM because of performance. According to my testing the WASM version is cca 3 - 5 times slower than native version.
In this PR:

esbuild_loader is replaced with<EMAIL_ADDRESS>vendored esbuild_deno_loader replaced with<EMAIL_ADDRESS>install script does not cache esbuild.wasm file

What may be possibly removed further (legacy code that I have not dared to delete):

install_utils.ts and install_util_test.ts
vendor/esbuild_deno_loader
ensure_esbuild_wasm.ts and references from Makefile

I used to have a plan to run packup build process in edge runtime like Deno Deploy, but I think that can be done in a more better way. This change just makes sense to reduce the complexity.

Thanks for accepting this PR. Regarding the wasm / native esbuild - that can be improved, I found out that Fresh has this implemented in a way that it uses native esbuild if available, or wasm otherwise. So you can build on the edge, but also build with the best performance during development.

that can be improved, I found out that Fresh has this implemented in a way that it uses native esbuild if available, or wasm otherwise. So you can build on the edge, but also build with the best performance during development.

That sounds perfect!


OSM tag *=yes/no is evaluated as true/false

OSM tags that have =yes or =no (example building=yes) are being evaluated as true or false and causing errors. These tags should be evaluated as "yes" or "no".

Example campaign: http://campaigns-dev.hotosm.org/campaign/43c112895b3f487fb2926c446815a522
Campaign json:
{
    "name": "Buildings test",
    "description": "Test",
    "campaign_status": "Start",
    "link_to_omk": false,
    "start_date": "2017-09-03",
    "end_date": "2017-09-29",
    "campaign_managers": [
        "nsmith"
    ],
    "remote_projects": [],
    "types": {
        "type-1": {
            "type": "buildings",
            "tags": [
                "building"
            ]
        }
    },
    "uploader": "nsmith",
    "geometry": {
        "type": "FeatureCollection",
        "features": [
            {
                "type": "Feature",
                "properties": {},
                "geometry": {
                    "type": "Polygon",
                    "coordinates": [
                        [
                            [
                                -58.38195953518152,
                                -34.57422937280022
                            ],
                            [
                                -58.375243283808246,
                                -34.57362865628602
                            ],
                            [
                                -58.369492627680316,
                                -34.57719755539244
                            ],
                            [
                                -58.377732373774066,
                                -34.577533236038704
                            ],
                            [
                                -58.38195953518152,
                                -34.57422937280022
                            ]
                        ]
                    ]
                }
            }
        ]
    },
    "map_type": "",
    "selected_functions": {
        "function-1": {
            "function": "FeatureAttributeCompleteness",
            "feature": "building=true",
            "attributes": {
                "building": [
                    true
                ]
            },
            "type": "buildings"
        },
        "function-2": {
            "function": "CountFeature",
            "feature": "building=true",
            "attributes": {
                "building": [
                    true
                ]
            },
            "type": "buildings"
        },
        "function-3": {
            "function": "MapperEngagement",
            "feature": "building=true",
            "attributes": {
                "building": [
                    true
                ]
            },
            "type": "buildings"
        }
    },
    "uuid": "01de49117a0f43b49fe9cd193052ecb8",
    "version": 2,
    "edited_by": "nsmith",
    "campaign_creator": "nsmith"
}

@smit1678 , sorry I don't really understand. Did you put building=true manually?

It should be "yes" on the feature and attribute level.

Did you put building=true manually?

No, the app converts "yes" from the survey yaml file into true: https://github.com/hotosm/field-campaigner-data/blob/master/surveys/buildings#L7-L8.

hi @smit1678
It is automatically from yaml itself. All of true, false, yes, no, on, and off will be turned to boolean.
https://docs.saltstack.com/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html#true-false-yes-no-on-off
to prevent this convertion, we just give quote or double-quote to yes or no
feature: building
insights:
    - FeatureAttributeCompleteness
    - CountFeature
    - MapperEngagement
tags:
    - building:
        - 'yes'
    - name
    - building:levels
    - "building:material":
        - brick
        - cement_block
        - concrete
        - glass
        - loam
        - metal
        - plaster
        - wood
    - "building:roof":
        - tiles
        - concrete
        - metal
        - wood
        - plastic

and it will turn to string.

That is a fine solution @meomancer. Let's treat it as a string if we are expecting a specific string.

i have updated surveys
https://github.com/hotosm/field-campaigner-data/pull/6
maybe for campaign, to make sure, we need to edit it, and go to advance and commit it

@meomancer, will you please do this on that campaign (I think you can do it via github as well.)

@meomancer, could you confirm that this ticket can be closed.

@meomancer please confirm

i think this ticket is done by : https://github.com/hotosm/field-campaigner-data/commit/16360d801c4b91b68472833b2716a32b57b3b988


[BUG] labels  value with special chars

Failed call generate_latest(registry)
call stack
Invalid control character at: line 1 column 126 (char 125)
 File "prometheus_client/exposition.py", line 89, in generate_latest
    for metric in registry.collect():
  File "prometheus_client/registry.py", line 75, in collect
    for metric in collector.collect():
  File "prometheus_client/multiprocess.py", line 30, in collect
    return self.merge(files, accumulate=True)
  File "prometheus_client/multiprocess.py", line 45, in merge
    metric_name, name, labels = json.loads(key)
  File "json/__init__.py", line 319, in loads
    return _default_decoder.decode(s)
  File "json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "json/decoder.py", line 355, in raw_decode
    obj, end = self.scan_once(s, idx)

That sounds like a corrupted file, what's the raw value it's trying to decode?

Definitely some characters missing there. Are they missing from the file too?

There  is a limit size of label value?

  Can you check if more than one process has these files open?

The app was running inside of docker container, and the prometheus_multiproc_dir  was mount on the host.
That is because  the prometheus_multiproc_dir   was still keep the old data when the container was created again?

Is it possible that there were two containers accessing it at once? We presume PIDs are unqiue, which isn't usually the case across containers.

Also, you don't need this data to survive a restart - in fact it's recommended to wipe it between invocations.

Thanks very much.
It works well on my prod env,  because the prometheus_multiproc_dir  was not mount and there is a lifecycle same as the container.


Forgets settings when restarting the game

Might be the same issue as knoxfighter/GW2-ArcDPS-Boon-Table#15, same solution might work.
I would attempt it myself, but the little bit of searching I've done on trying to use a MS project file to build on Linux has scared me away.

The latest version of the boon table is not saved the same way the Boon-Table, therefore this error is definitely a different one. My guess would be a problem with the permissions. Try to fix it, by deleting the arcdps_killproof.me.json file, so it gets recreated.

Sorry, looks like the issue might have been a failed save due to a client crash. Was too excited about the boon table fix :).


Update types and put source in one directory

removed old typings and uses updated typings that are already bundled with electron (as of 1.6.10)
all source files are in the src/ directory

Looks like this needs to be rebased, since I merged the other PR...

@ellisonbg rebased


Error eth_signTypedData_v4 is not supported in Zodiac Pilot

Describe the bug
We are maintaining Zodiac Pilot, an injected wallet (EIP-1193) that does not support eth_signTypedData_v4. The Balancer UI makes the assumption that every injected wallet supports this RPC method. Thus we are currently unable to use Zodiac Pilot for providing liquidity to pools using the batch relayer.
To Reproduce
Steps to reproduce the behavior:

Install Zodiac Pilot Chrome extension
Open https://pilot.gnosisguild.org/#https%3A%2F%2Fapp.balancer.fi%2F%23%2Fgnosis-chain%2Fpool%2F0xf48f01dcb2cbb3ee1f6aab0e742c2d3941039d56000200000000000000000012
Connect wallet (select MetaMask) and go to 'Add liquidity'
Enter amounts and click 'Preview'
Click 'Approve Batch Relayer'
See error eth_signTypedData_v4 is not supported

Expected behavior
It should use the transaction approval flow rather than the signature approval one.
Screenshots

Additional context
Zodiac Pilot is the tool being used by Karpatkey to manage the treasury of Balancer. This issue blocks their execution team to efficiently interact with pools using the batch relayer. cc @sgzerbo
Proposed solution
I see two options this could be fixed in useRelayerApproval.ts:

generic probe via an invalid (empty params) test call to eth_signTypedData_v4. If you get an error response with the message "Method eth_signTypedData_v4 is not supported" then you know it's not supported.
Zodiac Pilot specific fix: check if the app is running in a Zodiac Pilot context via window.ethereum['isZodiac Pilot']

@jfschwarz instead of a specific fix, we've added a user setting where you can turn off the use of signatures (see screenshot). I hope this helps, if not please let me know.


Protect state from concurrent access

Attempting to fix https://github.com/SpectoLabs/hoverfly/issues/767 by adding a mutex to protect access to the State's map. I've run the existing tests and it didn't seem to cause any new failures.

Fantastic work again @john4744. We really appreciate your continued effort to help us in supporting Hoverfly!


Audio isn't working

Godot version:
3.2.3

OS/device including version:
Ubuntu 20.04

Issue description:
AudioStreamPlayer(2D, 3D and the normal) doesn't work in the inspector playing nor in the game.

Steps to reproduce:
I go to the scene, create a AudioStremPlayer[2D/3D], I upload different wav files, and it doesn't play the audio.
Minimal reproduction project: Audio test.zip

@mxt08-real Can you get sound working in other games and applications? Double-check that Godot isn't muted in the system audio mixer.

Godot version:
3.3 RC6 official
OS/device including version:
Windows 10 x64
Details:
Can't reproduce this error, both on editor and in-game it works
@mxt08-real Make sure to check your system audio, also turn on autoPlay in audiostream to test in-game

Closing as there was no further update from the issue reporter and this doesn't seem to be a bug.


Thank you

https://www.slideshare.net/SeanChittenden/universal-userland
https://github.com/sean-/BSDCan-2017
FYI, thank you.  This project received a lot of interest from likeminded folks at BSDCan this year.  I wasn't sure how else to pass along a thank you other than to open an issue that you can close at your leisure.  Thanks again, I'm anxious to see this project evolve (and begin contributing where I can).

https://github.com/uutils/coreutils/graphs/code-frequency indicates it's been pretty quiet this year. Why not just pick one of the unimplemented utilities or port regression tests for the GNU or BSD equivalents?

@mattmacy That's actually what I'm planning on doing.  Or more correctly, I'm going to shave off PRs for missing flags that do overlap with the BSD utilities.

I look forward to reviewing your pull requests :)


No possibility to ignore exact files

I would like to have a possibility to ignore not only file catalog path but full path to the file.
For example, I could have .DS_Store in some folder and I would like to ignore it.
It could be easily done with an update of walkAndPrefetchAssets function. I could make PR if you think that it's a good idea.

Sure, that sounds like a good idea. Go for it.
However I think if we go down this path maybe it support pattern matching too? This way you could say "ignore all dotfiles", or whatever you want.
Perhaps the option could take a list of file names?

@nickjj It's still the same ignorePaths with regexp support. But now it takes into account file name as well (not only path as it was before).

@nickjj well, ignorePaths does not support regexp. I mixed up this with another webpack config property (so much inconsistencies!).
I added regexp support and updated readme.