Make StatusPage issues more visible

Currently when statuspage is having a problem, we just display that in a very muted way in the footer of the page. Combine this with the fact we will serve cached content or stale cached content if the backend is unhealthy, means that people can get a degraded experience where some parts of the site are "working" (because they're cached) and some parts are not (because they cant' be cached, or we've been down too long).
Ideally I think we'd display a big red warning banner at the top of the page whenever we have a status incident (perhaps different colors for downtime vs other status? IDK). It would have to all be done in javascript because at the point we'd be displaying it, we can't rely on anything from the backend server still existing.

JS bits can be easily lifted from https://github.com/pypa/warehouse/blob/master/warehouse/static/html/mirror.html

@aalmazan we'd love your help on this, if you have time.

If the status is not normal, I think we should indicate:

that the status is not normal
if there's a component affected, mention the component
here's a link for more info (default: status.python.org -- if there's an incident, permalink to that)
the time the incident started, in UTC

Sorry, haven't had too much time this week, but I have a very rough implementation of this -- assuming the Statuspage API here is more or less correct. Screenshot below.
@brainwane I believe we can get a list of affected components/services with the summary API data, but I'm not sure if the shortlink (example: "shortlink": "http://stspg.dev:5000/Q0F") is what you're looking for in terms of a permalink. Note that the red exclamation icon refers to the events severity or impact as its used in statuspage.io.

Also, even though this may never happen (hopefully), below is something to give us an idea of what a bunch of incidents would look like. I have it currently limited to 10 in the screenshot.

I removed the "help wanted" tag since you're helping, @aalmazan -- thanks! @nlh this could use your review.

Whoops, I meant @nlhkabu. @yeraydiazdiaz and @ncoghlan I'd appreciate your input as well.

