build-override results in the same dependency being compiled twice

Problem
I am compiling tag v1.121.0 of https://github.com/deltachat/deltachat-core-rust with command cargo build. It compiles aho-corasick v1.0.2 dependency twice, once as a dependency and once as a build dependency, resulting in two .rlib field being produced and actually slowing down the build process rather than speeding it up as intended by the build-override feature.
Steps

Clone https://github.com/deltachat/deltachat-core-rust, tag v1.121.0, commit a8551510cdb5be7a35ebd3574df79d15a4fa471a
Run cargo build -v.
Observe aho-corasick v1.0.2 dependency being compiled twice. Once as a proper dependency with -C panic=abort as specified in the manifest, and once as a build dependency without -C panic=abort.
Try to specify panic='abort' in the [profile.dev.build-override] section of Cargo.toml as a workaround, it results in an error "panic may not be specified in a build-override profile".

Possible Solution(s)
Do not apply build-override to dependencies that are actual dependencies of the project? Or allow to disable build-override completely.
Notes
I wrote a longer thread with my observations of the build times and duplicate builds of dependencies at https://users.rust-lang.org/t/same-dependency-has-four-different-debug-fingerprints/99580
Version
$ cargo version --verbose
cargo 1.72.0
release: 1.72.0
host: x86_64-unknown-linux-gnu
libgit2: 1.6.4 (sys:0.17.2 vendored)
libcurl: 8.2.1 (sys:0.4.63+curl-8.1.2 system ssl:OpenSSL/3.1.2)
os: Arch Linux [64-bit]

That's a consequence of this setting, not build-override. Guess you just had a typo 🤔.
By default, the panic strategy applies to build scripts and build dependencies is panic = "unwind". This cannot be overridden. Here are some prior discussions.
Compiler settings of build scripts are usually different from normal dependencies. This is kind of a tradeoff and somebody may run into the bad part. However, I don't really know why we cannot force change panic for build scripts. Let's nominate this to discuss.

Sorry not being clear. I meant the title is a bit misleading. It's about the panic setting always sticking to unwind. If that is the case, could you update to something like "support panic for build-override profile"?

cargo could detect automatically that dependency is used as a normal dependency and build dependency and use normal dependency built will all optimizations without the build override

As ehuss said in https://github.com/rust-lang/cargo/issues/12647#issuecomment-1711740622, it's unlikely for Cargo to know whether a build script could be built with panic=abort, given a build script can have arbitrary code. At this time, lto, rpath, panic are kinda global settings that you cannot set a different value for a single dependency. For other profile settings, build artifacts should be shared between normal and build in usual situations.
Going to close this as not planned, but let us know if you've got new thought to resolve the limitation.


Exporting CSV ERROR TypeError: this.container.append is not a function(…)

