[CompilerPerf] [NotForCheckin] check cost of fat values

One theory about compiler perf is that the core data structures Val, Entity and Typar are too "fat"
This PR tests that theory negatively by deliberately doubling the size of Val nodes. We will do some compiler performance test runs and see if they register a slowdown, and if so by how much.  This will give us one indication of whether it is worth putting more time into making these values "thin"

CI thinks they are too fat ;)

According to these results from my machine there is really no difference:
https://github.com/Microsoft/visualfsharp master                       ba63403cb5898596c5e875a14ce22b33ef618c01 ba63403cb5898596c5e875a14ce22b33ef618c01 208.39 10.60                29.52                46.71                62.16                52.44
https://github.com/dsyme/visualfsharp.git abperf1                      99ba671f32efc6163b290b5c5720ac112a946737 ba63403cb5898596c5e875a14ce22b33ef618c01 198.60 10.59                30.23                45.53                61.69                52.02

the figures are pretty noisy but the one with fat values is showing up as faster :)

So the work done on TPL years back to reduce side of the Task structures may not apply to F# async?

And does adding Unchecked.defaultof<_> actually double the types footprint.

So the work done on TPL years back to reduce side of the Task structures may not apply to F# async?

You can't draw general conclusions from this - there are many, many other factors involved.
For example another conclusion might be that the size of "Val" nodes is not so important, but the size of "Entity" nodes or many other allocated objects might be
Another suggestion is that there is a lower object size where positive cache effects kick in.  Though this test indicates that we don't seem to be close to such a limit on the upper size range.

And does adding Unchecked.defaultof<_> actually double the types footprint.

Yes, all the fields are of type string. Though there are subtleties. The CLR puts all ref-types fields together (for easier GC scanning) so all these end up in the same place in each object.


Transform into charm

Making the endpointdb app a charm would increase ease of usage and enable usage of relations to other applications (e.g. the blockchain-monitor) in our infrastructure.
When charmified, the repo should probably be renamed endpointdb-operator.

Started working on this during my Internet outage this morning. Goal is to first make a working charm with an easy deploy process, then to incorporate the self.unit.open_port() functionality included in the newer ops versions. At least if that seems needed to make the API callable remotely, will have to test first!

You can implement the http interface as a relation, which then would allow
us to relate to haproxy automatically.
But it might be overkill
Den mån 10 juli 2023 11:34Jakob @.***> skrev:

Started working on this during my Internet outage this morning. Goal is to
first make a working charm with an easy deploy process, then to incorporate
the self.unit.open_port() functionality included in the newer ops
versions. At least if that seems needed to make the API callable remotely,
will have to test first!
—
Reply to this email directly, view it on GitHub
https://github.com/dwellir-public/endpointdb/issues/14#issuecomment-1628589833,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGPVK5N4WHK5LBTKXEKPU3XPPECDANCNFSM6AAAAAA2AOXO44
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

You can implement the http interface as a relation, which then would allow us to relate to haproxy automatically.

We want to relate this to haproxy?
The port-opening-code I was thinking would be to make AWS automatically open the Flask API port for the container if deployed to AWS.

It might be easier to add tls to the service, but it can possibly be added
some other way....
Den tis 11 juli 2023 16:53Jakob @.***> skrev:

You can implement the http interface as a relation, which then would allow
us to relate to haproxy automatically.
We want to relate this to haproxy?
The port-opening-code I was thinking would be to make AWS automatically
open the Flask API port for the container if deployed to AWS.
—
Reply to this email directly, view it on GitHub
https://github.com/dwellir-public/endpointdb/issues/14#issuecomment-1630980763,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGPVK477BOWW3P7DAM6N3LXPVSHXANCNFSM6AAAAAA2AOXO44
.
You are receiving this because you commented.Message ID:
@.***>

Done with https://github.com/dwellir-public/endpointdb/pull/17


Is it ok to say 'characteristic 0'?

There is one way to ask our base ring R to be of characteristic 0: Define the map $\iota:\mathbb{N}\to R$ and then ask that $\prod_{n:\mathbb{N}}\neg(\iota(n+1)=0)$ holds.
But this is a bit suspicious in light of this excerpt from @iblech 's thesis:

this might be problematic. So one concrete question is: Can we show that $R$ is not of characteristic 0 as defined above?

The excerpt just demonstrates that classical logic is incompatible with

Ah - thanks! I misunderstood that.

Closing (don't think we have to write this anywhere - we make the assumption already in diffgeo)


Bugfix: prevent false negative reports

fix(main): return "true" when 0 dependency is found

there is no compliance issue: ensure the exit code is 0 (success)

feat(compliance-mode): improve compliance checkup report

set return value based on invalid packages length (if allow is set)
only process invalid packages (if allow is set)

Resolves #85

(Not sure why the Sonar Cloud scan are failing, is that token something I need to add somehow?)

Yes, it is related to the token. Sonarcloud has a request for this issue: https://jira.sonarsource.com/browse/MMF-1371


Examples: Add timed one shot interrupts

This adds examples for firing one shot interrupts repeatedly with RTC and TIM2.
I wrote those to understand this topic better and think it could be useful to others.
What do you think?

I don't think you should use the NVIC::mask in this case, you probably want to clear the interrupt in the peripheral itself, both timer and rtc have methods for that. In that case you will need a Mutex to be able to access the timer/rtc in the interrupt context.
Also if you were dealing with multiple interrupts this wouldn't work since you wouldn't know which interrupt to unmask in your main loop.

Thanks for your quick reply!
Your approach is surely generally better suited for a beginner's example, as wrapping the timer peripheral in a mutex and then working on that peripheral in the interrupt handler arguably represents the programmer's intent better, and we can profit from Rust's compile time checker to spot any issues should one change portions of that code.
On the other hand having to enter an interrupt free section each time we want to stop the interrupt from firing again is not zero cost (although I did not measure how much it costs). So I'd argue that if I only need to configure a one shot interrupt of one specific peripheral in one specific location, it could make sense to avoid that interrupt free section.
My use case is porting ferrous-systems/async-on-embedded/nrf52/timer.rs to the Blue Pill. Once familiar with that code one can verify, that it is working correctly. Everything regarding the interrupt is near the interrupt. On the other hand I see the pitfall of carelessly changing that code and then missing verifying these conditions manually.
The compile time checker and general expressiveness are two of rust's strengths but since this is not zero cost, I am currently sitting on the fence on what paradigm to favor there.
What do you think? Would you choose to omit sharing the peripheral?
Regarding the examples: Given that the examples for Rtc and Timer<TIM2> are fairly similar, I would suggest removing one of them (say TIM2) and providing the other one in both variants, one as is and one explicitly sharing the peripheral.

@mwkroening

On the other hand having to enter an interrupt free section each time we want to stop the interrupt from firing again is not zero cost (although I did not measure how much it costs). So I'd argue that if I only need to configure a one shot interrupt of one specific peripheral in one specific location, it could make sense to avoid that interrupt free section.

The problem with your example is that it's very contrived, using the NVIC that way if you add another interrupt you wouldn't be able to know each one fired in the main loop. If you don't want to use a Mutex that disables interrupts you can put the peripheral in a static and unsafely access it on the interrupt, that would be okay if you don't access it anywhere else anymore.
You can see something in these lines (but better) here:
https://github.com/stm32-rs/stm32f1xx-hal/blob/master/examples/blinky_timer_irq.rs
Also, I think these examples should be foolproof and use best practices. They're a usually directed at beginners, so it's better to have some extra checking even if that incurs some overhead.

Ah, I see! In the blinky timer IRQ example we move the peripherals into the interrupt handler via mutexes on the first run, saving time in successive runs. That's also what I started off with my examples.
I need to configure the peripheral outside in the main loop though, so I can only resort to using unsafe as you pointed out or NVIC, if I don't want the runtime penalty of Mutexes in each run of the interrupt handler.
I still don't quite grasp why using NVIC in such a case is bad, sorry. In my case the main loop does not need to know which one of several interrupts fired (the interrupt handlers tell the main loop via Waker's but that might be off-topic). The main loop only needs to prepare such one time interrupts and the interrupt handlers only need to ensure that they are not being run again before being prepared by the main loop again.
Perhaps it would be useful to document what to use the NVIC for and what not more clearly.

Also, I think these examples should be foolproof and use best practices. They're a usually directed at beginners, so it's better to have some extra checking even if that incurs some overhead.

I agree. The examples of this PR might be redundant then, as the Blinky Timer IRQ example seems to be quite complete in this regard, right?

I agree. The examples of this PR might be redundant then, as the Blinky Timer IRQ example seems to be quite complete in this regard, right?

With this in mind, I'll go ahead and close this


Bug where LastEdited is assumed to be on the same table as the sort

This demonstrates an error where the assumption is that the sort field is on the same table as LastEdit field.
In other words, the current assumption is that sort columns are always on the base table, which may not be the case.