The banner-based approach Allan suggests looks good to me (although the "max issues" limit could likely be even lower - perhaps only show at most three actual issues, and if there's more than that, replace the 3rd entry with "Multiple additional issues, see ... for details").


Sdk: expose bridge tx status

Description
Added two functions to track the Synapse transactions:

getBridgeID(originChainId, bridgeModuleName, txHash) returns bridgeID, which can be used to track the transaction status.

If the provided transaction is not an "origin transaction" for the corresponding "bridge module" (SynapseBridge / SynapseCCTP), this will throw an explicit error: 7f92da2

getBridgeTxStatus(destChainId, bridgeModuleName, bridgeID) returns the status of the transaction on the destination chain.

This will always return false for unrelated bridgeID

Additional context
Add any other context about the problem you're solving.
Metadata

Fixes #[Link to Issue]

Summary by CodeRabbit

New Features

Added bridge transaction ID retrieval and transaction completion status check functions.

Enhancements

Improved estimation of bridge operation times for enhanced user experience.

Tests

Added tests to ensure reliability of new bridge transaction features.

Documentation

Updated public API documentation to include new bridge transaction tracking functions.

Ready for the initial review. Open questions so far:

Is bridgeID a good naming? The idea is to abstract away the difference between's SynapseBridge kappa and SynapseCCTP requestID from the SDK consumer.
Should getBridgeID() for SynapseBridge throw an error, if the provided transaction does not represent a valid origin SynapseBridge transaction?

Right now the behavior is that bridgeID is returned which always yields status false in getBridgeTxStatus()
Could throw an error to be consistent with SynapseCCTP behavior, but that would require to do one extra getTransactionReceipt RPC call.

The previous comment was partly resolved in

cd19b3b

bridgeID works but doesn't intuitively tell me that its asking for the unique transaction identifier. I think something along the lines of transactionID or synapseID. I like something along the lines of synapseTxId because its clear but might be a little bit wordy.

bridgeID works but doesn't intuitively tell me that its asking for the unique transaction identifier. I think something along the lines of transactionID or synapseID. I like something along the lines of synapseTxId because its clear but might be a little bit wordy.

Agreed that bridgeID could be confusing whether that refers to transactionHash or kappa when calling SDK from frontend
Adding a few suggestions for consideration:
getBridgeKappa() => returns bridgeKappa
getBridgeTxnKappa() => returns bridgeTxnKappa

kappa is specific to the SynapseBridge, which is only one of the solutions that SDK is supposed to abstract away from the end consumer, so it doesn't feel too nice.
I like synapseTxId over transactionId, as the latter could be easily confused with transactionHash, while the former is quite explicit.


net/http/httputil: ReverseProxy timeout

What version of Go are you using (go version)?
go version go1.3.3 darwin/amd64
What operating system and processor architecture are you using?
OS X Yosemite
What did you do?
I'm proxying a long-polling request using:
	remote, err := url.Parse("http://localhost:7500")
	if err != nil {
		panic(err)
	}
	proxy := httputil.NewSingleHostReverseProxy(remote)
	router.Handle("/endpoint", proxy)

Note that /endpoint is a local address that takes 300 seconds to finish. I mocked this.
What did you expect to see?
A proxied response.
What did you see instead?
Times out if /endpoint takes too long to reply (eg. due to long-polling). The proxy seems to completely drop the response (but oddly enough, only after 300 seconds). Curl'ing the /endpoint on the Go server results in a "curl: (52) Empty reply from server", even though data should be written out.

It seems like your issue depends on your proxy and long-polling HTTP server stuff. Can you provide a simple, minimum reproducible example code for both entities?
FWIW, the value 300 seconds is probably because;
var DefaultTransport RoundTripper = &Transport{
    Proxy: ProxyFromEnvironment,
    Dial: (&net.Dialer{
        Timeout:   30 * time.Second,
        KeepAlive: 30 * time.Second,
    }).Dial,
    TLSHandshakeTimeout: 10 * time.Second,
}

and
# sysctl -a | grep tcp.keepcnt
net.inet.tcp.keepcnt: 8
```
On darwin that means that; tcp.keepidle=30s + (8 x tcp.keepintvl=30s) + extra/roundup value eq 300 seconds

I just tried http://play.golang.org/p/e7gt8KgqnX and http://play.golang.org/p/95zkaySHHs, and got no failure. Looks httputil.ReverseProxy is working as intended.
client any/tcp --> 8080/tcp proxy any/tcp --> 9999/tcp godoc

Please consult https://groups.google.com/forum/#!forum/golang-nuts if you have any questions on the net/http, net/http/httputil packages. A lot of experienced gophers are out there.


[5.3.1] Crash on encountering non-secure node (uncaught promise exception)

I recently upgraded zwave-js from 2 to 5, and am now encountering a hard crash during the interview process.
zwave-9800.log
Interestingly, with LOGTOFILE set, the error I am getting does not appear in the log, but seems to be printed to stderr by nodejs itself:
Here is the entire console output from the invocation of my program:
Logging to file:
D:\dev\git\RoboPhred\wutwot\packages\wutwot-server\lib\zwave-9800.log
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
Error: Node 024 supports Security, but no network key was configured. Continuing interview non-securely.
    at ZWaveNode.interviewCCs (D:\dev\git\RoboPhred\wutwot\packages\wutwot-zwave\node_modules\zwave-js\src\lib\node\Node.ts:1205:7)
    at ZWaveNode.interview (D:\dev\git\RoboPhred\wutwot\packages\wutwot-zwave\node_modules\zwave-js\src\lib\node\Node.ts:901:19)
    at Driver.interviewNode (D:\dev\git\RoboPhred\wutwot\packages\wutwot-zwave\node_modules\zwave-js\src\lib\driver\Driver.ts:783:21)
    at Driver.initializeControllerAndNodes (D:\dev\git\RoboPhred\wutwot\packages\wutwot-zwave\node_modules\zwave-js\src\lib\driver\Driver.ts:753:15)
    at Immediate.<anonymous> (D:\dev\git\RoboPhred\wutwot\packages\wutwot-zwave\node_modules\zwave-js\src\lib\driver\Driver.ts:622:5)

Can you share how you initialize the driver in your code? This "error" should only be emitted as an "error" event on the driver, which can cause crashes if no handler is attached.
However, this should be enforced since 5.0.0, but that doesn't seem to be working in your case.

Alright, having this error emitted by an event is new to me.  I did have an error handler set up, but it is only used in the initialization phase, and I remove the listener because I wanted the errors to be thrown globally if something critical went wrong.
I guess this means non-fatal errors are being emitted through the error handler then.  How can I tell the difference between fatal errors that stop the zwave module from operating, and security errors like this that the driver will recover from automatically?

I really should document this better. There is a common base class ZWaveError, which has a code property to identify the kind of error independent from the erroor message. So you could do:
driver.on("error", error => {
  if (error instanceof ZWaveError && error.code === ZWaveErrorCodes.Driver_Failed) {
    // fatal error
  } else {
    // non-fatal error
  }
});

I had a look through the ZWaveErrorCodes, and I would rather capture and dismiss known 'good' errors rather than only look for known fatal errors and ignore the rest.
To that end, it seems the error I am encountering is not a subclass of ZWaveError:

Could you introduce a status code for this particular error, so I can dismiss this particular one while still bailing for all other unknown errors?

The core resolution of this issue was that I need to always have a handler for driver errors, so this issue is completed.
I opened another issue for giving ZWaveError codes to all known errors that the driver can emit: https://github.com/zwave-js/node-zwave-js/issues/1044


Add the feature of converting a playlist to a zip file of videos

Add a new feature of converting a playlist to a zip file of videos.
Feature request is for issue #593

Hi @SamsadSajid,
I don't think it makes sense to directly add functionality to convert a playlist to a zip file of videos, as there are many different forms of compression that users may want to use (zip, gzip, etc) for these files, and it wouldn't make sense to keep adding more options to this function.
I have added a return to download_all that provides a list of file paths for the downloaded videos so that you can wrap the result yourself in this pull request so that it is possible to know where these files got saved in order to do any compression that you want manually. If you need to create a zip file of the videos, you can now do this yourself in your code, so I will be closing this PR


Some pods are not killed by cull

There are some pods that have suspiciously been alive for a day or more.
Some examples are:
jupyter-yitian-zhang-1217
jupyter-t-wong-1186
jupyter-niraj-a-rao-1156
Thank you @tonyyanga for bringing up this issue.

I suspect these accounts may no longer exist - they seem similar to user
accounts we deleted during the feb 9 incident. Hence JupyterHub wouldn't
know of them, and neither would the culler.
On Sat, Feb 18, 2017 at 8:03 PM, Peter Veerman<EMAIL_ADDRESS>wrote:

There are some pods that have suspiciously been alive for a day or more.
Some examples are:
jupyter-yitian-zhang-1217
jupyter-t-wong-1186
jupyter-niraj-a-rao-1156
Thank you @tonyyanga https://github.com/tonyyanga for bringing up this
issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/data-8/jupyterhub-k8s/issues/116, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB23q-E6CHrCdIwtuo9n3IvH1W2PcWnks5rd78JgaJpZM4MFWcI
.

--
Yuvi Panda T
http://yuvi.in/blog

I see. Ok, I guess this is not a persistent issue.
Perhaps it would be helpful for cull to kill all user pods that are not recognized in the hub database?

I think we should just do it as a one-time thing. 'all user pods that are
not recognized' is slightly tricky, since it might accidentally take out
the proxy or hub pods, or even the culler itself. And it would also go
haywire when strange things happen, such as the hub db being empty for
whatever reason. I'd rather have our failure mode be 'extra pods running'
rather than 'important pods gone'.
We should just do a run of duplicate user deletion instead.
On Sun, Feb 19, 2017 at 2:04 PM, Peter Veerman<EMAIL_ADDRESS>wrote:

I see. Ok, I guess this is not a persistent issue.
Perhaps it would be helpful for cull to kill all user pods that are not
recognized in the hub database?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/data-8/jupyterhub-k8s/issues/116#issuecomment-280953180,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB23pGBzIuYMzAur4xU4-aia6oCjBhJks5reLxugaJpZM4MFWcI
.

--
Yuvi Panda T
http://yuvi.in/blog

I think I've deleted most of these pods. Can someone confirm?

It seems like this issue happens only if something wrong happens with the deployment. Doesn't seem like a persistent issue. I'm going to close this.


Improve ResultCache#file_checksum performance

I found a few ways in which the performance of ResultCache#file_checksum can be improved, which is a major hotspot when the cache is warm:

Use the incremental mode (update/file) of the digester to avoid allocating large strings.
Reduce the number of bytes processed by the digester by using a memoized config signature rather than the much larger string representation of the config hash.
Memoize Dir.pwd to avoid unnecessary getcwd syscalls in a loop.

In a project I work on that contains nearly 9000 ruby files these optimizations shave about three seconds off rubocop's 10 second runtime for a fully warmed cache.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run rake default or rake parallel. It executes all tests and RuboCop for itself, and generates the documentation.

(Fixed rubocop failure due to line length)


Run Simple-Inference file in multiple GPU..

How to run the simple inference code on multiple GPUs for fetting better FPS.
I converted the model into :
net_parallel = torch.nn.DataParallel(Net)
then when I am trying to predict with
pred = net_parallel(example)[0]
But I keep on getting error:
DataParallel multi-gpu RuntimeError: chunk expects at least a 1-dimensional tensor.
Can you shed some light on this issue!??

I guess as I am running one frame at a time it is showing the error cause no data is being assigned to the other GPUs. Correct me please!


Last Week in Pony - June 21, 2020

Version 0.4.0 of ponylang-mode has been released.
See the release notes for more details.

Audio from the June 16, 2020 Pony development sync call is available.

Version 0.5.3 of ponyup has been released.
See the release notes for more details.

Version 0.1.0 of release-notes-bot-action has been released.
See the release notes for more details.


Few Portuguese update, spelling and punctuation correction

One of the paragraphs was rewritten because it was out of date in relation to the English version. There were also a few spelling and punctuation corrections.

@MauricioCarmelo has NOT submitted the contributor license agreement. See http://dev.brackets.io/brackets-contributor-license-agreement.html

@MauricioCarmelo  Thank you for contributing to Brackets. You will need to Accept the Brackets CLA before we can merge this pull request.

Thanks @MauricioCarmelo Merging.


Terminal cmd click links truncates when url spans multiple lines

Issue Type: Bug
Have some output in the terminal spit out a link that spans mutliple lines.
CMD + Clicking the link only takes the first line.

In this screenshot, you can see a t wrapped from the previous line, it should be part of the link ending date-input
VS Code version: Code 1.21.1 (79b44aa704ce542d8ca4a3cc44cfca566e7720f1, 2018-03-14T14:39:09.335Z)
OS version: Darwin x64 16.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz (8 x 2800)

Load (avg)
3, 3, 3

Memory (System)
16.00GB (0.04GB free)

Process Argv
/Applications/Visual Studio Code.app/Contents/MacOS/Electron .

Screen Reader
no

VM
0%

Extensions (21)

Extension
Author (truncated)
Version

vscode-docker
Pet
0.0.25

project-manager
ale
0.25.0

vscode-color
ans
0.4.5

better-toml
bun
0.3.2

solargraph
cas
0.13.0

vscode-quick-select
dba
0.2.5

gitlens
eam
8.1.1

rspec-snippets
kar
0.0.3

Go
luk
0.6.77

dotenv
mik
1.0.1

vscode-scss
mrm
0.7.0

python
ms-
2018.2.1

azure-account
ms-
0.3.3

debugger-for-chrome
msj
4.2.1

rails-run-spec-vscode
nok
0.1.0

heroku-command
pko
0.0.8

vscode-css-peek
pra
2.1.0

Ruby
reb
0.17.0

sass-indented
rob
1.4.8

Align
ste
0.2.0

vscode-import-cost
wix
2.6.2

Reproduces only with extensions

Duplicate https://github.com/Microsoft/vscode/issues/28746

Apologies for dup and thank you for fixing!


we can construct Response with string.

https://github.com/GoogleChrome/samples/blob/gh-pages/service-worker/mock-responses/service-worker.js#L31
first argument of Response constructor is a BodyInit and, this defined like this.
typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit;

so we can send JSON.stringify ed string of object without wrapping Blob.
at least, chrome canary 42 works fine with it.

You're correct—the Blob requirement was dropped from the spec, and I confirmed that Chrome 40+ supports using a string. I'll adjust the sample.


macOS Ventura: assertion failed on file open

Description
When opening a file, I get an error "assertion failed!" It would be helpful if the assertion could have a message about what the assertion actually is, then I could investigate on my own.
Assertion that fails is from this recent commit:
https://github.com/lewis6991/gitsigns.nvim/commit/21ab05c2629ef613b1c3452d12469f936855648b#diff-021c5d7ce28245274d36576b654e671cdb2bf55f5d32642fb844002229b3903fR304
Neovim version
0.8
Operating system and version
macOS 13.0
Expected behavior
No response
Actual behavior

Minimal config
I'll put together a minimal repro if this isn't easy to investigate on its own, let me know if you need it. It's a lot to ask for me to do 30 minutes of work to report any error.

Steps to reproduce
As above
Gitsigns debug messages
No response

Did you have git available on your PATH when you hit the error?
The error is simply caused by git --version not returning anything.

Yes it was in my path; I even verified that git --version in my terminal output the correct version format.

Please forgive me but the fact that brew reinstall git, and sudo xcode-select --install fixed the issue really suggests that it wasn't. Or maybe the binary didn't work and needed a reinstall from source or something?
Other than that I have absolutely no idea what could have caused that problem, and you aren't the first person to report it.

Something weird was definitely going on. It wouldn't be the first time that a macOS update broke some of brew, though. FWIW, it wasn't just gitsigns: telescope broke too, and I fixed it at the same time. I filed https://github.com/nvim-telescope/telescope.nvim/issues/2209 to help others there. But in any case, my system config was stable, and the environment/PATH didn't change at all. I'm experienced enough to diagnose that sort of thing. Like I say, most likely issue was the macOS upgrade breaking brew's git symlink or something.

Ok. Well I appreciate you looking into this.
We probably need to make the git version check a little more gracious.


SSH Agent freezes sometimes

I discovered that sometimes I was not able to clone git repositories configured in composer.json as type VCS.
I was freezing.
After a lot of debug I discovered that the issue is caused by the socat socket proxy.
Steps to reproduce
Run ssh-add -l several times, fast enough (as composer is doing during composer install)
Output from /var/log/socat-ssh-auth.log
2021/03/19 20:50:41 socat[2992] E write(7, 0x5642d4464e70, 5): Broken pipe
2021/03/19 21:00:29 socat[3018] E write(7, 0x5642d4464e70, 887): Broken pipe

This can't be reproduced as root and set /run/host-services/ssh-auth.sock as SSH_AUTH_SOCK
Reproduced on MacOS and Ubuntu 20

On MacOS is quite hard to reproduce and it has to do with socat.
But on Linux (Ubuntu) it should use the socket directly.
The default socket path is set in php-fpm.base.yml and causes to use socat even on linux
- SSH_AUTH_SOCK=/tmp/ssh-auth.sock


Unable to render error from route middleware

Environment

Operating System: Darwin
Node Version:     v18.15.0
Nuxt Version:     3.6.5
Nitro Version:    2.5.2
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      modules
Runtime Modules<EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://github.com/deleteme/nuxt-examples/commit/ea591affe8670d2aedb8409af6f48862e69fe346

git clone git@github.com:deleteme/nuxt-examples.git
git fetch
get checkout forbidden-page
cd nuxt-examples/advanced/error-handling
install node modules (pnpm install or whatever)
run the dev server (pnpm run dev)
navigate to http://localhost:3000
click the "403" link
:bug: you should see an error screen render, just like how the 404 renders. This isn't happening.

Describe the bug
When throwing an error from the Nuxt createError function in route middleware, the client-side behavior doesn't work as expected and is inconsistent with the server-side behavior.
From https://nuxt.com/docs/getting-started/error-handling#createerror

If you throw an error created with createError:

on server-side, it will trigger a full-screen error page which you can clear with clearError.
on client-side, it will throw a non-fatal error for you to handle. If you need to trigger a full-screen error page, then you can do this by setting fatal: true.

The use case is route middleware calling an async API to determine if a user should be permitted to access a resource. If not allowed, the route middleware throws a 403 error, and should be able to rely upon the Nuxt 3 error handling to render error.vue.
The desired user experience matches how the 404 works. When visiting an invalid url directly, the server can render the 404 using error.vue. When navigating to the invalid url using client-side routing, the Nuxt runtime can also render the 404 error in error.vue.
I created a reproduction by extending the official nuxt examples git repo and adding a 403 link alongside the 404 one. Here's a demo of the bug:
Attempt 1: throw createError()
This is the most direct approach, simply throwing an error in the route middleware. From what I can tell from the Nuxt docs, this seems to be the way to achieve the UX.
https://github.com/nuxt/nuxt/assets/9389/6bdd99e5-7231-4f1c-8bc5-3e1616b9487c
I think what's happening here is that the vue-router NavigationGuard is preventing the navigation. The vue-router docs state:

It's also possible to throw an Error if an unexpected situation was met. This will also cancel the navigation and call any callback registered via router.onError().

Attempt 2: showError
The second approach is an attempt to work around ☝ by detecting if the runtime is client-side, and then returning undefined to allow the navigation to proceed, and then calling showError with the error from createError.
https://github.com/nuxt/nuxt/assets/9389/95e290ca-0af4-4e27-a6aa-5f2ab41c47e5
Sometimes there's a brief moment, maybe only a single frame, where the error does appear, but then the page renders and replaces the error.
This usage of showError in route middleware does not seem to be idiomatic, or the intended way doing this kind of thing. (It's unclear to me why showError exists when createError already does, maybe it is intended more as a convenience, for use in client-side Vue components.)
Additional context

There seems to be a disconnect between Nuxt's error handling and how vue-router navigation guards work.
This bug exists in a fresh Nuxt 3 app, from nuxi init. I reproduced it in the nuxt examples repo in case the Nuxt team wanted to add this use case to it.
Middleware defined in the /middleware directory exhibit the same inconsistent behavior.

Relates to:

https://github.com/nuxt/nuxt/issues/12396
https://github.com/nuxt/nuxt/issues/15432

Logs
No response

Try returning an error from the middleware:
return showError(createError({ statusCode: 403 }))
I'm not sure if this usage is intended, but it works for me.

Try returning an error from the middleware: return showError(createError({ statusCode: 403 }))  I'm not sure if this usage is intended, but it works for me.

Thanks for the answer. You saved my day.
<NuxtLink
    v-slot="{ navigate }"
    :to="to"
    custom
  >
    <ZButton
      v-bind="$attrs"
      role="link"
      @click="navigate"
    >
      <slot />
    </ZButton>
  </NuxtLink>

When I click this button to navigate to an unallowed route, I get the following warning:
[nuxt] Calling 'useRoute' within middleware may lead to misleading results. Instead, use the (to, from) arguments passed to the middleware to access the new and old routes.
It is an internal bug, and if I don't return showError, it skips the middleware after the error page.

Hi,

Try returning an error from the middleware: return showError(createError({ statusCode: 403 }))  I'm not sure if this usage is intended, but it works for me.

Unfortunately it doesn't work for server middleware :(

Try returning an error from the middleware: return showError(createError({ statusCode: 403 }))  I'm not sure if this usage is intended, but it works for me.

great, this worked for me.
my useage:
middleware/user-auth.ts
import {createError, showError} from "#imports";
if(conditionTrue){
// todo...
}else{
return showError(createError({ statusCode: 404, statusMessage: 'Page Not Found'}))
}
here is what i write incrorrectly:
throw createError({ statusCode: 404, statusMessage: 'Page Not Found'})
without return and showError. and it reports:Error: Page Not Found

You should throw createError({ statusCode: 404, statusMessage: 'Page Not Found', fatal: true })
If that is not working then this is a bug that should be addressed.

@danielroe The reproduction repo linked above includes a throw createError({ statusCode: 403, statusMessage: 'Forbidden', fatal: true }) example, depicted in the "Attempt 1" video above. This isn't working.

any updates?

update : after some search my issue is about nitro use it's own error page, not sure if it's related directly to this issue
https://github.com/unjs/nitro/blob/7a2802749fa62bfeacfe67a21593cb9549a5c860/src/runtime/error.ts#L64

A workaround to trigger an error page is to catch the error and use this in the middleware:
abortNavigation({
  fatal: true
})

A downside is that the address bar doesn't get updated and it looks like when you hit the back button, it skips a page in browser history

You should throw createError({ statusCode: 404, fatal: true })
If that is not working then this is a bug that should be addressed.

@danielroe this is the case. Any error thrown by a middleware (non nitro) is swallowed silently. I attempted to do exactly this:

The use case is route middleware calling an async API to determine if a user should be permitted to access a resource. If not allowed, the route middleware throws a 403 error, and should be able to rely upon the Nuxt 3 error handling to render error.vue.

Even throwing a plain new Error is being swallowed silently. It's not reaching error.vue, vue:error, nor nuxtApp.vueApp.config.errorHandler.

Several global middleware behaviors found to help other folks. I can't find documentation for these behaviors.

return createNuxtError(... causes error.vue to be returned from server. When running on client this does not cause error.vue to be rendered. Server returns 401 statusCode.
return showError(createNuxtError(... this actually works for me on client and server. Although, an earlier post had different success. Server returns 401 statusCode.
return abortNavigation(createNuxtError(... this also works on client and server. Server returns 401 statusCode.
return import.meta.client ? showError(nuxtError) : abortNavigation(nuxtError) also works for me on client and server.

It would definitely be more intuitive to throw an error than return one.


Bump gosigar v1.1.0 → v1.2.0

The gosigar bump includes https://github.com/cloudfoundry/gosigar/pull/50 to correctly calculate the available memory inside a container, which in turn should fix https://github.com/cloudfoundry/log-cache-release/issues/29.
Fixes #43

@jandubois please make the pr against main.

@jandubois thank you for your contribution!


Find a way to stream logs from docker engine api

I have tried it with no success so far. Seems to be support for streaming in hackney

depends on the work with integrating and trimming the docker engine api inside the main source tree


Error running test

I created a project and built off of this starter, but when I try to run my first test:
import app from './app.module'; // set up the app module.
import './globalservices/someService'; // register the service onto the 'app' module.

describe('someService', () => {

  let service;

  beforeEach(() => {
    angular.mock.module('app');

    angular.mock.inject(_someService_ => {
      service = _someService_;
    });
  });

  it('service should exist.', () => {
    console.log(service);
    return;
  });

});

I get an error like
❯ npm run test

><EMAIL_ADDRESS>test /Users/trusktr/src/refuel4+sme-onboarding
> karma start

05 05 2016 22:22:53.200:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/
05 05 2016 22:22:53.245:INFO [launcher]: Starting browser PhantomJS
05 05 2016 22:22:58.348:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#LzaJexxVlI1wyYJ5AAAA with id 1411457
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: Map
  at undefined:14

Perhaps one of the files I imported eventually imports something that use new Map, but, as you can see the error isn't helpful at all (no idea where this happens). Any thoughts?

Alright, I removed the import statements, so it's like this:
describe('ENV', () => {

  console.log(' --- 1');

  let ENV;

  beforeEach(() => {
    console.log(' --- 2');
    angular.mock.module('app');

    console.log(' --- 3');
    angular.mock.inject(_ENV_ => {
      console.log(' --- 4');
      ENV = _ENV_;
    });
  });
  console.log(' --- 5');

  it('ENV should exist.', () => {
    console.log(' --- 6');
    console.log(ENV);
    return;
    //expect(ENV.url).toBe('https://github.com/preboot/angular-webpack');
  });
  console.log(' --- 7');

});

The output is
 --- 1
 --- 5
 --- 7

So, something is causing this error that seems to be outside of my code.

I just tried a fresh copy and works, but I can asume that it is somehow requesting es6-shim for you. I will research because I think there were some changes lately on babel world.

Could you try installing es6-shim and require() it at top of the tests.webpack.js file?

@Foxandxss That worked! But, should this be handled with Webpack+Babel? Maybe there's something else to use in place of es6-shim that relates to Babel? Or is es6-shim better for some reason?

I just got
        ReferenceError: Can't find variable: Symbol (line 22)

in another file. Do I need to import es6-shim in all of them?

I will try to try it tomorrow and see what is going on. But normally adding it once at test.webpack.js should do the trick.

I believe this started happening once I added a for..of loop, which when transpiled by Babel uses Symbol.iterator.

Let me try to find where it happens in the compiled code...

Here's a more full error:
        ReferenceError: Can't find variable: Symbol in /Users/trusktr/src/refuel4+sme-onboarding/src/tests.webpack.js (line 67302)

Seems like the built files go into memory? How do we output to filesystem so we can see?

You can run node_modules/.bin/webpack for that.
You probably need babel-polyfill. Will check that too.

Yep, that was it: http://stackoverflow.com/a/35320045/454780

So, after adding babel-polyfil, es6-shim no longer needed.

I have the same problem.  The callback of angular.mock.inject did not execute.
Here is my test file.
`import home from '../../src/app/home/';
describe('HomeController', () => {
let ctrl;
beforeEach(() => {
console.log('beforeEach::');
angular.mock.module(home);
console.log('injectModule::');
angular.mock.inject(($controller) => {
  ctrl = $controller('HomeController');
});
console.log('injectHomeController::');

});
it('should contain the right title', () => {
console.log('HomeController::', ctrl);
expect(1).toBe(1);
});
});`
The error message.
LOG: 'beforeEach::' LOG: 'injectModule::' LOG: 'HomeController::', undefined PhantomJS 2.1.1 (Mac OS X 0.0.0) HomeController should contain the right title FAILED 	forEach@/Users/aaron/demos/angular-webpack/test/tests.webpack.js:8446:25 <- webpack:///~/angular/angular.js:322:0 	loadModules@/Users/aaron/demos/angular-webpack/test/tests.webpack.js:12672:13 <- webpack:///~/angular/angular.js:4548:0 	createInjector@/Users/aaron/demos/angular-webpack/test/tests.webpack.js:12594:31 <- webpack:///~/angular/angular.js:4470:0 	workFn@/Users/aaron/demos/angular-webpack/test/tests.webpack.js:41951:61 <- webpack:///~/angular-mocks/angular-mocks.js:2954:0 	inject@/Users/aaron/demos/angular-webpack/test/tests.webpack.js:41931:47 <- webpack:///~/angular-mocks/angular-mocks.js:2934:0 	/Users/aaron/demos/angular-webpack/test/tests.webpack.js:42193:25 <- webpack:///test/home/home.spec.js:11:24 	/Users/aaron/demos/angular-webpack/test/tests.webpack.js:12712:54 <- webpack:///~/angular/angular.js:4588:0 PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 (1 FAILED) (0 secs / 0.00PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 (1 FAILED) ERROR (0.051 secs / 0.007 secs)

I have same error and no idea how to solve it.

to solve this you can look at this PR
if you use ES2015 and above you can just cherry-pick that commit to have a working component generator with tests automatically scaffolded.

I found a solution with my setup. The problem was one of two things:

the inject() method cannot inject a particular dependency, and it fails silently. After manually finding the problematic dependency/ies and fixing it the inject() ran fine.
another cause was also a previous module(...) call - the module fails to be loaded(also silently) and the dependencies for the inject() also fail, so in turn the inject() fails.


maven pom support

can you add maven pom file?

@bytearchive Thank you for the suggestion, but this library itself is no longer needed to instrument Java Lambda functions when using the latest version of Datadog Lambda Extension. Therefore I'm closing this issue.


mask secret values in text representation of client

Similar to octokit.rb
https://github.com/octokit/octokit.rb/blob/master/lib/octokit/client.rb#L113
do not leak password nor token in text representation of client.
This helps me to demo this gem with pry without everybody seeing my password or token.
Thank you

Hi, @rubytester!  Thanks for using the gem, and thanks for your contribution!
I think this change is a good idea, but I'd like to suggest a few small changes before I merge it:

can you change your tests to use #include instead of #match?  #match expects a RegEx, so rspec is currently griping about redundant * characters:

/Users/aleff/.chefdk/gem/ruby/2.1.0/gems/rspec-expectations-3.3.0/lib/rspec/matchers/built_in/match.rb:25: warning: regular expression has redundant nested repeat operator '*': /@bearer_token=\"********\"/

You can make these go away by changing your tests to this:
expect(client.inspect).to include('@password="********"')

I think we should add an attr_reader :password to the Client class so that a user can still interrogate the password for troubleshooting purposes.  Now that it's gone from #inspect, there's no way of seeing it anymore.  This way it's still masked but a user can still get it if they need to.

What do you think?

Hi, the gem is great, thanks. I am using it for our internal vRealize (about 120 machines)
I changed the test (duh, of course it makes sense, I didn't think about the match behaviour)
I would not add attr_reader :password. If you really, really need it you can always get it with client.instance_variable_get(:@password), so I would not add it the accessor in the public api.
I also realize that this line is ugly:
inspected.gsub! "@password=\"#{@password}\"", "@password=\"#{mask}\"" if @password
a cleaner way would be to do this:
inspected.gsub! @password, mask if @password
But the ugly part prevents you from knowing that the string 'password' is used as a value for password, so the ugly implementation is not to leak the string 'password' but if people don't really care I can make a cleaner way and be done with it.
the test would then change to
expect(client.inspect).to include('@********="********"')
Ugly? or cleaner way?

@rubytester - I think I have a better idea.  What if we delegate the password handling to a separate class which re-implements #inspect and #to_s to just return "*******" but implements a #value method that actually returns the real value?
There are other API client gems that I'm writing that would benefit from this, and I can't find anything that does something similar on RubyGems, so I'm going to write a gem that does this today and send up another PR for this project that uses it to show what I'm talking about.  That way, we don't have to actually manipulate the client object's inspect/string representation at all, and we'll have something more re-usable.  It will also avoid the "what if the password is 'password'" issue.
Let me know your thoughts.  Glad you like and are using the gem!

@rubytester Check out this PR: https://github.com/chef-partners/vmware-vra-gem/pull/9
Rather than hacking the client object's #inspect method, I broke out the sensitive strings into their own class.  Take a look and let me know what you think.  If that works for you, I'd like to close this out and I'll get the other one merged.

It's ok with me. I just wanted to have the 'simplest' thing but if you feel separate gem that masks secrets is needed then go for it.
Thanks, I will close this PR and looking forward to new gem version with masking.

@rubytester I think this is a simple approach too, but more importantly to me, it's reusable with other client gems that will have the same problem, and perhaps even in core Chef!
Thanks again for your contribution, and for using the gem!  Watch that other PR and I'll try to release it today or tomorrow.

Great. Thanks.

@rubytester PR #9 has been merged, and I've cut a v1.1.0 release and pushed it up to RubyGems.  Thanks again for your help!


Bump retrofit and remove retrofitCoroutinesAdapter dependency

Task/Issue URL: https://app.asana.com/0/414730916066338/1199111180919669/f
Tech Design URL:
CC:
Description:
This PR updates retrofit version and remove the deprecated dependency with retrofitCoroutinesAdapter.
Steps to test this PR:

Fresh install
Go to Leave feedback inside settings
Send any feedback (postive/negative)
Ensure in the logs you see Successfully submitted feedback

Disclaimer: we noticed that this API is pretty slow (up to 5 seconds), when testing be aware of this when waiting for the log to appear.

Internal references:
Software Engineering Expectations
Technical Design Template

@marcosholgado this is ready for a review. Conflicts solved and tests are passing now.

@marcosholgado this is ready for a review. Conflicts solved and tests are passing now.


For supported audio formats and maximum file size, please see Import-CsOnlineAudioFile

As per article it redirects for file size to another article
" For supported audio formats and maximum file size, please see Import-CsOnlineAudioFile"
However , there is no limit details given. Please provide the file size limit details and format.

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

ID: 416f3cdb-ca75-8224-bc04-985e5f7ea9dd
Version Independent ID: 6e8c6f33-8043-e367-b44b-74b5f5ee96f2
Content: Music on Hold - Microsoft Teams
Content Source: Teams/music-on-hold.md
Service: msteams
GitHub Login: @CarolynRowe
Microsoft Alias: crowe

@robinpoulose1 Thanks for the feedback. The supported formats and file size limit are listed in the Import-CsOnlineAudioFile page under the -Content parameter description.


Preprint feedback

What do you think about the Ten Simple Rules we came up with?

Update: Preprint DOI is now active :point_right: https://doi.org/10.31219/osf.io/fsd7t :point_left: is now active.

Link to the preprint.

This issue can stay open for people not wanting to use Hypothesis on the preprint, but there is no task to do right now as we prepare the manuscript for submission.

Time to close this?

Closing this as the publication is now in press.


[FEATURE] Add trigonometric functions

Description

This PR introduces four trigonometric functions to the expression language: sine, cosine, tangent, cotangent
Why? For making radial menus with less hard-coding or external calculation

Usage

As noted in documentation:

sin(number), cos(number), tan(number), cot(number): Calculate the trigonometric value of a given number in radians
sindeg(number), cosdeg(number), tandeg(number), cotdeg(number): Calculate the trigonometric value of a given number in degrees

The following code is for a box containing text that uses some of the above functions

(defwidget test_widget []
  (box
    :width 300 :height 100
    "
    cos(0rad) = ${cos(0)}
    sin(30deg) = ${sindeg(30)}
    tan(60deg) = ${tandeg(60)}
    cot(0.785398rad) = ${cot(0.785398)}
    "))

(defwindow test
  :monitor 0
  (test_widget))

Showcase

This is the screenshot for the above code

Additional Notes

The results are not completely accurate (because of floating point). The user can still use round() if they wish.

Checklist
Please make sure you can check all the boxes that apply to this PR.

[x] All widgets I've added are correctly documented.
[x] I added my changes to CHANGELOG.md, if appropriate.
[x] The documentation in the docs/content/main directory has been adjusted to reflect my changes.
[x] I used cargo fmt to automatically format all code before committing

Hey @elkowar could you please merge this PR? It is very useful.

Any reason to not just have sin, cos etc and then have a deg2rad and rad2deg function instead? Having degrees and radian versions of all functions seems a bit ehhhhh

alright
that makes sense, i'm on it

Done
I also tested locally and it worked

Seems to be a problem with dependencies, so I updated deps
Can I get another check please?

@end-4 thank you. @elkowar what do you think about it?

Hi, Any updates on this PR? @elkowar

Looks great! If you fix the broken Cargo.lock, I'll be happy to merge this! Sorry for being so slow to respond ^^'

hopefully that fixes it

Thanks for your work!


Data access within ChangeTracker.Tracked event throws InvalidOperationException

Performing a data access operation within the ChangeTracker.Tracked event results in an InvalidOperationException being thrown due to the EF Core code being within a critical section.
We were really hoping to use this event to get around the lack of lifecycle hooks (#626).
In our specific case, we are porting a codebase from LINQ to SQL to EF Core. This codebase extensively used the LINQ to SQL OnLoaded() partial implementations.
Is there any chance that the Tracked event could be modified to allow data access to occur within the event delegate?
Exception message: A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.
Stack trace:
at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
   at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.Load[TSource](IQueryable`1 source)
   at Microsoft.EntityFrameworkCore.Internal.EntityFinder`1.Load(INavigation navigation, InternalEntityEntry entry)
   at Microsoft.EntityFrameworkCore.ChangeTracking.NavigationEntry.Load()
   at Microsoft.EntityFrameworkCore.ChangeTracking.CollectionEntry.Load()
   at Microsoft.EntityFrameworkCore.Internal.LazyLoader.Load(Object entity, String navigationName)
   at Microsoft.EntityFrameworkCore.Proxies.Internal.LazyLoadingInterceptor.Intercept(IInvocation invocation)
   at Castle.DynamicProxy.AbstractInvocation.Proceed()
   at Castle.Proxies.EmployeeProxy.get_Devices()
   at EFCore_TrackedEventCriticalSection.TestDataContext.ChangeTracker_Tracked(Object sender, EntityTrackedEventArgs e) in C:\Users\Michael\Code\EFCore-TrackedEventCriticalSection\DataContext.cs:line 18
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.OnTracked(InternalEntityEntry internalEntityEntry, Boolean fromQuery)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.MarkUnchangedFromQuery(ISet`1 handledForeignKeys)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.StartTrackingFromQuery(IEntityType baseEntityType, Object entity, ValueBuffer&amp; valueBuffer, ISet`1 handledForeignKeys)
   at Microsoft.EntityFrameworkCore.Query.Internal.EntityTrackingInfo.StartTracking(IStateManager stateManager, Object entity, ValueBuffer&amp; valueBuffer)
   at Microsoft.EntityFrameworkCore.Query.QueryContext.StartTracking(Object entity, EntityTrackingInfo entityTrackingInfo)
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.&lt;_TrackEntities&gt;d__17`2.MoveNext()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at EFCore_TrackedEventCriticalSection.Program.Main(String[] args) in C:\Users\Michael\Code\EFCore-TrackedEventCriticalSection\Program.cs:line 21</StackTrace><ExceptionString>System.InvalidOperationException: A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.
   at Microsoft.EntityFrameworkCore.Internal.ConcurrencyDetector.EnterCriticalSection()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
   at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.Load[TSource](IQueryable`1 source)
   at Microsoft.EntityFrameworkCore.Internal.EntityFinder`1.Load(INavigation navigation, InternalEntityEntry entry)
   at Microsoft.EntityFrameworkCore.ChangeTracking.NavigationEntry.Load()
   at Microsoft.EntityFrameworkCore.ChangeTracking.CollectionEntry.Load()
   at Microsoft.EntityFrameworkCore.Internal.LazyLoader.Load(Object entity, String navigationName)
   at Microsoft.EntityFrameworkCore.Proxies.Internal.LazyLoadingInterceptor.Intercept(IInvocation invocation)
   at Castle.DynamicProxy.AbstractInvocation.Proceed()
   at Castle.Proxies.EmployeeProxy.get_Devices()
   at EFCore_TrackedEventCriticalSection.TestDataContext.ChangeTracker_Tracked(Object sender, EntityTrackedEventArgs e) in C:\Users\Michael\Code\EFCore-TrackedEventCriticalSection\DataContext.cs:line 18
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.OnTracked(InternalEntityEntry internalEntityEntry, Boolean fromQuery)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.MarkUnchangedFromQuery(ISet`1 handledForeignKeys)
   at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.StartTrackingFromQuery(IEntityType baseEntityType, Object entity, ValueBuffer&amp; valueBuffer, ISet`1 handledForeignKeys)
   at Microsoft.EntityFrameworkCore.Query.Internal.EntityTrackingInfo.StartTracking(IStateManager stateManager, Object entity, ValueBuffer&amp; valueBuffer)
   at Microsoft.EntityFrameworkCore.Query.QueryContext.StartTracking(Object entity, EntityTrackingInfo entityTrackingInfo)
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.&lt;_TrackEntities&gt;d__17`2.MoveNext()
   at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor`1.EnumeratorExceptionInterceptor.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at EFCore_TrackedEventCriticalSection.Program.Main(String[] args) in C:\Users\Michael\Code\EFCore-TrackedEventCriticalSection\Program.cs:line 21</ExceptionString></Exception></TraceRecord>
An unhandled exception of type 'System.InvalidOperationException' occurred in Microsoft.EntityFrameworkCore.dll
A second operation started on this context before a previous operation completed. Any instance members are not guaranteed to be thread safe.

Steps to reproduce
Repro included at https://github.com/optiks/EFCore-TrackedEventCriticalSection.
At a high level:

Subscribe to the ChangeTracker.Tracked event
Force a tracked entity to be materialised
Within the tracked event delegate, perform a data access operation (e.g. a lazy load).

Further technical details
EF Core version: 2.1
Database Provider: EntityFrameworkCore.SqlServerCompact35
Operating system: Windows 10.0.17134.112
IDE: Visual Studio 2017 15.7.2

@divega As discussed on Skype, this is the issue we hit when using the Tracked event as a workaround for the lack of an ObjectMaterialized/OnLoaded type event (further discussion regarding this in #626).
We're currently working around this via custom Enumerator/IQueryProvider implementations, however we're not overly happy with it.

@ajcvickers Let's discuss next time we have a chance.

@ajcvickers you mentioned you had some thoughts about this. Any chance you can summarize?

Talked about it with @divega and it looks like we need to investigate:

What the query critical section contains
Whether the message should be updated
That this will then work with either buffering or MARS
Whether or not this can be made to not require MARS by enabling buffering by default


Translation: State and Lifecycle methods

Changes
Translation for State and Lifecycle page

@nootanghimire Have addressed all the comments! Please have a look! Thanks! :)


DeleteBehaviour not set as specified

Steps to reproduce
Set OnDeleteBehaviour of my Table like this:
            modelBuilder.Entity<VisuPageLayerEntity>()
                        .HasMany(x => x.ControlInstances)
                        .WithOne(x => x.PageLayer)
                        .HasForeignKey(x => x.PageLayerUuid)
                        .OnDelete(DeleteBehavior.Cascade);

The issue
DeleteBehaviour is set to Restrict (it does work for most other tables though)
Migration Script:
migrationBuilder.CreateTable(
                name: "VisuControlInstance",
                columns: table => new
                {
                    Uuid = table.Column<Guid>(maxLength: 40, nullable: false),
                    ControlTypeUuid = table.Column<Guid>(nullable: false),
                    Order = table.Column<int>(nullable: false),
                    PageGroupUuid = table.Column<Guid>(nullable: true),
                    PageLayerUuid = table.Column<Guid>(nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_VisuControlInstance", x => x.Uuid);
                    table.ForeignKey(
                        name: "FK_VisuControlInstance_VisuControlType_ControlTypeUuid",
                        column: x => x.ControlTypeUuid,
                        principalTable: "VisuControlType",
                        principalColumn: "Uuid",
                        onDelete: ReferentialAction.Cascade);
                    table.ForeignKey(
                        name: "FK_VisuControlInstance_VisuPageGroup_PageGroupUuid",
                        column: x => x.PageGroupUuid,
                        principalTable: "VisuPageGroup",
                        principalColumn: "Uuid",
                        onDelete: ReferentialAction.Restrict);
                    table.ForeignKey(
                        name: "FK_VisuControlInstance_VisuPageLayer_PageLayerUuid",
                        column: x => x.PageLayerUuid,
                        principalTable: "VisuPageLayer",
                        principalColumn: "Uuid",
                        onDelete: ReferentialAction.Restrict);
                });

Further technical details
MySQL version: 8.0.13
Operating system: Windows 10
Pomelo.EntityFrameworkCore.MySql version: 2.20
Microsoft.AspNetCore.App version: 2.2.0

@EliasDerHai Are you sure nothing else in your code is changing the OnDelete behavior? Can you reproduce the issue in a new project? It may be an issue in PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

EF Team Triage: Closing this issue as the requested additional details have not been provided and we have been unable to reproduce it.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.


All nodes as unreported

I am running 0.3.1dev0 and all of a sudden all my nodes are as unreported.
When I do a curl http://localhost:8080/pdb/query/v4/nodes the random selection of nodes report as unchanged.
I have tried to up the time to trigger unreported from three to six hours to avoid any issues with timezones, daylight savings and such but no differnence.
Puppetboard is installed and managed by this module:
https://forge.puppet.com/puppet/puppetboard

$ puppetdb --version
puppetdb version: 5.2.1
$ puppetserver --version
puppetserver version: 5.3.0
$ puppet --version
5.5.0

Unchanged is a puppet state.  "Unreported" is a calculated label puppetboard applies to them when their reports have gone outside the boundary of current time - unreported time.
Ensure your agents are updating puppetdb.


Add marathon_new_group_enforce_role config option to the DC/OS installer

High-level description
This adds a new config option to the DC/OS installer, marathon_new_group_enforce_role, and defaults it to 'top'. This causes new services for not-yet-created groups to default to use the group-role, rather than the default mesos role. The same thing happens when we
What features does this change enable? What bugs does this change fix?
Corresponding DC/OS tickets (required)

DCOS_OSS-5532 Change the default for root marathon to enable enforceRole by default for new top-level groups

@mesosphere-mergebot label Ready for Review


Check for existence of data element before accessing property

Fixes #2990

Looks good to me. Test failure seems to be from coveralls dying and not from a problem with the change.


AnimationGroup: Add MergeAnimationGroups method

Closes #12895

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14062/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14062/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14062/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14062/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14062/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14062/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14062/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14062/merge#BCU1XR#0


haskellPackages.gi-webkit2 doesn't build due to wrong javascriptcore dependency

Issue description
haskellPackages.gi-webkit2 doesn't build.
Steps to reproduce
nix-shell haskellPackages.gi-webkit2
Technical details
Current gi-webkit2 is looking for  gi-javascriptcore v4, so the correct dependencies would be:
    gi-webkit2-fixed = haskell.lib.overrideCabal gi-webkit2 (drv:
      {
        libraryHaskellDepends = [
          base bytestring containers gi-atk gi-cairo gi-gdk gi-gio gi-glib
          gi-gobject gi-gtk gi-javascriptcore_4_0_6 gi-soup haskell-gi-base text
          transformers
       ];
      });

I'm filing an issue instead of a PR because I'm not super sure where these fixes go now. Will prepare branch if you're OK with putting this in configuration-common.

Can you make this into a PR without changing the name of the package? Using overrideCabal super.gi-webkit2 ...

This is turning out to be too much work, so closing as "too much effort for what we gain".


Deploy on CircleCI

We add lines to [circle.yml] (https://github.com/thoughtbot/suspenders/blob/77d3310dd1d531a04aae4e4621fc55ff8168d7e5/lib/suspenders/app_builder.rb#L421-L422) for deploying the code automatically when the build is green. But CircleCI doesn't have the right Git repositories configured to be able to deploy to Heroku as staging. Should we remove that configuration? Or is there a well-known step that needs to be performed?

In my last project I added the remote myself before deploy:
deployment:
  staging:
    branch: master
    commands:
      - git remote add staging git@heroku.com:appname-staging.git
      - bin/deploy staging

We can easily add that to suspenders.
We can deploy from GitHub too. Do we have a preferred method for any reason?

Pushing to heroku requires SSH keys to be in place from CircleCI, which is a manually per-account approval on CircleCI's end. So while adding the circle.yml file will help, it won't remove the manual steps that at least 1 engineer needs to approve the repo-heroku connection for.
You could use a central shared account -- but that requires manual setup (or selenium) on Heroku's end, as they probably won't open registrations to their API. If you have a Heroku Enterprise installation, you can leverage their Account Organization API -- but they'll have to chime in if that is ever coming to their hosted version.
Just to add my own 2 cents -- we have a workflow that auto-deploys staging from master pushes, and production based on github releases/tags. This requires the manual SSH key step to setup, and therefore remains a manual part of our new project process. I'm not sure if that's helpful to you, but I've found a git-centric workflow to be worthwhile.
I'd love to hear if you've been able to automate this!

We already have to connect GitHub and Heroku for Review Apps, so I'd favor deploying from GitHub to avoid the extra step. In that case, we'd remove the configuration from circle.yml.

I think deploying from Github vs. Circle is a better choice as it will leave maximum flexibility for projects that don't use CircleCI. I'd guess 99% of our projects use Github, several of our clients might use other CI solutions for various reasons.

But CircleCI doesn't have the right Git repositories configured to be able to deploy to Heroku as staging.

Why doesn't it have those repos? Our Circle config runs bin/setup, so it should create the staging remote when initializing the build, right?

Why doesn't it have those repos? Our Circle config runs bin/setup, so it should create the staging remote when initializing the build, right?

AFAIK, in order to join a Heroku app, ssh keys need to be configured on Heroku.

How does this relate to the pipeline changes and github flow model?

I think we can safely remove that configuration from the ./templates/circle.yml.erb file, as Heroku is a bigger common denominator on our suspended projects (and might already have GitHub integration if review apps were set up).
Will leave this issue open until somebody resolves it (in the upcoming Open Source Workshop or elsewhere!).

This has been removed as part of https://github.com/thoughtbot/suspenders/pull/596/files. This issue is not relevant anymore. Thanks!


Deploy one of each runner type: dind, dind-rootless, kubernetes

To make it easier to test our options we should deploy a runner scale set for each container mode:

dind
dind-rootless
kubernetes

Once this is available it should be easier to compare the 3 options by constructing workflows that test against all 3 runner types.

This was deployed as pytorch/ci-infra#23


Migration fails to propagate exact nullability for nested list

When trying to use the migration tool on package csslib, on line 942 of lib/parser.dart, we have params.add(terms);, where terms has type List<Expression?>.  Prior to migration, the declaration of params was:
var params = <List<Expression>>[];

Migration changes it to:
List<List<Expression?>> params = <List<Expression>>[];

This all type checks at compile time, but it doesn't work at runtime because the runtime type of params is List<List<Expression>>, and so terms can't be inserted into it.
Exact nullability propagation is supposed to prevent problems like this.  I'm not sure why it's not working in this case.

Here's a shorter repro:
f(List<int/*?*/> y) {
  var x = <List<int>>[];
  x.add(y);
}

Ok, I've diagnosed the problem.  What's happening is that the signal we use to decide when exact nullability propagation needs to happen is when we resolve a substitution node in favor of the "inner" node.  That works fine for a trivial example like this one:
f(int/*?*/ y) {
  var x = <int>[];
  x.add(y);
}

because when analyzing the call to add, we substitute int(2) for E(1) in the type of List.add (which is void Function(E(1))), to get void Function(int(1 OR 2)).  The 1 OR 2 means that this function accepts a nullable value if either (1) or (2) is nullable; we represent this with a substitution node.  Later, when we propagate nullability into this substitution node, and resolve it in favor of (2), that triggers exact nullability propagation.
But in this more complex example that doesn't work anymore:
f(List<int/*?*/> y) {
  var x = <List<int>>[];
  x.add(y);
}

because when we substitute List<int(2)>(3) for E(1) in the type of List.add, we get void Function(List<int(2)>(1 OR 3)), so there is no substitution node flagging the fact that if (2) gets made nullable, we'll need to propagate exact nullability.
@MichaelRFairhurst and I discussed this, and we have a provisional idea for how to tackle it, though we're not certain it is correct without experimenting further.  Our thought is that maybe instead of triggering exact nullability propagation when propagating to the inner node of a substitution, we instead detect during substitution when a type's nullability goes from covariant position to contravariant position, and we tag the node appropriately.  So in this more complex example, when we substitute List<int(2)>(3) for E(1), we get void Function(List<int(CV(2))>(1 OR CV(3))).  Later, when we try to propagate null to CV(2), that will trigger exact nullability propagation for node 2.
Mike noted that a problem we had last time we were modifying the exact nullability propagation algorithm is that when doing the back propagation of exact nullability, we needed to make sure not to propagate to other substitution nodes, otherwise the nullability could spread contagiously to areas where it wasn't relevant.  Under the new formulation, we would stop propagating exact nullability upon reaching a CV() node.
We think it's a good idea to try to make this fix, but considering that we're going to try to ship a tech preview of the migration tool soon, it doesn't seem like an opportune time.  I'm going to add a test case capturing this problem and reclassify this bug as a post-tech-preview issue.

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


Drop 'configurations' and 'workarounds' fields

Since they are not shown in the cve.org UI, we want to avoid projects accidentally putting important information in these fields.
Fixes #65

good idea, also less chance of merge conflicts :+1: updated

Update: now overriding in custom/cve5/conf.js instead of editing custom/cve5/conf.js directly


Update AMP Header and Footer

Reworked the styles and markup for the header and footer files (removed a lot of unnecessary wrapping divs and so forth). Also, created a store-logo file that uses  tag.
@mcampa @junedkazi

👍


JWK OKP support

Started to look into supporting the Ed25519 algorithm for the JWKs (https://tools.ietf.org/html/rfc8037)
Also while doing this I realized that not all keys come in pairs so therefore was thinking to deprecate the following methods
::JWT::JWK::RSA#keypair
::JWT::JWK::RSA#private_key
::JWT::JWK::RSA#public_key

To favor the more specific methods
::JWT::JWK::[RSA/EC/HMAC/OKP]#verify_key
::JWT::JWK::[RSA/EC/HMAC/OKP]#signing_key

This also affects the ::JWT::JWK::EC and ::JWT::JWK::HMAC APIs. But since these have not been in any official release we could maybe just not support the old methods.
I'll work on this whenever I have the time and energy. Comments are welcome whenever!

Need to redo the JWK classes apis to make any sense of it. Stay tunded for some refactoring...


Implement a Facade for all the Decita functions

For now it's just the way to call decisionFor method with an one-time extension for the ComputationContext (i.e. extend context with request data just for this very request)

@nergal-perm the puzzle #97 is still not solved.

@nergal-perm the only puzzle #97 is solved here.


[fix] Remove open resty docs

Remove open resty docs

Can you also delete the topic? https://github.com/Kong/docs.konghq.com/blob/remove-openresty/app/_src/gateway/production/kong-openresty.md
Also, should we backport this to at least 2.8 (if not further), since that's our LTS version? That section lives here: https://docs.konghq.com/gateway/2.8.x/reference/configuration/#embedding-kong-in-openresty


And please also provide the following information:

The output of flutter doctor -v to show the version of Flutter you are seeing this issue on
Reproduction steps if needed. Does the issue only occur on nginx server or any other servers? Do you see it when running app in local machine?


Ordered consumer

Problem
We need ordered message consumptions to cover a range of use cases
Persona:
Which persona is this feature for? User
Exit Criteria
An option to setup ordered consumption of topics
Steps

[x] Refactor the Consumer verticle and friends to make room for ordered consumer #614 #628
[x] Implement ordered consumer verticle #639
[ ] Add to the contract the ordered/unordered for the egress
[ ] Define an API to expose ordered/unordered consumer and implement it
[ ] Docs

/assign

In order to develop an ordered consumer, we need a FSM that polls the consumer and process the events. More details to come

Note: this is not part of this issue, just sharing an idea.
What do you think about having 2 topics?
The reasoning being that when there is no partitionkey the order is "random" from a user perspective and they don't care about ordering, so we can have 2 topics:

1 topic for strictly order delivery
1 topic for unordered delivery

The receiver sends events to (1) when there is a partitionkey set and to (2) when there is not.
The dispatcher can:

instantiate a consumer for (1) respecting strictly ordered delivery and a consumer for (2) with a parallel consumer. Or
instantiate a consumer for (1) and (2) and route events to a component based on the topic.

TBH I'm not sure the effort is worth and ends up in a reasonable speedup. In any case, I'm going to implement the ordered consumer without removing the unordered consumer, so this will be an option to turn it on (then on next release, we make it default)

We can consider this one: https://github.com/confluentinc/parallel-consumer

There is a Vert.x integration too.

Why not use the Vert.x library yourself in your processing loop?

Vert.x us used in this library to provide a non-blocking IO system in the message processing step. Using Vert.x without using this library with ordered processing requires dealing with the quite complicated, and not straight forward, aspect of handling offset commits with Vert.x asynchronous processing system.

Unordered processing with Vert.x is somewhat easier, however offset management is still quite complicated, and the Parallel Consumer also provides optimizations for message-level acknowledgment in this case. This library handles offset commits for both ordered and unordered processing cases.

ordered processing requires dealing with the quite complicated, and not straight forward, aspect of handling offset commits with Vert.x asynchronous processing system.

Mwah, I'm not of the same opinion, as you see from https://github.com/knative-sandbox/eventing-kafka-broker/pull/597 that's quite straightforward. If messages are ordered, it's even more straightforward to handle offsets. It sounds more like their reason was not to couple to Vert.x itself...

With #639 in place, now we need to figure out the API to expose the configuration "ordered"/"unordered" to the user. How do we want to do that? How about a trigger annotation?

It's ok for me as an annotation.

annotation: kafka.eventing.knative.dev/delivery: (ordered | unordered)
a condition in the status indicating the delivery to have a feedback on this annotation.

WDYT?

On the annotation name, I'd probably need to think more carefully but we can defer this decision.

@pierDipi I'm fine with that name

Also, we should loop in other folks to align KafkaChannel impl when this will be supported.
/cc @devguyio @matzew @lionelvillard

We should decide the default value as well that for now could be hardcoded.

If we're going to implement kafka channel and kafka source

I'd love to have this at some point :)

Since the ordered consumer is a new feature, I prefer to go with unordered as default

+1.

All done :partying_face:


Became very laggy after rendered multiple times

this is my way to use html2canvas
there is a container which i want to put the thumbnail in;
i cloned the content(not pure text) into the container (to solve the off-screen rendering) and scale it  smaller width css(transform:scale)
then i use html2canvas to get the canvas.todataurl (png)  and save the  image data to my session object.
after this i remove the cloned content and append a  tag with dataurl to  the box .
the performance is good rendering second  thumbnail ;
but it become very laggy after rendered about 5 times, not the browser,even the computer.
is there any problems in this way?or just the lib have no performance optimization?
here is my code :
                           $('#thumbnail_'+e+' div').append(pnid(e).html());//clone the element                             html2canvas($('#thumbnail_'+e+' .toe_res'),{width:f*8,height:f*8}).then(function (canvas) {                                 $('#thumbnail_' + e +' .crs_bmk_tmb').append('<img src="'+(session.config.book[e].image=canvas.toDataURL('image/png'))+'">').find('.toe_res').remove();//append the img and remove the cloned element                             });

Is this still an issue with v1.0.0? If so, could you please share an example on jsfiddle.


Modernize to CodeQL CLI 2.11.2 and adapt to restructured upstream repo

Downstream from https://github.com/jenkins-infra/jenkins-codeql/pull/20

@MarkEWaite FTR it works according to https://github.com/jenkinsci/matrix-auth-plugin/tree/modernize-jenkins-codeql


How to use PrefixMap?

I want to shorten URIs shown to users using a prefix map, but following https://docs.rs/sophia/latest/sophia/prefix/trait.PrefixMap.html I do not understand how to construct and fill one. Can you give an example on how it is supposed to be used?

How to build a PrefixMap
The trait PrefixMap is implemented by any slice of (prefix, IRI) pair. For example, a Vec of (PrefixBox, IriBox) would do the trick.
How to use a PrefixMap to abbreviate IRIs
The easiest way is to use the get_prefixed_pair method of PrefixMap. It takes any term, and returns a pair (prefix, suffix) if that term is an IRI and can be abbreviated using one of the prefixes in the map. Otheriwse, it returns None (meaning that you should display the IRI in full).
Hope this helps.

Thanks for the quick reply! As a Rust beginner, I'm not quite sure what to do but I got as far as:
let mut prefixes: Vec<(PrefixBox,IriBox)> = Vec::new();
let pBox: PrefixBox = Prefix::new("http://hitontology.eu/ontology/").unwrap().boxed();

However that causes: thread 'main' panicked at 'called Result::unwrap()on anErr value: InvalidPrefix("http://hitontology.eu/ontology/")', src/main.rs:17:74
What is the error cause there?

Update
I think I got it now:
let mut prefixes: Vec<(PrefixBox,IriBox)> = Vec::new();
let hito_prefix: PrefixBox = Prefix::new("hito").unwrap().boxed();
let hito_iri: IriBox = Iri::new("http://hitontology.eu/ontology/").unwrap().boxed();
prefixes.push((hito_prefix,hito_iri));

Could this be added as an example to the documentation? (using ? instead of unwrap())
A convenience method to read a prefix map from a turtle file would also be nice.

Yes, the lack of documentation is well recognized. My efforts are now focused on a big refactorying of the library. Any new documentation is at risk of being quickly outdated, so unfortunately, it is not my priority at the moment.
About being able to get the prefix map out of a parsed turtle file: I agree. There is an issue about it Rio, the parser library on which Sophia is relying.

Ah OK, then I will just write a quick convenience method and adapt to the refactoring later for sophia 0.8, thanks for the help!


Beeps?

From the release notes it sounded as if the Di2 Interface could set a switch to "Beep" (Add switch press option to beep (use your Di2 hood switches + Karoo 2 as an annoying/bad horn!)).
The K2 does not have a sound device, correct?  So how does this really work?

K2 has a beeper/buzzer. It can beep before coming to a turn, when using navigation, or to alert on low battery, etc.
Ki2 uses the beeper for some events, like before a synchro shift or when the gear reaches the (lower/upper) limits. There is also an option in Ki2 to assign a beep/double beep to switch events. With that option, you can press a Di2 button, like the top hood switches, and the Ki2 will beep, you can even configure it to beep while you hold the Di2 switch down.
Of course it's not really a horn, but could be useful when cycling on shared path with people walking.
Let me know if that answers the question.

Thanks for the note.  I have been trying to get my K2 to make some sort of
sound since I first bought it.  I have all alerts on in all of my profiles
but nothing ever happens.  It probably is not your interface, but rather
something inside the K2 that keeps it quiet.
David
On Tue, Apr 16, 2024 at 4:26 AM Valter Costa @.***>
wrote:

K2 has a beeper/buzzer. It can beep before coming to a turn, when using
navigation, or to alert on low battery, etc.
Ki2 uses the beeper for some events, like before a synchro shift or when
the gear reaches the (lower/upper) limits. There is also an option in Ki2
to assign a beep/double beep to switch events. With that option, you can
press a Di2 button, like the top hood switches, and the Ki2 will beep, you
can even configure it to beep while you hold the Di2 switch down.
Of course it's not really a horn, but could be useful when cycling on
shared path with people walking.
Let me know if that answers the question.
—
Reply to this email directly, view it on GitHub
https://github.com/valterc/ki2/issues/217#issuecomment-2058856855, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ARY4TDN7KVMXS4UTH5D5ZMTY5UC7JAVCNFSM6AAAAABGFAG4I6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJYHA2TMOBVGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

That might be an hardware problem, double check the documentation from Hammerhead here: https://support.hammerhead.io/hc/en-us/articles/360056139654-Karoo-2-Audio-Alerts
If there's really an issue on your unit you might want to contact their support and get it replaced, for example on the community forums: https://support.hammerhead.io/hc/en-us/community/topics/360000095854-Tips-Troubleshooting


infra: add missing npm config to actions

Description
Add npm config to create-release.yaml and create-prerelease.yaml actions - it's needed for version shenanigans.

Codecov Report

Merging #36 (9d0d919) into main (becf274) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #36      +/-   ##
==========================================
+ Coverage   96.37%   96.40%   +0.03%
==========================================
  Files          28       28
  Lines         578      582       +4
  Branches      132      135       +3
==========================================
+ Hits          557      561       +4
  Misses         19       19
  Partials        2        2

Impacted Files
Coverage Δ

src/translator/regex.js
100.00% <ø> (ø)

mocks/roam.js
100.00% <100.00%> (ø)

src/translator/createTEX.js
90.77% <100.00%> (+0.22%)
:arrow_up:


[Proposal] SegmentedControl

From @jamesmontemagno on December 23, 2016 7:13
Coming soon
Copied from original issue: FormsCommunityToolkit/Controls#4

Maybe it is what you mean?
Segmented Control Plugin for Xamarin Forms
https://github.com/alexrainman/SegmentedControl

This needs some clarification.

Assuming this is still something people/we might want to add so keeping it here for reference

Adding here for future reference
https://github.com/CrossGeeks/SegmentedControlSample
https://github.com/CrossGeeks/ExtendedSegmentedTabControl

I thing @jsuarezruiz is working on TabView (I saw amazing specs some weeks ago). Maybe we should just wait for the XF implementation.

@roubachof Thanks.  I saw this too recently.  I'm wondering if it will be released in the first release of MAUI.

I am not sure if TabView is the same as segmented control. I look at it more as options that are used to filter the content and not necessarily show different things, but could........ so if you define the control to be just the segmented control and the user has control of what to do, then it is a bit different.

Using styles, etc. we can get something like a SegmentControl using TabView. But, we can discuss about necessary functionality and options to include in TabView to cover both cases.

This is great. I opened a issue #385 for the Segment control I am migrating from Xamarin.Forms to this toolkit.

Duplicate of #385 let's discuss further there


NextAwait's next instruction doesn't match that of SQLite

In the above side-by-side comparison of the same database run in Limbo on the LHS and SQLite3 on the RHS, note that NextAsync's next command is RewindAwait. For SQLite, Next's next command is Column which makes sense that we do that when there are rows left.
I'll try and fix this. Let me know if this is expected for some reason

Yeah I've noticed that, pretty sure it's not expected, go ahead and fix


Main

Hi Stephen, this  is the clean complete code base without creds, pdf, tokens, or identifiable info. there is a new folder with sql scripts to create extra interop tables with the ODS. Please review and approve or let me know, thanks!  ps I left a png smcisd logo that can be replace by the LEA implementing this.

Hi Stephen, this is the clean complete code base without creds, pdf, tokens, or identifiable info. there is a new folder with sql scripts to create extra interop tables with the ODS. Please review and approve or let me know, thanks! ps I left a png smcisd logo that can be replace by the LEA implementing this.

Rafael, I'm sorry I have not had time to look at this yet. I should be able to get to it before the end of the week though.

ok
On Wed, Apr 21, 2021 at 8:19 AM Stephen Fuqua @.***>
wrote:

Hi Stephen, this is the clean complete code base without creds, pdf,
tokens, or identifiable info. there is a new folder with sql scripts to
create extra interop tables with the ODS. Please review and approve or let
me know, thanks! ps I left a png smcisd logo that can be replace by the LEA
implementing this.
Rafael, I'm sorry I have not had time to look at this yet. I should be
able to get to it before the end of the week though.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Ed-Fi-Exchange-OSS/Student360/pull/4#issuecomment-824054402,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKQNDFORTPHUESDYFJ3S7YTTJ3GELANCNFSM43B4ACOA
.

--
[image: SMCISDLogoRGB_PNG.png]
Rafael Loustaunau
Tech Apps Integration Coordinator - San Marcos CISD
p:<PHONE_NUMBER>
f:<PHONE_NUMBER>
e:  @.***
--
This email message, including all attachments, is for the sole use of the
intended recipient(s) and may contain confidential information.
Unauthorized use or disclosure of confidential student information is
prohibited under the federal Family Rights and Privacy Act (FERPA). If you
are not the intended recipient, you may not use, disclose, copy or
disseminate this information. Please contact the sender and delete all
copies of the message, including attachments.
San Marcos Consolidated
Independent School District does not discriminate on the basis of race,
religion, color national origin, sex, or disability in providing education
services, activities, and programs, including vocational programs, in
accordance with Title VI of the Civil Rights Act of 1964, as amended; Title
IX of the Educational Amendments of 1972; section 504 of the Rehabilitation
Act of 1973, as amended.

@rloustaunau2 there were still some unnecessary obj directory files. I used some git magic to permanently remove them and make the repository smaller, and then uploaded my version as the main branch. I'm going to close this pull request and proceed to publish this on the Ed-Fi Exchange.


webhook parse string to json

I have an app that will send the following message to webhook：

can see that the message field is a string in json format.The source can't make changes, is there any way to parse it?Can be quoted like this：

I tried using the parse-parameters-as-json parameter,But no effect，Is there any good way?

Hello, first of all the message field value should have escaped quotes like so "message": "{\"id\": "1", \"data\":\"this is a test!\"|"
To turn this string into usable JSON object, you should add parse parameters as json directive to the hook like so:
"parse-parameters-as-json": [
  { "source": "payload", "name": "message.data" }
]

and it should work.

Hello, first of all the message field value should have escaped quotes like so "message": "{\"id\": \"1\", \"data\":\"this is a test!\"}"
To turn this string into usable JSON object, you should add parse parameters as json directive to the hook like so:
"parse-parameters-as-json": [
  { "source": "payload", "name": "message" }
]

and it should work.

@adnanh
I have tried it, but the result is not very good.
First of all, when I don't use the escape character, the data received by webhook is like this：

When I use the escape character, the data received by webhook is like this：

Webhook configuration is like this：

But in both ways, I finally got the same error as follows.

Mhm, looks like there's an unhandled case in the GetParameter method. I will investigate this further, and get back to you.

I looked into this issue and it looks like it has been solved but I am not sure I correctly understood the issue.
The following is the configuration file where the script hello.sh simply echos the arguments.
[
  {
    "id": "webhook",
    "execute-command": "./hello.sh",
    "response-message": "I got the payload!",
    "response-headers": [
      {
        "name": "Access-Control-Allow-Origin",
        "value": "*"
      }
    ],
    "pass-arguments-to-command": [
      {
        "source": "payload",
        "name": "message.data"
      }
    ],
    "parse-parameters-as-json": [
      {
        "source": "payload",
        "name": "message"
      }
    ]
  }
]

This is the json sent to the webhook:
{
  "message": "{ \"data\": \"data data data\" }"
}

And the output is data data data.

@SloanChang,
Can you verify that this issue is unresolved?


Road to v1 stable

For the first release, lets focus on API sanity and stability, rather than adding every feature that people have requested.

[ ] Navigate key for idempotent pushes https://github.com/react-community/react-navigation/issues/135
[ ] Header bar overriding https://github.com/react-community/react-navigation/pull/470
[ ] Screen lifecycle hooks https://github.com/react-community/react-navigation/issues/51
[ ] Accessibility Review https://github.com/react-community/react-navigation/issues/58
[ ] Simplified Nav Options https://github.com/react-community/react-navigation/issues/722
[ ] Resetting non-deepest navigator https://github.com/react-community/react-navigation/issues/691

Lets aim to reach stability by mid-April!

any chance to get this  https://github.com/react-community/react-navigation/issues/691 in v1 ..

@chandu0101, yep, just added it! I'm still searching around for high-pri issues

@ericvicenti is https://github.com/react-community/react-navigation/issues/175 a high priority for v1?

I'd second #175 / #124 being part of 1.0. There's a large amount of ceremony around having an individual screen within a StackNavigator present from the bottom up that seems like a fairly core feature that many would find useful.

@ericvicenti what about #271 debounce action reduce
and as I've said in #271, we shouldn't override custom key, or we can't find specific screen via key as it could be override, per #691 and NavigationActions.back('key')

@nihgwu, I believe #135, which @ericvicenti included in the list above, would solve that problem.

I believe #527 is important too

@migueloller sorry I didn't notice that before

@cychiuae but #527 has been resolved, forget to close it though

@nihgwu someone said he still got the issue with master

@ericvicenti  I've noticed you still haven't added #175 / #124 / #690  / #232 The issue of controlling transitions of individual screens seems to be a high priority issue.

+1 the need for #175.

+1 need for #175

A better way to configure screen transitions is needed for react-navigation to be competitive with other solution.
+1 for #175

Perhaps #802 (Ability to "replace" screens in the stack navigator) should be on this list?

+1 for #175

...
Lets aim to reach stability by mid-April!

We are just one week away from mid-April and it seems that all of the referenced issues are still open. I guess mid-April deadline is not realistic so far.
Is there any new ETA for the stable version?

The most important thing right now is for us to focus on stability so that people's apps are production-ready.
I think #124 and #175 are important for the long-term success of the library, but these are invasive and risky changes. We are trying to stabilize the library, and these features would require us to rip it up. If you're interested in highly-customized animations, you can of course use Transitioner directly, or you can find a third-party library that takes a navigation prop.
For those interested in an easy way to configure some screens as a modal and others as a card (#707 #770 #690 #232), you may find this workaround handy. I think it would break a lot of things if we tried to implement it differently. If anybody has ideas for a different implementation, feel free to open up a new issue and we can discuss. Maybe there is an easier way that I'm not seeing.
Replace functionality (#802) is also a pretty common request, and I think we could accomplish it by adding a key to the navigation action- you'd just pass the current key in order to replace. It seems that #271 would also get solved by #135.
@lashae, I won't make any more promises on timeline, but if you have any important fixes for your app, ping me and I'll help you merge them!

@ericvicenti The screen life cycle events proposed in (#51)[https://github.com/react-community/react-navigation/issues/51] are necessary to manage Scene updates on Back, to close and open web sockets / event listeners.  Are there proposed work arounds?

@charlle, at the moment you can use controlled navigators, (see the redux example). When you explicitly provide the navigation.state, you can see when it changes and do things at that time. But I agree that #51 is very high-pri

From my perspective, https://github.com/react-community/react-navigation/issues/88 would be great. I could work on it we can make it into next release candidate.

@ericvicenti Thanks for the response.  Just to clarify are you suggesting to have a HOC "watch" and compare navigation.state changes rather than have a triggered event at the component level?

Looking good! We switched to react-navigation from react-native-router-flux in our company's first React Native app. Really looking forward to a stable version of react-navigation.  As a first version I think it contains enough features. And with those mentioned in this issue, it will be a great alternative for other routers.
Keep up the good work! ⭐

@ericvicenti I feel like something like #525 / #486 (Allow TabBarBottom accept onTabPress callback) is pretty crucial.  A large number of production apps which use bottom tabs have some custom action when the currently active tab is pressed again (e.g. reset the stack, scroll to top, etc).  Feels like quite a limitation that this isn't supported.

Animated replace is an important issue for us. #351

We are quite settled on the initial list of features to support in v1 release. If you'd like to suggest more improvements, feel free to visit #1263 where we are discussing things to go into second stable release (namely v2)

I think #706 should be in the list for v1.

Almost 2 months in past the mid-April v1 estimate. Any status updates?

+1 for #707 . I think adding a mode for each scene it's a must.

Expecting release a new beta version for all the issues are fixed in master.

I opened some PRs. Is anyone checking this stuff?

idempotent pushes https://github.com/react-community/react-navigation/pull/2334
queued action dispatch and fixed queued transitions in Transitioner https://github.com/react-community/react-navigation/pull/2400
some fixes to the Drawer menu https://github.com/react-community/react-navigation/pull/2294
fix reset action in stack navigator https://github.com/react-community/react-navigation/pull/2292

@rpopovici working on it - project went quiet for a while but we're playing catch up and trying to get things sorted out. Appreciate all the PRs you've opened - we'll get to them!

Please include more tab for IOS. It should have more tab if the items cant fit the horizontal space. Thanks.

@rabrenio Could you add a feature request for that instead of just a comment in the v1 issue.

@dantman yes its an issue thats why i requested it to be included as a new feature.

Closing this issue in favour of #2585.


Fix QnAMaker Python conf

See https://github.com/Azure/azure-rest-api-specs/pull/8621

/azp run automation - sdk

Can one of the admins verify this patch?


Compatibility with Warhammer 4e

Hello Hello,
Is it possible to do your module compatible with the Warhammer 4e system? there are some readability problems ... a screenshot is more telling

thx for your help and good luck !
S.

Hmm. I assume you're talking about the very white areas? I'll try installing Warhammer 4e and see if there's anything I can do.

Yes it is ... and just with Monk's Enhanced Journal

Fixed in v 1.2.5 rolling out now.

Nice job !


allow failover to non current cluster

Coverage decreased (-0.1%) to 66.176% when pulling 2710d2ee253f5fb7acfd40326fa88b5bdaf13e05 on domain into 12ffac3e86cc986643047fcf1fd35d67d603b973 on master.


Add COMP2 and COMP4_6 interrupts for STM32F3x4

To-do: check other devices using common_patches/f3_comp246 to see if they also require these interrupts.

Those COMP interrupts are missing from the COMP block of all the stm32f3 svd.
Here is a list of those interrupts from the RMs:

stm32f301:

COMP2 (64) COMP2 interrupt combined with EXTI Lines 22 interrupt.
COMP4_6 (65) COMP4 & COMP6 interrupts combined with EXTI Lines 30 and 32 interrupts respectively.

stm32f302:

COMP1_2 (64) COMP1 & COMP2 interrupts combined with EXTI Lines 21, 22 interrupts.
COMP4_6 (65) COMP4 & COMP6 interrupts combined with EXTI Lines 30 and 32 interrupts.

stm32f303: (STM32F303x6/8)

COMP2 (64) COMP2 interrupt combined with EXTI Lines 22 interrupt.
COMP4_6 (65) COMP4 & COMP6 interrupts combined with EXTI Lines 30 and 32 interrupts respectively.

stm32f303: (STM32F303xB/C/D/E)

COMP1_2_3 (64) COMP1 & COMP2 & COMP3 interrupts combined with EXTI Lines 21, 22 and 29 interrupts.
COMP4_5_6 (65) COMP4 & COMP5 & COMP6 interrupts combined with EXTI Lines 30, 31 and 32 interrupts.
COMP7 (66) COMP7 interrupt combined with EXTI Line 33 interrupt

stm32f3x4:

COMP2 (64) COMP2 interrupt combined with EXTI Lines 22 interrupt.
COMP4_6 (65) COMP4 & COMP6 interrupts combined with EXTI Lines 30 and 32 interrupts respectively.

stm32f3x8: (f328)

COMP2 (64) COMP2 interrupt combined with EXTI Lines 22 interrupt.
COMP4_6 (65) COMP4 & COMP6 interrupts combined with EXTI Lines 30 and 32 interrupts respectively.

stm32f3x8: (f358, f398)

COMP1_2_3 (64) COMP1 & COMP2 & COMP3 interrupts combined with EXTI Lines 21, 22 and 29 interrupts.
COMP4_5_6 (65) COMP4 & COMP5 & COMP6 interrupts combined with EXTI Lines 30, 31 and 32 interrupts.
COMP7 (66) COMP7 interrupt combined with EXTI Line 33 interrupt

stm32f373:

COMP1_2 (64) Comparator 1/comparator 2 global interrupts (EXTI21/EXTI22)

Some svd have some of those interrupts defined in the wrong device block:

stm32f303 have them all in the SYSCFG block
stm32f3x8 have COMP7 in the EXTI block
stm32f373 have COMP1_2 in the CAN block

I propose to add COMP1_2_3 and COMP4_5_6 in common_patches/f3_comp246.yaml and to add COMP7 in common_patches/f3_comp1234567.yaml, and then to handle stm32f373 separatly by adding COMP1_2_3 in stm32f373.yaml. What do you think about this ?

Thanks for the detailed review! Adding the interrupts to f3_comp*.yaml makes sense, though we'll also have to delete the incorrect ones, probably in each device file for 303/3x8/373.
I'd rather each device has the correct interrupt names, so e.g. the f301 would have COMP2 not COMP1_2_3 as the interrupt name. Otherwise they won't match the reference manual and be more confusing to use. Do you think it's worth still doing them in a common patch or just adding per-device?

Thanks for the detailed review! Adding the interrupts to f3_comp*.yaml makes sense, though we'll also have to delete the incorrect ones, probably in each device file for 303/3x8/373.

Yes, indeed, deleting will need to be done in each device file.

I'd rather each device has the correct interrupt names, so e.g. the f301 would have COMP2 not COMP1_2_3 as the interrupt name. Otherwise they won't match the reference manual and be more confusing to use. Do you think it's worth still doing them in a common patch or just adding per-device?

I personally prefer more uniformity (COMP1_2_3 for all devices), but I understand that strictly matching the RM also has its merit (better discoverability).
The point here is that if we choose COMP1_2_3 for the f303, it will also apply to the STM32F303x6/8 which only have a COMP2 (only one svd file for 2 different feature set). And if we don't match exactly the RM for STM32F303x6/8, maybe we also don't need to exactly match the f301 one.
Anyway, I think both options are valid and I will let you choose the one we implement.

The point here is that if we choose COMP1_2_3 for the f303, it will also apply to the STM32F303x6/8 which only have a COMP2 (only one svd file for 2 different feature set). And if we don't match exactly the RM for STM32F303x6/8, maybe we also don't need to exactly match the f301 one.

Ugh, that is definitely good reason to just unify the names, so let's use COMP1_2_3 and COMP4_5_6. I'll update this PR soon to do that.

I've updated this branch, is this what you had in mind? The resulting interrupts (from scripts/interrupts.py) are:
STM32F3x4
41:64 COMP1_2_3: COMP1_2_3 interrupt combined with EXTI lines 21, 22, 29 (in COMP)
42:65 COMP4_5_6: COMP4_5_6 interrupt combined with EXTI lines 30, 31, 32 (in COMP)

STM32F373
59:64 COMP1_2_3: COMP1_2_3 interrupt combined with EXTI lines 21, 22 (in COMP)

STM32F303
61:64 COMP1_2_3: COMP1_2_3 interrupt combined with EXTI lines 21, 22, 29 (in COMP)
62:65 COMP4_5_6: COMP4_5_6 interrupt combined with EXTI lines 30, 31, 32 (in COMP)
63:66 COMP7: COMP7 interrupt combined with EXTI line 33 (in COMP)

STM32F3x8
63:64 COMP1_2_3: COMP1_2_3 interrupt combined with EXTI lines 21, 22, 29 (in COMP)
64:65 COMP4_5_6: COMP4_5_6 interrupt combined with EXTI lines 30, 31, 32 (in COMP)
65:66 COMP7: COMP7 interrupt combined with EXTI line 33 (in COMP)

STM32F302
59:64 COMP1_2_3: COMP1_2_3 interrupt combined with EXTI lines 21, 22, 29 (in COMP)
60:65 COMP4_5_6: COMP4_5_6 interrupt combined with EXTI lines 30, 31, 32 (in COMP)

STM32F301
54:64 COMP1_2_3: COMP1_2_3 interrupt combined with EXTI lines 21, 22, 29 (in COMP)
55:65 COMP4_5_6: COMP4_5_6 interrupt combined with EXTI lines 30, 31, 32 (in COMP)

Yes ! Patch looks great. Exactly what I had in mind.
Thanks !


disk usage doesn't show any useful information

The disk usage doesn't show the total available space on the device or any unit of measurement.

Duplicate of #479
The info is actually there, you just can't read it due to the layout


Fix tutorial docs

I just went through this tutorial and found these two problems.
Contributor checklist (NOT APPLICABLE)

[ ] Bug fixes include regression tests
[ ] Features include unit/acceptance tests

:rocket: Thank you for your contribution! 🚀