there is an error in the export-data.js file ( the original from highcharts don't work too, probably some angular problem )
I fixed it changing the this.container.append to $("#"+this.container.id).append
FYI none off the exporting options of the export-data module works because of the same issue

Thank you so much, this saved me hours.


Text entry and preset changes

Hi @decodism, thanks for your PR! Could you please write in the description section why you're changing them and what you have changed? If possible, it would be helpful to include the source of the various parameters and how you tested.

Hello, I assumed it was self-explanatory. Small explanation:
onCommit is not called when changing the focus without using the return key while onEditingChanged is called and receives the boolean false when editing is finished.
trimmingCharacters will remove whitespaces at the beginning and end of the string that may have been copied from a web page for example.
As for the presets, when adding new ones, I decided to check the existing ones. Here are the resources I used:

<IP_ADDRESS> #1 #2 #3
Quad9 #1
LibreDNS #1
AdGuard DNS #1
NextDNS #1

For NextDNS, I removed the identifier.
Note: the code has not been checked.

I will submit a new version of DNSecure to App Store as soon as possible.

DNSecure 1.3.0 for iOS has been approved, but for macOS is still waiting for review.

DNSecure 1.3.0 for macOS also has been approved.


Is loop closure enable?

Hi Thanks for your great work!
When I trying roslaunch ct_icp_odometry ct_icp_odometry_node, I found it only output odom, not path, so I guess it does not contains loop closure, I wonder how can I enable loop closure in ros?
Thanks!

Hi !
So for now there is not yet loop closure available (we are working on it, but we are pretty busy at the moment ^^),
It should arrive in late september at the earliest on this project.
For the paper we used the loop closure from pyLIDAR-SLAM

Hi, Thanks for reply.
So did you just run ct_icp and pySLAM offline seperately to get the loop-closure result?
I will try it, thanks!


+> > I've set the explorer.autoReveal: false in my settings.

I've set the explorer.autoReveal: false in my settings.

May I know why you decided to disable this in the first place?

Because the focus jumps through the whole file tree in the explorer whenever I select another open file. So I always lose orientation.
Originally posted by @montapro in https://github.com/microsoft/vscode/issues/67711#issuecomment-653461960

/duplicate of #67711


error: failed to get svg2pts as a dependency of package `fourier-svg v0.1.0

just giving this a go win64.  looks like svg2pts
# cargo run --release -- -f fourier.svg
    Updating crates.io index
error: failed to get `svg2pts` as a dependency of package `fourier-svg v0.1.0 (C:\working\fourier-svg)`

Caused by:
  failed to load source for dependency `svg2pts`

Caused by:
  Unable to update C:\working\fourier-svg\lib\svg2pts

Caused by:
  failed to read `C:\working\fourier-svg\lib\svg2pts\Cargo.toml`

Caused by:
  The system cannot find the file specified. (os error 2)

I see https://github.com/exrok/svg2pts.  Just wanted to report the issue.
cargo install svg2pts
   Compiling svg2pts v0.1.5
error[E0425]: cannot find function `stdout` in this scope
   --> C:\Users\dhorner\.cargo\registry\src\index.crates.io-6f17d22bba15001f\svg2pts-0.1.5\src\main.rs:256:5
    |
256 |     stdout() //sucks to be you
    |     ^^^^^^ not found in this scope
    |
help: consider importing one of these items
    |
1   + use crate::io::stdout;
    |
1   + use std::io::stdout;
    |

For more information about this error, try `rustc --explain E0425`.
error: could not compile `svg2pts` (bin "svg2pts") due to previous error
error: failed to compile `svg2pts v0.1.5`, intermediate artifacts can be found at `C:\Users\dhorner\AppData\Local\Temp\cargo-installrI9KaD`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

that's a comment.

Hi, are you sure you cloned using this command: git clone https://github.com/vvcaw/fourier-svg.git --recursive? Especially using the --recursive flag? This makes sure that all submodules get cloned as well, this project has vvcaw/svg2pts as a git submodule in lib as I needed my own version of svg2pts. To fix this, you can either use this command: git submodule update --init --recursive in the cloned project root or just re-clone the repo with the --recursive flag, hope this helps!

I did gloss over the --recursive.  What a strange easter egg.  I'd like to understand it more.  Does it do that for you when you don't do a recursive?
I loaded it up and it draws beautifully with the supplied fourier.svg.
curl https://raw.githubusercontent.com/christianp/aperiodic-monotile/main/hat-monotile.svg -O

cargo run --release -- -f hat-monotile.svg

Let me know if you see anything wrong with the svg.  Thanks for a great video.

start:
{x:0, y:0}
current:
{x:0, y:0}
last:
{x:0, y:0}
accuracy:
0.20000000000000001
target_dist:
5
pts:
(1) vec![{...}]
height:
4.5999999999999996

1 point and 4.5 height.  The svg is not a good candidate.  Regardless, thanks for the code and video.


未去除换行符导致在windows下加载不到任何ip

Thanks a lot.

related to https://github.com/BruceWind/CloudFrontIPSelector/pull/3

This pull request merged.


Schema not checking labels or comment datatype

Labels and comments types not being checked for type correctness on schema update.

This no longer appears to be a problem.


Not Working on Sponge Forge 1.10.2

Not working on latest stable Spongeforge. Used and tested with latest stable PEX 2 permissionsex-sponge.
Followed walk through as requested in previous issue. Nothing worked. Will enable debugging and try to provide further information.

Don't open a new issue


"unable to provide IntelliSense configuration information" for headers

I have a CMake configured project with everything set up.
Everytime I open a header file from the project I get a popup-warning with "unable to provide IntelliSense configuration information".
I guess this is due to header files not being in the compilation database. However "associated" headers can be fit with the same information as their source files (foo.h/hpp and foo.c/cpp), especially when they are in the same folder. And headers in the same path usually also share the same options. Maybe add an option to control how fuzzy the matching is?

Thank you for you work on the cool new update @vector-of-bool !
The message text: CMake Tools' is unable to provide IntelliSense configuration information for '/home/xxx/yyy/zzz.hpp'. Settings from the 'Linux' configuration will be used instead., plus there is a dialog from IntelliSense: Configure your IntelliSense settings to help find missing headers.
I usually split headers and sources into src/ and include/ folders, so it may be a bit tricky to handle. I wonder what would be a proper configuration for such headers. Maybe adopting the configuration of any of the sources that include it would suffice.

Are your header files listed in the CMakeLists.txt?  CMake Tools won't be able to provide the configurations unless those files are included in your CMakeLists.txt.

I came across this issue too. I personally don't divide my headers into an Include folder, but I always #include my headers relative to the root of my Source folder by doing the following:
set(PROJECT_INCLUDE_PRIVATE Source/)
set(PROJECT_SOURCES Source/main.cpp Source/Something/other.cpp)
set(PROJECT_HEADERS Source/Something/other.hpp)

source_group("Sources" FILES ${PROJECT_SOURCES})
source_group("Headers" FILES ${PROJECT_HEADERS})

add_executable(${PROJECT_NAME} ${PROJECT_SOURCES})
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_INCLUDE_PRIVATE})

Notice I only use my  ${PROJECT_HEADERS } variable for the source_group and the compiler is actually finding them by adding my Source directory to the include path. It seems that currently CMake Tools can't currently provide configuration for my headers that are only included through my target_include_directories.
I found that if I add ${PROJECT_HEADERS } to add_executable (ie. add_executable(${PROJECT_NAME} ${PROJECT_SOURCES} ${PROJECT_HEADERS})) then the intellisense works.
I agree though, hopefully there would be a way for intellisense to be provided for files in my include path.

@bobbrow I don't list the headers in the CMakeLists.txt. I am a lazy one, so similarly to @BJMH, I tend to do just something like:
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include")

instead of managing the includes in both .cpp file and CMakeLists.txt. (Otherwise, the CMakeLists could grow enormously, e.g., managing the headers of https://github.com/ericniebler/range-v3 twice seems kind of dirty.). CMake seems to be smart enough to detect the dependencies between sources and headers automatically during the first build and when a header changes, only those sources that include it are rebuilt.

@bobbrow is correct: CMake won't know about the headers unless they are attached to a target. Doing a "best match" is possible but very error-prone.
CMake actually doesn't do any work to detect header dependencies: that's up to the build tool (Make/Ninja/MSBuild), so CMake is truly completely unaware of the header files.

@vector-of-bool Good to know, thanks. So I added all headers to all executable/library targets and the error is gone and when I change a header Make/Ninja are still smart enough to rebuild only the targets that really include it, great.
Unfortunately, I have a lot of "IntelliSense include errors". The reason is that some of my executable/library targets are linked against e.g., Eigen, whose headers reside in /usr/include/eigen3. The executable/library targets properly include${EIGEN3_INCLUDE_DIRS}, so .cpp have no "IntelliSense include errors", but when a .hpp file needs some eigen header, IntelliSense does not know where to look.
.cpp file include has no errors:

.hpp file include has errors:

So the problem is - .cpp files take CMake settings and flags into account and .hpp files do not. I am not really sure how to solve/workaround it. Any ideas?

@vector-of-bool , thanks for the extension.  Actually, I am having the same problem as @FloopCZ 's . I have some modules providing header-only library. Then, other modules will include those library header files in their source files. Those .cpp files are working fine but .hpp files are having include errors.

Actually, I have added those header files in my target too. In the cmake project outline of vscode, it can list out all my header files. So, I am not quit sure if CMake is aware of the headers or not. And 1 more observation is that vscode can still parse those library header files and perform auto-completion even it is showing "include error"

Just to clarify:

Adding the headers in the CMakeLists cannot be done.

It can be done, but it does not help. The headers do not adopt the compilation flags from the sources that include them. So if a header includes some header file not directly in e.g., /usr/include (e.g., Eigen), IntelliSense is not able to find it. No transitivity needed.

Another one: The C++ extension allows to use the compile_commands.json. That seemed to work.

For me, this did not work with header files as well, but it did not complain with a pop-up. This happens only with the configurationProvider option. Previously, a small light bulb showed up when the line was marked.

Another observation:
Given that there are source files src/main.cpp and src/Foo.hpp,
a) main.cpp includes Foo.hpp
b) Foo.hpp includes other internal library header files
Then,

the include errors are shown in Foo.hpp if i just open that header file
the include errors are disappeared when i open main.cpp and then Foo.hpp.

@danleepw Info I got from the MS team (C++ ext) is, that they parse files outside browse.path only when they are open in an editor. So it seems what is happening is: Parser parses main.cpp and Foo.hpp with it -> Symbols available. Opening Foo.hpp alone will try to initially parse it w/o any flags and fail.
Probably adding its (both) paths to  browse.path would solve this. (Maybe not, if configurationProvider is used)

@Flamefire, your explanation seems correctly. Qtcreator provides a dropdown box for user to select the compile target to determine the parsing parameters of header files. In vscode, opening the cpp file is acting the similar effect, I guess.
@FloopCZ , could you also try to open the cpp file and then the hpp file to see if my observation can be re-produced in your setup?

If foo.cpp and foo.hpp are source files of the same target, they should both receive the same configuration information, so foo.hpp should be fine.
If you have a main.cpp for myexe that includes a foo.hpp, where foo.hpp is a member of a different library target (we'll call it libfoo), and that foo.hpp includes an external header (such as Eigen), then the include directories for Eigen etc. should be set on libfoo, not on myexe. myexe will link to libfoo and inherit its include directories for Eigen etc.
If all of the above conditions are satisfied, then it would seem to be a bug either in CMT or cpptools. @bobbrow do you think there's anything in cpptools that could make this mistake?

If you set "C_Cpp.loggingLevel": "Debug" and then reload the window cpptools will print out the include paths we are using for your translation units when they opened in the editor.  If those paths are correct and you're still seeing errors, then it is a cpptools issue.  If the paths are not correct, it would seem to be a CMT issue.
I can confirm @danleepw's observation about the ordering of opening files.  cpptools tries to share translation units with as many files as possible to reduce inefficiencies.  So if you open a .cpp first, and then a header included by that .cpp, cpptools will ignore the configuration for that header and use the .cpp's configuration instead.  If you open the header first and there is no config information coming from CMT, then cpptools will make a best effort to configure that header for IntelliSense, but it can't always do the "right" thing.

CMakeToolTest.tar.gz
Hi @vector-of-bool and @bobbrow , I have attached a cmake project for your reference. As you can see in the project, main.cpp and Foo.hpp in folder "Foo" are source files of exe "foo". Exe "foo" is using library "libbar"
I enabled "C_Cpp.loggingLevel": "Debug" to test the behavior:

When i open main.cpp of Foo just after reload, the log shows include path "libbar/include"
When i open Foo.hpp of Foo just after reload, the log doesn't show include path "libbar/include"

Another question: I set the c++ std to be c++11 in cmake. However, the cpptool log shows "stdver: --c++17"

Thanks for the test case. Your CMakeLists.txt looks like it should work. I'll investigate.

Just for understanding: You set those defaults for the target and expect, that the header files are associated with a target (as in: added to a CMake target along with the source files)?
What about external headers, header-only libraries or libraries where the headers are not added to CMake targets (as mentioned: Some projects don't allow adding headers to targets as that is "only" for IDEs)?
I actually like the idea that headers get their flags from the first cpp file that (transitively) includes them.  Eagerly parsing all cpp files would mean that all headers are parsed correctly too.

Some background information about how cpptools works:

We eagerly parse all files in your workspace folder that are referenced in the browse.path variable.
We eagerly parse files outside your workspace if they are referenced in the browse.path variable and included by another file that was eagerly parsed.
If browse.limitSymbolsToIncludedHeaders is false, we eagerly parse every file reachable by the paths in the browse.path variable.

Note that this parsing does not have a preprocessor and when building up a map of included files it will make mistakes when #if/#ifdef/etc blocks would normally exclude a header.
When a source file is opened in the editor we do the following (in order) to try to get a language server:

Check if any currently running language servers include the file - if so, use that LS.
Check to see if a configuration provider (e.g. CMT) has given us any information about the file - if so, create a new LS and use that.
If the source file appears to be a header, try to find a source file that includes it (using the map mentioned above) and use that as the translation unit for the LS.  If that file already has a LS open, use that.  Otherwise, use the information in c_cpp_properties.json and create a new LS.

The biggest flaw I see in the current system when dealing with STL/header-only libraries is step 3 because if cpptools picks a translation unit whose configuration could be but hasn't been served by CMT yet, it will be misconfigured.  I've also been thinking about simply ditching the include map because I don't think there will be any significant side effects (if a .c* file is opened later that includes the header, the header's LS will be disposed in favor of the "better" one), but we need to test it out and see how it performs.  Creating LS's is a slow operation so we avoid doing it whenever we can.  There may be some middle ground we can find by perhaps restricting the map's depth to 1 - since if you open a.h and a.cpp exists right next to it, it's probably safe to assume that a.cpp is the best match for it and should be chosen as the translation unit for the LS.
For now, the most reliable thing to do is open .c* files before the dependent .h* files, but we recognize that this isn't always how people develop software, so we're thinking about ways to make this better (it affects us too).

CMT will only provide information for source files that are associated with a target. External headers will not have any config information. Header-only libraries is an interesting problem because there will be no source files from which to grab the compilation information directly. Of course, a test file might include the file which can be used to infer the config, but that's not always available.

We eagerly parse files outside your workspace if they are referenced in the browse.path variable and included by another file that was eagerly parsed.

How does this work together with CMT? AFAIK CMT does not set the browse.path, so does that mean, one would still have to set browse.path manually? If so, could CMT add all paths of files, that are associated with a CMake target to browse.path automatically? Or maybe at least all include folders? Wouldn't that solve most of the problems already?

CMT will only provide information for source files that are associated with a target.

Then what about the standard header files (<iostream>, <memory>...)? These are also "header-only libraries", although special ones. But they could be handled the same way: They get their flags from the first Cpp file found to include them.

I have exactly the same problem.
It could be a great improvement to solve this issue :)

@Flamefire @camelator I'm sorry for the delay on this issue! I know its an important one. I've been busy with several projects for a few weeks.
The linked commit, while merged into develop, has not yet been released. This will be fixed in 1.1.2. I have the release branch open, but I have a few pending fixes that need to be included.
I've just been really busy with several community projects this month, and a full-time job eats a lot of my time. This has been a recurring theme that I periodically fall behind on CMT issues as other things being to take precedent. Sorry about that!

Thanks for the clarification. Could you then modify the milestone of this? It is set to 1.1.1 which is why I assumed that it must be part of that.

Wait, no... It looks like I am wrong. It appears that the fix should be present in the current release. Is this still going on??

Yes, same here

Seeing this as well for standard C++ includes.   Does the configuration provider actually use the configuration kit's system include path (in addition to whatever include directories are specified in the CMake file) to find headers?

Actually my above comment relates to #546.

In the case where CMT does not provide a configuration for a source file, cpptools will use whatever settings are in the includePath, defines, and compilerPath to provide IntelliSense.  If you want to guarantee a specific set of system includes/defines are used, you would need to set the compilerPath in your c_cpp_properties.json to match the Kit selected.  Perhaps we can update the provider API to allow CMT to provide a "default" configuration (which might just be the compilerPath).

I'm running into this issue as well, but only for transitive includes (e.g. A includes a header from B/inc, and B/inc includes a header from C/inc; A depends on B but not C directly; B depends on C).
I don't know if it helps, but the way I specify dependencies in CMakeLists.txt for three such projects is through the target_link_libraries() command, and I specify include directories using target_include_directories().  The way CMake works is the target_include_directories() for C are added both to A and B (B gets them directly, A gets them transitively).

Still having this issue in 2019

@seanngpack, can you open a new issue with details about your problem?  Thank you!


How to describe one condition func call but different state change in one transition

hi，I have a question when using your awesome FSM,  I want the code works like:
state = STATE_A

if condition_test():
	state = STATE_B
else:
	state = STATE_C

I write code like this, but it does work as expected. Becase the trigger: `mycall' will be called two times.
def condition_test():
	return random.randint(0,1) == 0

transitions = [
	{
		'trigger': 'mycall',
		'source': 'STATE_A',
		'dest': 'STATE_B' ,
		'conditions': 'condition_test'
	},
	{
		'trigger': 'mycall',
		'source': 'STATE_A',
		'dest': 'STATE_C' ,
		'unless': 'condition_test'
	}
]

fsm = Machine(states=states, initial='STATE_A')

#### other code

So please help me, how to achieve one condition func call but different state change in one transition. Thanks verymuch!

You shouldn't need to specify any conditions in the second transitions---so if you just remove the 'unless' argument, it should work fine. By default, transitions will be attempted in order until one successfully executes. So if you have a conditional on the first transition that fails, the FSM will proceed to execute the second transition.
If that doesn't work, let me know.

I tested it as you had told, I does works! So appreciated for your help! Awesome project!!!

Glad to hear it.


Libgd cmake targets

This PR patches the CMakeLists.txt in libgd to export a .cmake targets file so one can use find_package(libgd) to consume the vcpkg port.

@jumpinjackie,
Thanks for having already signed the Contribution License Agreement. Your agreement has not been validated yet. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Hi @jumpinjackie, a very relevant discussion for this PR is #616: Consider generating CMake config scripts for packages that don't natively provide them.
From that thread:

The problem is that there are several choices that can be made when adding find_package() support, such as the casing of the package name and the exact spelling and arrangement of the libraries. Many libraries opt for a flat name, so you can do target_link_libraries(hello sqlite3), but others choose (in line with the official CMake guidance) to use namespaces: target_link_libraries(hello Sqlite3::sqlite).
If the upstream package decides to add official, native CMake support, it's very possible they will choose a naming scheme that conflicts with our generated scheme. We want to support cross-platform projects, so we should switch to the upstream scheme -- but that will cause a break for current Vcpkg users. Providing both may be possible, but we'd really prefer to not to do that in the longer term.

So, the first and easiest way to resolve this would be if you could submit these changes to https://github.com/libgd/libgd. As soon as they merge the PR and indicate they're happy with the naming choices, then I'd be thrilled to merge this.
Otherwise, (if they're not currently interested but may be in the future), we need to figure out a way to avoid conflicting with any future choices libgd might make.

Ok fair enough.
In the meantime how would this vcpkg port be consumed from cmake on Windows without find_package? It would seem find_path(GD_INCLUDE NAMES "gd.h") would sort out the include path, but linker settings?
Still learning CMake here.

I'd recommend something like
find_path(GD_INCLUDE NAMES gd.h)
find_library(GD_LIBRARY NAMES libgd)

target_link_libraries(my_exe PRIVATE ${GD_LIBRARY})
target_include_directories(my_exe PRIVATE ${GD_INCLUDE})

https://cmake.org/cmake/help/v3.7/command/find_library.html
https://cmake.org/cmake/help/v3.7/command/target_link_libraries.html

Closing in favor of getting desired CMake changes upstream instead


How to implement role-based security in a WPF application

The start of this article states: "Roles are often used in financial or business applications to enforce policy".
I'm developing exactly this type of application, but are unable to find samlps that shows how to implement role or policy based security in a WPF application on .Net Core.
On .Net Framework CAS (Code Access Security) can be used to trigger the permission check by decorating methods with attributes, as many samples on the internet shows, e.g. this one
How can role-based security be implemented in a WPF application so that checks are triggered, preferably by attribute decorations (link to samlles will be much appreciated)?

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

ID: 6a5f30cb-fa02-1f7a-88f6-a387b77324da
Version Independent ID: 1c902e29-43be-685d-81ff-d37048db5a8e
Content: Role-Based Security
Content Source: docs/standard/security/role-based-security.md
Product: dotnet
Technology: dotnet-standard
GitHub Login: @IEvangelist
Microsoft Alias: dapine

Hey @OliaG - do you know of any example WPF apps that we could incorporate into docs that include role-based security?

I don't know of any. There are some solutions suggested on stack overflow: https://stackoverflow.com/search?q=role-based+security+WPF
You can also browse the WPF samples repository: https://github.com/Microsoft/WPF-Samples but I checked here and didn't see anything.
I think you'll have to either come up with your own solution or find a tutorial such as https://social.technet.microsoft.com/wiki/contents/articles/25726.wpf-implementing-custom-authentication-and-authorization.aspx
@IEvangelist You need to ping Olia in email/teams. She's doesn't really use github notifications (I don't think) 😄

Hi @adegeo - I messaged her on Teams already. She too didn't know of any. I did find this https://docs.microsoft.com/en-us/dotnet/desktop/wpf/security-wpf?view=netframeworkdesktop-4.8. I also found a few things of SO too, might borrow some of the concepts there but it seems it is as straight forward as walking up to the Thread.CurrentPrincipal and asking it if the user is in a role (based on this).
Thread.CurrentPrincipal.IsInRole("Administrator")


Switching visualizations for columns outside of the current viewport does not work

When I have a ranking with horizontal scrolling and scroll to the most right, then switching the item visualizationdoes not have any effect.
To Reproduce

Open https://lineup.js.org/develop/aids.html (maybe shrink your window size)
Scroll all the way to the right
Switch the (item) visualization of the last column (i.e. World Share (%))

Expected behavior
Switching the (item) visualization should work for all columns in the ranking, independent of their position and scrolling.
Screenshots

Interestingly, the summary visualization in the header does update.
Context

Version: v4.5.0 / develop
Browser: Chrome 100

Additional context
A random guess: Maybe it has something to do with the viewportOversize option of lineupengine.

Related to this PR we also discovered that for categorical columns the old DOM nodes of the old visualization are not disposed. The result is an overplotting of visualizations as you can see in the following screencast:


I just pushed a comment addressing my comments, and replacing a few more calls. Happy to move that to a separate PR/feel free to revert.

!bench

!bench


GORA-680 Upgrade Avro from 1.8.2 --> 1.10.2

Initial pass at https://issues.apache.org/jira/projects/GORA/issues/GORA-680
We need to regenerate the example Classes from the avro schemas. Once that is done I think this issue should be complete.

@lewismc Initial work looks great. Any update on this?


How to use skip_path?

My understanding here is that provided locations should be skipped by the debugger
For example if i want to exclude specific gem or whole rails stack from the debugger, or a project specific directory(or file?)
RUBY_DEBUG_SKIP_PATH (skip_path): Skip showing/entering frames for given paths (default: [])
Can anyone provide some example of usage of the feature or I have misunderstood the feature purpose?

Yes that's the purpose of this setting. Example:
(rdbg:binding.break) config set skip_path /gems/
skip_path = [/gems/]           # CONTROL: Skip showing/entering frames for given paths (default: [])
(rdbg) bt    # backtrace command
=>#0    Sentry::HTTPTransport#send_data(data="{\"event_id\":\"54b1eed774134453b9e2d5c...) at ~/projects/sentry-ruby/sentry-ruby/lib/sentry/transport/http_transport.rb:26
  #1    block in <top (required)> (3 levels) at ~/projects/sentry-ruby/sentry-ruby/spec/sentry/transport/http_transport_spec.rb:73
  #42   [C] Kernel#load at ~/.rbenv/versions/3.0.2/bin/rspec:23
  #43   <top (required)> at ~/.rbenv/versions/3.0.2/bin/rspec:23
  #44   [C] Kernel.load at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/bundler/cli/exec.rb:63
  #45   Bundler::CLI::Exec#kernel_load(file="/Users/st0012/.rbenv/versions/3.0.2/bin..., args=["spec/sentry/transport/http_transport_s...) at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/bundler/cli/exec.r
b:63
  #46   Bundler::CLI::Exec#run at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/bundler/cli/exec.rb:28
  #47   Bundler::CLI#exec(args=["spec/sentry/transport/http_transport_s...) at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/bundler/cli.rb:474
  #48   Bundler::Thor::Command#run(instance=#<Bundler::CLI:0x00007fc12e105c60 @_invo..., args=["rspec", "spec/sentry/transport/http_tr...) at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/bundler/vendor/tho
r/lib/thor/command.rb:27
  #49   Bundler::Thor::Invocation#invoke_command(command=#<struct Bundler::Thor::Command name="ex..., args=[["rspec", "spec/sentry/transport/http_t...) at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/bundl
er/vendor/thor/lib/thor/invocation.rb:127
  #50   #<Class:Bundler::Thor>#dispatch(meth="exec", given_args=["rspec", "spec/sentry/transport/http_tr..., given_opts=nil, config={:debug=>true, :shell=>#<Bundler::Thor::...) at ~/.rbenv/versions/3
.0.2/lib/ruby/3.0.0/bundler/vendor/thor/lib/thor.rb:392
  #51   Bundler::CLI.dispatch(2=nil) at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/bundler/cli.rb:30
  #52   Bundler::Thor::Base::ClassMethods#start(given_args=["spec/sentry/transport/http_transport_s..., config={:debug=>true, :shell=>#<Bundler::Thor::...) at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/b
undler/vendor/thor/lib/thor/base.rb:485
  #53   Bundler::CLI.start(2=nil) at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/bundler/cli.rb:24
  #55   Bundler.with_friendly_errors at ~/.rbenv/versions/3.0.2/lib/ruby/3.0.0/bundler/friendly_errors.rb:128
  #57   [C] Kernel#load at ~/.rbenv/versions/3.0.2/bin/bundle:23
  #58   <main> at ~/.rbenv/versions/3.0.2/bin/bundle:23

You should see that none of the above frames has a path that matches gems.

I thought I have to set a specific path as:
/home/chdimitrov/.rvm/gems/ruby-2.7.3/gems/activerecord-<IP_ADDRESS>/lib/active_record
/home/chdimitrov/.rvm/gems/ruby-2.7.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/**
/home/chdimitrov/.rvm/gems/ruby-2.7.3/gems/activerecord-<IP_ADDRESS>/lib/active_record/**/*
but from what you said I see it is a expected argument which looks like a regex.
I have tried to add /gems/ to the config and it worked.
Thank you very much and this is awesome feature

You're welcome 😉


Maybe streamline the API?

When implementing the NanoID generation functionality I noticed that the generation of an UUIDv4 or cuid use function calls such as v4() or gen(), respectively.
Would it make sense to  streamline the API by pre-pending or just using generate as the function name?
For example, to generate a UUIDv4 the function call would then be uuid.generate_v4(), while to generate a cuid the function call would be cuid.generate()?
I image the secure and non-secure generation of NanoIDs would use functions with names nanoid.generate() and nanoid.generate_non_secure(), respectively.
Or how do you imagine the API should be designed to align the functions in the different modules?

I haven't thought about it too much.  The idea is mostly to just have a convenient grouping of common unique ids that people might need. That being said I'm not against the idea either, feel free to submit these changes.


[suggestion] Alter stat-boost block detection to allow for more flexible layouts

The candles, skulls, and whatnot make for some fantastic ambiance but the detection logic for them means you're still basically forced into the vanilla "ball pit" design. I can't do something like have a tall wall of shelves directly behind it with nooks for candles or skulls, or candles on the floor around the table, or 3 block high shelves with skulls on top.
If detection were more flexible we could make much more immersive designs for our enchanting setups.

The "balance" of the system partially comes from the fact that you can only have so many stat-providing blocks, limited by the number of blockspaces that the table checks.  Expanding it to simply check a huge area around it would invalidate that.
It could be possible to scan a wider area and limit it to the first 32 blocks found, which would accomplish the same goal, but I think it would be confusing to people expecting it to only scan the rings.

I definitely don't mean to suggest allowing more blocks to be used, just that the physical layout be more flexible so the ideal design doesn't always wind up being a McDonalds ball pit with candles around it.
Maybe one way to keep it relatively intuitive would be to make the determination based on contact. If nothing's physically touching the enchanting table it follows the classic rules. If a recognized block is physically adjacent then it will instead follow that block out and then up.


Basic support for extended data

Hi,
I would be very happy to see extended data support in this dxf-library.
I'm using QCAD and according to
https://www.autodesk.com/techpubs/autocad/acad2000/dxf/group_codes_in_numerical_order_dxf_01.htm
their use of extended attributes conforms to the standard.
Kind regards &
thanks for your work
Philipp

Sorry, I totally forgot about this pull request! I'll try to find the time to take a look at it this weekend! Thanks for the PR!

As an added note, your changes were deployed in 0.6.0 this morning.


Top Boards doesn't load from Teacher Set Assignment page

Logged in with teacher and admin account I have experienced from this page:
https://isaacphysics.org/set_assignments

clicking top boards seems to do nothing; both the other buttons (book and create a board DO work)
This happened at the CCPE sessions yesterday, and wed pm and I have the same behaviour on my computer here.
My machine is running Win10, Chrome Version 48.0.2564.116 m
Here I'm on eduroam, at CCPE was on Uni of Cam (not sure of OS and browser version), but was firefox I think.
Umberto said he'd try on staging.

James tells me this relates to issue #658


Moves System objects up level in Site.

Requested changes for PV/BatterySystems, adds SystemID's array which is included in Job object. Adds Scope to Job object.

Closes Issue #130

Closes Issue #133


When does the new version of podman1.6 support centos 8？

When does the new version of podman1.6 support centos 8？

@lsm5 any thoughts or pointers?

A Podman 1.6.x release is projected to land in 8.1.1 / 8.2


MM-12150 - Fixing navbar dropdown on IE11

Summary
MM-12150 - Fixing navbar dropdown on IE11
Ticket Link
https://mattermost.atlassian.net/browse/MM-12150
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] Ran make check-style to check for style errors (required for all pull requests)
[ ] Ran make test to ensure unit and component tests passed
[ ] Added or updated unit tests (required for all new features)
[ ] Needs to be implemented in mobile (link to PR or User Story)
[ ] Has server changes (please link)
[ ] Has redux changes (please link)
[x] Has UI changes
[ ] Includes text changes and localization file (.../i18n/en.json) updates
[ ] Touches critical sections of the codebase (auth, posting, etc.)

I know that we do not want to use jquery, but we're using the default bootstrap menu, and I don't want to complicate the current fix by refactoring it to the react bootstrap one, since there is a lot of stuff involved here. We can create a ticket to refractor this menu to the react bootstrap one for later.

Setup Test Server label detected. Spinmint test server created if build succeeds (checks pass and no conflicts with base branch).

Spinmint test server created at: https://i-0528f6de370ba3c21.test.spinmint.com
Test Admin Account: Username: sysadmin | Password: sysadmin
Test User Account: Username: user-1 | Password: user-1
Instance ID: i-0528f6de370ba3c21

Spinmint test server destroyed


rxandroidble WRITE_TYPE_NO_RESPONSE not onNotify

Describe the bug
I used the same CHARACTERISTIC_UUID when write and notify, my phone bluetooth write set WRITE_TYPE_NO_RESPONSE ,my hardware do the same. when the write byteArray is small enough, the notify function works well. but when I write a long data about 17 bytes, the notify function sometimes not work ,sometimes work well,when I write the data success, I don't know why. could you give me some advices?
To Reproduce
Steps to reproduce the behavior:

set WRITE_TYPE_NO_RESPONSE
send a long data about 17 bytes
try several times, because this is not happen everytimes
you will see, when write success, this is no onNotify

Expected behavior
A clear and concise description of what you expected to happen.
Smartphone (please complete the following information):

Device: [Huawei Honor 9x]
OS: [Android 10]
Library version: [1.11.1]

Here is my code
   /**
     *
     */
 private fun connectBle() {

        if (device?.connectionState == RxBleConnection.RxBleConnectionState.CONNECTED) {
            println("device is connected.....")
            return
        }
        connectionObservable.flatMapSingle { it.discoverServices() }
            .flatMapSingle {
                it.getCharacteristic(characteristicUuid)
            }
            .doOnNext {
                println("BluetoothGattCharacteristic:${it.uuid}")
                it.writeType = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE
            }
            .observeOn(AndroidSchedulers.mainThread())
            .doOnSubscribe {
                //connecting
                println("connecting.....")

            }
            .subscribe({ characteristic ->
                onConnectionSuccess(characteristic)
            },
                {
                    onScanOrConnectionFailure(it, getString(R.string.unknow_error))
                }, {
                    //characteristic is null
                    onConnectionSuccess(null)
                }
            ).let {
                connectionDisposable.add(it)
            }

    }

   /**
     *
     */
  private fun onConnectionSuccess(characteristic: BluetoothGattCharacteristic?) {
        println("onConnectionSuccess......${characteristic}")
        if (characteristic == null) {//
            connectStatus = RxBleConnection.RxBleConnectionState.DISCONNECTED
            disconnect()
            updateConnecUI(false)
            updateSwitchUI(false)
        } else {//
            connectStatus = RxBleConnection.RxBleConnectionState.CONNECTED
            handler.postDelayed({
                onNotify()
            }, 100)
            //
            handler.postDelayed({
                //
                write(DataParser.getRealTimeDeviceStatus())
            }, 200)
            handler.postDelayed({
                //
                write(DataParser.getTimeParamsCMD())
            }, 300)
            updateConnecUI(true)
        }
    }

   /**
     *
     */
  private fun write(inputByes: ByteArray) {
        if (device?.connectionState != RxBleConnection.RxBleConnectionState.CONNECTED) {
            return
        }

        println("dowrite................")

        connectionObservable.firstOrError()
            .flatMap {
                it.writeCharacteristic(characteristicUuid, inputByes)
            }
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe({ onWriteSuccess() }, { onWriteFailure(it) })
            .let {

                connectionDisposable.add(it)
            }

    }

    /**
     *
     */
    private fun onNotify() {
        if (device?.connectionState != RxBleConnection.RxBleConnectionState.CONNECTED) {
            return
        }

        connectionObservable.flatMap { it.setupNotification(characteristicUuid,NotificationSetupMode.QUICK_SETUP) }
            .doOnNext {
                runOnUiThread {
                    println("notificationHasBeenSetUp......")
                }
            }.flatMap { it }
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe({ onNotificationReceived(it) }, { onNotificationSetupFailure(it) })
            .let {

                connectionDisposable.add(it)
            }
    }

It is most probably your peripheral sometimes not processing some data probably due to race conditions or inability to serve multiple commands at the same time.

Closing due to lack of information and inactivity of the original poster.
When more data will be available—feel free to add that information and reopen this issue.
Best Regards


Can this be done with Popper?

I tried using the Spectrum chat, but got "internal server error" when I uploaded images, so I'll try my luck here instead.
Using the default modifiers, the vertical flipping works great, but if it doesn't fit in the viewport horizontally, it doesn't do any alignment at all.
Here's my default placement:

If it cant fit vertically, it flips as it should:

However, if it doesn't fit horizontally, it just positions itself somewhere along the x-axis without any alignment:

Instead I would like it to align to the end:

Is this achievable?

Looks like I managed to solve it using a customer shift function:
shift: {
	enabled: true,
	fn: (data: Data, options: Object) => {
		const { offsets } = data;
		const { popper, reference } = offsets;

		// Can it fit if left-aligned?
		if (reference.left + popper.width < window.innerWidth) {

			popper.left = reference.left;

			data.placement = data.flipped
				? 'top-start'
				: 'bottom-start';

		} else {
			// Otherwise, right-align it
			const referenceRight = reference.left + reference.width;
			popper.left = referenceRight - popper.width;

			data.placement = data.flipped
				? 'top-end'
				: 'bottom-end';
		}

		return data;
	}
},

Is this the way to do it, or am I mutating the wrong properties or something? (I'm a Popper newbie)

Have you tried to use the flipVariations option of flip?

Have you tried to use the flipVariations option of flip?

Hi @FezVrasta
No, I wasn't even aware of those. That doesn't seem to be described in the documentation, nor in the TypeScript definitions.

Have you tried to use the flipVariations option of flip?

@FezVrasta It's not released yet.
https://github.com/FezVrasta/popper.js/releases
Can you please make fresh releases for popper.js and react-popper?

flipVariations is now released

flipVariationsByContent seems to be the one I want. However it doesn't seem to work under all conditions.
These options:
placement: 'bottom-start',
modifiers: {
	flip: {
		enabled: true,
		flipVariationsByContent: true,
		boundariesElement: 'viewport',
		behavior: 'flip'
	},
	shift: {
		enabled: true,
	},
	preventOverflow: {
		boundariesElement: 'viewport',
		padding: Number(this.preventOverflowPadding),
	},
	computeStyle: {
		gpuAcceleration: false
	},
}

work for one of my top-menu fly-outs:

...but not the other:

I've highlighted the reference element with a red pencil. The x-placement attribute is 'bottom-start', making the arrow appear in the top-left corner, but the placement is obviously bottom-end.
I'll have to stick to my custom shift function until this is fixed.


Start curator client before initial close

pr-link: Alluxio/alluxio#9509
change-id: cid-89e061e62f9facc569ddfb570670b99f134af2ff

@calvinjia @gpang PTAL.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/4640/
Test PASSed.

alluxio-bot, merge this please


improve crate description

Additionally it would be good to fix the typo in the github project tagline: Serialisation → Serialization.

Additionally it would be good to fix the typo in the github project tagline: Serialisation → Serialization.

Fixed! :)

Thanks!


Supporting persistent data volumes accessible by all executors

Being able to have a TES implementation have access to a persistent data volume is something that the Greek ELIXIR node requested (see here for more details). A potential use case is for a TES implementation that is deployed in an environment where it repeatedly runs specific sets of tasks and using the same reference data over and over again.
The current specification of tesTask.volumes do not meet this requirement as it states that they "are initialized as empty directories".
A similar request was/is also discussed in Cromwell: https://github.com/broadinstitute/cromwell/issues/2190
I don't really have in mind what this could look like, but I thought I would open this issue so that we could discuss.
Thanks to @zagganas and @hex43ver

Some random thoughts for the discussion:

Should there be a way for a client to ask a TES deployment to make a particular object persist? If so, where exactly, for how long, how to communicate that TES did so etc.?
Should there be a mechanism to populate a persistent volume in bulk or should that be outside of the specs?
How would a client know what persistent data a TES deployment has? Could we do this via DRS?
Is maybe this whole feature outside of the scope of TES and we should just find a TES-compliant workaround that can be realized in a given TES implementation?

Thank you @uniqueg . This issue described our request precisely, we have human genome files (~20GB) and some static internal binary data need to be one-time-pre-populated before data processing, and want to minimize file copy consumptions.
This doesn't necessarily need to change the TES API, if there are implementations can provide such capability. But if TES API can  design a standard presentation, can help a lot for other implementations.
For the syntax, my personal thought is, maybe the docker volume expression is good enough?
    name-of-a- custom-volume:/path-inside-container
    path-from-runtime-node-host:/path-inside-container

There might be a lot more ideas come out, like the docker volume bind propagation concepts, I can understand that TES must limit the scope at a maintainable level.


What guarantee do we have that unpkg will stay around?

Is it safe to tell people to load <script> using unpkg URLs? Is the unpkg server sustainable and not going anywhere?

Just assume it won't and have a back up plan.


[C++] Add admin and reflection to xds interop binaries

This is based on @menghanl 's https://github.com/grpc/grpc/pull/25851. Let's see if tests are happy now.
Also, this PR needs to be cherry-picked.

This change is

@gnossen @yashykt PTAL. This PR adds the admin services and reflection services to xDS interop client and server. This should allow the test driver to fetch xDS configs for C++ tests.
The hack about "_xds" suffix can be found: cl/364351425. Basically, it hides Envoy protos in google3, so it won't be counted as Core component dependency violation.

@yashykt There was a conflict between this PR and https://github.com/grpc/grpc/pull/25939. The admin services will add Channelz services just like your PR. It should work the same in OSS (or our xDS staging tests).

I've got a broader question on AddAdminServices. Why wasn't this structured as a ServerBuilderOption instead?

Also, note that channelz::experimental::InitChannelzService() is called by default internally on init.

Can we register certain services on a specific builder via ServerBuilderOption? If we can do it cleanly, I'm happy to change the logic.
The idea is that internally, we have pretty good security to protect our data. But in OSS, we don't want users to register sensitive services along with their primary business serving port.

It seems like we can do it with a ServerBuilderPlugin but for some reason that API is not public. It's not clear to me as to why that's the case, but I guess we don't have a better way then.

Thanks to https://github.com/grpc/grpc/pull/25980, we no longer needs to cherry-pick this PR. Merging.


"Activity doesn't exist"

Hi, I'm trying to receive call in background, so i follow the example, i add all the permission, etc ...
I'm testing with FCM online tester. When i received the push notification, i'm trying to call "displayIncomingCall" but i got the following error : "Activity doesn't exist". Here is the log :

I/flutter (26016): Handling a background message: 0:1626366993137601%dc8262c0dc8262c0
I/flutter (26016): backgroundMessage: displayIncomingCall
D/RNCK:VoiceConnectionService(26016): setAvailable: false
D/RNCK:VoiceConnectionService(26016): setAvailable: true
D/FLT:CallKeepModule(26016): backToForeground, app isOpened ?false

What can i have to add in android folder or dart code in order to work ... ?

Hi @Rob-Mat94,
I've opened a pull request with an updated example and instrustions. Could you test that and see if you get the same result

Hi, thanks for your reply ! I will test that tomorrow. This error happens when the app is in background (Android) or terminate state. I didn't know if it was normal. Did you also fix the iOS crash in background ? I see many people which have this problem.

Hi, thanks for your reply ! I will test that tomorrow. This error happens when the app is in background (Android) or terminate state. I didn't know if it was normal. Did you also fix the iOS crash in background ? I see many people which have this problem.

All the firebase message callers have been refactored to support the newer libraries. When I tested iOS you can push the notification fine. The call will just fail to pick up as ios requires an audio stream for a call to continue.
Also iOS apps will have to be installed for background tests and iOS doesn't allow debug apps to run without an xcode connection.

Hi @AntonyLeons, i tested your update and all worked well. backToForeground(); is working now. I will soon try to pair callkeep with a webrtc call from 'flutter dart_sip_ua' to be sure.
I just have one remark, when i used
await callKeep.answerIncomingCall(event.callUUID); in the callback function. It seems that the is a infinite loop.

HI @Rob-Mat94
I believe i fixed this in a commit 2 days ago, i cant replicate it

I used your repository https://github.com/AntonyLeons/callkeep.git with your commit but, maybe i have to use _callKeep.startCall(event.callUUID!, callerId, callerName); i think like the example.

Hi @AntonyLeons, i tested your update and all worked well. backToForeground(); is working now. I will soon try to pair callkeep with a webrtc call from 'flutter dart_sip_ua' to be sure.
I just have one remark, when i used
await callKeep.answerIncomingCall(event.callUUID); in the callback function. It seems that the is a infinite loop.

I'm trying to do the same thing.
if you have this commit
fix recursive call
bfdde71
it should have worked, let me know how you get on

Hi, so like you suggest I follow your commit bfdde71. With
Function(CallKeepPerformAnswerCallAction) answerAction = (event) async {   // SIPController.controller.signalAnswer();   await callKeep.setCurrentCallActive('608');  }; And it's working, thanks !.
Note (if its useful) :
The function answerIncomingCall() still be recursive and startCall() throw me a exception :
 java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Context.checkPermission(java.lang.String, int, int)' on a null object reference  My callkeep functions are in top main.
Another things, there is a way to have the timer in callscreen ?

Hi @AntonyLeons, so i finished with Android (great work !). Now I'm trying to do to the same things on iOS but I need your help :/. All my project is configured well (VoIP Certificates, background process enable, etc ...).  On background state, I would like to display incoming call but an error that I don't understand fired on callkeep deployment.
Here the logs :
2021-07-27 14:31:37.003732+0200 Runner[6097:813092] flutter: HANDLING BACKGROUND message ! 2021-07-27 14:31:37.004961+0200 Runner[6097:812985] [CallKeep][setup] options = {     appName = "smart_diese"; } 2021-07-27 14:31:37.018377+0200 Runner[6097:812985] [CallKeep][reportNewIncomingCall] uuidString = 608 2021-07-27 14:31:37.026888+0200 Runner[6097:812985]  [VoIP Token]: eecec1f4f42a4fd46b644384e184c214936c7f807990e5f30afb0edd6000bab7 2021-07-27 14:31:37.028818+0200 Runner[6097:813092] flutter: [CallKeep] INFO: received event "CallKeepPushKitToken" {token: eecec1f4f42a4fd46b644384e184c214936c7f807990e5f30afb0edd6000bab7} 2021-07-27 14:31:37.257273+0200 Runner[6097:813092] flutter: [CallKeep] INFO: received event "CallKeepDidDisplayIncomingCall" {handle: Portier 608, hasVideo: false, localizedCallerName: , payload: , callUUID: 608, fromPushKit: false, error: } 2021-07-27 14:31:37.299945+0200 Runner[6097:813079] [Default] Error requesting calls from host: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.callkit.callcontrollerhost" UserInfo={NSDebugDescription=connection to service named com.apple.callkit.callcontrollerhost} 2021-07-27 14:31:37.305135+0200 Runner[6097:812985] [CallKeep][providerDidReset] 2021-07-27 14:31:37.320371+0200 Runner[6097:813092] flutter: [CallKeep] INFO: received event "CallKeepProviderReset" {} 2021-07-27 14:31:41.306017+0200 Runner[6097:812985]  [VoIP Token]: eecec1f4f42a4fd46b644384e184c214936c7f807990e5f30afb0edd6000bab7 2021-07-27 14:31:41.306296+0200 Runner[6097:812985]  [VoIP Token]: eecec1f4f42a4fd46b644384e184c214936c7f807990e5f30afb0edd6000bab7 2021-07-27 14:31:41.308715+0200 Runner[6097:813092] flutter: [CallKeep] INFO: received event "CallKeepPushKitToken" {token: eecec1f4f42a4fd46b644384e184c214936c7f807990e5f30afb0edd6000bab7} 2021-07-27 14:31:41.309755+0200 Runner[6097:813092] flutter: [CallKeep] INFO: received event "CallKeepPushKitToken" {token: eecec1f4f42a4fd46b644384e184c214936c7f807990e5f30afb0edd6000bab7}
I'm testing on an iPhone 6S (debug mod), with iOS 12. I keep the same background callback as Android :
`static Future firebaseMessagingBackgroundHandler(
RemoteMessage message) async {
await Firebase.initializeApp();
//SIPController.controller.register(listener);
print("HANDLING BACKGROUND message !");
if (!callKeepStarted) {
try {
await callKeep.setup(CallKeepCallbacks.callSetup);
callKeepStarted = true;
} catch (e) {
print(e);
}
}
callKeep.on(
CallKeepPerformAnswerCallAction(), CallKeepCallbacks.answerAction);
callKeep.on(CallKeepPerformEndCallAction(), CallKeepCallbacks.endAction);
await callKeep.displayIncomingCall('608', 'Portier 608', hasVideo: false);
callKeep.backToForeground();

}`

I get the same error with the callKeep.setup using callkeep: ^0.3.1:
Future<void> firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp();
  final callKeep = FlutterCallkeep();
  callKeep.setup(null, <String, dynamic>{
    'ios': {
      'appName': 'CallKeepDemo',
    },
    'android': {
      'alertTitle': 'Permissions required',
      'alertDescription':
      'This application needs to access your phone accounts',
      'cancelButton': 'Cancel',
      'okButton': 'ok',
      'additionalPermissions': <String>[],
      'foregroundService': {
        'channelId': 'com.company.my',
        'channelName': 'Foreground service for my app',
        'notificationTitle': 'My app is running on background',
        'notificationIcon': 'Path to the resource icon of the notification',
      },
    },
  });
}

@Rob-Mat94 did you pass permissions to the setup config or did you add them in the AndroidManifest.xml. Also could you share what permissions you added?


Input simulation does not work with SteamVR as default OpenXR runtime (MRTK3)

Describe the bug
When the default OpenXR runtime is set to SteamVR, either through registry key or environment variable, the in editor input simulation does not work. No WASD camera movement and no hands appear with T or Y.
Input simulation does work fine with both WindowMR OpenXR runtime and Oculus OpenXR runtime.
To reproduce
Due to other Unity projects involving the use of the SteamVR OpenXR runtime my system has a registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenXR\ActiveRuntime  = c:\program files (x86)\steam\steamapps\common\SteamVR\steamxr_win64.json
To reproduce this more easily you can manually switch the OpenXR runtime inside Unity with help of the following tools:
Use this library to switch runtimes:
https://github.com/shiena/OpenXRRuntimeSelector
Here's a small menu script to be able to switch the OpenXR runtime from the Unity editor menu
https://gist.github.com/rolandsmeenk/db01b840b3552a405901b096ed78b254
Note that OpenXRRuntimeSelector sets the XR_RUNTIME_JSON environment variable which is of higher priority than the registry setting.
After following the steps to setup MRTK3 and running the application in the Unity editor SteamVR will start up and a window will open with the Unity scene running in it. Input simulation does not work in that window and when switching to the Unity editor game view input simulation does not work either.
Setup
-Unity Version 2020.3.34f1
-MRTK3
Expected behaviour
I would like to see an extra check for the default OpenXR runtime to at least warn for this issue.

Woah, this seems wild!
For the editor specifically, you can also select the runtime for play mode in the XR Plugin Management settings:

For some reason though (both via the editor setting above and via changing my regkey with https://github.com/maluoi/openxr-explorer, I'm not able to repro this :/ do you have a VR headset attached to your PC when you're reproing this?

Oops, first time actually noticing that Play Mode OpenXR Runtime field. Could have saved me some trouble.
I've not attached a VR headset, but configured a null driver because I only have a Vive tracker and not a headset. So that may make it a bit of an edge case.

Ah interesting! It sounds like you might be hitting the guard in the input simulator that turns all the simulated devices off if an XRDisplaySubsystem is detected.
We could probably look into ways of making this guard optional, but it might be hard to tell if an XRDisplaySubsystem is available but no headset. One usually implies the other, but I'm not sure the OpenXR plugin checks for an actual HMD before spinning the subsystem up.

@keveleigh what's the status on this?

@keveleigh did the recent updates to the OpenXR plugin (that also fixed the weirdnesses with Quest Link) fix this problem?


Inclusion of parallel compression and decompression based on bzip2

I am working with Dr. Feiyi Wang and am in the process of developing parallel compression and decompression using libcircle and bzip2. Could I have permission to merge my changes? There are also changes to enable an user to use dtar with compression and/ or decompression. This makes some changes to dtar, but will not affect simple dtar or untar. It will use an additional -j flag to use compression.

@ahanagemini I do not see a pull request from you? Can you submit a pull request first so that we can review/test before trying to merge?

In addition to the libcircle algorithm here, let's also define a static work assignment algorithm that divides the source file into blocks that are assigned to ranks for compression.  With lots of ranks, the static algorithm can operate on bigger chunks of the file during in each wave due to the single-node memory limits one has to work within when using libcircle.

We should also check whether our format is compatible with bz2.  If it is not, let's use a .dbz2 extension on files.
And is there value in putting the block offset info at the beginning vs the end of the file?

Hi Adam,
While I have not worked on this for almost a year now, as far as I
remember, files compressed by our dbz2 can be successfully decompressed by
bz2. However, placing the offset information at the beginning results in
bz2 throwing an error.
Thanks and Regards,
Ahana Roy Choudhury.
On Tue, May 29, 2018, 21:17 Adam Moody<EMAIL_ADDRESS>wrote:

We should also check whether our format is compatible with bz2. If it is
not, let's use a .dbz2 extension on files.
And is there value in putting the block offset info at the beginning vs
the end of the file?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hpc/mpifileutils/issues/85#issuecomment-392999127,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOaaXVNKShjF0Eubmd-fXGtYZmed06hrks5t3fMMgaJpZM4Of3LV
.

Thanks for your explanation, @ahanagemini.  I wondered whether you had a reason for putting it at the end.  In that case, it makes sense to keep it there.

Plan is to move this from experimental to regular tools by v0.9

That is great. Thanks a lot!
On 30 August 2018 at 16:17, Adam Moody<EMAIL_ADDRESS>wrote:

Plan is to move this from experimental to regular tools by v0.9
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hpc/mpifileutils/issues/85#issuecomment-417453356,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOaaXU7xBuFcbRWGAJWaoXPOB3loIZ4uks5uWEhVgaJpZM4Of3LV
.

@ahanagemini , dbz2 will be ready to go in the next release.  Unfortunately, I managed to manipulate your original source files enough that it's dropped your name from the files.  I want to be sure you get some credit for having contributed to the project, so I'm thinking we can list your name in a README or the release notes.
Are you ok with that, and if so, how would you like your name to be written?
We also have an AUTHORS file that we include you in, along with your email.

Hi,
That should be ok. My name should be listed as Ahana Roy Choudhury. I am a
Computer Science PhD. student at Florida State University. My email ID is
<EMAIL_ADDRESS>and my personal email is<EMAIL_ADDRESS>Please let me know in case you need any further information.
Thanks and Regards,
Ahana.
On Thu, Mar 14, 2019, 17:48 Adam Moody<EMAIL_ADDRESS>wrote:

@ahanagemini https://github.com/ahanagemini , dbz2 will be ready to go
in the next release. Unfortunately, I managed to manipulate your original
source files enough that it's dropped your name from the files. I want to
be sure you get some credit for having contributed to the project, so I'm
thinking we can list your name in a README or the release notes.
Are you ok with that, and if so, how would you like your name to be
written?
We also have an AUTHORS file that we include you in, along with your email.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hpc/mpifileutils/issues/85#issuecomment-473078036,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOaaXdUtqhEiQPyOwZc_PgbVIaXoxtnOks5vWsOTgaJpZM4Of3LV
.

@ahanagemini , can you double check this entry I've added for you in the AUTHORS file?  Let me know if you'd like that changed at all.
We'll also include a bullet to give you credit for dbz2 in our v0.9.1 release notes.
Thanks!

Hi Adam,
That looks correct. Thanks a lot!
Thanks and Regards,
Ahana.
On Sun, 31 Mar 2019 at 18:37, Adam Moody<EMAIL_ADDRESS>wrote:

@ahanagemini https://github.com/ahanagemini , can you double check this
entry I've added for you in the AUTHORS file? Let me know if you'd like
that changed at all.
We'll also include a bullet to give you credit for dbz2 in our v0.9.1
release notes.
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hpc/mpifileutils/issues/85#issuecomment-478391994,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOaaXXEAWLv7UdOJxoichBLFV2tOTGk1ks5vcTiwgaJpZM4Of3LV
.

Added in v0.9.1.
Thanks again @ahanagemini !

On Wed, May 15, 2019, 15:20 Adam Moody<EMAIL_ADDRESS>wrote:

Added in v0.9.1.
Thanks again @ahanagemini https://github.com/ahanagemini !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hpc/mpifileutils/issues/85?email_source=notifications&email_token=ADTJUXNSCALMV65NUXZXT33PVRO7LA5CNFSM4DT7OLK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVPVZPY#issuecomment-492788927,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADTJUXIU4XGX5K4ONCZZ7CLPVRO7LANCNFSM4DT7OLKQ
.


Use cloudpickle

I'm thinking we should use cloudpickle over stdlib pickle as it is able to pickle more things than the stdlib pickle can...

That sounds interesting indeed! But we should absolutely look into the performance impact for such a change.

The other alternative is to go ahead and drop pickle and have event classes be in charge of their own serialization.  Very likely that path also gains us some additional performance.

The other alternative is to go ahead and drop pickle and have event classes be in charge of their own serialization

Yeah probably the better direction. Event classes can have a serializer injected and we might ship with default serializers based on pickle and maybe cloudpickle but one can always go down to the metal and serialize in a custom way. This would allow full flexibility without giving up convenience.


made TransformDirection enum string based; added missing method to raise error when value missing

Addresses #298 and https://github.com/pyproj4/pyproj/pull/288#issuecomment-490122764
Uses idea from https://github.com/pyproj4/pyproj/pull/288#issuecomment-490123157 to better handle invalid input.
@jorisvandenbossche

Looks like _missing_ only works post Python 3.5. Shame, it is really nice.

@jswhit, that sounds good. I will go ahead and merge. Would you be okay with me making a release as well (minus uploading to pypi)?

I was thinking about making a release along with PROJ 6.1.0 release on May 15. Is that okay? Or would you prefer to be able to review everything before then (which is fine - no rush on my end)?

I was thinking about making a release along with PROJ 6.1.0 release on May 15. Is that okay?

I think that does not make much sense. I think waiting until you are ready would be the better decision in this case. Better to have a good review before the release since there isn't a rush. I was just getting ahead of myself there.


skills hability<( time =stop- meanwhile-- training)( control velocity)///(  range- movement)>improve<=done

Is your feature request related to a problem? Please describe.

Describe the solution you'd like:

Describe alternatives you've considered:

Additional context:

just invest features in my extensions{arms-legg-flexibility-when ill be ready to champaign profesional only me name will be there the way its so simple╝)

Hi and thank you for using the extension,
Could you provide more information in the expected format and reopen? thanks


Uses of Consumer, Producer, Function, Predicate Interfaces

Description
Hi! Can I clarify the use cases of Consumer, Producer, Function, Predicate interfaces?
Is it because when we create our own ImList, it cannot use stream() directly so we cannot directly apply filter, map etc (like what we can do with Java's List). So we create methods based on these interfaces to allow us to use map, filter etc?
Thanks!

^ you can use these methods like filter, map etc directly on ImList

Thinking about this more intuitively/ in layman terms, we perform functions like map and filter on lists of values. These functions iterate through the list to do the behaviour you want. A stream is one sort of list you can perform functions on and these methods are defined in the java API while ImList is another sort of list you can perform functions on and these methods were implemented by prof in the lectures.
The consumer, producer, function and predicate interfaces are what we need to input into the functions to pass our intended behaviour to them when we use the function. For instance map: we need to tell ImList how exactly we want to modify each value in the list (i.e. the behaviour we pass on to map). We input this behaviour as the argument into the map method using the Function interface! (If you want to check what interface you need to implement in order to use a particular function, just check the stream API/ implementation of ImList) Hope my understanding helps:-)


Personalization and Settings View

The Navigation Rail has the settings tab but it's not implemented yet
Add a personalization feature for changing accent color of the entire app which should be accessible via Settings tab
Hint: Flet's Docs ; )

Please assign this issue to me

!assign @RecklessSoftwareGuy 60

please assign

Hey, Sorry, this issue has already been assigned to someone

Please deassign

can i be assigned

please assign

can i be assigned?

!deassign

Solved by @mahika34


Fix closure tutorial, missing typedefs.js to include

This PR fixes the "Closure" tutorial.  With the addition of typedefs.js in OpenLayers, the proposed configuration no longer worked.  You need to add typedefs.js in the list of JavaScript files to include.  The reason why is that this file doesn't have any goog.provide, thus isn't theorically required to do the build but it is.  You need to tell closure that.  In ol3, it's added in the build.js script.  We need to to the same for the tutorial.
Ready for review.

Question related to this (but out of scope of this PR) - is there a reason why this file has no provide?

because they're not needed :-) But you're right that this tutorial should add the file manually, as it does not use build.js which includes it automatically.

Thanks.
I think this is safe for merge, then.  I don't have merge access.

fixed with #6704


PettingZoo simple_spread example doesnt learn

Problem
I'm running the PettingZoo simple_spread Mava example (run_maddpg.py)  from the develop  branch and the MeanEpisodeReturn does not improve.

Is this the expected behaviour? Or should I maybe let it train longer?
Execution
make run-tensorboard EXAMPLE=examples/petting_zoo/mpe/simple_spread/feedforward/decentralised/run_maddpg.py

Hi @mlanas :wave:
So maddpg usually takes quite a while to train on PZ simple spread. We trained it for ~3 000 000 executor steps / 24h to get to ~-25 return. Mad4pg does better and gets close to -20.
Here is the mad4pg config:

Config
Param

batch_size
1024

critic_optimizer
Adam

critic_optimizer_lr
0.0001

discount
0.99

executor_variable_update_period
100

max_gradient_norm
None

policy_optimizer
Adam

policy_optimizer_lr
0.0001

sigma
0.3

target_averaging
False

Hope this answers your question. :)

Hey @KaleabTessera ! Thanks for the answer, looks like I did not train long enough 😅. Do increasing the number of executors speeds up the training? And do you know why is there such a big difference with the debugging environment? They are really similar, but the debug env trains in 5 min with maddpg.

@mlanas Yes, increasing the number of executors should speed up training, but it can also change the training trajectory since the data gets added to our dataset faster.
@DriesSmit Maybe you can answer the exact differences between our debug simple spread and PZ simple spread?

Hey @mlanas. The debugging simple spread was made to be much easier than PZ simple spread one. In the debugging environment, the agents have specific landmarks that each agent has to go to which makes it easier to learn. In the PZ simple spread, they don't have specific landmarks they need to go to which makes the coordination problem a bit more difficult. The rewards also have less variance than the PZ equivalent.

Thanks for the help guys, I manage to make it work!

Hey @KaleabTessera do you happen to have a working config for other MPE envs like tag or adversary? It would really help me if you can share it with me, thanks in advance :)

Hi @mlanas , for Simple Speaker-listener , we used the hyperparams above, but we used a policy and critic network size of [64,64], a max gradient norm of 1, a discount of 0.95 and a policy_optimizer_lr of 1e-2. This followed from the maddpg codebase - https://github.com/openai/maddpg/blob/3ceefa0ada3ff31d633dd0bde8ff95213ce99be3/experiments/train.py on mpe.

Thank you very much @KaleabTessera


ISSUE REGARDING ONGOING DISCORD HACK

Hi all, IAmTheBlackMetal here, I am a Chuu bot mod on discord.
I figure Ish may post something here when he has a chance but until that point I would recommend removing the official Chuu bot (local instances should be fine) from your discord and warning your users about an ongoing hack that has destroyed the Chuu server.
Details:
https://twitter.com/PhleBuster/status/1439285455267188741
I wish I had a better method for getting this info out but the server was destroyed before any of us could figure out what was going on.

What does this link have to do with the bot? Sounds to me like someone with permissions got their account token stolen and then someone nuked the server with it

Yeah I have absolutely no idea how this relates to the bot. Sounds like typical Discord reactionary nonsense.

This is exactly the case and the link is in regards to how the hack works and steps to take.  The issue is that the account that was stolen has access to the official Chuu bot and until we can fully survey the damage, we do not know if the bad actors have access to the bot and can thus use it to spread the hack through Chuu. Until that time, my best suggestion is to kick Chuu until we can confirm she is safe to use again. You can always re-add the bot later on.

@sam-ward42 the account that owns both the server and the chuu bot itself was compromised through a token grabber like in the tweet. The token of the bot itself has also been changed by the hacker

@sam-ward42 the account that owns both the server and the chuu bot itself was compromised through a token grabber like in the tweet. The token of the bot itself has also been changed by the hacker

Yikes

rip

Thanks for the update! I wish there was a better way to let all users of the bot know about this but I'm sure that's out of the question given the situation.

Did  y'all have Malwarebytes Antimalware or Norton running by any chance? curious if antiviruses have caught on to these token grabbers yet...

Did y'all have Malwarebytes Antimalware or Norton running by any chance? curious if antiviruses have caught on to these token grabbers yet...

One of the tweets linked above mention that AVs fail to catch this yet.

Did y'all have Malwarebytes Antimalware or Norton running by any chance? curious if antiviruses have caught on to these token grabbers yet...

I found one of them a couple of weeks ago, downloaded it through the Discord games library and then copied the files to my virtual machine. No anti-virus I have installed on there caught it so I doubt any would rn. I reported this to Discord weeks ago. It's sad nothing has been done and it's gotten as bad as a bot developer getting caught out by it

This is just sad

Hi all, IAmTheBlackMetal here, I am a Chuu bot mod on discord. I figure Ish may post something here when he has a chance but until that point I would recommend removing the official Chuu bot (local instances should be fine) from your discord and warning your users about an ongoing hack that has destroyed the Chuu server.
Details: https://twitter.com/PhleBuster/status/1439285455267188741
I wish I had a better method for getting this info out but the server was destroyed before any of us could figure out what was going on.

Hi there, I am one of the staff over at Chuu'topia, a Chuu server. We are getting a fair few people join looking for your bot, we  are going to try corral them together for now.
Would some of your staff be interested in joining for a while to keep people updated if you intend on making another bot?

Hi all, IAmTheBlackMetal here, I am a Chuu bot mod on discord. I figure Ish may post something here when he has a chance but until that point I would recommend removing the official Chuu bot (local instances should be fine) from your discord and warning your users about an ongoing hack that has destroyed the Chuu server.
Details: https://twitter.com/PhleBuster/status/1439285455267188741
I wish I had a better method for getting this info out but the server was destroyed before any of us could figure out what was going on.

Hi there, I am one of the staff over at Chuu'topia, a Chuu server. We are getting a fair few people join looking for your bot, we are going to try corral them together for now. Would some of your staff be interested in joining for a while to keep people updated if you intend on making another bot?

Hi, I'm in a server where chuu is used 24/7, and we'd like it back. We want some like, yk news about it? Like maybe throw together a chuu support server 2?

Hi all, IAmTheBlackMetal here, I am a Chuu bot mod on discord. I figure Ish may post something here when he has a chance but until that point I would recommend removing the official Chuu bot (local instances should be fine) from your discord and warning your users about an ongoing hack that has destroyed the Chuu server.
Details: https://twitter.com/PhleBuster/status/1439285455267188741
I wish I had a better method for getting this info out but the server was destroyed before any of us could figure out what was going on.

Hi there, I am one of the staff over at Chuu'topia, a Chuu server. We are getting a fair few people join looking for your bot, we are going to try corral them together for now. Would some of your staff be interested in joining for a while to keep people updated if you intend on making another bot?

Hi, I'm in a server where chuu is used 24/7, and we'd like it back. We want some like, yk news about it? Like maybe throw together a chuu support server 2?

Second this, one of my servers used Chuu a lot and this has kinda left everyone in the dark, it would be really nice to have a new server to discuss it more openly and post any new info there whenever possible. :)