@dhensby Ping me when this is ready to be merged.

I'm trying to rebase this, but can't seem to get the tests to work and I don't really have the time to focus on this right now...

@dhensby think was this fixed with https://github.com/silverstripe-australia/silverstripe-gridfieldextensions/pull/163 so can be closed?

@jonom it's fixed, but perhaps this proof should go in so that we don't get a regression in the future? I just need to spend some time trying to get the test rebased :/

Oh my bad, missed the fact that it was a test rather than a fix


MRG: Fix sphere model fitting

We had a bug in our sphere model fitting. It's now fixed. While I was at it I vectorized the code so that it is much faster now.

FWIW this seems to be a surprisingly minor bug -- these changes don't really seem to affect the output of make_forward_solution in the test cases I've run.

thx @larsoner


Add Healthcheck update test

Setup

Create tcproute
Create backend service
Create healthcheck for backend service
Connect backend service with tcproute

Changes

Update healthcheck

Expectations

Verify that action succeeded

b/332473784

/cc @AwesomePatrol
/cc @kl52752

/approve

Hmm -- I didn't want this to merge, but allow others to LGTM to merge this.
Please make the changes specified in the comments.
The "approve" was not meant to skip code review.
I will make sure to use the "hold" from now on.


Fixed reading of enumValues from config

Related #4870. Bug manifested not only when enumAsConst was true, but whenever any of the values in enumValues was falsy, i.e. 0 or ''.

This is awesome. Thank you so much @borremosch !


docs: migrate the Spinners to Hugo

Feature request
Move the Spinners documentation from the current documentation page to Hugo, it must look similar to the Alert example that can be found here
Describe the solution you'd like
It would be nice if it had these elements in the documentation:

[ ] Usage
[ ] Properties
[ ] Examples

Describe alternatives you've considered
N/a
Additional context
N/a

Creating a PR to migrate spinners to Hugo

Creating a PR to migrate spinners to Hugo

It is probably blocked by #311... But, yeah, I would love some help.


Missing README.md

I personally don't know what would fit into it as the website already sums up the functionality and the technical background of patching FEZ is already handled by the MonoMod readme.

I'm not sure if the project's still active, but now that the site's down, having a README would really be helpful, even if short.

would help to atleast include the download link: https://www.dropbox.com/s/21t3w3vtthrlxca/FEZMod.Installer.exe?dl=0

At this point, it'd be better to just rewrite FEZMod from scratch. The installer won't work anymore - it depends on the version list and .zips from the website. The installer also won't work on macOS using mono anymore: WinForms is completely broken on that platform.
I want to restart work on FEZMod ASAP, but I want to finish a few other projects first. Some of them will benefit FEZMod's future.
For example, I'm working on XnaToFna right now. MonoMod is used in XnaToFna and by extension benefits from the XnaToFna test data. The FEZMod installer / FEZMod itself builds upon MonoMod.
Furthermore, I'm planning to work on a cross-game "MonoMod.Installer" GUI. Maintaining one general purpose MonoMod GUI is way easier than maintaining a dozen variations of the "FEZMod.Installer" codebase, f.e. ETGMod.Installer.
This plan isn't set in stone, anything can change at any time. The worst I can do right now is give an ETA that I won't meet. I'm sorry for not having communicated this anywhere else, though.
If I were to give an ETA right now, I'd say December 2017 / January 2018, but don't count on it.
In the meantime, I'll rename this repository to FEZMod-Legacy.

Nice!


Lint core/tracing.py using flake8

Changes (in order)

Update .flake8
Use ruff format to resolve stylistic errors
Resolve remaining errors manually

Hi @EarlMilktea, thanks for your contribution. Unfortunately, we have a policy of not accepting PRs that does large scale changes to code formatting. See:
https://numba.readthedocs.io/en/stable/developer/contributing.html#policy-on-large-scale-changes-to-code-formatting
Hope you understand this.

@guilhermeleobas (CC: @esc )
How do you think about https://github.com/numba/numba/pull/9793#issuecomment-2526381458 ?
The reason I used formatter here was to resolve massive flake8 stylistic errors, which should be resolved over time.
Is it still not acceptable even if...

code formatting is not enforced: future contributors won't need to care about the styles unless flake8 does not complain.
special care is taken to make diffs as small and local as possible.

I'll defer this one to @esc as both of you were already iterating on #9793.

Since this is only modifying one file, I don't consider this a large-scale change. Also, because of the limited scope it is feasible to have a human review the changes. However it will need to be run through some additional testing to ensure we don't break anything.

