Add engines.turbo Validation

Description
When using a global install of turbo there is no way to be sure it is compatible with the version of turbo required by a given project. There seems to be a standard for tools to support validating against the engines property in the package.json file. This pull request adds that validation to turbo commands.
Closes #1359.
Testing Instructions

Add a "1.0.0" constraint to package.json in the engines.turbo property
Run ./turbow.sh and note that it returns an error
Change the package.json constraint to "^1.0"
Run ./turbow.sh and note that it displays the help output
Change the package.json constraint to "test"
Run ./turbow.sh and note that it displays an error

Hey @ObliviousHarmony! I think that this functionality is definitely something we should consider; we're looking into what operating as a global installation would look like and this is a good step along that path.
Things that this should account for:

We're not guaranteed to have a package.json in all of our possible futures so things that configure turbo should probably live in our own namespace, probably turbo.json.
version.go is explicitly intended to be nothing more than a version string; that check should live somewhere else.
We should scope this behavior to things which interact with the user's world. turbo run and turbo prune are likely to be tied to the current project; whereas turbo link and turbo login are unlikely to need precise versioning.

What do you think?

Thanks for the feedback @nathanhammond!

we're looking into what operating as a global installation would look like

My first thought was that turbo from the global installation should proxy to the local one when it's present. However, I wasn't sure about the ambiguity that might introduce, so I decided on this approach instead. How would it decide what the "local" version is? Traverse through ./node_modules in each directory and parent directory until it finds one? It just feels like that might be too prone to strange issues.

We're not guaranteed to have a package.json in all of our possible futures so things that configure turbo should probably live in our own namespace, probably turbo.json.

Do you think supporting both might be ambiguous? Centralizing these kinds of constraints in package.json feels more aligned with Node projects. I can imagine possible futures where turbo supports other workspaces and projects in other languages, but, it seems like that would provide dependency and execution information separate from the existing package.json functionality.

version.go is explicitly intended to be nothing more than a version string; that check should live somewhere else.

Along the lines of the above, how would you feel about the following changes:

Add local_version_constraint.go to main package

Add checkCompatibility(version string) bool that does the same comparison that ValidateTurboEngineVersion() does.
Add IsGlobalVersionCompatible(config config.Config) bool that, for now, only checks fs.PackageJSON.

This would make it trivial to expand IsGlobalVersionCompatible() handling for other sources for the version constraint. I would argue against adding it to turbo.json just yet, since currently, package.json already contains all of the scripts and dependency information. It feels reasonable that it would also use engines.turbo over a turbo.json config key.

We should scope this behavior to things which interact with the user's world. turbo run and turbo prune are likely to be tied to the current project; whereas turbo link and turbo login are unlikely to need precise versioning.

This seems fair, however, I have a question first. Is there anything local to .turbo in a given project that might run into a compatibility issue? My concern is that the functionality of turbo and pnpm -- turbo may be radically different, and in that scenario, we probably don't want to accidentally break anything.

So, in terms of delegating to the project-local version, that might look something like this:
https://github.com/ember-cli/ember-cli/blob/master/bin/ember
Alternatively, it might not delegate to a project local version and just error. And how that interacts with a versioned daemon is also a fun problem to solve. These are future hypotheticals, we haven't decided what path we should to take. When this one comes around it'll be an RFC.

We're definitely not going to be JavaScript-only forever. If you look at our own repository we have a Go project in here. We currently wire it up via package.json, but you can see how that just delegates down to make in maybe a hint of things to come:
https://github.com/vercel/turborepo/blob/e828731cb238136c5d6ce8a7326cff2ce248273c/cli/package.json#L5-L13
We have already begun the process of moving out of package.json (turbo.json used to just be the turbo key inside of package.json). You can imagine that, if we want to increase the market that we are able to address as a product, we can't be dependent upon a particular ecosystem's idioms and need to define our own.
We also have to account for things like teachability and transferability of knowledge. Integrating in one way with the JavaScript ecosystem and another way with (everybody else) means that we are creating additional impedance for people learning. turbo.json is ours, and we can always guarantee it will exist and function in the same way (until/unless we decide to change that fact). No other parts of the system have that guarantee as we don't control them.

The .turbo stuff will eventually be pulled out of the project directory. That is also there by historical accident. All things that are part of that are content-addressed and we carefully ensure version compatibility with that.

We're definitely not going to be JavaScript-only forever. If you look at our own repository we have a Go project in here. We currently wire it up via package.json, but you can see how that just delegates down to make in maybe a hint of things to come

We are also operating a multi-language monorepo, so, I appreciate anything that makes working with that use-case easier. I'm kind of curious how you plan to handle dependency management in those cases though. As an aside, I've never worked with make before, and seeing the MakeFile makes (😄) me wish I had.
Taking a step away from this pull request for a moment though, I do want to stress that having a single source of truth for project names, scripts, and dependencies is nice. One of the things that created confusion when we used Nx was that each project had a configuration file that contained duplicate content that needed to be maintained in both files. We didn't gain anything from this difference and in a few cases, people added scripts to the wrong file and created problems in our tooling. All the Nx commands did was call scripts in pacakge.json files since we couldn't use their plugins due to their strong versioning opinions.
The integration with each project's package.json file is, to me, one of the great things about Turborepo. This cuts down on superfluous configuration, and in any possible future, it would be great to find a way to lean into that strength. With that said, however, perhaps having no scripts in package.json other than lifecycle hooks would be better. At least that way, nobody will accidentally run pnpm build and fail because turbo didn't build all of the dependencies first.

You can imagine that, if we want to increase the market that we are able to address as a product, we can't be dependent upon a particular ecosystem's idioms and need to define our own.

I agree with you. Decentralizing the configuration like this would only make it confusing for people. It's much better to keep Turborepo's configuration together.
I'll go ahead and make some changes to this pull request accordingly.

I'm kind of curious how you plan to handle dependency management in those cases though.

We are too! But we definitely have ideas. Right now the order of operations is pnpm install > turbo > package.json. That first step is kind of a bit weird and a significant source of confusion.

As an aside, I've never worked with make before

From an internal document: "People have been rebuilding make with a prettier interface for decades." The fundamental behavior of builds haven't changed since make was introduced 40-something years ago. They're just a DAG and since then we've just been exploring the best way to build the DAG, at what granularity, and how deeply we integrate that DAG with application concerns.

I do want to stress that having a single source of truth for project names, scripts, and dependencies is nice.

It's actually good to see this portion of our hypothesis panning out. From another internal document: "One of the most important aspects of Turborepo is that it does less, and yet still provides value." We're well aware that the seamlessness of the integration is an important part of the value proposition and will be very careful to avoid screwing that up. You should expect everything that currently works to still work, with opt-in to more complexity and (presumably) more reward.

perhaps having no scripts in package.json

Interesting proposal you have there. 😜

As to the actual implementation of this PR: I have no real concerns with your proposed approach. We need to have a conversation amongst the team about the priority of being able to stand alone before landing, but we would have that conversation to unblock this PR.
Aside: we should make an active decision about the other places we could choose to read this information from:

devDependencies
optionalDependencies
peerDependencies
engines

(I don't have an opinion at this time, just enumerating.)

We are too! But we definitely have ideas. Right now the order of operations is pnpm install > turbo > package.json. That first step is kind of a bit weird and a significant source of confusion.

As a consumer, ideally, Turborepo would take the step of reading dependencies from relevant project files. Node projects  from a package.json file, PHP projects from a composer.json file, Rust from a Cargo.toml file, Go from dependencies read from source files, etc.
The only additional feedback I would add here is that currently, defining implicit dependencies with a separate pipeline that is otherwise identical is a little strange.

The fundamental behavior of builds haven't changed since make was introduced 40-something years ago.

Do you ever feel like modern software engineering is just us trying to rediscover the practices and processes followed by electrical and mechanical engineers 50 years ago?

We're well aware that the seamlessness of the integration is an important part of the value proposition and will be very careful to avoid screwing that up.

👍🏼

Interesting proposal you have there. 😜

I'll argue that's more your proposal than mine, obviously. 😄 You weren't very ambiguous referencing the cli's package.json file.

I have no real concerns with your proposed approach.

That's good to hear, I'll go ahead with that proposed approach then.

we should make an active decision about the other places we could choose to read this information from

I thought about this initially but felt it inverted the relationship between turbo and the package manager. Turborepo is only a dependency of the monorepo's root package.json file because that provides convenience over installing it as a prerequisite. I don't see turbo as a command provided by the package manager so much as a replacement for the task execution functionality of the package manager. That's the line of thinking that led to opening #1254.
Combining that enhancement request and this pull request, the end result is that you would only ever use pnpm commands for dependency management and lifecycle hooks. With that context, I think it makes sense to only read from "engines.turbo". For what it's worth, if an incompatible version becomes a dependency, it would throw an error just running the binary from the dependency.

@nathanhammond I've updated the pull request based on your feedback.

I put the compatibility check in the config package. It feels like it belongs here right now because this check would either be a facet of the RootPackageJSON or the TurboJSON. I recognize the Config might not be a good place for these references to live long-term, but, if that refactor ever happens, this can be moved then.
I kept the check as blocking for all commands. The question for me is what it should mean when a consumer explicitly says that they only want to support using a version of Turbo that is compatible with their project. The other thing is a maintenance concern. What's the likelihood someone might not add this check if a new command is added that should use it?

Adding this PR to our weekly internal team meeting agenda to unblock.

Okay, here's the team feedback:

Version is definitely going to be in turbo.json; that ended up unanimous among the team. A few months ago we had less-developed opinions, but seeing where we want to go and how we want to get there, that's going to make the most sense and lead to the least churn. We promise that it will eventually be a very sensible default.
We feel like we need to at least enumerate our plan for global installation (global shim, delegating to the in-project runner, communicating with multiple versions of the daemon all running on the same system) before landing. My job this week is to get the daemon stuff landed and then circle back to some of the versioning questions that introduces as we're definitely going to have multiple of our own processes to coordinate.

When I circle back around to that would it be okay for me to cherry-pick your commit into my PR?

When I circle back around to that would it be okay for me to cherry-pick your commit into my PR?

Sure, there's not much to cherry-pick though :smile: Thanks for getting back to me @nathanhammond.

Hey! We've gotten global turbo sorted out now, and version is either "whatever is global" or delegates to the locally-installed version.
This now has to be implemented in Rust, so I'm going to close this PR. Look for a new PR soon!


Disable decorator cache per-call

Sometimes we want to disable the cache for specific calls to a decorated method.
Adding a keyword argument (like aiocache_disable=True) that is consumed by the decorators and disables the cache for that specific call.
In this case, we don't try to load from the cache, but should we cache the result? My guess would be no, but interested in your thoughts around this.

I think it's an interesting feature to have. We could have two different args:

ignore_read
ignore write

Yeah, that's way better. So the approach would be something like:

aiocache_disable_read: does not try to retrieve the value from the cache, but stores the result there
aiocache_disable_write: tries to read from cache first, if it's found returns it. In case it's not found, makes the original call, but does not save the result in the cache.

Then we wouldn't need the general aiocache_disable param, we could obtain the same behavior disabling both read and write.

Closing, just merged #404. Thanks!


Non-whitespace before first tag in xmls2js

Below code i am running and trying to parse XML response through xmls2js,
soapClient.call({
'method':'findAll',
'params' : {
'maxResults'  : 100,
'orderDirection' : 0,
'orderField' : 'creationdate',
'startIndex' :1
}
}
)
.then(function(res) {
console.log(res.response);
res.data        // response data as array
var data=res.response    // full response data (including xml)
res.header      // response header
        parseString(data, function(err, result){
            if(err) console.log(err);
            console.log(result);
        });
    },
    function(err) {
        console.log(err);
    }
);

While running the code getting below error.
Error: Non-whitespace before first tag.

How does the XML you pass in look like?

This blog solved it for me.

This should work out of the box, since xml2js has now code to remove the byte order mark before parsing.

@fxlemire I am facing the same issue and the blog link is not working.
Please provide a solution. Thank you!.

@lucifer-AM To fix the issue:
var cleanedString = origString.replace("\ufeff", "");

Having same error.
and var cleanedString = origString.replace("\ufeff", ""); didnt work for me.
attached sample xml
xml.txt

@fxlemire I have a feed Reader that I created for RDF, ATOM as well as RSS. It works fine for all three but for some feeds it give this error.
Error: Non-whitespace before first tag.
Currently I think it is related to the HTTP response that I am getting after I hit the feed URL. As the response is garbled I can't give it to the xml2js.
Currently I am avoiding the erroneous feed urls.
Thanks anyways.

Any fix?

This probably isn't the library's fault. Make sure you're not trying to parse the entire result object of some ajax request and just the XML data.

I have the same issue. Any solutions?

Try this...
fs = require('fs');
var parseString = require('xml2js').parseString;
fs.readFile('../storage/epg/epg.xml', function(err, data) {
var data = data.toString().replace("\ufeff", "");
parseString(data, function (err, result) {
console.dir(result);
});
});

XML files are utf8 and when stored as a file should have a binary header ("\ufeff").  The previous comment solve this by removing it before passing it.  An alternative is to use fs.readfile which will deal with the header.
'''
fs.readFile('../simple test.xml', function(err, data) {
var doc = new xmldoc.XmlDocument(data);
'''

Thanks everyone for sharing your solutions and to the authors of this library for creating it! This thread was helpful to me.
In case it helps someone else, here's a full example, going from xml file with binary headers to writing the results to a file.
const fs = require('fs');
const util = require('util')
const parseString = require('xml2js').parseString;
const fileToParse = ('./my-file.xml')
const outputFilename=('output.json')

fs.readFile(fileToParse, function (err, data) {
    parseString(data, function (err, result) {
        console.dir(result);
        if (err) {
            console.log(err)
        }
       // do something with the JS object called result, or see below to save as JSON
        fs.writeFile('output.json', JSON.stringify(result), (writeErr) => {
            if (writeErr) throw writeErr;
            console.log('The file has been saved to ' + outputFilename);
        });
    });
});

If you try to write the JS object straight to a file, you get [Object object] in the file, so I converted to JSON.

I had the same issue, but then I realized I was trying to parse the entire response object of an AJAX request instead of just the response data.

fk me

I used a try and catch block, worked perfectly for me.

@justintemps, you just saved me, thank you so much!! haha

Try passing
{
    preserveWhitespace: true
}

In options when instantiating the client.

This may be overkill or an obtuse approach but this did the trick for my https server receiving XML webhooks.
This snippet depends on express and I'm using DOMParser from xmldom to clean the data before it is parsed.
app.post("/test", (req, res) => {
  let body = '';
  req.setEncoding('utf8');
  req.on("data", (chunk) => {
    body += chunk;
  });
  req.on('end', () => {
    const tempData = body.toString();
    try {
      const cleanData = new DOMParser().parseFromString(tempData, "text/xml");
      return parseString(cleanData, (err, result) => {
        if (err) {
          console.log(err)
          res.statusCode = 400;
          return res.end("Error 2: " + err)
        } else {
          console.log(result);
          res.statusCode = 200;
          return res.end("Success.");
        }
      });
    } catch (err) {
      console.log(err);
      res.statusCode = 400;
      return res.end("Error 1: " + err);
    }
  });
});

Console:

Ngrok inspection:

I had the same issue, but then I realized I was trying to parse the entire response object of an AJAX request instead of just the response data.


lora on mistral error

I did convert the model using the mistral instructions not the lora instructions.
I move the mistral-7B-v0.1 path from mistral to lora folder and run this instructions and got the following error:
python lora.py --model mistral-7B-v0.1/ \
               --train \
               --iters 600
Loading pretrained model
Traceback (most recent call last):
  File "/Users/ethangodin/Github/mlx-examples/lora/lora.py", line 288, in <module>
    model, tokenizer = load_model(args.model)
  File "/Users/ethangodin/Github/mlx-examples/lora/lora.py", line 270, in load_model
    model_args = ModelArgs(**config)
TypeError: __init__() got an unexpected keyword argument 'sliding_window'

I think the documentation is not so clear on the "path" vs "filename" that could be improved :
python convert.py --torch_model  mistral-7B-v0.1 --mlx_model mistral-7B-v0.1/mlx_mistral_7b.npz
python lora.py --model mistral-7B-v0.1/mlx_mistral_7b.npz --train --iters 600

So in the LoRA documenation it says:
python convert.py <path_to_torch_model> <path_to_mlx_model>
The input and output paths are directories and the conversion script should make a new params.json in the output directory that is what the lora.py script expects.
If you use the lora conversion you should be good to go, otherwise you can copy the params.json from the original Mistral model and remove the sliding_window field.


MoveToPokemonMap - number of workers and snipe

Is snipe safe way to catch pokemons? Also what as best number of workers depending on city size to get best results? My city is about 16x22km and I'm looking for good amount of workers to scan.

There's a tool in the PokemonGo-Map under Tools called beehive generator, it generates a ssh which starts multiple accounts from a csv file
https://github.com/PokemonGoMap/PokemonGo-Map/blob/develop/Tools/Hex-Beehive-Generator/Instructions_for_location_generator.txt


Multi-signature Isn't Functional

User Story
As a user, I want to create a multisig wallet without needing the public key to be in my own wallet.
Description
Type: Bug
Summary: When attempting to make a multisig wallet, my address returned with no errors, however, the 3rd part address returned "no full public key for address...". The 3rd part then attempted the same but my address returned the same error. I also tried adding the 3rd party's address as a watch-only address but this also did not work.
Having given the code a brief look, I could be wrong, but I believe that the code here:
            // Case 1: Bulwark address and we have full public key:
            CBitcoinAddress address(keyString);
            if (pwalletMain && address.IsValid()) {
                CKeyID keyID;
                if (!address.GetKeyID(keyID)) {
                    throw runtime_error(
                        strprintf("%s does not refer to a key", keyString));
                }
                CPubKey vchPubKey;
                if (!pwalletMain->GetPubKey(keyID, vchPubKey))
                    throw runtime_error(
                        strprintf("no full public key for address %s", keyString));
                if (!vchPubKey.IsFullyValid()){
                    string sKey = keyString.empty()?"(empty)":keyString;
                    throw runtime_error(" Invalid public key: " + sKey );
                }
                pubkeys[i++] = vchPubKey;
            }

Is checking for the full public key in the wallet, which negates the whole purpose of multisig if one user has all the keys anyway.
Expected behavior
I believe that the expected behavior is that you would be able to make a multisig address without needing all private keys involved.
Actual behavior
The actual behavior is that you need all private keys involved to make the multisig address.
Reproduction

Open Bulwark
File>Multi-signature creation
Enter a public address from your own wallet, and a address from a 3rd party's wallet
Do the same on the 3rd party's wallet
Both will reject the other wallet's address

Solution
Summary:
I'm unsure as to what you would do to fix this.
Additional Information

Bulwark version: <IP_ADDRESS>
Operating System: Windows

Logs
Debug file download link: https://instant.io/#0b55cc05519c65a79add0e30c20fc06014cf3c1b

For reference, this is how Bitcoin handles multisig.
https://github.com/bitcoin/bitcoin/blob/af20f9b1d485582b8c8aa8294bac4f2c540246d2/src/rpc/util.cpp#L46
And here is PIVX's implementation.
https://github.com/PIVX-Project/PIVX/pull/278/commits/a20202d841675596c9380c9de0b14662d98552cd
Trying to offer what I can.

You don't need all of the private keys to create a Multisig Address but you will need the public keys which can't be derived from a Bulwark Address. You can use the command validateaddress to get the public key of an address you own

In which case I think we should add clearer instructions to the window, that the 3rd parties need the hex versions of their public keys. This would offer a huge benefit to user experience for less technical people.
I'll make a PR shortly with some ideas for better instructions.

So to summarise, all the features (creating addy, creating transactions, and signing) do work, but could use some clearer instructions or a nice guide. I'll put this together myself and submit it for review.


Multi-Language Support and Instance Management Enhancements

Description
This feature request proposes two key enhancements to improve the user experience and flexibility of the NetBird platform:
1. Multi-Language Support for the NetBird UI
Implement multilingual support for the NetBird user interface to cater to a diverse, global user base. This feature will allow users to switch between languages, making the platform more accessible and user-friendly in non-English-speaking regions.
2. Enhanced Instance Management for Multiple Clients/Systems

Endpoint Selection/Switching: Introduce functionality that enables users to manage and switch seamlessly between multiple NetBird instances. This is particularly beneficial for administrators or service providers who need to access and manage networks across various clients or systems. For example, an IT administrator overseeing multiple client networks can quickly switch between instances without the need to log out and reconfigure connections each time.

(Instance Organization: Allow users to label and organize multiple instances for easy identification (e.g., "Client A," "Client B," or "Internal System").)

Customizable Domain for Self-Hosted Instances: Enable users to customize the internal domain used for peer addressing in self-hosted instances (e.g., changing from the default netbird.selfhosted to a user-defined domain). This customization would facilitate better integration with existing network infrastructures and improve clarity in environments with multiple clients or systems.

Benefits

Multi-Language Support: Enhances usability and inclusivity by accommodating users in their native languages.

Streamlined Access to Multiple Systems: Simplifies workflows for users handling multiple client deployments or systems, improving productivity and reducing time spent on configuration.

Customizable Domain: Provides flexibility and better integration with existing network infrastructures, aligning with organizational or client-specific needs.

Implementation Suggestions

Multi-Language Support: Utilize a language file structure or localization libraries to enable translation support.

Instance Management: Develop a dropdown or UI element for switching between instances, allowing users to save and organize endpoint configurations for quick access.

Customizable Domain: Allow configuration of the internal domain through environment variables or settings during the setup of self-hosted instances. For example, modifying the --dns-domain parameter in the docker-compose.yml file to set a custom domain for peer addressing.

Conclusion
These enhancements will make NetBird a more versatile and user-centric platform, improving accessibility, usability, and scalability for users managing multiple clients or systems.

Thank you for considering this feature request!

You can already customize domain for self-hosted management instances by adding the flag --single-account-mode-domain=<your_domain_here> or by setting NETBIRD_MGMT_DNS_DOMAIN in setup.env on new instances using the files in infrastructure_files


Feat: Add missing metrics for DefiLlama

Task split off from interlay/interbtc-ui#1520
Implement missing metrics needed to provide data to DefiLlama.
DefiLlama instructions: https://docs.llama.fi/list-your-project/submit-a-project
Alexei's notes (copied and edited from Discord):
Add adapters to DeFiLLama for the:

DEX
Lending

And update them for

Staking

Here are examples for DeFiLlama adapters:
For our bridge collateral:
https://github.com/DefiLlama/DefiLlama-Adapters/tree/main/projects/interlay-collateral
For staking:
https://github.com/DefiLlama/DefiLlama-Adapters/tree/main/projects/interlay-staking
And here is an exmaple of acala-dex
https://github.com/DefiLlama/DefiLlama-Adapters/tree/main/projects/acala-dex

This issue may be obsolete after completing the following UI issue: https://github.com/interlay/interbtc-ui/issues/1596
To be reviewed after that has been completed

Closing this issue. No further work on Squid expected following the completion of interlay/interbtc-ui#1596


Issue on mac

I am trying to run chat.py on mac and getting this error.I have downloaded the latest chrome and driver for it.
 File "chat.py", line 250
    sys.exit(print(e, decorateMsg("\n\tChromedriver Error. Read the above error (if any), then\n\tCheck if installed chromedriver version is compatible with installed Chrome version.", bcolors.WARNING)))
                 ^
SyntaxError: invalid syntax

#7
Use python3, not 2


Images not uploading, files do work

Hi, after the upgrade (and eventually a clean install) of the Laravel Filemanager I can't seem to upload an image (.png and .jpg both don't work). However, files (.txt, .doc) do work without a problem. With this I am using the default Laravel structure (so /public as documentRoot) and have CHMOD and CHOWN all the proper folders.
Any idea what is going wrong and what I can try to make this work? I don't see any errors in console and everything else seems to be loading perfectly fine. Also, previous versions where working really well.
This is the output of php ./vendor/unisharp/laravel-filemanager/bin/debug.
OS System & Version: Linux SERVERNAMESTUFF.x86_64 #1 SMP Wed Jan 18 13:06:36 UTC 2017 x86_64
Laravel Version: v5.3.31
File Manager Version: v1.7.6
imagick Extension: Install
gd Extension: Install

Did you update the filemanager lately? You may want to look at the new config file, there are a few new settings. One of them being a memory_limit in the config file that get's increased before uploads. Most issues lately for not being able to update are caused by memory limits being hit.
See this file and line for what I mean: https://github.com/UniSharp/laravel-filemanager/blob/master/src/config/lfm.php#L167, I increased this to 512M myself and I hardly get any errors since. It's still an issue sometimes, but that's due to GD and not caused by laravel-filemanager.

THanks, but unfortunately this didn't solve the problem. I still can't upload images, but it doesn't show me why...no console errors, no Exceptions, nothing :(

Does it looks like it's working, but nothing is uploaded? Can you check your console, there should be a request to an /upload route. You may want to check if the response there is "OK".
I tested with both GD en Imagick, when using Imagick I got an "OK" response but no file was uploaded. When using GD it worked, but only after I enabled exif. The upload script from laravel-filemanger tries to rotate the image based on it's orientation. Without exif this fails and nothing is being returned as upload (while the response is still "OK").

Yay, enabling EXIF worked! Awesome, thanks!

I tried every thing  on my ubunut 16.04 from permission to downgrade/upgrade lfm. but problem was still there. I was able to upload a file but no success in image uploads. i also installed EXIF, but after trying every thing when i installed PHP-GD by sudo apt-get install php7.0-gd   it solved my problem.


[Port] Use System.Reflection.Pointer in MethodInfo.Invoke scenarios

Neither Project N, nor CoreRT support reflection invoking methods that return unmanaged pointer types (or methods that pass it by reference). This is because System.Reflection.Pointer wasn't part of the framework profile.
With netstandard 2.0 the type is making a comeback and we will need to support this at some point.

As discussed offline, this will require some toolchain work to unblock the corelib work.

Now TFS 457960


When using --follow_mouse windows aren't focusable

What steps will reproduce the problem?
1. Use the "key-mon --follow_mouse" command
2. Notice the problem, you can't click on any other window, you can't focus
them.

Please provide any additional information below.

I am using Ubuntu 14.04 with Xfce 4.10 with key-mon 1.17.
Thanks.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 1 Sep 2014 at 5:16

It appears that no clicks are registered, possibly because the yellow circle receives them?


Fixed window spliting axis bug and restructured code to show intent more clearly

Fixed a bug where after you close a window the following focus event triggered reports the wrong width and height for that window. This leads to the wrong decision on splitvor splith and the next window ends up spliting along the wrong axis.
The fix involves just ignoring the node data received from the event and fetching it ourselves via get_tree().
I also restructured the code to something I find more readable, less nesting, early return etc. Let me if you'd like me to remove these changes.
I had inspiration from the following project when I was trying to locate the bug.
This project also runs a lookup with the equivalent get_tree() to get the focuses_node.
https://github.com/nwg-piotr/autotiling/blob/58de027b790d56515b202d4a26abe7fda9cd9dbc/autotiling/main.py

Cheers, LGTM.

after you close a window the following focus event triggered reports the wrong width and height for that window.
This isn't actually a bug in sway or i3, is it?

Nice.

This isn't actually a bug in sway or i3, is it?

It might be, I haven't actually dug that far. It doesn't seem to be a problem with `swayipc' atleast because I checked the data in that layer.

How easily reproducible is it? Might be worth reporting.


Google pay button is not showing

@A-Tokyo  Google pay button is not showing to me. Is it need any additional  configuration?

Hey @suresh1502067, Google Pay and Apple pay require extra configuration to react-native-web-view as can be seen here https://github.com/A-Tokyo/react-native-stripe-checkout-webview#apple-pay-and-google-pay
Good luck!


ISSUE-1024 Refactor TopologyCatalogResource (also API endpoint paths)

split up TopologyCatalogResource into three pieces

new resources: TopologyDashboardResource, TopologyActionResource

change some of REST API endpoints which are moved to TopologyDashboardResource
modify UI side as well

This closes #1024.

Copying comment from #1024 given that I've not address it yet and would like to hear opinion before making progress.
https://github.com/hortonworks/streamline/issues/1024#issuecomment-345925613

I'd also like to not mix up actions for runtime and catalog: import, export, clone has actions in the path on API endpoint, which may conflict with TopologyAction.
If we want to keep actions in the path for them, I'd rather like to change TopologyAction to TopologyRuntime, and also make changes on API endpoint paths and module names respectively, cause they're related to runtime.

Manually tested.
I found another API endpoints (cluster, namespace) which also rely on flag option as well, but this issue was brought from #1023 so would want to address it later if we agree with removing flag option.

+1


Shelljs EXEC does not work when running a pre-compiled binary application

Node version:
v18.19.1
ShellJS version (the most recent version/Github branch you see the bug on):
0.8.5
Operating system:
WSL2 Kali Linux
Description of the bug:

When I try using exec()  with a pre-compile binary from nmap-formatter (the binary file was around 9mb), it worked fine.
But when I used exec() with cvemap (the binary file was around 24mb), it just stops, even though I can run it normally on the terminal it owns.

Example ShellJS command to reproduce the error:

let shell = require('shelljs')
async function getCveMapDetails(cveId) {
    console.log(`Executing cvemap tool for CVE: ${cveId}`);
    try {
        const output = await shell.exec(`${CVEMAP_DIR} -id ${cveId} -json`);
        console.log(`cvemap tool output: ${output}`);
        return JSON.parse(output);
    } catch (error) {
      console.error(`Error fetching CVE details for ${cveId}: ${error}`);
      return {};
    }
  }

//try the get cve details
const cveDetails = await getCveMapDetails('CVE-2010-2075');
console.log("get cve details successful.");

//Console log:
Executing cvemap tool for CVE: CVE-2010-2075
//It just stand right here

I tried that cvemap with this for help page and it run smoothly, but not other function.
shell.exec(`${CVEMAP_DIR} -h`)

The CVEMAP output when performing something is output line by line, is that an issue with shelljs?

shell.exec() waits for the process to finish, then it returns all the output. I think shell.exec() can also print output line by line, but it won't terminate until the command you're running finishes.
If that's not what you want, you can try using shell.exec() in async mode. Check out the README for how to do that.

I changed to spawnSync , using it directly from 'child_process', and it just worked, Imma perform it with Shelljs again in the future.
Also this error was done, but not using ShellJS, should I close this issue?

Closing as not reproducible. Let me know if you switch back to shell.exec() and see this error.


Remove s390x, arm32 for jdk21 debian from jenkins job if arch=all

Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

/merge

/approve

I'm a little reluctant to approve this given s390x will be good for the next release, and hopefully we can look at pushing arm32 forward.
Since we're able to complete this for the 21.0.1 release without using all I would suggest we do that for this release and avoid having to remember to back these changes out and accidentally failing to ship the excluded platforms next time round.

Yes, we can complete the release without using all. However this change actually should be part of https://github.com/adoptium/installer/pull/757/files.

@sophia-guo Do you want to close this PR then?


ModuleNotFoundError

Hi,
Following the steps to run AlphaFold via the Colab module, the "Search against genetic databases" cell cannot find the 'alphafold.model' module. Note : the "Download AlphaFold" code ran without problem so I assume the module should be installed.
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-22-1640ae7ce3a3> in <module>()
     24 import py3Dmol
     25
---> 26 from alphafold.model import model
     27 from alphafold.model import config
     28 from alphafold.model import data

ModuleNotFoundError: No module named 'alphafold.model'

Hi,
I had a similar issue. Unable to run the code

Can you add following cells anywhere & run & paste the outputs after you encounter the error.
1.
!ls /opt/conda/lib/python3.7/site-packages |head
2.
print(sys.path)

I added this after the "Download AlphaFold" cell, and here is the output I get :
1.
brotli
brotlipy-0.7.0-py3.7.egg-info
certifi
certifi-2021.5.30-py3.7.egg-info
cffi
cffi-1.14.6.dist-info
_cffi_backend.cpython-37m-x86_64-linux-gnu.so
chardet
chardet-4.0.0.dist-info
conda

['', '/content', '/env/python', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/dist-packages', '/usr/lib/python3/dist-packages', '/usr/local/lib/python3.7/dist-packages/IPython/extensions', '/root/.ipython']  Note : I had to import sys first;)

print(sys.path) does not work before you run the cell "Search against genetic databases" thus I wrote "after you  encounter the error" (sorry it must be 'encountered').
Anyway it looks like the cell 'Download AlphaFold' failed (Modules are not installed).
Did you try
Runtime > Factory reset runtime
& re-run as described in https://github.com/deepmind/alphafold/issues/45#issuecomment-885585043 ?

Indeed, it seems that AlphaFold modules were not properly installed, even if I didn't get any error there.
Doing Runtime -> Factory reset runtime solves the problem.
Thanks!

Runtime > Factory reset runtime
for the third time worked!
Thank you


decouple passing arguments to data sources from model creation

currently data can only be passed into the model in the model file as file arguments. To get other types of data into the model would be hacky. Also for batch simulations it makes more sense for simulation layer to hold onto arguments and load them, and then run them.

this was closed by pr #58


Add info about IVAN Spinsights to README.md

While at it add myself as a project contributor.

I modified your README.md to make the links clickable. It is PR #780


Copy 0.13.x files directly to .kalite dir

Edit: A WIP. Need to test this out comprehensively.
We avoid copying the files to a temp location first, since it could require
a lot of storage space and take a long time.
Fixes #179.

Tested on Windows 7. Feel confident about it, but I need to test it out on XP. It's come to my attention that xcopy may not be available on XP?

xcopy is available on Windows XP. IMO the fix is good. Encountered the same issue as https://github.com/learningequality/installers/pull/218#issuecomment-149738405, but that is seemingly due to a missing build step.

@aronasorman or @benjaoming or @cpauya, can someone review this? Some notes on my changes to make evaluation easier will follow, we can also schedule a chat.

Hi @MCGallaspy - Sorry took a long while to respond here.  I'm still setting-up my Win 7 VM (my old one already expired).  Hopefully will be done by tomorrow to be able to run and check this out. :smile_cat:

:+1:

@MCGallaspy I tested your PR in IE11-Win7, I compare it with 0.15.0 from https://learningequality.org/r/windows-installer-0-15. I observed that the time during upgrade process of 0.3.2 to 0.15.0 from https://learningequality.org/r/windows-installer-0-15 was the same, as I upgrade 0.3.2 to the build from your PR. Maybe I need to have more data so that I can compare the time involve during upgrade. I will test it again with more data today.

@djallado if you want to test this out without downloading a bunch of videos, you could just put several large files in the content directory of a 0.13 install.

I tried 3.95 GB of data in content folder, upgrading from 0.13.2 to the build from your PR is faster compare to upgrading from 0.13.2 to 0.15.0 from https://learningequality.org/r/windows-installer-0-15.

Okay, if there are any other issues hopefully we'll turn them up during more comprehensive testing.


python3Packages.poetry-plugin-export: 1.1.2 -> 1.2.0

Description of changes
python3Packages.poetry-plugin-export: 1.1.2 -> 1.2.0
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1638

Already in #208232

Already in #208232

Oh! great ! I'll close #208632 too as it is also updated !


Request for heat utility in molecular sieve

Hello, in the source code of the molecular sieve (https://github.com/BioSTEAMDevelopmentGroup/biosteam/blob/master/biosteam/units/molecular_sieve.py), the heat utility of molecular sieve seems to be estimated. Why is the heat utility estimated instead of obtained through strict simulation? In addition, could I consult you how do you get the factor 1429.65 and -55.51 in self.add_heat_utility(1429.65 * flow, T) and self.add_heat_utility(-55.51 * flow, T) in the source code? Thanks for your help. Wish you a good day.
The source code of molecular sieve is as follows:
class MolecularSieve(Splitter):
_units = {'Flow rate': 'kg/hr'}
def init(self, ID='', ins=None, outs=(), *, order=None, split,
P=None, approx_duty=True):
Splitter.init(self, ID, ins, outs, order=order, split=split)
self.P = None
self.approx_duty = approx_duty
def _run(self):
    Splitter._run(self)
    P = self.P
    if P is None: P = self.ins[0].P
    for i in self.outs: i.P = P

def _design(self):
    self.design_results['Flow rate'] = flow = self._outs[1].F_mass
    if self.approx_duty:
        T = self.outs[0].T
        **self.add_heat_utility(1429.65 * flow, T)**
        **self.add_heat_utility(-55.51 * flow, T)**

The code is a preliminary model based on Humbird's results. It is certainly possible to introduce a rigorous model using thermal/pressure swing adsorption. I am not planning on doing this, but you are certainly welcome to do so!


Consider re-naming QPR 'seasons'?

Was just looking through old QPRs on this site, and noticed that somehow we skipped "Summer" in 2015.  We submit reports in Jan(1) / Apr(4) / Jul(7) / Oct(10).  The Library listing goes from "Spring 2015," which links to the 2015-07 PDF, to "Fall 2015," which links to the 2015-10 file, oops!  To clean-up, we can choose to re-name from the first going forward or working backwards from the most recent.  Happy to implement if you let me know which you think makes more sense.

One further wrinkle...  I see that we have our grant application and progress reports listed in two places on the site: at the top of both the 'Meta' and 'Library' pages.  The season names are the same in both places, but we still have that hiccup between Spring 2015 and later quarters.  (Also, on the Meta page, the Fall 2015 report is not shown at all).  So, whatever we decide for Library, we can fix here, too.  Or, we can delete the listing on Meta and just keep everything on Library to avoid duplication/mismatch issues.

@ddorinson  - renamed the April 2015 report to Spring in both places.  Took <60 seconds.
See: 5aaf318cde6bd78eed56109c3b3315b3ad368c89


Does it support 4:2:2 8/10 bits?

Does the codec support 4:2:2 8 and 10 bits input format?

no, they are not supported, and now there is no plan to support.


[FEATURE] Contributors page

Description
As this is an open-source project having a section dedicated to contributors is a common practice. I would like to add a page that contains the contributor's information in the card form. It might inspire people to contribute to this project.
Solution:
This is how I'm gonna implement the contributor's page.
We can use Github API which does not require any API key to fetch our contributor's data and we will present that contributor's data in the form of cards with proper UI. We can provide the link to contributor's page on the navbar
Screenshots
Here's an example of a contributor's page that I implemented on another site.
https://github.com/Bookingjini-Labs/bookingjini-icons/assets/86224794/e812fb68-7b39-4087-b5e6-3062e42fc6d1
Additional information
No response

@AlfiyaSiddique No Need


API reference for ruby LibUI?

Hey there libui-folks,
If you look at rubygems.org for libui, you get to the documentation entry, and then a link towards,
for instance, this website:
https://www.rubydoc.info/gems/libui/0.1.2/LibUI
This contains some useful information, such as:
TextStretchSemiExpanded = 5

or
https://www.rubydoc.info/gems/libui/0.1.2/LibUI.open_type_features_add
.open_type_features_add(otf, a, b, c, d, value) ⇒ Object

(Useful for an API / reference point of view.)
However had, I also ran this tiny .rb script just now:
require 'libui'

pp LibUI.methods.sort

And I got all the toplevel methods sorted, here:
 :set_temporary_name,
 :singleton_class,
 :singleton_class?,
 :singleton_method,
 :singleton_methods,
 :slider_has_tool_tip,
 :slider_on_changed,
 :slider_on_released,
 :slider_set_has_tool_tip,
 :slider_set_range,
 :slider_set_value,
 :slider_value,
 :spinbox_on_changed,
 :spinbox_set_value,
 :spinbox_value,
 :tab_append,
 :tab_delete,
 :tab_insert_at,
 :tab_margined,
 :tab_num_pages,
 :tab_set_margined,
 :table_append_button_column,
 :table_append_checkbox_column,
 :table_append_checkbox_text_column,
 :table_append_image_column,
 :table_append_image_text_column,
 :table_append_progress_bar_column,
 :table_append_text_column,
 :table_column_set_width,
 :table_column_width,
 :table_get_selection,
 :table_get_selection_mode,
 :table_header_on_clicked,
 :table_header_set_sort_indicator,
 :table_header_set_visible,
 :table_header_sort_indicator,
 :table_header_visible,
 :table_model_row_changed,
 :table_model_row_deleted,
 :table_model_row_inserted,
 :table_on_row_clicked,
 :table_on_row_double_clicked,
 :table_on_selection_changed,
 :table_set_selection,
 :table_set_selection_mode,
 :table_value_color,
 :table_value_get_type,
 :table_value_image,
 :table_value_int,
 :table_value_string,
 :tap,
 :then,
 :timer,
 :to_enum,
 :to_s,
 :undef_method,
 :undefined_instance_methods,
 :uninit,
 :user_bug_cannot_set_parent_on_toplevel,
 :window_borderless,
 :window_content_size,
 :window_focused,
 :window_fullscreen,
 :window_margined,
 :window_on_closing,
 :window_on_content_size_changed,
 :window_on_focus_changed,
 :window_resizeable,
 :window_set_borderless,
 :window_set_child,
 :window_set_content_size,
 :window_set_fullscreen,
 :window_set_margined,
 :window_set_resizeable,
 :window_set_title,
 :window_title,
 :yield_self]

And about three hundred method names more.
But ... where can we read up documentation about these?
For many it is easy to figure out what it means, e. g.
LibUI.window_set_title()

Is for setting a title. :)
But for several others, one has to make a guess.
I understand that the ruby code wraps over the C code, which in itself
is not massively documented either, going down to andlabs not documenting
everything in his spare time, but ... can we improve on the documentation
somehow? Ideally even with some examples.
I can implement helper-code in my own libui-wrapper (it is currently not
on rubygems.org; I intend to eventually have it all back up on github,
but right now reallife delays this, so it may take a little more time before
my old code is all back up again), but often I am not entirely certain what
to do, and looking up at the official C sources of libui-ng is ... well, you kind
of need to know C and I am not really good at C. Sometimes I can infer
from the names or the body of a function, but often I really don't know what
to do, and libui-ng also lacks examples, unfortunately. The ruby gem has
various examples, but I think not for every method listed above.
Could we build up a more complete API reference for ruby LibUI? If so, how
can we go about this for methods that are not clear or easy to understand?
In what format could this API reference be made? Ideally it could be hosted
directly at https://www.rubydoc.info/, but the format of rubydoc isn't that
great either, so I am not sure what to do in order to improve it.
The end goal should be that every method exposed by C libui-ng, can also be
documented in ruby - at the least with one working (small) example. Ideally
also with one or two sentences about the job of this, in particular for those
methods that are not easy to understand instantly, such as:
:attribute_family
:attributed_string_grapheme_to_byte_index
:control_enabled_to_user
:draw_matrix_transform_point

and various other methods like that. (For those that are easier to understand,
we can perhaps skip writing too much documentation, but method names that
are strange, should ideally have some kind of explanation. Perhaps having an
example is more important, as people can figure out things on their own if
an example is to the point. For instance, one example for .draw_matrix_transform_point;
I assume it has to do with free drawing, but what example could showcase this?)

I built Glimmer DSL for LibUI by using all features of the Ruby LibUI binding without having any issues with missing documentation. That's because I knew that it was an FFI binding, so the full documentation is available in this file:
https://github.com/kojix2/LibUI/blob/main/lib/libui/ffi.rb
This follows the Agile principle of "self-documenting code", which obviates the need for extra documentation:
https://dev.to/mattlewandowski93/writing-self-documenting-code-4lga
Additionally, I relied on the libui-ng headers:
https://github.com/libui-ng/libui-ng/blob/master/ui.h
And, I go to girb (Glimmer IRB) and run this command every once in a while when I need to remember some methods from the LibUI Ruby binding:
LibUI.methods.sort - Object.methods

Outputs:
 =>
[:alloc_control,
 :append_features,
 :area_begin_user_window_move,
 :area_begin_user_window_resize,
 :area_queue_redraw_all,
 :area_scroll_to,
 :area_set_size,
 ...

In fact, I put all those low-level methods in the Glimmer DSL for LibUI README for quick reference in general:
https://github.com/AndyObtiva/glimmer-dsl-libui?tab=readme-ov-file#original-api
I think the cost/benefit ratio for implementing additional full documentation is too high. But, if you have the time for it, you are welcome to add extra Ruby documentation or implement a doc build automatically from the FFI files or C headers.
In any case, the recommended way to use LibUI the productive Ruby way is by relying on Glimmer DSL for LibUI, which simplifies the usage of LibUI significantly and removes the need for you to know about all the low-level details. It's like you don't use Assembly language programming in day-to-day programming because it's too low-level, requiring very verbose expensive to maintain code while taking much longer to finish work, which is why you use higher-level programming languages. Glimmer similarly offers a DSL that is higher level than low-level binding programming. The recommended way to learn Glimmer DSL for LibUI is to go through all its samples as they provide near 100% coverage of all LibUI features (and, the README covers any missing things usually, so practically speaking, nothing that matters should be missing). And, then try to change those samples to suit your application needs. There is also a wealth of extra tutorials for Glimmer DSL for LibUI like the RubyConf 2022 talk and the RubyConf 2023 workshop. If you get stuck after that and need help with a specific application you are building, hit me up about it in Glimmer Gitter chat provided you provide app code and ask me specific questions about a specific app you are building, not some random questions without code.

Thank you for your comment.
I understand that RubyFeedback values documentation using Yard very much. It seems that your work revolves more around that than GitHub. However, I simply don’t have the time to maintain documentation.
In the past, I worked on a project called GR.rb (which, like LibUI, uses Fiddle and also provides Ruby-FFI-like features through the Fiddley module), and I aimed for perfect documentation. However, I failed. The reason was that I couldn’t allocate enough time and energy to keep up with changes upstream.
Andy put it concisely:

I think the cost/benefit ratio for implementing additional full documentation is too high.

But, LibUI is a community open-source project, so if you have the time for it, you are welcome to be helpful by adding extra Ruby documentation or implement a doc build automatically from the FFI files or C headers.

On the other hand, from my perspective, programming for RubyFeedback seems to be like a personal oasis, an artistic activity where you build your own pyramid. It seems that productivity isn’t much of a concern for you, and I can understand that. After all, doing bioinformatics with Ruby, as I do, could also be seen as a rather ridiculous pursuit from an objective point of view.
My real job is in medical research, and while I often slack off and play with computers, the time I can spend on open-source software is limited, and it gets smaller every year.
Please refer to the full libui-ng documentation when needed. I do that as well. To be honest, I’m just connecting C functions to Ruby methods and don’t really understand libui. Running the libui-ng code line by line takes immense patience. Andy might have done it.
 The original author of libui might come the closest, but they have probably forgotten most of the project by now. Plus, many new functions have been added to libui-ng, so it’s doubtful that even they fully understand it anymore.
Nobody else fully understands it either. There are many things like this in the world...
Your replies on GitHub often feel more like casual letters than technical discussions expected in the issue section.
Some people may not like that, but I love it.
I don’t know where you are in the world, but maybe somewhere in Eastern Europe?
Please continue your great work!
(Translate from Japanese to English with ChatGPT 4o)


Update build-test-pr.yml

Codecov Report

Merging #1 (2e69c52) into dev (2a846f1) will decrease coverage by 1.82%.
The diff coverage is 82.24%.

Flag
Coverage Δ

*Carryforward flag

msal-angular
96.26% <100.00%> (-0.14%)
:arrow_down:
Carriedforward from d7bcb71

msal-browser
86.79% <80.67%> (-0.98%)
:arrow_down:
Carriedforward from d7bcb71

msal-common
81.99% <84.78%> (-3.43%)
:arrow_down:
Carriedforward from d7bcb71

msal-core
75.26% <ø> (-1.82%)
:arrow_down:
Carriedforward from d7bcb71

msal-node
80.72% <ø> (-1.21%)
:arrow_down:

msal-react
93.92% <100.00%> (-0.28%)
:arrow_down:
Carriedforward from d7bcb71

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files
Coverage Δ

...b/msal-browser/src/app/IPublicClientApplication.ts
48.27% <0.00%> (-1.73%)
:arrow_down:

...b/msal-common/src/client/ClientCredentialClient.ts
77.61% <ø> (ø)

lib/msal-common/src/client/DeviceCodeClient.ts
84.81% <ø> (ø)

lib/msal-common/src/client/OnBehalfOfClient.ts
68.67% <ø> (ø)

lib/msal-common/src/client/RefreshTokenClient.ts
64.94% <ø> (ø)

...b/msal-common/src/client/UsernamePasswordClient.ts
81.25% <ø> (ø)

lib/msal-common/src/crypto/ICrypto.ts
40.00% <0.00%> (-4.45%)
:arrow_down:

lib/msal-common/src/network/ThrottlingUtils.ts
90.90% <ø> (ø)

lib/msal-browser/src/cache/BrowserCacheManager.ts
93.03% <38.46%> (-1.00%)
:arrow_down:

...wser/src/interaction_handler/InteractionHandler.ts
67.92% <54.54%> (-3.19%)
:arrow_down:

... and 101 more


OCPBUGS-1871: Fix machine not going failed with invalid vmsize

This error needs to be InvalidMachineConfiguration, because machine goes failed only if it finds error of that type.

/hold Might not always be invalid

/unhold
We treat failure to send request to create machine as invalid machine configuration, so I think failure to retrieve instance type information can be invalid machine configuration as well.

/jira refresh

/override ci/prow/e2e-azure-operator
The failure in the e2e is resolved by openshift/machine-api-operator#1076 and the tests that didn't run are autoscaler related, confident this change isn't going to break those

/hold
@RadekManak There are some comments in the bug about the message having changed, how would you like to resolve that?

Made it more clear that the request has not failed when the machine type is not found and added lists of valid VMsizes to the error.
/unhold

/lgtm
/retest-required

/retest-required

/retest-required

/retest-required

/hold
This failed QE, seems we need to do a similar change in another part of the code when we haven't got accelerated networking enabled

/retest
Did the tests get stuck?

/label qe-approved

/lgtm
/retest-required

/retest-required

/retest-required

/retest-required

/retest-required

/override ci/prow/e2e-azure-operator
This failed on the penultimate test which we are working on fixing, this is a known issue. I don't believe this PR is causing any problems. All the previous tests have passed and 2 of the 4 autoscaler tests passed indicating the autoscaler is also functional


Default branch is now main

As part of Google’s ongoing efforts to foster inclusive language, we’ve changed the default branch of this project to main. We encourage contributors to do the same for their forks and local development environments in order to minimize issues when creating pull requests.

Sorry wrong repo :)


Build the minimal image

I think it would be good if you can document the steps to build a minimal image for use with Docker. The image on Docker hub seems to be ~550MB.
S

What about webhippie/vulcand? :)

@tboerger  No offence but Trusted build from mailgun would be preferred by more people. Also if you can build a static binary you can use tricks from the link below to reduce your image size further.
https://github.com/jamiemccrindle/dockerception

Whatever you prefer, 102MB container size including tools like logstash-forwarder is already not bad. My 35.600 downloads are trusted enough from my side :D

size 50MB psitrax/vulcand (system  AlpineLinux)  and "run /usr/bin/vulcand -apiInterface=<IP_ADDRESS> -interface=<IP_ADDRESS> -etcd=http://"you-ip":4001 -port=80 -apiPort=8182"

ended up creating my image from Alpine and static build of the application.


Performance Data endpoint (GET /performance-data.csv)

Retrieve performance data from API (/performance/data) and converts/serve
the JSON data as CSV file.
Cache-Control header is set to encourage clients to cache the result
for a week (604,800 seconds) as this data gets updated roughly on a
weekly basis.
Ticket: https://dsdmoj.atlassian.net/browse/MTP-1894

Thanks for the review Igor 🌟


Ssprod 7609

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area driver-kmod

/area driver-ebpf

/area libscap

/area libsinsp

/area tests

/area proposals

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

@VadimZy: Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

c5d3b40 Fill thread loginuid with default value -1, if /proc loginuid is unavailable
6f716b9 parse other container variables in static container
75abfc1 Track container user info and expose via user.name (#7)
22f4e2e Enhancements to initial scan of /proc, for supportability
1f04fa6 Merge pull request #3 from draios/sync_dev_6-25-2021-v2-rebased
20672ab Rename docker_async_instruction to docker_lookup_request
62e873e Fix comparison of docker_lookup_requests
c2b09a3 Pass container_id as a const ref to docker_lookup_request ctor
9872782 Move docker_lookup_request to a separate file
a2ccba1 Pass docker socket to the async engine separately for each request
7604e1e Move platform-specific Docker-API code to a separate class
c914142 Remove docker_connection::build_request
6b5a752 Move docker_async_source to its own source file
b4b7e6c Pass a complete request to parse_docker_async
9705217 Move most of docker::resolve to a new method
b322a15 Move common docker bits to a base class
16584fe Split Linux/Windows docker implementations
f4b5ce9 Split docker_async_source::parse_docker into helper methods
0caad1c Support Podman quirks in docker_async_source
8579804 Support Podman container engine
47b6d57 Add a podman_owner_uid label for rootless Podman containers
f78b617 Actually enable the Podman engine
a5435d6 Support sinsp::restart_capture_at_filepos for fd-based captures
5f738c6 SSPROD-7609, create sinsp_evt copy routine

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Welcome @VadimZy! It looks like this is your first PR to falcosecurity/libs 🎉

Hi @VadimZy. Thanks for your PR.
I'm waiting for a falcosecurity member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@VadimZy: Adding label do-not-merge/contains-merge-commits because PR contains merge commits, which are not allowed in this repository.
Use git rebase to reapply your commits on top of the target branch. Detailed instructions for doing so can be found here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: VadimZy
To complete the pull request process, please assign ldegio after the PR has been reviewed.
You can assign the PR to them by writing /assign @ldegio in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

wrong target branch


Editor Input should use ScanCodes instead of KeyCodes

As reported in this forum thread, keyboard layout mapping is currently an issue using the default OpenTK backend.
This can likely be fixed by merging the appropriate AdamsLair/OpenTK branch, publishing a new version of the OpenTK dependency and updating the Duality OpenTK backend using the new release.

Related issue on the OpenTK repo with a description of this.
Fixed branch on the AdamsLair fork of OpenTK.

Some thoughts on this in the above forum thread. Quote:

I've been thinking about this and am now unsure as to whether or not this really is a bug - or valid behavior that should be kept this way.

The current situation is, OpenTK (and Duality) assumes an american QWERTY keyboard layout and will report key events regardless of whether or not the user actually has a different layout. This means, the key that is at the position where, on the american keyboard, Q is, will always be reported as the Q key, regardless of the character output it produces or the letter that is printed onto the physical key.

Contrarily, using virtual keys will make sure Q will always be where the physical key with the Q letter is. A Q will always be a Q, but the position changes.

Now imagine you develop a game with WASD movement and deploy it. What would you expect: That the default control settings always map to the actual W, A S and D keys, or that the control settings still map to the keys in the same physical location - even though the letter on them may be different?

Putting it in other words: Right now, the default key input will result in us all having the familiar "WASD" controls (WASD for QWERTY keyboards and ZQSD for AZERTY keyboards) - whereas switching to a layouted virtual key model will result in everyone with a different keyboard layout having to remap their keys so they are in the proper physical location.

Games are different to text processing software in that the physical location of the key matters more than the meaning of the key. (And if you really need to know the character input you received, the CharInput property should do the trick) Therefore, I'm currently in favor of keeping things the way they are and closing this issue for now.

That said, editor and launcher input events should be synchronized. If the launcher / OpenTK uses scancodes, the editor keyboard input should do the same.

The editor now reports scancode-based keys to the Duality core, now being in sync with the launcher again.
Closing this.


test changesets

Description

...
...
...

Related issue(s)

We require all PRs to follow Conventional Commits specification.
More details 👇🏼
 No release type found in pull request title "test changesets". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit


[$250] Search - Expense shows From User B to User A when User A pays User B (pay someone)

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

Version Number: 9.0.8-1
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to DM with any user
Click + > Pay [X email]
Enter amount and pay the user
Go to Search
Look for the payment sent in Step 4

Expected Result:
The expense should display "From User A to User B"
Actual Result:
The expense displays "From User B to User A", where User B is the receiver and User A is the payer.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/28634f64-536c-4db0-bb6d-a0d565289f2b
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01bcec74253fa9dcd4
Upwork Job ID:<PHONE_NUMBER>397470742
Last Price Increase: 2024-07-17

Issue OwnerCurrent Issue Owner: @luacmartins

@Christinadobrzyn  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Oh yeah this is a good catch - I think it's part of Wave- Collect. I'm not sure if this needs to be internal but let's start external.

Proposal
Please rewrite the problem we are trying to solve in this question.
The expense displays “From user B to user A”, where user B is the receiver and user A is the payer.
What is the root cause of this problem?
The video attached to this Issue does not match the problem mentioned, but following what is written in “Action Performed” I believe I have reproduced the problem.
The ParentNavigationSubtitle.tsx component is rendering the content using the translate() function, passing the 'threads.from' string as a parameter.
If this is not the problem, I apologize for the misinterpretation.
What changes do you think we should make to solve the problem?
I suggest making an addition to threads in the file src/languages/en.ts to include the to option.
threads: {
         to: 'To',
         ...
},

This way, we can use ...translate('threads.to') in the ParentNavigationSubtitle.tsx component to render the content correctly.
The updated content is shown below:

Please disregard my proposal because it is not in line with the problem.

@luacmartins for vis on this one.

@rojiphil can you take a peek at this proposal - https://github.com/Expensify/App/issues/45611#issuecomment-2236415812

Reviewing today

I think @dominictb has the correct RCA, but IMO this should be fixed on the server so we send the correct values to the client.

Hmm we already have similar logic in the backend, but I'm not sure that comparing just reportType and amounts is enough. I wonder if we also need to check if this is a Send money request or not. cc @mountiny do you know?

Yeah thats fair @luacmartins I think we could add check for the IOUDetails in message to confirm its Send money flow

@mountiny so it's not enough to compare the report type and amount sign for the paid case, right? We also need to identify that the request type for send?

yeah I think that we ideally check for the type=pay && IOUDetails.size() like here wherever we need to catch the send money flow

PR in review

The PR looks like it's been deployed already! Wow! I'll keep an eye out for the payment automessage

This issue was worked on internally. Not sure that there's any payment due here.

Not sure if there's any payment due here.

yea... no payment for me here

Oh perfect, thanks for confirming. Since there are no payments - Do you want me to just close this out now or wait for the 7-day window @luacmartins?

Thanks for asking! We can close this out, since the backend PR was deployed and the issue is fixed.


Errors when events contain utf8 characters

If events contain emojis we end up with error messages like:
t=2021-07-09T17:28:25+0000 lvl=eror msg="failed to download file" workerId=7 createdAt=2021-07-09T15:00:00+0000 error="Error 1366: Incorrect string value: '\\xF0\\x9F\\x98\\x84 \"...' for column 'data' at row 1"

\xF0\x9F\x98\x84 is the utf8 representation of 😄 , and it appears that we need to update the database schema and connection character sets to properly handle utf8 characters.

Yes, I know :smile: I have a branch somewhere that changes the JSON decoding and don't fail on emojis. I will try to push that up and open a PR. Currently we don't parse the contents such as emojis hence we probably don't need to change the database schema now. Maybe later, but would require re-import everything - the solution is built for that in mind though, but takes quite some time :smile:


Change subject only for the BCC

I'm using
require("sendgrid-php/sendgrid-php.php");

$from = new SendGrid\Email("Me", "me@example.com");
$to = new SendGrid\Email("Customer", "customer@test.com");
$bcc = new SendGrid\Email("Me", "me@example.com");

$subject = "Test subject";
$content = new SendGrid\Content("text/plain", "Test content");

$mail = new SendGrid\Mail($from, $subject, $to, $content);
$mail->personalization[0]->addBcc($bcc);

$response = (new \SendGrid($sendgridapikey))->client->mail()->send()->post($mail);

to send an email to someone, and as a BCC to myself. It works.
Now I'd like to modify the subject, but only for the BCC-to-myself email. How to do this?
NB: I don't want to change the API version since everything works like it is here ^ and it took a lot of time to configure it :)

Hello @josephernest,
To add a different subject for the bcc email address, you would need a different personalization object that had its own subject. I'm not sure if this would be the desired outcome though, as that new personalization object would be a separate email. But perhaps you can achieve the desired effect by copying the contents of the primary email into the second personalization.
With Best Regards,
Elmer

Thank you! Could you add a sample code to do this?
On Friday, 5 April 2019, Elmer Thomas<EMAIL_ADDRESS>wrote:

Hello @josephernest https://github.com/josephernest,
To add a different subject for the bcc email address, you would need a
different personalization object that had its own subject. I'm not sure if
this would be the desired outcome though, as that new personalization
object would be a separate email. But perhaps you can achieve the desired
effect by copying the contents of the primary email into the second
personalization.
With Best Regards,
Elmer
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sendgrid/sendgrid-php/issues/823#issuecomment-480309278,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF4eEyKl7l8pesF8VrNxtwuXmJb8y50vks5vd2WugaJpZM4cbQFk
.

Hello @josephernest,
You can try something like this. Please let me know how it goes.
With Best Regards,
Elmer


dependency updates 20231020

flake.lock: Update
chore: add more tested-by

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1205728013439142

https://hackage.haskell.org/package/wai-handler-hal-<IP_ADDRESS>/revisions/


ARROW-5866: [C++] Remove duplicate library in cpp/Brewfile

Codecov Report

Merging #4816 into master will increase coverage by 0.56%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4816      +/-   ##
==========================================
+ Coverage   88.51%   89.08%   +0.56%
==========================================
  Files         911      720     -191
  Lines      115310   100086   -15224
  Branches     1418        0    -1418
==========================================
- Hits       102070    89164   -12906
+ Misses      12878    10922    -1956
+ Partials      362        0     -362

Impacted Files
Coverage Δ

cpp/src/arrow/io/readahead.cc
95.91% <0%> (-1.03%)
:arrow_down:

go/arrow/ipc/writer.go

go/arrow/math/uint64_amd64.go

go/arrow/memory/memory_avx2_amd64.go

go/arrow/ipc/file_reader.go

js/src/builder/index.ts

js/src/enum.ts

go/arrow/array/builder.go

js/src/util/fn.ts

js/src/Arrow.node.ts

... and 184 more

Continue to review full report at Codecov.

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


feat: Configurable database seeder connection timeout

Description

Added timeout to values.yaml. Already handled by the schema, generically.
Added templating to database, propagating the data in the values.yaml into the pod environment.
Extended the seeder script to use the value from the environment.

Motivation and Context
#1191
:warning: On looking at the modified code I am not sure why a configurable timeout is needed. The command where the timeout applies is wrapped into a loop which repeats forever until the database is ready. Regardless of timeout used AFAICT.
As such I am not sure of the original diagnosis in #1191 :warning:
How Has This Been Tested?
Used a minikube to deploy kubecf, with the new key set to
features:
  embedded_database:
    connect_timeout: 10

and inspected the generated kube object to verify that

It contains the value in the proper/new environment variable.
The inlined script properly used the new environment variable.

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code has security implications.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

⚠ On looking at the modified code I am not sure why a configurable timeout is needed. The command where the timeout applies is wrapped into a loop which repeats forever until the database is ready. Regardless of timeout used AFAICT.

This issue is about the database being so slow that it takes more than 3 or 10, or even 12 seconds to connect.
So even though it retries, if the connection attempt is always aborted after 3 seconds, then it will never become ready.

@jandubois :bulb: thank you.


⚠ BeyondHD has degraded performance

In b87d974, BeyondHD ($BHD) experienced degraded performance:

HTTP code: 200
Response time: 2109 ms

Resolved: BeyondHD performance has improved in 3dc2eab.


CASMPET-5217 Update to strimzi 0.27.0

Summary and Scope
Updates to use strimzi 0.27.0. This is being done to lower our CVE count and provide the proper CVE-2021-44228 fix.
Is this change backwards incompatible, backwards compatible, or a backwards compatible bugfix?
Issues and Related PRs
List and characterize relationship to Jira/Github issues and other pull requests. Be sure to list dependencies.

Partially Resolves CASMPET-5217

Testing
Tested on:

Virtual Shasta

Test description:
How were the changes tested and success verified? If schema changes were part of this change, how were those handled in your upgrade/downgrade testing?

Were the install/upgrade-based validation checks/tests run (goss tests/install-validation doc)?
Were continuous integration tests run? If not, why?
Was upgrade tested? N, this jumps kafka from 2.3 to 2.8. I don't have any knowledge of how we test to validate that kafka can deal with the upgrade properly. This will need to be done on a bare metal system.
Was downgrade tested? N, this jumps kafka from 2.3 to 2.8. I don't have any knowledge of how we test to validate that kafka can deal with the downgrade properly. This will need to be done on a bare metal system.
Were new tests (or test issues/Jiras) created for this change?

Risks and Mitigations
This updates the strimzi CRD api from kafka.strimzi.io/v1alpha1 to kafka.strimzi.io/v1beta2. All charts that use this API will need to be updated. It will also bump us from Kafka 2.2.1 to 2.8.1, which will need additional testing as well.
Pull Request Checklist

[X] Version number(s) incremented, if applicable
[X] Copyrights updated
[X] License file intact
[X] Target branch correct
[ ] CHANGELOG.md updated
[ ] Testing is appropriate and complete, if applicable
[ ] HPC Product Announcement prepared, if applicable

Bumping the version now so we can get it into CSM 1.2 for testing.


caNN

Describe the bug
Initial setup of sveltkit fails
Logs
npx: installed 5 in 1.139s
/Users/xxxx/.npm/_npx/37606/lib/node_modules/create-svelte/bin.js:2
import fs from 'fs';
^^^^^^
SyntaxError: Cannot use import statement outside a module
SyntaxError: Cannot use import statement outside a module
at Module._compile (internal/modules/cjs/loader.js:895:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
at internal/main/run_main_module.js:17:11
To Reproduce
npm init svelte@next my-app
Expected behavior
a sveltkit app to scaffold itself
Severity
Prevents all usage of SvelteKit
Note: the more honest and specific you are here the more we will take you seriously.
Additional context
Add any other context about the problem here.

What node version are you using? You need at least the latest 12.x .

it was 12.1.3, but you are right, updating to 14.17.2 fixed it, thank you


Articles has a "back" button on, please remove it [SEED-680]

@saeedmb8 @peterp please review bug:13 fix

👍


GCD AND LCM OF TWO NUMBERS IN PYTHON

Move the code to Mathematics folder  and re-structure accordingly

I forked and cloned the file but couldn't find Mathematics folder. Shall I create a new one ?

simply run these command: git fetch && git pull


(SP: _) [Tutor's Homepage] Add block 'Active offers'

Add block 'Active offers' on tutor's 'Home page'.
FIGMA

Design under discussion


Namespace macros

What about changing
BOOST_HANA_NAMESPACE_BEGIN

by
namesapce  BOOST_HANA_NAMESPACE_OPEN {

and
BOOST_HANA_NAMESPACE_END

by
} BOOST_HANA_NAMESPACE_CLOSE

This reduces the syntactical noise of the macros, the braces are pair wised enabling folding in some editors.
namespace  BOOST_HANA_NAMESPACE_OPEN {
} BOOST_HANA_NAMESPACE_CLOSE

I don't think this reduces the syntactical noise of the macros (quite the contrary, in fact), because you have more symbols to type and you have to think about how the macro interacts with these symbols. The ease of interaction with editors is a valid point. What editor are you using?

But regardless, why would you want to fold a whole namespace, since it basically means folding the whole contents of the file given the structure of Hana's headers?

I'm using Eclipse. You are right that most of the headers (if not all) wouldn't profit from unfolding :(
Be free to close it if you don't find an advantage.

All I'm trying to see if whether that provides an advantage to users of some editor(s). For example, I know Sublime Text -- which I use -- wouldn't benefit from it much, but if this simple change is a big plus for many potential users, then it might be worth it to change. Is there an advantage to using what you propose in Eclipse?

I think I remember that the macro was put in place for forwards compatibility with the use of inline namespaces or something. If the macro is causing problems, maybe a simple script or refactoring tool could get the job done when the time comes.

The macro is not causing any problem to me, at least. @viboes Is there any advantage to doing what you propose in Eclipse?

Closing for lack of feedback.

Hello there! @ricejasonf linked this off my question on stackoverflow, hence I write to give my feedback.
Writing a namespace in the non-macro way, if the editor is able to take advantage of it, allows 3 things:

folding, which I really don't care about, honestly;
jumping from opening to closing curly braces;
being with the cursor on the closing/opening curly brace, the corresponding opening/closing curly brace can be shown in a popup.

The last two points are shown in the following screencast, where I first attempt jumping from macro to macro, which obviously doesn't work (resulting in jumping from the first jump-able thing down the file), and then edit the file to show the jumping and popup.

Hello there! @ricejasonf linked this off my question on stackoverflow, hence I write to give my feedback.
Writing a namespace in the non-macro way, if the editor is able to take advantage of it, allows 3 things:

folding, which I really don't care about, honestly;
jumping from opening to closing curly braces;
being with the cursor on the closing/opening curly brace, the corresponding opening/closing curly brace can be shown in a popup.

The last two points are shown in the following screencast, where I first attempt jumping from macro to macro, which obviously doesn't work (resulting in jumping from the first jump-able thing down the file), and then edit the file to show the jumping and popup.

As Jason said elsewhere, this was initially for forward compatibility with inline namespaces. This hasn't been relevant so far, and I don't think it will, so I'll make the change.


Crash when turning on Debug Painting

App error when toggling debug painting on. When toggled back off, page is cleared of content (not redrawn).
Steps to Reproduce
I was able to reproduce it with a tiny sample app. No action required other than debugging it and toggling debug paint.
See: https://gist.github.com/Nairou/06309af47e5d9af951be7aa53bcc1220
On my real app (more complex layout) where I originally found this issue, the error is accompanied by the app crashing on the emulator (keeps running on a real device).
Logs
When turning on Debug Painting:
Launching lib\main.dart on Pixel 2 XL in debug mode...
Built build\app\outputs\apk\debug\app-debug.apk.
I/flutter ( 7891): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter ( 7891): The following assertion was thrown during paint():
I/flutter ( 7891): 'package:flutter/src/rendering/sliver_padding.dart': Failed assertion: line 334 pos 18:
I/flutter ( 7891): 'innerRect.bottom <= outerRect.bottom': is not true.
I/flutter ( 7891):
I/flutter ( 7891): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter ( 7891): more information in this error message to help you determine and fix the underlying cause.
I/flutter ( 7891): In either case, please report this assertion by filing a bug on GitHub:
I/flutter ( 7891):   https://github.com/flutter/flutter/issues/new?template=BUG.md
I/flutter ( 7891):
I/flutter ( 7891): When the exception was thrown, this was the stack:
I/flutter ( 7891): #2      RenderSliverPadding.debugPaint.<anonymous closure>
I/flutter ( 7891): #3      RenderSliverPadding.debugPaint
I/flutter ( 7891): #4      RenderObject._paintWithContext.<anonymous closure>
I/flutter ( 7891): #5      RenderObject._paintWithContext
I/flutter ( 7891): #6      PaintingContext.paintChild
I/flutter ( 7891): #7      RenderViewportBase._paintContents
I/flutter ( 7891): #8      RenderViewportBase.paint
I/flutter ( 7891): #9      RenderObject._paintWithContext
I/flutter ( 7891): #10     PaintingContext._repaintCompositedChild
I/flutter ( 7891): #11     PaintingContext.repaintCompositedChild
I/flutter ( 7891): #12     PipelineOwner.flushPaint
I/flutter ( 7891): #13     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame
I/flutter ( 7891): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame
I/flutter ( 7891): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback
I/flutter ( 7891): #16     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback
I/flutter ( 7891): #17     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame
I/flutter ( 7891): #18     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame
I/flutter ( 7891): #19     _invoke (dart:ui/hooks.dart:154:13)
I/flutter ( 7891): #20     _drawFrame (dart:ui/hooks.dart:143:3)
I/flutter ( 7891): (elided 2 frames from class _AssertionError)
I/flutter ( 7891):
I/flutter ( 7891): The following RenderObject was being processed when the exception was fired:
I/flutter ( 7891):   RenderViewport#7c06a
I/flutter ( 7891):   creator: Viewport ← _ScrollableScope ← IgnorePointer-[GlobalKey#a1291] ← Semantics ← Listener ←
I/flutter ( 7891):   _GestureSemantics ← RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#e4952] ←
I/flutter ( 7891):   _ScrollSemantics-[GlobalKey#20cb8] ← RepaintBoundary ← CustomPaint ← RepaintBoundary ←
I/flutter ( 7891):   NotificationListener<ScrollNotification> ← ⋯
I/flutter ( 7891):   parentData: <none> (can use size)
I/flutter ( 7891):   constraints: BoxConstraints(0.0<=w<=411.4, h=774.9)
I/flutter ( 7891):   layer: OffsetLayer#3d181
I/flutter ( 7891):   size: Size(411.4, 774.9)
I/flutter ( 7891):   axisDirection: up
I/flutter ( 7891):   crossAxisDirection: right
I/flutter ( 7891):   offset: ScrollPositionWithSingleContext#f524c(offset: 0.0, range: 0.0..0.0, viewport: 774.9,
I/flutter ( 7891):   ScrollableState, AlwaysScrollableScrollPhysics -> ClampingScrollPhysics, IdleScrollActivity#3eefa,
I/flutter ( 7891):   ScrollDirection.idle)
I/flutter ( 7891):   anchor: 0.0
I/flutter ( 7891): This RenderObject had the following descendants (showing up to depth 5):
I/flutter ( 7891):   RenderSliverPadding#36e2d relayoutBoundary=up1
I/flutter ( 7891):     RenderSliverList#95eaf relayoutBoundary=up2
I/flutter ( 7891):       RenderIndexedSemantics#914c1 relayoutBoundary=up3
I/flutter ( 7891):         RenderRepaintBoundary#b92af relayoutBoundary=up4
I/flutter ( 7891):           RenderParagraph#39392 relayoutBoundary=up5
I/flutter ( 7891): ════════════════════════════════════════════════════════════════════════════════════════════════════

When turning Debug Painting back off:
I/flutter ( 7891): Another exception was thrown: Tried to paint a RenderObject reentrantly.

Flutter Analyze
PS D:\dev\projects\crash_test> flutter analyze
Analyzing crash_test...
No issues found! (ran in 1.3s)

Flutter Doctor
PS D:\dev\projects\crash_test> flutter doctor -v
[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version 10.0.17763.316], locale en-US)
    • Flutter version 1.0.0 at D:\dev\tools\flutter
    • Framework revision 5391447fae (3 months ago), 2018-11-29 19:41:26 -0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at C:\Users\nairou\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[√] VS Code (version 1.31.1)
    • VS Code at C:\Users\nairou\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 2.23.0

[√] Connected device (2 available)
    • Pixel 2 XL                • 710KPAE0206352 • android-arm64 • Android 9 (API 28)
    • Android SDK built for x86 • emulator-5554  • android-x86   • Android 9 (API 28) (emulator)

• No issues found!

I can reproduce with
[✓] Flutter (Channel master, v1.2.3-pre.31, on Mac OS X 10.14.3 18D42, locale en-AT)

Weird but it's only happening on VSCode, not on the Android Studio

Happening on Android Studio:
Flutter (Channel master, v1.6.2-pre.29, on Mac OS X 10.14.5 18F132, locale en-US)
Both on Android and iOS.

Happening to me with:
[✓] Flutter (Channel beta, v1.7.8+hotfix.3, on Mac OS X 10.14.5 18F132, locale en-DE)
    • Flutter version 1.7.8+hotfix.3 at /Users/miquel/dev/tools/flutter
    • Framework revision b712a172f9 (9 days ago), 2019-07-09 13:14:38 -0700
    • Engine revision 54ad777fd2
    • Dart version 2.4.0

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/miquel/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • CocoaPods version 1.7.0

[✓] iOS tools - develop for iOS devices
    • ios-deploy 1.9.4

[✓] IntelliJ IDEA Ultimate Edition (version 2019.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 37.0.3
    • Dart plugin version 191.7830

[✓] Connected device (1 available)
    • iPhone X • 118AF3BE-C730-4748-8F48-58E04E9CA921 • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulator)

• No issues found!

Only with iOS devices.

This should only happens when you have AxisDirection.up of vertical scroll view( in this case the reverse = true), or AxisDirection.left of horizontal scroll view.
It throws exception because the code does not calculate innerRect and outerRect correctly.

that's my case indeed, as as I have an inverted ListView


Be more backend-agnostic...

(This directive is represented as a long-standing issue that should be kept open until the need for being "more backend-agnostic" diminishes. :) )
This currently asks for reducing/confining/controlling direct SFML dependencies, esp. in the API.
Other issues, and commits, that focus on specific aspects of this goal should refer to this (ideally).
Things like: #62, #90, #92, even #121 etc.

Use c++17's if __has_include(...)!
#define INC "__has_include.h"

#if __has_include(INC)
#include INC
#endif

Some related recent commits (forgot to mention this in those):

a2ac987ab6bdf3aec015c733598ca1dfe1da61ea
f2c5f0e7d35ad0a474217f52b71d11eee6720ca2
f2c5f0e7d35ad0a474217f52b71d11eee6720ca2