Hi, main developer here.
First, I wanted to comment on why I didn't comment anything here yesterday. I was busy trying to protect and fix my system in order to protect from the hack that  I was subject to.
Then, I have updated the README with the current status. And with the current support server in which I will try to keep everyone updated from now on.  The current server can be found in https://discord.gg/3tYsPMWvQG.
As of now, I have sent 6 emails to the discord support, with no response. Is the only way I found that can be used for the issue that happened. So I'll try to wait if they respond and update them with all the information I can provide.
Additionally, I would want to apologize to everyone for the problems caused, and I'm deeply sorry for what as happened.
Hope we can sort it with the discord support shortly.

Hi all, IAmTheBlackMetal here, I am a Chuu bot mod on discord. I figure Ish may post something here when he has a chance but until that point I would recommend removing the official Chuu bot (local instances should be fine) from your discord and warning your users about an ongoing hack that has destroyed the Chuu server.
Details: https://twitter.com/PhleBuster/status/1439285455267188741
I wish I had a better method for getting this info out but the server was destroyed before any of us could figure out what was going on.

Ahhhhh help so my dumb brain decided to click dat free nitro link and i was gonna create account and was in the middle of the process to be done then i thought what if it doesnt and its a scam tjen i left that link and where talking about hack and stuff so i downloaded an antivirus app and turned on extra protection for my discord. Idk if i will still get hacked 😭😭😭😭😭 help

Hi all, IAmTheBlackMetal here, I am a Chuu bot mod on discord. I figure Ish may post something here when he has a chance but until that point I would recommend removing the official Chuu bot (local instances should be fine) from your discord and warning your users about an ongoing hack that has destroyed the Chuu server.
Details: https://twitter.com/PhleBuster/status/1439285455267188741
I wish I had a better method for getting this info out but the server was destroyed before any of us could figure out what was going on.

Ahhhhh help so my dumb brain decided to click dat free nitro link and i was gonna create account and was in the middle of the process to be done then i thought what if it doesnt and its a scam tjen i left that link and where talking about hack and stuff so i downloaded an antivirus app and turned on extra protection for my discord. Idk if i will still get hacked 😭😭😭😭😭 help

You'll be fine. Those websites just take your login details when you submit them so as long as you didn't login through the "free nitro" link you should be good. Antivirus will only protect against malicious files you've downloaded. Just be careful that links you click on are from trusted domains. A lot of fake links are similar to real ones but read links carefully and if it isn't exactly as it should be then my advice is don't click on it. And don't download anything that seems even slightly suspicious or isn't from a trusted source

i hope everything ends well, because this is a very good bot 😞

is the bot back? i see that it is online on discord...

is the bot back? i see that it is online on discord...

No I still don't have any control over the bot nor my account. The person that has hijacked my account must have put it online, and it is 100% running a different code or functionality than of the Chuu bot, probably aimed with a malicious intent.
Even if it doesn't send any message, it could be scanning all the messages of the servers is in trying to recover sensitive date such as pictures, passwords, credit cards that might be lying around on discord servers.
So be aware of any possible thing that the bot might do, and as said, it is recommended to kick it from all the server that is in.

is the bot back? i see that it is online on discord...

No I still don't have any control over the bot nor my account. The person that has hijacked my account must have put it online, and it is 100% running a different code or functionality than of the Chuu bot, probably aimed with a malicious intent. Even if it doesn't send any message, it could be scanning all the messages of the servers is in trying to recover sensitive date such as pictures, passwords, credit cards that might be lying around on discord servers.
So be aware of any possible thing that the bot might do, and as said, it is recommended to kick it from all the server that is in.

ok thanks, praying all goes well

Well, that sure sucks. Any way someone could build chuu clone bot from the source code? I get that I'm asking for too much, but I really don't see any other way. RIP Chuu.

 Any way someone could build chuu clone bot from the source code? I get that I'm asking for too much, but I really don't see any other way. RIP Chuu.

I'm sure if we just wait Discord will sort it out. No need to go creating another bot quite yet lol. And worst case scenario, the dev can just run Chuu on a different bot app

You'd be glad to know that it's currently not being used for 100% bad stuff at the moment.

Currently using Masked Links to fake a "Giveaway" although it's only to a Discord server for all the links, so not like it's getting people to download anything or go to a sketchy site.

@Alipoodle Yes, its currently being used for bad stuff/ phishing by the people that have hijacked the devs account. The developer has sent multiple emails to Discord and has tried other ways of getting in touch with support faster, but no response so far. There is no way for bot developers to get priority support so we just have to wait until Discord notices the ticket, knowing Discord this can take a while/
Also just as a reminder for everyone, do not click the link and do not enter any account details.

Did y'all have Malwarebytes Antimalware or Norton running by any chance? curious if antiviruses have caught on to these token grabbers yet...

I found one of them a couple of weeks ago, downloaded it through the Discord games library and then copied the files to my virtual machine. No anti-virus I have installed on there caught it so I doubt any would rn. I reported this to Discord weeks ago. It's sad nothing has been done and it's gotten as bad as a bot developer getting caught out by it

Well that's disappointing. Might want to send that file to Malwarebytes at least, via their reporting pipeline? (I shouldn't need to explain why, even if I wanted that responsibility, I don't have the executable in question)

i have info that probably is new. today my friend's server had a random bot invited. i was concerned, so i checked logs. turns out, chuu created a new role with admin perms, then created a new invite, then a user (Emery#1827 user id<PHONE_NUMBER>42968842) that appears to be involved in this scamming joined, was given the new role by chuu, invited another bot (Giveaways#6864 user id<PHONE_NUMBER>35605760), then user left, and chuu bot deleted the evidence. will attach the server's logs. important info is highlighted, such as time stamps to show that this was all one event that happened at the same time. left has chuu creating role + invite, user adding bot. right has new bot creating an invite thats kinda sus, and chuu bot deleting evidence

Since it has been finally resolved with discord support, I'm closing this issue.
Thanks to all for the support and help during this few weeks <3.

Could it have hacked me if I clicked the link on my iPhone? It added me to a server and I immediately left it, I’m really worried because my Microsoft account on my phone has a lot of money spent on it and I don’t want to lose it, maybe I’m just paranoid though

you might be okay, but please for your own sake do not stop being paranoid. Paranoia makes you more careful, and that's exactly what these scammers want people not to do: think carefully.
If you're uncertain about that Microsoft account, change your password, long out of it, and log back in. If you invalidate the session token, they can't hijack the session even if they have a clone of your phone somehow (which is unlikely).


Adds support for additional java options

Signed-off-by: Robert Igl<EMAIL_ADDRESS>

LGTM


Fix track 1 doc generation.

This PR should address the failure on the java - docs build that started occuring after the track 1 and track 2 libraries got relocated.

/azp run java - docs

/azp run java - docs

/azp run azure-sdk-for-java - client


IndexOutOfRange Exception

Hi, there is a null reference exception in the part where it reads the generic methods.
Stack trace:
        Reading generic methods...Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at LibCpp2IL.Il2CppBinary.GetMethodSpec(Int32 index)
   at LibCpp2IL.Il2CppBinary.GetGenericMethodFromIndex(Int32 genericMethodIndex, Int32 genericMethodPointerIndex, Il2CppConcreteGenericMethod& concreteMethod)
   at LibCpp2IL.Il2CppBinary.Init(UInt64 pCodeRegistration, UInt64 pMetadataRegistration)
   at LibCpp2IL.PE.PE.AutoInit(UInt64 pCodeRegistration, UInt64 pMetadataRegistration)
   at LibCpp2IL.PE.PE.PlusSearch(Int32 methodCount, Int32 typeDefinitionsCount)
   at LibCpp2IL.LibCpp2IlMain.Initialize(Byte[] binaryBytes, Byte[] metadataBytes, Int32[] unityVersion)
   at LibCpp2IL.LibCpp2IlMain.LoadFromFile(String pePath, String metadataPath, Int32[] unityVersion)
   at Cpp2IL.Cpp2IlTasks.InitializeLibCpp2Il(Cpp2IlRuntimeArgs runtimeArgs)
   at Cpp2IL.Program.MainWithArgs(Cpp2IlRuntimeArgs runtimeArgs)
   at Cpp2IL.Program.Main(String[] args)

The game is Among Us. (again)

Should be fixed in 9216228


Request animation frame

Completes #90.

Thanks for making those changes, and adding the comment about 0 timeout. Just need those additional updates to the JS (adding the thunk for Eff), and also need to swap the arguments in the FFI to reflect the change in the PS file now.

Ups, I forgot to commit them. Here there are :)

Thanks!