@esc Thank you for your positive comments. Please review this PR (and other lint/* PRs) when convenient for you. Thank you again in advance!


Merge ign-gui3 ➡  ign-gui6

➡  Forward port
Port ign-gui3  ➡  ign-gui6
Branch comparison: https://github.com/ignitionrobotics/ign-gui/compare/ign-gui6...ign-gui3
Note to maintainers: Remember to Merge with commit (not squash-merge or rebase)
alternative to https://github.com/gazebosim/gz-gui/pull/518

failures in jammy CI are pre-existing on the ign-gui6 branch:

https://github.com/gazebosim/gz-gui/actions/runs/4537672860/jobs/7995762759


Find out what wrappers.py actually does

It seems to interfere with Process>>evaluate: aBlock onBehalfOf: aProcess, which is in Trunk

The classes in there seem to encapsulate Smalltalk objects for a nicer Python interface, e.g. providing Python accessor methods to Smalltalk instance variables of a wrapped object. So yet another piece among W_xyz and Shadow classes...
Among the so-wrapped classes are Process, ProcessList and Scheduler, which might be related to your problem with #evaluate:onBehalfOf: -- do you expect a solution to that problem to close this ticket? :-)
If you have already found out more about this interference it would be nice to know, although I only stumbled through wrappers.py during my work on #25 and wanted to report my incidental findings.


Timer in notification

Can I with this package leave a timer running on the notification like the android's native timer?
And when accessing the notification, open the app at the time set in the notification timer?

Hi! Sorry for taking so long to respond to your issue on GitHub. I was focused on releasing the new 0.7.0 version of awesome_notifications and awesome_notifications_fcm and i didn't had time enough to do both. But now I can answer all your questions.
So now i'm asking you to recreate this topic using the new issue template. There's a lot of missing informations that i need to understand your problem, and all the instructions are already in the new issue template. Also, remember to check beforehand if your issue was posted by another user.
So I will automatically close all previous issues so far.
Sorry for the inconvenience and i will be waiting for your new issue request.
Thank you so much for your support!


'cannot import name '_typeconv' from 'numba.typeconv'

ImportError                               Traceback (most recent call last)
G:\Anaconda_520\envs\advenioDeepLearning\lib\site-packages\numba\typeconv\typeconv.py in
5     # Numba, if it fails to import, provide some feedback
----> 6     from . import _typeconv
7 except ImportError as e:
ImportError: cannot import name 'typeconv' from 'numba.typeconv' (G:\Anaconda_520\envs\advenioDeepLearning\lib\site-packages\numba\typeconv_init.py)
During handling of the above exception, another exception occurred:
ImportError                               Traceback (most recent call last)
 in
----> 1 from numba import vectorize
G:\Anaconda_520\envs\advenioDeepLearning\lib\site-packages\numba_init_.py in
16
17 # Re-export typeof
---> 18 from .special import typeof, prange, pndindex, gdb, gdb_breakpoint, gdb_init
19
20 # Re-export error classes
G:\Anaconda_520\envs\advenioDeepLearning\lib\site-packages\numba\special.py in
1 from future import print_function, division, absolute_import
2
----> 3 from .typing.typeof import typeof
4 import numpy as np
5
G:\Anaconda_520\envs\advenioDeepLearning\lib\site-packages\numba\typing_init_.py in
1 from future import absolute_import
----> 2 from .context import BaseContext, Context
3 from .templates import (signature, make_concrete_template, Signature,
4                         fold_arguments)
G:\Anaconda_520\envs\advenioDeepLearning\lib\site-packages\numba\typing\context.py in
10 import numba
11 from numba import types, errors
---> 12 from numba.typeconv import Conversion, rules
13 from . import templates
14 from .typeof import typeof, Purpose
G:\Anaconda_520\envs\advenioDeepLearning\lib\site-packages\numba\typeconv\rules.py in
1 from future import print_function, absolute_import
2 import itertools
----> 3 from .typeconv import TypeManager, TypeCastingRules
4 from numba import types
5
G:\Anaconda_520\envs\advenioDeepLearning\lib\site-packages\numba\typeconv\typeconv.py in
14            "development:\n%s\nThe original error was: '%s'") %
15            (url, reportme, str(e))
---> 16     raise ImportError(msg)
17
18 from . import castgraph, Conversion
ImportError: Numba could not be imported.
If you are seeing this message and are undertaking Numba development work, you may need to re-run:
python setup.py build_ext --inplace
(Also, please check the development set up guide http://numba.pydata.org/numba-doc/latest/developer/contributing.html.)
If you are not working on Numba development:
Please report the error message and traceback, along with a minimal reproducer
at: https://github.com/numba/numba/issues/new
If more help is needed please feel free to speak to the Numba core developers
directly at: https://gitter.im/numba/numba
Thanks in advance for your help in improving Numba!
The original error was: 'cannot import name 'typeconv' from 'numba.typeconv' (G:\Anaconda_520\envs\advenioDeepLearning\lib\site-packages\numba\typeconv_init.py)'

Thanks for the report. To help diagnose it, please could you describe how you installed Numba and which OS you are using, thanks.

I'm having the same issue.
Traceback (most recent call last):
File "/opt/amazon/lib/python3.6/site-packages/numba/typeconv/typeconv.py", line 6, in <module>
from . import _typeconv
portError: cannot import name '_typeconv'

I'm installing numba as follows in a Docker image.
RUN wget https://bootstrap.pypa.io/get-pip.py && python3.6 get-pip.py && \
    python3.6 -m pip install numpy scipy torchvision torch pandas flask gevent gunicorn numba llvmlite

Evidently the issue goes away if I explicitly set numba==0.45.0.

@jjbuck thanks for the report. What was being installed before you explicitly set numba==0.45.0 ?

@jjbuck, I tried using the docker image from https://github.com/aws/sagemaker-pytorch-container/tree/master/docker/1.1.0 and I can't reproduce the problem. It also doesn't have /lib/python3.6/ in the image.  I think you might have multiple installation of python.

I created a symbolic link of numba for python 2 into an environment that makes use of python 3,
so i fixed this by removing the symbolic link i created and recreated a new one:
cd ~//lib/python3.6/site-packages/;  ln -sf /usr/lib/python3/dist-packages/numba numba

Closing as this cannot be reproduced. As the issue most often comes from having a slightly mixed up environment (often one python version importing a Numba package for a different python version) this is now added https://github.com/numba/numba/pull/4768 to help debug.

yeah I met this problem too. Resetting numba to version 0.45.0 works.

I am able to reproduce this on  riscv64-unknown-linux-gnu

For future reference, I ran into this when importing numba while in the numba source directory. Moving out of the numba repository root worked for me 🙃


admin page "group invitation" shows error invite id

invite id is same as group id

I cannot reproduce the bug as the following image shows.
Please provide the steps to reproduce it.

I cannot reproduce the bug and it works as expected as the following image shows.
Please provide the steps to reproduce it.

I create this invitetion through dart client, not directly in admin page.
dart client call
 client.groupService.createInvitation(groupId, inviteeId, content)
The specific parameters are：
 client.groupService.createInvitation(5692890045645160448.toInt64(), 881.toInt64(), "invite 881");

Fixed. Thanks for reporting.
And you can pull the latest code or pull the latest docker to have a try.


Option to run only specific rules tests?

Instead of yarn test:rules to run them all, or manually modifying ruleTestRunner.js to change what's running, it'd be nice to quickly run yarn test:rules -- no-floating-promises/*.
It could be done pretty easily in ruleTestRunner.ts with:
// Abridged for ease of reading
const paths = process.argv[2] || "**";
glob.sync(`test/rules/${paths}/tslint.json`)

You can use tslint CLI to test a specific rule. See --test flag in help. If you are making changes to tslint itself, you can compile and use the new compiled CLI

making changes to tslint

@mohsen1 yes, that's what I'm doing now. I'd like to sporadically run test:rules on specific files without having to recompile the CLI.

To be a little more elaborate - --test only runs against one directory.
C:\Code\tslint>tslint --test test/rules/no-floating-promises/**
C:\Code\tslint\lib\configuration.js:114
            throw new Error("Could not find config file at: " + path.resolve(suppliedConfigFilePath));
            ^

Error: Could not find config file at: C:\Code\tslint\test\rules\no-floating-promises\**\tslint.json

It would be nice to have a little more control and be able to test multiple directories. Perhaps letting --test run against multiple directories would accomplish the same thing...

I have a slight preference for --test that works against more than 1 directory

That makes sense, they're basically the same. Updated the title.


Read/unread boolean filter icon for mobile notifications

Hey team, we've been iterating for quite a bit on how to re-introduce read/unread filters into the mobile apps. This is the latest iteration we've aligned on:
https://pxlc.at/post/ck60g3l5i8hyh0770sn0zcuif
We need help finding a better icon that has an on/off state which would indicate that the user is filtering by unread-only, versus looking at all notifications. My current mock just uses a stroked/filled check-in-circle icon, but I think the checkmark feels too similar to "done" so it could be confusing.
Would love some ideas and help here!
Ref discussion: https://github.com/github/pe-mobile-android/issues/683

@brianlovin @rnystrom has there been any more discussion on this?

I think we can close this. We shipped a filter icon on Inbox and moved the read/unread into the Filter tray as an OS toggle/switch.


Set default for each - value [Feature Request]

Description
add some - value to not delete the m4a after converting to mp3, and keep both. now you need to download the mp3, and then to run the command again with value to save it as m4a to have both

V3 only supports .mp3, you'll have to write a script to convert it to .m4a
This is should be fairly simple.

this was requested back with old version 2.0.9, when songs were downloaded to m4a and then converted to mp3 (when opus wasnt supported

Yep. I know this is old. The previous maintainers couldn't work on it for some reason.


Comparison typeof with undefined (not "undefined" string) in commandParser

Recent PR #12336  Use parser to parse tsconfig json instead of using Json.parse contained an apparent bug:
if (typeof keyText !== undefined && typeof value !== undefined) {

typeof operator can never produce undefined, it's guaranteed to return a string for any value.
@andy-ms have noticed it, but it's got lost in the large review.
Here is the link to that place on the master branch for convenience. It still compares typeof to undefined: commandLineParser.ts#L1056

#16560 tracks the resolution of pending PR comments,


huffman coding python (gssoc21)

🚀 Feature
(A clear and concise description of what the feature is.)
Have you read the Contributing Guidelines on Pull Requests?
yes
Motivation
want to contribute new ones which is not already executed
Pitch
Huffman Coding is a technique of compressing data to reduce its size without losing any of the details

please assign me this issue i will work in python

/assign


docs(navigation): add doc for navigation component

:tada: This PR is included in version 0.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


.deb packaging for Linux

What feature would you like seen in Chunker?
I would like to see a .deb version of Chunker for Linux, as .deb packages integrate better with my Pop!_OS machine than AppImages. It would allow a menu shortcut for Chunker, instead of having to find the file in Nautilus every time I want to launch it.

Thank you, I appreciate it 😄


Load, but dont works!

Hi, i found this scrpit a few days ago... I think it can be great but i cant set up correctly...
The script loads fine.

Started resource fivem-radio

No errors in load... but when im in the game the script seems to do nothing...
in F8 says:

script:fivem-radio:nui Uncaught (in promise) TypeError: Failed to fetch (@fivem-radio/index.html:0)

Thanks! :D

Hey @Nockerman, that's been showing always, and I am trying to work on a fix to support CFX's nui issue's, to avoid this issue in the future.

Hello, I have the same issue that @Nockerman but the radio doesn't work.

Hey, also able to reproduce this issue, even with a fresh download of the script. Any information on this please?

This was with a previously working installation across multiple separately-operated servers. It appeared to have been the result of an update to FiveM.
Unfortunately, we have since moved to another radio plugin for we needed this one resolved quickly, however thank you for your reply.

Understandable, have a good day/night wherever you are.

I updated the resource to FXv2, it now fully works on latest FiveM builds for both HTTP and HTTP radio streams.


[assimp] assimp port missing CMake version package information

Describe the bug
The assimp port does not install any CMake version config file
Environment

OS: Windows
Compiler: Not relevant

To Reproduce
Steps to reproduce the behavior:

./vcpkg install assimp
Run a cmake project that contains find_package(assimp REQUIRED) . The assimp_VERSION is empty, different from what happened before https://github.com/microsoft/vcpkg/pull/13264 .

Expected behavior
The assimp vcpkg port should install CMake version information as done by the assimp packages on other package managers.
Failure logs
Additional context
assimp CMake config files have been historically very problematic. PR  https://github.com/microsoft/vcpkg/pull/13264 solve most of the problems, but introduced this regression.

The PR has been merged, thanks for reporting this issue!


fix(es/parser): SyntaxError for export type * from "mod";

Description:

Following TypeScript programs are invalid (Playground link):
export type * as bar from "mod";

export type * from "mod";

But swc TypeScript parser allows the code.
BREAKING CHANGE:

N/A
Related issue (if exists):
N/A

Seems like tests are failing?

The action for Benchmark / Performance regression check is failed ( https://github.com/swc-project/swc/runs/4569921520?check_suite_focus=true ). But I don't know why..

I meant other ones.
Benchmark will be fixed if you rebase

Tests of swc_graph_analyzer are failing. But, probably it caused by CPU/Memory or networking error.
https://github.com/swc-project/swc/actions/runs/1596414177

Test (ubuntu-latest, swc_graph_analyzer)
The hosted runner: GitHub Actions 146 lost communication with the server. Anything in your workflow that terminates the runner process, starves it for CPU/Memory, or blocks its network access can cause this error.


Python exceptions  - AccessKey

After installing, configuring Secuirty Monkey I see following errors in security-monkey-deploy.log
2016-06-02 14:12:09,235 INFO: "Problem Connecting to iamrole/Staging/None:\n'AccessKeyId'" [in /usr/local/src/security_monkey/security_monkey/exceptions.py:68]
2016-06-02 14:12:09,235 ERROR: Job "run_change_reporter (trigger: interval[0:15:00], next run at: 2016-06-02 14:27:09.191017)" raised an exception [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.py:520]
Traceback (most recent call last):
File "build/bdist.linux-x86_64/egg/apscheduler/scheduler.py", line 512, in _run_job
retval = job.func(_job.args, *_job.kwargs)
File "/usr/local/src/security_monkey/security_monkey/scheduler.py", line 48, in run_change_reporter
reporter.run(account, interval)
File "/usr/local/src/security_monkey/security_monkey/reporter.py", line 56, in run
(items, exception_map) = watcher.slurp()
File "/usr/local/src/security_monkey/security_monkey/watchers/iam/iam_role.py", line 103, in slurp
return slurp_items()
File "/usr/local/src/security_monkey/security_monkey/decorators.py", line 125, in decorated_function
itm, exc = f(_args, *_kwargs)
File "/usr/local/src/security_monkey/security_monkey/watchers/iam/iam_role.py", line 91, in slurp_items
[role['RoleName'] for role in roles],
TypeError: 'NoneType' object is not iterable

Looks like your instance fails to assume the SecurityMonkey rule. What does your trust relationship policy document for SecurityMonkeyInstanceProfile look like?

Hey @subbu05 - Haven't heard back from you.  I'm going to close the issue out.  Feel free to hop into the gitter chat room and someone should be able to help out:
https://gitter.im/Netflix/security_monkey

Thanks you folks. I got it resolved with role updates.

Facing the same issue. what is the desired role? I am an editor right now.

@subbu05 what role you have used here. Is it like admin need to create service account ?


Apparently Random Error: "Antiforgery token validation failed. The antiforgery cookie token and request token do not match."

Background
I have a relatively new ASP.NET Core 2 site.  It's running on just one server (Windows Server 2012 R2, IIS 8.5), and I only restart the site once every few days when I upload an update.  About once a day, a user's request fails due to rejection by the anti-forgery system.  These are POST requests, and there's nothing particularly special about them.  I'm including the anti-forgery value in the POST request, and 99% of the time, POST requests work.  But when they don't, the stdout log says, "Antiforgery token validation failed. The antiforgery cookie token and request token do not match."  I've already posted this question on Stack Overflow and the ASP.NET Core forums, and I haven't gotten any useful answers.
Errors
I've included the relevant portions of the stdout log below.
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 POST [domain redacted] application/x-www-form-urlencoded 234
info: Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter[1]
      Antiforgery token validation failed. The antiforgery cookie token and request token do not match.
Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery cookie token and request token do not match.
   at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateTokens(HttpContext httpContext, AntiforgeryTokenSet antiforgeryTokenSet)
   at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.<ValidateRequestAsync>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter.<OnAuthorizationAsync>d__3.MoveNext()
info: Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker[3]
      Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.AutoValidateAntiforgeryTokenAuthorizationFilter'.
info: Microsoft.AspNetCore.Mvc.StatusCodeResult[1]
      Executing HttpStatusCodeResult, setting HTTP status code 400
info: Microsoft.AspNetCore.Mvc.RazorPages.Internal.PageActionInvoker[2]
      Executed action /Index in 2.6224ms
warn: Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery[1]
      Antiforgery validation failed with message 'The antiforgery cookie token and request token do not match.'.

For requests that result in the above stdout output, IAntiforgery.IsRequestValidAsync agrees by returning false.  Notice the error message "The antiforgery cookie token and request token do not match."  Here's a reduced example of a failed POST request and the associated cookie.
POST: __RequestVerificationToken= CfDJ8F9Fs4CqDFpLttT96eZw9WHjWfHO8Yawn35k4Yq3gDK5n1TDJDDiY5o86VQs1_qOVIYBydCizBU4knb7Jmq1-heGhwnMu2KmhUIiAd0xI7Sudv3GX-J0OI6wRfiPL4L1KRs2Pml8dbsDfwemewBqi18
Cookie:  .AspNetCore.Antiforgery.ClRyCRmWApY=CfDJ8F9Fs4CqDFpLttT96eZw9WFtJht41WcNrmgshi2pFGwcxhr0_0hvINQc7Yl9Cbjhv-TiSNXeEctyKborLI49AcjHfWIgOmmKkbjOe7QMn8Z0WZtkQy5JcaBHKEGTu1p-La8JL8pZZqZy02Hrswpkh3I
I've also captured this data a few times after the request has failed with a 400 error (using some error handling middleware):
AntiforgeryTokenSet tokens = antiforgery.GetTokens(context);
tokens.CookieToken:  null
tokens.FormFieldName:  "__RequestVerificationToken"
tokens.HeaderName:  "RequestVerificationToken"
tokens.RequestToken:  "CfDJ8F9Fs4CqDFpLttT96eZw9WH33jSw5mM8h7RpEd3vGISQTRkx1rfwm-L2lfkvXKMBc-riESmoTo_fnIjeBbRmOo5KuJHr09f8B75sQ9g_djIVeeaGwMw5KE6W1O2-7Vi03fCnwlTv8l-BWGst76Ln-ZQ"

So here are the three strings:
POST String:  "CfDJ8F9Fs4CqDFpLttT96eZw9WHjWfHO8Yawn35k4Yq3gDK5n1TDJDDiY5o86VQs1_qOVIYBydCizBU4knb7Jmq1-heGhwnMu2KmhUIiAd0xI7Sudv3GX-J0OI6wRfiPL4L1KRs2Pml8dbsDfwemewBqi18"
Cookie String:  "CfDJ8F9Fs4CqDFpLttT96eZw9WFtJht41WcNrmgshi2pFGwcxhr0_0hvINQc7Yl9Cbjhv-TiSNXeEctyKborLI49AcjHfWIgOmmKkbjOe7QMn8Z0WZtkQy5JcaBHKEGTu1p-La8JL8pZZqZy02Hrswpkh3I"
antiforgery.GetTokens(context).RequestToken:  "CfDJ8F9Fs4CqDFpLttT96eZw9WH33jSw5mM8h7RpEd3vGISQTRkx1rfwm-L2lfkvXKMBc-riESmoTo_fnIjeBbRmOo5KuJHr09f8B75sQ9g_djIVeeaGwMw5KE6W1O2-7Vi03fCnwlTv8l-BWGst76Ln-ZQ"

The POST string and cookie string don't match, but in my experience, even with requests ASP.NET Core considers legitimate, they never do.  But strangely, the POST string and tokens.RequestToken don't match either.    I would think they should match, although I captured tokens.RequestTooken later in the request lifecycle, so maybe that has something to do with it.
ASP.NET Core 2 on GitHub
I decided to look at the source code of ASP.NET Core 2.  I found this file, especially line 145:
https://github.com/aspnet/Antiforgery/blob/dev/src/Microsoft.AspNetCore.Antiforgery/Internal/DefaultAntiforgeryTokenGenerator.cs
That line gets the message "The antiforgery cookie token and request token do not match." from this file at line 134:
https://github.com/aspnet/Antiforgery/blob/dev/src/Microsoft.AspNetCore.Antiforgery/Resources.resx
So I think that's where the message is originating, but I'm still left wondering why this is happening.
Question
Would someone please help me figure out why these anti-forgery tokens aren't validating?  Is it possible the user's Web browser is mangling the cookie or POST data?  Does anyone have experience in this area or any suggestions?  Thank you.

Tagging @blowdart in case you have ideas...

No, if it's a mismatch it's not data protection. So @rynowak is a better target.

Hey guys , any update on this? I have the same issue with Asp Net Core 1 , the issue with submitting Login form .  Another thing that , right before this error I have a warning in the log "warn: Microsoft.AspNetCore.HttpOverrides.ForwardedHeadersMiddleware[1]
Parameter count mismatch between X-Forwarded-Host and X-Forwarded-For or X-Forwarded-Proto."  So this is probably related to reverse proxy. Deployed to Azure as  Web App(PaaS) . What is your thoughts on that.

@agrebenyuk, respectfully, I'm not observing any of the behaviors you mentioned.  Maybe you need to start your own issue.

Hi @wessleym , no , I think I have exactly the same issue as you do. My application is load balanced but Antiforgery key is centralized and is stored in AzureBlobStorage. So would  be interesting to follow this thread

That's fine, but anyone at Microsoft, please note that this issue does not involve load balancing or storing keys in AzueBlobStorage.  Please see my original post for a complete description of my issue.

We also face this issue. Sometimes the antiforgery cookie token and request token do not match, but it should. This occurs especially when we have two forms on a page.

The issue as stated in my original post continues to occur in ASP.NET Core 2.1.

Thanks for contacting us, @wessleym.
Sorry for our late response on this. @javiercn, can you please look into this? Thanks!

Hi,
I've been looking at the issue you mentioned. There are a few things a user could do to cause this. So here are a few questions:

Does the site allow HTTP and HTTPS traffic? (That will be one thing)
Users can have a tab open, login with a user in another tab and then when they try to use the original tab antiforgery will fail (due to the cookie changing)

Thank you, @mkArtakMSFT and @javiercn, for your attention to this issue.

No.  It's HTTPS only.
I don't understand this.  What does logging in have to do with anything?  And why would logging in necessarily change any cookie value?

Sorry, I meant Login as when a user logs-in

@javiercn, right.  But why would a user signing into my site change the request validation cookie?  Why would signing in specifically cause such an issue?  Would submitting any POST form cause this problem?

@wessleym The cookie contains information about the user. Originally the tokens are generated for an anonymous user. (Different for each anonymous user). And when the user logs in, the antiforgery tokens get invalidated and a new set of antiforgery tokens specific to the logged in user is generated.
This error can also happen if the user press the back button after a successful login and tries to resend a previous form.

@javiercn, I see.  What you've described doesn't fit my issue for two reasons:

I'm not using ASP.NET Core's authentication system in any way.  I have written my own authentication system separate from ASP.NET Core, and ASP.NET Core has no idea whether the user is signed in or not.
Your test of submitting two forms ("Users can have a tab open, login with a user in another tab and then when they try to use the original tab antiforgery will fail (due to the cookie changing)") works perfectly on my site.

So your scenario doesn't seem to apply me.  I also can't reproduce your back button issue.  But either way, it's concerning to me that ASP.NET Core's anti-forgery system is so flaky that just having two tabs open at once or using a back button can cause it to fail.  But I understand that those concerns really belong in a separate GitHub issue.
For the time being, my issue remains unaddressed.  But thank you for your efforts.

@wessleym Not sure about 1. But essentially ASP.NET Core uses the principal in HttpContext.User to generate the antiforgery token pair, so if that changes the token will change.

it's concerning to me that ASP.NET Core's anti-forgery system is so flaky that just having two tabs open at once or using a back button can cause it to fail

This is only if the identity of the user changes between the two tabs (as the antiforgery tokens will change) and is actually by design so that you can't log in with a different user, get an antiforgery token pair and use that in another users session to bypass antiforgery.

@wessleym Have you followed the steps described in https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1#data-protection.
I think that what might be happening is that IIS is stopping or rebooting the site and the keys used to protect the cookie aren't getting persisted and as a result new tokens are being generated with new keys after the site starting again.

One thing you could do here is manually trigger a reboot yourself to see if this causes the issue to surface.

@javiercn, that's interesting about the anti-forgery system using the user to generate the pair.  Thank you for that explanation.  But of course, since I don't use HttpContext.User, that doesn't apply to me.
Regarding restarting, I am certain my site is not restarting.  This is demonstrated by the length of the log file, which can be days long.  The log entries I described in my original post can appear at any point in the log file.  I also wrote a line to log something like, "The site has started," to a distinct file every time the site starts (in the Startup.cs file).  I've observed this file being written only when I intentionally restart the site.
That said, when I do intentionally restart the site, I do see anti-forgery errors because I'm not persisting my keys.  I have persisted keys in the past, but it hasn't helped.  It makes sense to me that I would see these errors when I restart my site.  But site restarts play no part in the error I mentioned in my first post.
Thank you again.

Pfff. I'm investigating a maybe similar issue with this. At first it seemed random, later it seems it only happens when having Chrome DevTools open together with "Enable JavaScript source maps" enabled, INCLUDING a 404 generated by a 'custom' middleware.
I'll try to explain it a clearly a possible what our situation is, as I THINK it is, but I'm not sure this situation is 'fixable' in ASP.NET Core, or that it has to be fixed by excluding .map files, or not sending cookie updates etc.

We have enabled AutoValidateAntiforgeryTokenAttribute:

services.AddMvc(options =>
{
	options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
})

We use UseStatusCodePagesWithReExecute, nothing really special inside this ErrorController:

app.UseStatusCodePagesWithReExecute("/Error/InvalidRequestWithStatusCode", "?statusCode={0}");

But I guess because it is all processed through a real Controller it will alter the Cookie and messing up the expected and send Token.

We open a site with a form, which includes a .min.js file, with a source mapping (//# sourceMappingURL=jsfile.min.js.map) in it

Chrome WILL AUTOMATICALLY download this source mapping file, you WONT see it in the Network tab... But it WILL alter your cookie of the current page!! Which will 'invalidate' the expected one.

I really hope this is the problem you all might be having so that we have found the underlying vague issue and can move on :)
I used Charles proxy, breakpoints and cURL to reproduce this issue. I downloaded a HTTP2 enabled cURL build for Windows:
https://winampplugins.co.uk/curl/ (No idea why it is hosted on a winamp related site)
Path to reproduce:

Open site with form
Execute curl command like this (replace your URL and ASPSESSION, see browser cookies):

curl "https://localhost:44331/lib/parsley.js/parsley.min.js.map" -H "cache-control: no-cache" -H "user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.10 Safari/537.36" -H "accept-encoding: gzip, deflate, br" -H "accept-language: en-US,en;q=0.9,nl;q=0.8" -H "cookie: ASPSESSIONID_COOKIE1=VALUE1" -H "cookie: ASPSESSIONID_COOKIE2=VALUE2" -H "cookie: ASPSESSIONID_COOKIE3=VALUE3" -H "cookie: ASPSESSIONID_COOKIE4=VALUE4" --insecure -H "Accept:" -IL

Replace token cookie value from the cURL output in browser (which is what Chrome will do without you knowing), see set-cookie: .AspNetCore.Antiforgery.PLlJ9KQhgiA=TAKETHISPART
Post form
Receive 400 error:

In log something like this:

2018-10-23 14:36:08.7609|1|INFO|Microsoft.AspNetCore.Hosting.Internal.WebHost|Request starting HTTP/1.1 POST http://localhost:44331/YourController/YourAction application/x-www-form-urlencoded 317
2018-10-23 14:36:08.7775|1|INFO|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|Route matched with {action = "YourAction", controller = "Your"}. Executing action YourApplication.Controllers.YourController.YourAction (YourApplication)
2018-10-23 14:36:08.7775|1|INFO|Microsoft.AspNetCore.Authorization.DefaultAuthorizationService|Authorization was successful.
2018-10-23 14:36:08.7905|1|INFO|Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.AutoValidateAntiforgeryTokenAuthorizationFilter|Antiforgery token validation failed. The antiforgery cookie token and request token do not match. Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery cookie token and request token do not match.
   at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateTokens(HttpContext httpContext, AntiforgeryTokenSet antiforgeryTokenSet)
   at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateRequestAsync(HttpContext httpContext)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter.OnAuthorizationAsync(AuthorizationFilterContext context)
2018-10-23 14:36:08.7905|3|INFO|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.AutoValidateAntiforgeryTokenAuthorizationFilter'.
2018-10-23 14:36:08.7905|1|INFO|Microsoft.AspNetCore.Mvc.StatusCodeResult|Executing HttpStatusCodeResult, setting HTTP status code 400
2018-10-23 14:36:08.7905|2|INFO|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|Executed action YourApplication.Controllers.YourController.YourAction (YourApplication) in 18.7502ms
2018-10-23 14:36:08.8039|1|INFO|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|Route matched with {action = "InvalidRequestWithStatusCode", controller = "Error"}. Executing action YourApplication.Controllers.ErrorController.InvalidRequestWithStatusCode (YourApplication)
2018-10-23 14:36:08.8039|1|INFO|Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.AutoValidateAntiforgeryTokenAuthorizationFilter|Antiforgery token validation failed. The antiforgery cookie token and request token do not match. Microsoft.AspNetCore.Antiforgery.AntiforgeryValidationException: The antiforgery cookie token and request token do not match.
   at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateTokens(HttpContext httpContext, AntiforgeryTokenSet antiforgeryTokenSet)
   at Microsoft.AspNetCore.Antiforgery.Internal.DefaultAntiforgery.ValidateRequestAsync(HttpContext httpContext)
   at Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ValidateAntiforgeryTokenAuthorizationFilter.OnAuthorizationAsync(AuthorizationFilterContext context)
2018-10-23 14:36:08.8039|3|INFO|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|Authorization failed for the request at filter 'Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.AutoValidateAntiforgeryTokenAuthorizationFilter'.
2018-10-23 14:36:08.8268|1|INFO|Microsoft.AspNetCore.Mvc.StatusCodeResult|Executing HttpStatusCodeResult, setting HTTP status code 400
2018-10-23 14:36:08.8268|2|INFO|Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker|Executed action YourApplication.Controllers.ErrorController.InvalidRequestWithStatusCode (YourApplication) in 20.3958ms

@KoalaBear84 Can you provide access to the project where this happens? Or can you reproduce this in a minimal setup?

@poke Hmm.. Yesterday tried it all with a new project. Didn't succeed in reproducing it. Removed everything, filters etc. No luck. Now stripped to current project until there is almost nothing left.. But I found the problem, still it is a 'strange' thing that it only happens when having DevTools open which causes a 404 being processed by a Controller.
This is the problem:
<body>
    @RenderBody()

    <div id="ajaxRequestVerificationToken">
        @Html.AntiForgeryToken()
    </div>
    <script>
        $(document).ajaxSend(function (event, jqxhr, settings) {
            if (settings.type.toUpperCase() != 'POST') return;
            jqxhr.setRequestHeader('RequestVerificationToken', $('#ajaxRequestVerificationToken input').val())
        });
    </script>

    @RenderSection("Scripts", required: false)
</body>

I use this for Ajax request so it automatically works. And it works.. Except when a 404 occurs after loading the page, and before POST. Somehow the token gets reset/changed by the request Chrome does in the background and it messes it up.
What is the recommended solution for AJAX calls? Is there a problem in ASP.NET Core that needs to be fixed, or can I add an attribute to the ErrorController which processes the 404 so it does not do anything with the AntiForgeryToken? I have no idea what the best solution is. Thanks!

We're seeing the same strange behavior. Once in a while, a user will get a the exception: "Antiforgery token validation failed. The antiforgery cookie token and request token do not match." when logging in to the website.
About the following question earlier:

Hi,
I've been looking at the issue you mentioned. There are a few things a user could do to cause this. So here are a few questions:
* Does the site allow HTTP and HTTPS traffic? (That will be one thing)

* Users can have a tab open, login with a user in another tab and then when they try to use the original tab antiforgery will fail (due to the cookie changing)

We support only HTTPS.
For the given situation in bullet 2, a different error is thrown, so according to me, that's an entirely different issue:
"The provided antiforgery token was meant for a different claims-based user than the current user."
I think this is by design, and we accept that.
It seems to happen after a while after the user session and login have timed out, and the user tries to login again, although I'm unable to consistently reproduce the issue (the login/session timeout serverside doesn't seem to be the only cause).
Regarding our solution
We used the examples on https://docs.microsoft.com/en-us/aspnet/core/security/anti-request-forgery?view=aspnetcore-2.1
We use the header option in the AddAntiforgery call:
services.AddAntiforgery(options => options.HeaderName = "X-CSRF-TOKEN");
We globally registered the AutoValidateAntiForgeryToken filter:
services.AddMvc(options =>      options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute()));
We also include an AntiForgeryToken in a cookie, according to the example in the webpage above:"
context.Response.Cookies.Append("CSRF-TOKEN", tokens.RequestToken,      new Microsoft.AspNetCore.Http.CookieOptions { HttpOnly = false, Secure = true });
This token is read by clientside javascript and used in AJAX requests by setting the X-CSRF-TOKEN header.
Hoping to at least find a root cause for when this happens (so something reproducable), since then, we can figure out how to prevent this from happening.

@FrankHoogmans @effyteva @wessleym Do any of you have a minimal repro project we can use to track down this? I've taken a look at the code, but I don't have enough information to determine what's going wrong.
@KoalaBear84 I think your issue is not related to this and is most likely related to https://github.com/aspnet/Mvc/issues/8670 instead

@javiercn, I wish I could give you something that would allow you to reproduce it, but it seems random.  So I can't provide source code or steps to reproduce it.  It's never even happened to me personally but only to my users.  I can see it in the logs.

@weasleym Without a repro is impossible to for us to do more.
Another situation where this might occur is when a user opens multiple tabs simultaneously (specially if the page takes time to load) where the requests go on simultaneously and the responses are sent concurrently (in which case the two cookies get set at the same time and one of that will cause one of them to fail) but eventually the browser will settle for the last cookie in the response. (Note that this is an unavoidable race condition that happens when there’s no cookie and the user opens multiple tabs simultaneously)

Perhaps setting a MaxAge/Expiration for the cookie would help with this issue?
Does it pose a security risk to set it for a long expiration?

@effyteva That's not an option. It'll make the cookie token persistent (while now it goes away when you close the window as it should) and will have the side-effect of causing errors when the cookie expires. The lifetime of the anti-forgery token must be bound to the session on the browser.

@FrankHoogmans Antiforgery tokens don't "expire" in the traditional way. They are bound to the session on the browser and regenerated automatically on get requests when the identity of the user changes. Only things like data-protection keys can cause the cookie token decryption/integrity check to fail if the keys are not being properly persisted or take a bit of time to propagate, but this is not normally the case.

I solved this problem by testing in incognito mode

Closing as we're unable to reproduce the original issue and we haven't received a repro project.

@mkArtakMSFT, I appreciate your time and your stance.  But as my original post stated, this problem is not easily reproducible.  It seems to happen randomly.  I wish I could supply projects, but not only are the projects owned by my paying clients, but they also reliably work in my testing.  It's only in production, maybe every 1,000 requests, that they fail.  So while this GitHub issue may be closed, the real-world issue continues.
@javiercn, while I don't think this my problem since I'm not generally seeing requests so close together and since my page load times are pretty low, would you be able to supply documentation about this?  "Another situation where this might occur is when a user opens multiple tabs simultaneously (specially if the page takes time to load) where the requests go on simultaneously and the responses are sent concurrently (in which case the two cookies get set at the same time and one of that will cause one of them to fail) but eventually the browser will settle for the last cookie in the response. (Note that this is an unavoidable race condition that happens when there’s no cookie and the user opens multiple tabs simultaneously)."

@wessleym I'm not sure what your request for documentation here implies, what are you specifically interested in?

@javiercn, I'm interested in documentation of the problem you mentioned with simultaneous requests.  Does Microsoft document this situation anywhere?

@KoalaBear84 think I've reproduced something similar to the issue you're describing
https://github.com/aspnet/AspNetCore/issues/6410

@wessleym do your projects have @Html.AntiForgeryToken() in _Layout.cshtml ? do 404 results return a view that uses _Layout.cshtml,  or just returns a view that has @Html.AntiForgeryToken()

We're also seeing this behavior in ASP.NET Core.
After some investigation, we think our problem lies with Google Chrome's prefetch behavior. This is causing 2 requests to be made to our system (a prefetch one and a normal request) and both are setting the antiforgery token. Occasionally, the prefetch request completes execution after the normal request and it is on those occasions that we are seeing this behavior ("The antiforgery cookie token and request token do not match").
Does anyone have any ideas on how we can solve this issue?

@javiercn  I consistently get this issue due to a particular use case that includes using AspNetCore Identity as the user accounts provider for a process hosting IdentityServer4.
I can reproduce the error with a standard .net core 3.0-preview5 web application using local user accounts and the ForgotPassword/Reset Password process.
The template's process works by directing the user back to log in page from the Reset Password confirmation page, whereas in my case I expect the user to click a link back to log in page from the original Forgot Password confirmation page.  This is due to the fact that only the original oauth flow can redirect back to the app requesting authentication.
I capitulate that AspNetCore Identity's use case leads the user to avoid the error and mine leads the user into the error potentially occurring.  However, I see no alternative to the use-case that I require.
Is there anyway to trap this specific exception and re-execute a GET request perhaps?
Steps to reproduce
You can reproduce both working (standard use-case) and failing (my use-case) use cases consistently using a basic dotnet web app template with local user accounts and email reset password use case.
I followed the docs here to create the basic web app with user accounts, and then setup sendgrid for the email.  I already had registered an account prior to setting the sendgrid email so I set the IsEmailConfirmed property in the database to True.
Environment setup
DotNet: .net core 3.0-preview5
Server: Windows 10 and Kestrel web server
DevTools: VS2019 v16.1.3
Working ForgotPassword/ResetPassword process

Launch app
Click Login.
Click Forgot your password?
Enter valid email and submit.
Forgot Password Confirmation page shown. (leave this page open).
Receive email and click link in email.  Fill out Reset Password form correctly and submit.
Reset Password Confirmation page shown with a link to login.
At this point, you can either click the Go to Login link on Reset Password Confirmation page or click the Login link in the menu on the Forgot Password Confirmation page.
Login page displayed and user can log in with no problems.

Failing ForgotPassword/ResetPassword process

Launch app
Click Login.
Click Forgot your password?
Enter valid email and submit.
Forgot Password Confirmation page shown.
Click the Login link in menu
Receive email and click link in email.  Fill out Reset Password form correctly and submit.
Reset Password Confirmation page shown with a link to login.  Do not click this link
Fill out Login page and submit.
AntiForgery error occurs.

Hi.
It looks like you are posting on a closed issue!
We're very likely to lose track of your bug/feedback/question unless you:

Open a new issue
Explain very clearly what you need help with
If you think you have found a bug, include detailed repro steps so that we can investigate the problem

I've created a separate issue for tracking here https://github.com/aspnet/AspNetCore/issues/11485

If it's worth something, iv'e been facing this issue since ASP.NET MVC 5.
As it is described it happens 1 on 1000 times apparently random. No matter how hard I try, I still cannot reproduce this behaviour

Same here. For me it's definitely connected to session expiration. Also possibly the IIS server "goes to sleep". Possibly even AJAX is connected. I client has it who leaves his browser open forever and after days of inactivity it happens for him. I try to reproduce it, but I can't. It definitely does happen though, I'm receiving the error call stacks for sure.

Same problem :( in .net core 3.0 IIS Server


Still some bug remains:

to do=>
After Logout, Doesn't go to sign in page,
After blog successfully uploaded, upon going to blog page, everything freezes...
fixed :
Sign up, sign in-- effortlessly working, all routing is integrated with go router, none previous routing remained.

will be fixed in future routing works, for now focus on... logger, bloc observer and how it works


Restructure and add Docker from DT repo

Using much of the work @DesobedienteTecnologico has done here I added docker support to this repo.
Goals of this PR

1 repo for seedsigner-os build configuration and docker build config
Make build script (build.sh) more flexible (works in docker and on debian linux based OS)
1 command and build all architecture images (docker-compose up)
pull out as much duplicate config outside the different architecture configurations (rootfs-overlay, packages, buildroot_dl, workdir)

This is my first shot at making this happen. Still some stuff to do, but wanted to get enough working that you could see what I was attempting to accomplish. 4 builds are working. pi0, pi02w, pi0-dev, and pi02w-dev. I've tested this in native Ubuntu (without docker) and with docker-compose.
I'm starting this PR in Draft
if you run SS_ARGS="--help" docker-compose up you'll see the different build.sh script options. You can also clone the repo (following the README.md), cd into seedsigner-os/opt, and then run ./build.sh -all to build the images (in seed signer-os/images).
Notes about how I restructured:

renamed build_workdir/builder to opt/build.sh
moved build_workdir to output (generated by the build.sh script in the docker container or locally if used outside docker)
docker container uses 2 volumnes (opt and images)
compiled images are moved to images dir once created
removed extra raspberrypi sub directory in the board directory for each config
moved package dir out of each config dir and named external-packages
moved rootfs-overlay out of each config dir (up one level)
I tried to keep as much of "working dir" in the docker container (best I/O compared to volume dirs)

Tested and working fine!
Will push the future support for RPi 4 in your PR.

I want to build seedsigner-os on my macOS M1 machine. With this PR applied, I get
% docker-compose up
[+] Running 1/0
 ⠿ Container seedsigner-os-build-images-1  Created                                                                                0.0s
Attaching to seedsigner-os-build-images-1
seedsigner-os-build-images-1  | no-skip-repo
seedsigner-os-build-images-1  | cloning repo https://github.com/SeedSigner/seedsigner.git with branch 0.5.1-ram
seedsigner-os-build-images-1  | Cloning into './rootfs-overlay/opt'...
Updating files: 100% (167/167), done.ing files:  28% (48/167)
seedsigner-os-build-images-1  | make: *** No rule to make target 'pi0_defconfig'.  Stop.
seedsigner-os-build-images-1  | make: *** No targets specified and no makefile found.  Stop.
seedsigner-os-build-images-1  | /opt
seedsigner-os-build-images-1  | cloning repo https://github.com/SeedSigner/seedsigner.git with branch 0.5.1-ram
seedsigner-os-build-images-1  | Cloning into './rootfs-overlay/opt'...
Updating files: 100% (167/167), done.ing files:  28% (47/167)
seedsigner-os-build-images-1  | make: *** No rule to make target 'pi02w_defconfig'.  Stop.
seedsigner-os-build-images-1  | make: *** No targets specified and no makefile found.  Stop.
seedsigner-os-build-images-1  | /opt
seedsigner-os-build-images-1 exited with code 0

Do you know whether building on macOS Docker is feasible?

Do you know whether building on macOS Docker is feasible?

I'm actually using a m1 Mac mini, so it should be possible. I'll see if I can recreate the error your getting.

Looks like with Docker we can specify the platform (arch):
docker run --rm -it --platform=linux/amd64 [SSOS_NAME]

or
docker run --rm -it --platform=linux/x86_64 [SSOS_NAME]

Also there is a system variable that can probably help:
export DOCKER_DEFAULT_PLATFORM=linux/amd64

Example using it with Docker Compose directly:
DOCKER_DEFAULT_PLATFORM=linux/amd64 docker-compose up

@eliasnaur I think I found your issue. You'll have to tell me what steps you performed, but this is what I did to recreate the issue I think you had and how I fixed it. Here are the commands I ran.
Check docker is installed and the version:
docker --version
Check docker-compose is installed and the version:
docker-compose --version
Recursively clone repo locally from GitHub
git clone --recursive https://github.com/SeedSigner/seedsigner-os.git
Move inside the locally copied repo/directory
cd seedsigner-os
Fetch remote PR and create local branch
git fetch origin pull/23/head:pr_23
Git Checkout newly created branch
$git checkout pr_23
At this point I get warning about the 'buildroot': Directory not empty. Here the full output of my commands above.
$docker --version
Docker version 20.10.21, build baeda1f
$docker-compose --version
Docker Compose version v2.12.2
$git clone --recursive https://github.com/SeedSigner/seedsigner-os.git
Cloning into 'seedsigner-os'...
remote: Enumerating objects: 402, done.
remote: Counting objects: 100% (110/110), done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 402 (delta 73), reused 57 (delta 47), pack-reused 292
Receiving objects: 100% (402/402), 120.73 KiB | 1.72 MiB/s, done.
Resolving deltas: 100% (182/182), done.
Submodule 'buildroot' (https://github.com/buildroot/buildroot) registered for path 'buildroot'
Cloning into '/Users/nklockenga/tmp/seedsigner-os/buildroot'...
remote: Enumerating objects: 488751, done.
remote: Counting objects: 100% (1205/1205), done.
remote: Compressing objects: 100% (537/537), done.
remote: Total 488751 (delta 706), reused 1098 (delta 666), pack-reused 487546
Receiving objects: 100% (488751/488751), 157.11 MiB | 37.81 MiB/s, done.
Resolving deltas: 100% (322003/322003), done.
Submodule path 'buildroot': checked out 'b634d504cb5a0b621f115f36c50a712e85fc8027'
$cd seedsigner-os
$git fetch origin pull/23/head:pr_23
remote: Enumerating objects: 251, done.
remote: Counting objects: 100% (251/251), done.
remote: Compressing objects: 100% (182/182), done.
remote: Total 248 (delta 49), reused 233 (delta 42), pack-reused 0
Receiving objects: 100% (248/248), 950.25 KiB | 5.94 MiB/s, done.
Resolving deltas: 100% (49/49), completed with 3 local objects.
From https://github.com/SeedSigner/seedsigner-os
 * [new ref]         refs/pull/23/head -> pr_23
$git checkout pr_23
warning: unable to rmdir 'buildroot': Directory not empty
Switched to branch 'pr_23'

If I attempted to do a docker-composer here it would fail (because opt/buildroot was not populated with the git submodule). I moved the submodule in the PR, so this requires one more additional git command to populate opt/buildroot if you did not checkout the branch I created in my repo directly. The submodule update command is:
git submodule update --recursive
Then, for good measure, you can delete/clean up the original buildroot directory no longer needed:
 rm -r buildroot
Now run the build command and it should work.
docker-compose up

Thank you very much, @newtonick ! My problem was updating the submodules; docker-compose up haven't completed yet, but seems to work as expected now.

I believe this is ready to be merged. The plan is to update the README and pi4 board support as separate PR's. This one is kind of already out of hand (because of the number of file changes in the commits).

LGTM. Merged.
Let's continue creating more PR with those new changes/features.


Listen to 'pagehide' event instead of 'unload' when exiting a page

This PR updates the event the library is listening to when the browser page is closed from beforeunload to pagehide which is supported by all browsers include Mobile Safari on iOS.
More information about the above change can be found in this issue: https://github.com/segmentio/analytics-next/issues/607
[x] I've included a changeset (psst. run yarn changeset. Read about changesets here).

Thanks for your PR. I think this is an important point, but it appears to only be part of a solution.
Per the MDN usage notes:

Like the unload and beforeunload events, this event is not reliably fired by browsers, especially on mobile. For example, the pagehide event is not fired at all in the following scenario:

A mobile user visits your page.
The user then switches to a different app.
Later, the user closes the browser from the app manager.

https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event#usage_notes

In my testing, pagehide doesn't trigger on chrome desktop when clicking a link, etc -- unlike beforeunload. I could only get pagehide to trigger in iOS safari.

@silesky, I agree that pagehide is not the perfect solution and it will not work for all use cases on mobile devices.
Further to the article you shared, the beforeunload event should not be used for listening for the end of the user's session but only for checking of unsaved work, according to https://developer.chrome.com/blog/page-lifecycle-api/#the-beforeunload-event.
Below, I tried to list out the main differences between pagehide and visibilitychange.
pagehide

Fires mostly on navigation. Does not always fire when (current/background) tabs are closed or when switching to another app on mobile devices.
Per MDN's notes: "The best event to use to signal the end of a user's session is the visibilitychange event. In browsers that don't support visibilitychange the pagehide event is the next-best alternative."

visibilitychange

Fires on navigation, switching tabs, closing tabs, minimizing or closing the browser, or, on mobile, switching from the browser to a different app.
Per MDN's notes: "Transitioning to hidden visibility is the last event that's reliably observable by the page, so developers should treat it as the likely end of the user's session (for example, for sending analytics data)."
There are known bugs with some older versions of Safari (e.g. 14.0.x) not firing this event reliably when navigating or closing the current tab. However, pagehide is triggered instead.

I think we can come up with a solution by using both of the events above which will cover most of the use cases on both desktop and mobile for all recent versions of browsers. My suggestion is to use the visibilitychange as the primary event to  send the last batch of requests with a fallback to pagehide when the event isn't triggered or not supported.

@agouil Thanks! Do you mind taking a looking at my PR https://github.com/segmentio/analytics-next/pull/613


Be gone lots of modals!!

This is already working on staging!!

This is already working on ~staging~ prod!!


[3.0]add metadata offline/online qos cmd support for instance offline/online.

What is the purpose of the change
add qos cmd to support instance level offline/online #9986
Brief changelog
add two qos cmd offline-metadata online-metadata
Verifying this change
enable qos feature, then use curl http://localhost:22222/offline-metadata to offline instance or use curl http://localhost:22222/online-metadata to online instance.

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[x] Add some description to dubbo-website project if you are requesting to add a feature.
[x] GitHub Actions works fine on your own branch.
[x] If this contribution is large, please follow the Software Donation Guide.

https://github.com/apache/dubbo/issues/9986
Is this issue now working with the latest version?
I think the commands added here are a bit confusing, I cannot tell the relation between them and online/offline and publishMetada.

#9986
Is this issue now working with the latest version?
I think the commands added here are a bit confusing, I cannot tell the relation between them and online/offline and publishMetada.

no, it's not working with the latest version

close this PR for offline/online instance can combine offline/online and publish-metadata. offline/online can only update jvm metadata info, then dubbo schedule task will fresh metadata info to nacos.


testID not propagated on iOS?

Unlike the Android's WebView.android.js class, the iOS's WebView.ios.js class does not propagate testID to NativeWebView. So I can't select WebView when running my tests in iOS.
Any solution?
Thank you

RN v0.58.3
react-native-webview v4.0.0

#206 related maybe

We would love a PR that fixes this, @ziomanlio !

about original view props

In my opinion, the way to set original view props by using
testID={this.props.testID}(like pr #402 )
or
someProp={this.props.someProp}
is not the best practice.
@ziomanlio needs testID this time, someone may need more other props somewhen.
#206 may be one of the ways to solve problems.

workaround

U can set testID by using prop NativeConfig
demo:
<WebView
    {...otherProps}
    nativeConfig={{
        props: {
            testID: "some string",
        },
  }}
/>

about original view props

In my opinion, the way to set original view props by using
testID={this.props.testID}(like pr #402 )
or
someProp={this.props.someProp}
is not the best practice.
@ziomanlio needs testID this time, someone may need more other props somewhen.
#206 may be one of the ways to solve problems.

workaround

U can set testID by using prop NativeConfig
demo:
<WebView
    {...otherProps}
    nativeConfig={{
        props: {
            testID: "some string",
        },
  }}
/>

Thank you @CubeSugar ! I will temporarily fix my issue using this workaround.

This will be fixed very soon actually, doing lasts checks before release


Set the version by an action

I will use sed to set the version number in all files where it is mentioned. I will look for the placeholders <IP_ADDRESS> or 4.7.11 in the sources and change them to a generated version number.

I will check the version number in the README.md and in the compiled binaries to ensure, that everything works.

I have to change set-output into another method. https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/


Porting CC 043 Context Free Grammar Generator

🔨 Added:

timestamps
links to code example, references, tutorial playlist, livestream archive
descriptions, icons, tags
thumbnails

Ready for preview 🚂
📋  Notes:

This challenge had no generated JSON so I have added what I found from the YouTube videos and whatever felt right to me. So, the description and the links needs to be checked and if anything is missing or unnecessary, please tell me.
From what I saw, this challenge had no showcase contributions either.
~3.  It is an old challenge so there isn't any web editor p5.js version so I have kept the link to the repo in the p5: field. If you can create a web editor version, then I'll update the links~
I added new words to the text generator. I hope this thumbnails are okay. ~Perhaps the font size is too small and unreadable? And the original thumbnail from images is also not legible it seems~
This CC is a part of the playlist on Context-Free-Grammar. That playlist is a prospective sidetrack. If no one has started working on it, I could do it

@anusha-exe  Thanks for your efforts! Here is the p5.js web editor sketch: https://editor.p5js.org/codingtrain/sketches/_ll_PYXeg
(If the json is not available, the p5.js web editor sketch is usually found on the old website.)

@dipamsen Oh! Thanks. I was only looking at the GitHub archive. I'll make the changes

Wonderful work @anusha-exe!! I agree, I think the thumbnail might look better with even just one example phrase but much larger. That said it is terrific as is! Let me know if you'd like me to go ahead and merge (and we can always consider updating the thumb another time) or if you want to make any more changes!

Thanks, another great job!  Another option for relatedChallenges is  "39-madlibs-generator" if you wanted to add.

@kfahn22 My bad, I forgot to paste the link there. Thank you for the corrections!
@shiffman I have updated the thumb. I think it can be merged now!

I think Live Stream Archive as the title is good when there is only one link, the specification is only required if multiple links are present.

My apologies, the link to the Live Stream archive was a recent addition.  We can certainly update the guide.  Thank you for all of the work you have done!!!

looks fantastic!!

@kfahn22 please, it's nothing to apologise for! I'd be happy to help in any way


Feature suggestion: colour gradient

I find these images hypnotic. I would like to see one composed of shapes with an RGB colour gradient fill. In many cases one shape (e.g., rectangle) with a gradient fill could outperform many single colour shapes.
So fewer parameters needed to fit the same image.

That's true. There a re some kind of shapes which cannot changed. Ex, places with mechanic or with some high tech-devices.  Legal places will deal with it.
Some things which not obey rules which bad effected itself.

That's true. There a re some kind of shapes which cannot changed. Ex, places with mechanic or with some high tech-devices.  Legal places will deal with it.
Some things which not obey rules which bad effected itself.

That's true. There a re some kind of shapes which cannot changed. Ex, places with mechanic or with some high tech-devices.  Legal places will deal with it.
Some things which not obey rules which bad effected itself.

That's true. There a re some kind of shapes which cannot changed. Ex, places with mechanic or with some high tech-devices.  Legal places will deal with it.
Some things which not obey rules which bad effected itself.

That's true. There a re some kind of shapes which cannot changed. Ex, places with mechanic or with some high tech-devices.  Legal places will deal with it.
Some things which not obey rules which bad effected itself.

That's true. There a re some kind of shapes which cannot changed. Ex, places with mechanic or with some high tech-devices.  Legal places will deal with it.
Some things which not obey rules which bad effected itself.

That's true. There a re some kind of shapes which cannot changed. Ex, places with mechanic or with some high tech-devices.  Legal places will deal with it.
Some things which not obey rules which bad effected itself.

That's true. There a re some kind of shapes which cannot changed. Ex, places with mechanic or with some high tech-devices. Legal places will deal with it.
Some things which not obey rules which bad effected itself.

from https://medium.freecodecamp.org/using-svg-as-placeholders-more-image-loading-techniques-bed1b810ab2c
seems like an idea candidate for replacing lots of primitives with a gradient across a primitive.


Export a metric to tell if storage has become inconsistent

Certain i/o errors (or unexpected errors, which are bugs) cause the storage layer to become inconsistent. In that case, an error message is logged and the storage is marked as dirty (so that a crash recovery will be performed after the next restart). This state should be exported as a metric so that monitoring can catch it.
@matthiasr here you are...

:+1: