Medici version 5

Hi,
I worked the last couple of days on refactoring medici. It is now written in typescript and has a code coverage of 100%.
https://github.com/flash-oss/medici/issues/34
It can use ACID-Transactions and will have a better precision handling than the current implementation.
I hope that @koresar will release the new version next week.
It would be cool if you have a look at it.
https://github.com/flash-oss/medici/tree/typescript-migration
The current changes cover following fixes and added features:

Add support for MongoDB sessions (aka ACID transactions). See IOptions type.
Added a mongoTransaction-method, which is a convenience shortcut for mongoose.connection.transaction.
Added async helper method initModels, which initializes the underlying transactionModel and journalModel. Use this after you connected to  the MongoDB-Server if you want to use transactions. Or else you could get Unable to read from a snapshot due to pending collection catalog changes; please retry the operation.-Error when acquiring a session because the actual database-collection is still being created by the underlying mongoose-instance.
Node.js 12 is the lowest supported version. Although, 10 should still work fine, when using mongoose v5.
Mongoose v6 is the only supported version now. Avoid using both v5 and v6 in the same project.
MongoDB 4 and above is supported. You can still use MongoDB 3, but ACID-sessions could have issues.
You can't import book anymore. Only Book is supported. require("medici").Book.
The project was rewritten with TypeScript. Types are provided within the package now.
.ledger() returns lean Transaction-Objects for better performance. To retrieve hydrated Transaction-Objects, set lean to false in the third parameter of .ledger(). It is recommended to not hydrate the transactions, as it implies that the transactions could be manipulated and the data integrity of Medici could be risked.
You can now specify the precision. Book now accepts an optional second parameter, where you can set the precision used internally by Medici. Default value is 7 digits precision. Javascript has issues with floating points precision and can only handle 16 digits precision, like 0.1 + 0.2 results in 0.30000000000000004 and not 0.3. The default precision of 7 digits after decimal, results in the correct result of 0.1 + 0.2 = 0.3. The default value is taken from medici version 4.0.2. Be careful, if you use currency, which has more decimal points, e.g. Bitcoin has a precision of 8 digits after the comma. So for Bitcoin you should set the precision to 8. You can enforce an "only-Integer"-mode, by setting the precision to 0. But keep in mind that Javascript has a max safe integer limit of<PHONE_NUMBER>740991.
Added setJournalSchema and setTransactionSchema to use custom Schemas. It will ensure, that all relevant middlewares and methods are also added when using custom Schemas.
Added prototype-pollution protection when creating entries. Reserved words like __proto__ can not be used as properties of a Transaction or a Journal or their meta-Field as they will get silently filtered.

You are welcome for code review
https://github.com/flash-oss/medici/pull/35

Updated Changelog:

v5.0.0

The project was rewritten with TypeScript. Types are provided within the package now.
Added support for MongoDB sessions (aka ACID transactions). See IOptions type.
Added a mongoTransaction-method, which is a convenience shortcut for mongoose.connection.transaction.
Added async helper method initModels, which initializes the underlying transactionModel and journalModel. Use this after you connected to  the MongoDB-Server if you want to use transactions. Or else you could get Unable to read from a snapshot due to pending collection catalog changes; please retry the operation.-Error when acquiring a session because the actual database-collection is still being created by the underlying mongoose-instance.
Node.js 12 is the lowest supported version. Although, 10 should still work fine, when using mongoose v5.
Mongoose v6 is the only supported version now. Avoid using both v5 and v6 in the same project.
MongoDB 4 and above is supported. You can still use MongoDB 3, but ACID-sessions could have issues.
You can't import book anymore. Only Book is supported. require("medici").Book.
Added a new index on the transactionModel to improve paginated ledger queries.
.ledger() returns lean Transaction-Objects for better performance. To retrieve hydrated Transaction-Objects, set lean to false in the third parameter of .ledger(). It is recommended to not hydrate the transactions, as it implies that the transactions could be manipulated and the data integrity of Medici could be risked.
You can now specify the precision. Book now accepts an optional second parameter, where you can set the precision used internally by Medici. Default value is 7 digits precision. Javascript has issues with floating points precision and can only handle 16 digits precision, like 0.1 + 0.2 results in 0.30000000000000004 and not 0.3. The default precision of 7 digits after decimal, results in the correct result of 0.1 + 0.2 = 0.3. The default value is taken from medici version 4.0.2. Be careful, if you use currency, which has more decimal points, e.g. Bitcoin has a precision of 8 digits after the comma. So for Bitcoin you should set the precision to 8. You can enforce an "only-Integer"-mode, by setting the precision to 0. But keep in mind that Javascript has a max safe integer limit of<PHONE_NUMBER>740991.
Added maxAccountPath. You can set the maximum amount of account paths via the second parameter of Book. This can improve the performance of .balance() and .ledger() calls as it will then use the accounts attribute of the transactions as a filter.
Added validation for name of Book, maxAccountPath and precision. A name has to be not an empty string or a string containing only whitespaces. precision has to be an integer bigger or equal 0. maxAccountPath has to be an integer bigger or equal 0.
Added setJournalSchema and setTransactionSchema to use custom Schemas. It will ensure, that all relevant middlewares and methods are also added when using custom Schemas. Use syncIndexes-method from medici after setTransactionSchema to enforce the defined indexes on the models.
Added prototype-pollution protection when creating entries. Reserved words like __proto__ can not be used as properties of a Transaction or a Journal or their meta-Field as they will get silently filtered.
When calling book.void() the provided journal_id has to belong to the book. If the journal does not exist within the book, medici will throw a JournalNotFoundError. In medici < 5 you could theoretically void a journal of another book.
Added a trackAccountChanges-model to make it possible to call .balance() while using a mongo-session.

No worries mate. The changes you did are very well needed. We'll merge all the features you need. It's just Xmas, very busy time of the year for us. We'll get there.

@koresar
Dont worry. I am not pushing to merge it. Here in the galoy repo I try to get the galoy developers to have a look into the potential changes. Maybe they want also some changes specific for their needs.
Yesterday I invested the half day to figure out how we can ensure that accounts can not fall below 0 while being in a transaction (avoiding double spending), because @nicolasburtey mentioned they would like to have that feature. So the feature is now implemented :).
A typescript example:
import { Book, mongoTransaction } from "medici";

const mainLedger = new Book("mainLedger");

async function withdraw(walletId: string, amount: number) {
  return mongoTransaction(session => {

      await mainLedger
        .entry("Withdraw by User")
        .credit("Assets", amount)
        .debit(`Accounts:${walletId}`, amount)
        .commit({ session });

      // .balance() can be an resource-expensive operation. So we do it after we
      // created the journal.
      const balanceAfter = await mainLedger.balance(
        {
          account: `Accounts:${walletId}`,
        },
        { session }
      );

      // Avoid spending more than the wallet has
      if (balanceAfter.balance < 0) {
        throw new Error("Not enough balance in wallet.");
      }

      // MongoDB Performance Tuning (2021), p. 217
      // Reduce the Chance of Transient Transaction Errors by moving the
      // contentious statement to the end of the transaction.

      // We writelock only the account of the User/Wallet. If we writelock a very
      // often used account, like the fictitious Assets account in this example,
      // we would slow down the database extremely as the writelocks would make
      // it impossible to concurrently write in the database.
      // We only check the balance of the User/Wallet, so only this Account has to
      // be writelocked.
      await mainLedger.writelockAccounts([`Accounts:${walletId}`], { session });
  });
}

Imo it would be much better to implement this using optimistic concurrency on the journal collection  instead of locking via an additional Collection.
Perhaps we can have a chat about this @Uzlopak on zoom

AFAIK, distributed ACID transactions work in the optimistic way. This last writelockAccounts() is doing the version number check and will throw if number has changed.
Distributed ACID transactions do not lock anything per se. Although, if load is high you get a lot of  TransientTransactionError.

Let me talk about this line though:
      const balanceAfter = await mainLedger.balance(
        {
          account: `Accounts:${walletId}`,
        },
        { session }
      );

We have a "wallet" in our system with a million ledger transactions. This balance() check takes from 0.5 to 3 seconds.
I would not recommend the above approach to protect from double spending. I would rather keep the balance in a separate synchronised collection. Just like the "MongoDB Performance Tuning" depicts.

Medici v5 was released. Should be non-breaking upgrade for galoy.
See docs: https://github.com/flash-oss/medici#v500
High level overview.

The project was rewritten with TypeScript. Types are provided within the package now.
Added support for MongoDB sessions (aka ACID transactions). See IOptions type.
Did number of consistency, stability, server disk space, and speed improvements. Balance querying on massive databases with millions of documents are going to be much-much faster now. Like 10 to 1000 times faster.
Mongoose v5 and v6 are both supported now.

this has been merged


[Tracking Issue] RISC-V support

[x] #121
[x] #157

RIOT-rs is running nicely on the RISC-V esp32.


Fix scan now issue in the tag list

Coverage decreased (-0.03%) to 54.024% when pulling ed11c3d224baf36accef09fa4716f224c4c5277f on steven-zou:master into aa681eb018c7fc6fd2ad4213286ccec6dd0c9357 on vmware:master.


How to do fp16 training with PPOTrainer?

I modified the example from the official website to do PPO training with llama3 using lora. When I use fp16, the weights go to nan after the first update, which does not occur when using fp32.
Here is the code
# 0. imports
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

from trl import AutoModelForCausalLMWithValueHead, PPOConfig, PPOTrainer
from copy import deepcopy
from peft import LoraConfig, TaskType, get_peft_model

# 1. load a pretrained model
model_name = "meta-llama/Meta-Llama-3-8B-Instruct"
current_device = Accelerator().local_process_index
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    torch_dtype=torch.float16,
    trust_remote_code=True,
    attn_implementation="flash_attention_2",
)
lora_config = LoraConfig(
    task_type=TaskType.CAUSAL_LM,
    inference_mode=False,
    r=8,
    target_modules=["q_proj", "v_proj"],
    lora_alpha=16,
    lora_dropout=0,
)
model = get_peft_model(model, lora_config)
model = AutoModelForCausalLMWithValueHead.from_pretrained(model)
model_ref = deepcopy(model).eval()
tokenizer = AutoTokenizer.from_pretrained(model_name)
tokenizer.pad_token = tokenizer.eos_token

# 2. initialize trainer
ppo_config = {"mini_batch_size": 1, "batch_size": 1}
config = PPOConfig(**ppo_config)
ppo_trainer = PPOTrainer(config, model, model_ref, tokenizer)

# 3. encode a query
query_txt = "This morning I went to the "
query_tensor = tokenizer.encode(query_txt, return_tensors="pt").to(
    model.pretrained_model.device
)

# 4. generate model response
generation_kwargs = {
    "min_length": -1,
    "top_k": 0.0,
    "top_p": 1.0,
    "do_sample": True,
    "pad_token_id": tokenizer.eos_token_id,
    "max_new_tokens": 20,
}
response_tensor = ppo_trainer.generate(
    [item for item in query_tensor], return_prompt=False, **generation_kwargs
)
response_txt = tokenizer.decode(response_tensor[0])

# 5. define a reward for response
# (this could be any reward such as human feedback or output from another model)
reward = [torch.tensor(1.0, device=model.pretrained_model.device)]

# 6. train model with ppo
train_stats = ppo_trainer.step([query_tensor[0]], [response_tensor[0]], reward)

What is the correct way to do fp16 ppo training?

Hi @KwanWaiChung
I think running pure fp16 training will lead to too many instabilities, you can however train your model using fp16 mixed precision with torch.cuda.amp() context manager. For that, you need to load the model in float32 and add that context manager while specifying fp16 there.
The other solution could be to go for pure bf16 fine-tuning

Thank you. Changing to bf16 solve the problem.


Demo does not work in IE 11 on Windows 8.1 x64

Hangs at the "Loading ... " message.

Are there any errors logged in the console that might help?

On 29 Aug 2016, at 16:18, hhubik<EMAIL_ADDRESS>wrote:
Hangs at the "Loading ... " message.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

File: demo
SCRIPT438: Object doesn't support property or method 'keys'
File: demo.js, Line: 2032, Column: 1012
Not sure if this applies in this case, but I have seen other Angular2 apps having an issue with IE that got solved by using a polyfill as explained for example here
https://angular.io/docs/ts/latest/quickstart.html#!#index

Looks like I'd forgotten to import the es6-shim module, should be fixed now (I only have a mac so can't say for sure)

Just tried it in IE11 on my Windows box.  Looks good. Thanks.


fix(viperx): add type conversion to make sure viper knows what type a value should be

Related issue
closes https://github.com/ory/viper/issues/13
The type conversion is very ugly and only works for string slices, but that's most of the cases.
I think it would be an awesome feature in viper to set a type regardless of the default value. That would make this conversion obsolete.

@ArthurKnoep

ok @aeneasr we will probably have to make that change in viper

Yeah let’s fix it in ory/viper!


cc-wrapper: fix linking against GCC libs for non-GCC

Motivation for this change
clang++ currently links programs statically against libstdc++, which is not expected as upstream clang as well as g++ do not do so. It turns out that while gccForLibs.lib contains a libstdc++.so.6, the specified path does not exist (anymore?), so this change restores the likely intended behavior.
Without this change, clang finds a libstdc++.a by appending ../../.. to the -L flag above the changed line. Not sure where that is coming from, but with this change the flag order makes it find the .so first.
/cc @Ericson2314?
$ echo '#include <exception>\nint main() { throw std::exception(); }' > foo.cpp
$ nix shell nixpkgs#clang -c c++ foo.cpp
$ ldd a.out | grep libstd
$

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 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

[x] Fits CONTRIBUTING.md.

@alyssais @Ericson2314 ping

Still relevant.

How could I increase the level of urgency of this PR?

I've submitted another PR for this issue which also works in the cross-compilation case: https://github.com/NixOS/nixpkgs/pull/192459


Added a boolean property to Tile that indicates whether the value is changing.

For now this is only used by the SliderTileSkin
Similar to the JavaFX slider. The reason for this is that if you send the slider value via, e.g., some HTTP call to a backend you very likely won't do this any time the slider changes. By listening to the valueChanging property you get notified when the final slider value has been set.

Instead of adding another property you might want to add a listener to the valueProperty of Tile. This will always contain the final value and the currentValueProperty contains all values incl. the ones from one state to another (when animated == true). Meaning to say the valueProperty will always be set to the final value and if animated == true the currentValueProperty will contain all values from the animation.

Yes, eventually I will get the final value from the ChangeListener, but I don't know when this happens. The problem with the current set up is that I can only add a ChangeListener to the sliders value property. This listener gets notified every time the sliders is dragged. As an example, I want to change the slider from 1 to 5. The slider gives values in 0.1 intervals, so with a ChangeListener I would receive 40 values (give or take). In turn, I would make 40 calls to my backend to set the new value when I'm only interested in the last value. And with this ChangeListener: how would i know that 5 is the last value and that I can then make the call?
Just have a look at the JavaFX sliders valueChanging property.

Ok...now I got your point. So that means it would have the same effect when I fire a TileEvent when pressing the thumb and when releasing it right? I mean I can also fire events when dragging the thumb but that might not be needed. Implemented and tested it with a TileEvent.EventType.VALUE_CHANGING and TileEvent.EventType.VALUE_CHANGED.
What do you think...?

Code would look like follows:
tile.setOnTileEvent(EVENT -> {     switch(EVENT.getEventType()) {         case VALUE_CHANGING:             System.out.println("Value changing");             break;         case VALUE_CHANGED:             System.out.println("Value changed");             break;         } });

Yes, this would also be a solution for this. I just looked at the JavaFX slider to find out how they did it there.


bat: support darwin

Motivation for this change
This enables darwin support for bat.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build bat

Success on x86_64-linux (full log)
Attempted: bat
Partial log (click to expand)

installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/q1b0zdb4k27hd3ixsakn26dkvyl50i2q-bat-0.4.1
shrinking /nix/store/q1b0zdb4k27hd3ixsakn26dkvyl50i2q-bat-0.4.1/bin/bat
strip is /nix/store/21ymadblbmsbb2bk4q7gl4kjasp8zmgd-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/q1b0zdb4k27hd3ixsakn26dkvyl50i2q-bat-0.4.1/bin
patching script interpreter paths in /nix/store/q1b0zdb4k27hd3ixsakn26dkvyl50i2q-bat-0.4.1
checking for references to /build in /nix/store/q1b0zdb4k27hd3ixsakn26dkvyl50i2q-bat-0.4.1...
/nix/store/q1b0zdb4k27hd3ixsakn26dkvyl50i2q-bat-0.4.1

Success on aarch64-linux (full log)
Attempted: bat
Partial log (click to expand)

installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/lc3fxv0m6c2h7y8ljf7fs0zk8nsx6hyx-bat-0.4.1
shrinking /nix/store/lc3fxv0m6c2h7y8ljf7fs0zk8nsx6hyx-bat-0.4.1/bin/bat
strip is /nix/store/qg2agrqkf240s656d207zqhipl0bc2id-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/lc3fxv0m6c2h7y8ljf7fs0zk8nsx6hyx-bat-0.4.1/bin
patching script interpreter paths in /nix/store/lc3fxv0m6c2h7y8ljf7fs0zk8nsx6hyx-bat-0.4.1
checking for references to /build in /nix/store/lc3fxv0m6c2h7y8ljf7fs0zk8nsx6hyx-bat-0.4.1...
/nix/store/lc3fxv0m6c2h7y8ljf7fs0zk8nsx6hyx-bat-0.4.1

Success on x86_64-darwin (full log)
Attempted: bat
Partial log (click to expand)
test test_snapshots ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

installing
post-installation fixup
strip is /nix/store/yyak5sjv68n9vdgnkd2cb5djk1l9sqj5-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/3dwi3sljj8pqzmnb2asypkj49hpmvxc5-bat-0.4.1/bin
patching script interpreter paths in /nix/store/3dwi3sljj8pqzmnb2asypkj49hpmvxc5-bat-0.4.1
/nix/store/3dwi3sljj8pqzmnb2asypkj49hpmvxc5-bat-0.4.1


First boot issue

After the first boot a slide to unlock is shown, although no lockscreen enforcement after first boot is activated and the user selected "no lockscreen"

Is there any movement on this? Is it still relevant?

Hmm no don't think so, going to clean this up


allow doneRoute to be an object

#5877 - this PR updates the doneRoute used in receivers to be the alertmanagerconfig detail view, and updates ResourceYaml to allow doneRoute to be an object. (ResourceYaml already allows route objects via doneOverride but the instance used in CruResource sets doneOverride to a model property which wont work for this use case)

The change should also be made to master but that can wait for later.


Can anyone please help me to explain 'meta-labelling' in the most understandable form ?

Hey,
Assume you have a trading model to decide on the side of the bet, long or short. Usual thing is to open a position right away. Meta labeling is for making a decision on either opening or not opening those positions.
In practice, since you know the side of the bet and you have your labels, you already know if this is a profit or a loss (two classes 1,0). Using these two classes as the response variable and using the side as the input variable, you train a binary classification model like logistic regression to decide on either opening or not opening those positions. You can also decide on the size of the bet using the probability of the prediction.
Assumption is that a series of trading signals carry information that can be learned by ML.

Thanks you very much !!
My conclusion (please correct me if I sound wrong)
From our trading model we get the side of the bet (as 1 or 0, long or short respectively). We will use this in real environment for trading and get the real output as profit or loss (1 or 0, profit and loss receptively//similar as side). The 'output from model' as input the 'real trading output' as output we train a classifier, depending on the output of classifier we choose our positions
------ This is called Meta-labelling

I notice that de Prado will add additional inputs, beyond simply side (i.e. moving average plus side are the inputs, and binary output)
Does anybody have insight on which is preferred?  Because intuitively, we'd want to add more and more inputs beyond side as a trading signal in live trading

My understanding is that we want informative features in addition to the side during meta-labeling training to assist the model in discriminating between profitable and unprofitable signals.

My understanding is that we want informative features in addition to the side during meta-labeling training to assist the model in discriminating between profitable and unprofitable signals.

Opened an issue regarding this in the Ch3 notebook.

It isn't really explained very well theoretically. A few observations: it is basically a meta-probability model if you forget about bet-size and just focus on model B is predicting probability model A is correct given $Y_{pred}^A, X$. If you think of it like that, it is a way of adding capacity to a model (slightly more than double if you use the same model twice) but the first layer has some alternative objecting. A bit like boosting and stacking but the objectives are different between the models.
My suspicous is that when you include context data (X) you almost always are running out of data points if you do anything but classification on a binarized outcome. Quantile regression should help, I didn't see this discussed.
It would be interesting to see some work with these different model objectives but on layers of an algo (a "network"). You could vary the weights on these to go from the fullly disconnected model A to a blend of model A caring about it's objective and the overall objective.
Generally, adding extra objectives has a regularizing effect on these problems. This is likely the most intuitive way to think about if it actually makes sense.


fix: updating url rule

Updated url rule so that if only url["path"] or url["query"] is given, just path and query is generated.
EG: url["path"] will generate path like: "/random/path"
EG: url["query"] will generate query like: "?asd=abs"

:tada: This issue has been resolved in version 5.3.0-beta.8 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 5.4.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Create scripts for creating and delegating to validators

I create these to make it easier for myself to test staking-related functionality on my local devnet, by spinning up hundreds of validators and delegating to them in bulk.
Not sure these should actually exist in the web repo, or anywhere at all other than for my personal use. The delegation script specifically doesn't even work super well. But I didn't want to lose track of these. Thoughts? Should these be in core?

 It just seemed like the most natural choice since almost everything the script does is a command line command.


Potential loss of precision due to floating-point numbers

It is given that certain rational numbers can not be represented as floating point with any finite precision, and it's representation would have an endlessly repeating sequence, resulting in an approximation of the actual value. While this likely only affects the fractional part of numbers, there are other pitfalls, and depending on the level of precision, there are gaps between numbers (for example<PHONE_NUMBER>740993 doesn't exist, when using double).
At this point it is unclear, if the meta DEx might be affected by similar issues, which currently uses boost::multiprecision::cpp_dec_float_100 to represent numbers, which are further transformed into strings and cut after a certain number of digits. This primarily affects the calculation of unit prices, and related values, such as the updated amount desired by a seller, the updated amount desired by a buyer, the number of units a buyer receives, and the order matching, which is based on the unit price.
To avoid potential pitfalls related to floating-point numbers, suggestions so far were to use boost::rational to represent rational numbers, or to use boost::multiprecision::int128_t with plain integer math for the core calculations.
It should be discussed, whether this is an actual issue, and how it should be addressed.

I started to create very simple, almost trivial tests, but stopped quickly, as I noticed this issue became very relevant.
The tests follow the scheme:
Trade 2.00000000 MSC for 6.00000000 SPX
------------------------------------------

A offers 6.00000000 MSC for 2.00000000 SPX
B offers 2.00000000 SPX for 6.00000000 MSC

Order match and exchange of tokens expected.

Trade details and RPC output available in "standard output":

http://bitwatch.co/uploads/omnicore-cpp_float/

Some more via Boost tests with plain boost::multiprecision::cpp_dec_float_100:
typedef boost::multiprecision::cpp_dec_float_100 XDOUBLE;

check XDOUBLE(1) / XDOUBLE(2) == XDOUBLE(3) / XDOUBLE(6) failed [0.5 != 0.5]
check XDOUBLE(100) / XDOUBLE(200) == XDOUBLE(120) / XDOUBLE(240) failed [0.5 != 0.5]
check XDOUBLE(1) / XDOUBLE(3) == XDOUBLE(2) / XDOUBLE(3) failed [0.333333 != 0.666667]
check XDOUBLE(6) / XDOUBLE(9) == XDOUBLE(2) / XDOUBLE(3) failed [0.666667 != 0.666667]

Wrapping the comparison operators into std::string was an interesting idea, but unfortunally:
check std::string("2.0") < std::string("10.0") failed [result = false]

I'm probably going to give boost::rational a try tomorrow..
Similar behavior was actually observed some time ago: https://github.com/mastercoin-MSC/mastercore/issues/198

This is really good data - I'm surprised at the XDOUBLE stuff, really surprised.
XDOUBLE(6) / XDOUBLE(2) != XDOUBLE(9) / XDOUBLE(3) ?!?!?!?
There was some discussion about the fit of float here (given all the rest of our math is integer based) but I honestly thought you had to get really precise before float math became an issue - to see 6/2 != 9/3 was quite an eye opener.

I think the underlying issue is that the float point representation of 6/2 and 9/3 differs slightly, and this underlines why I'd prefer to use no float at all. As it looks like, the initial plan was to convert the results into strings, but this comes at a huge price: it must be done right, e.g.:

std::string("2") < std::string("10") => false, but
std::string("02") < std::string("10") => true

... and it comes with a significant performance hit.
As mentioned, I'll give boost::rational a try, or use integer math directly, see:

issues/9#issuecomment-94943784
issues/9#issuecomment-94974809

Just dumping some comments from the Skype chat in here:
Patrick
I think one structural revision to Dex nuts and bolts that merits consideration is avoiding Floats entirely
whole integers where 1 = .00000001 of the currency
wasn't there an exchange that got hacked because the withdrawal field got a stack overflow? Or some other craziness due to float slippage.
Thomas
yeesh, still using floats?  why?  because javascript?  or something fundamental to omni protocol?
yes, floats for tokens is… insane.
it was (recently) bitgo, and not a hack, but a mistake that caused 85 btc to go to a transaction fee because of vagaries of floating point arithmetic.
Patrick
I think the hack I had in mind was at BTC-e back in 2013 - hard to keep all the hacks straight.
Thomas
bitgo was this week
the point being.. yeah.  use intgers (emo)
Me
Hi guys, just for clarification, all math in OmniCore is integer based, with the exception of the "unit price" for a MetaDEx trade - an entirely temporary value used for trade matching that is not stored anywhere.  We are also using a special float with 100 digits of precision.  However even this we are currently looking at whether is suitable - long story short nothing is set in stone for MetaDEx as yet.  Hope that helps :)
FYI the bitgo stuff they're talking about got sorted because the mining pool was kind enough to return the 85 BTC processed as tx fee, but I think the moral of the story they're trying to get across is "floats are bad m'kay".  As I mentioned I'm not particularly knowledgable in this area, but if a particular float calculation cannot be guaranteed to return the same result given the same input values in all systems, I also agree we can't use them.

Looks like I found a sequence:
A offers 1.00000000 MDiv for 2.00000000 MSC
B offers 1.66666666 MSC  for 0.83333333 MDiv

Those offers should match, but currently don't at this point:
// Is the desired price check satisfied? The buyer's inverse price must be larger than that of the seller.
if (pnew->inversePrice() < sellers_price) {
    file_log("SKIP: %s < %s\n", xToString(pnew->inversePrice()), xToString(sellers_price));
    continue;
}

x_Trade(mzGqKZixwgGjNhoyfYnS6vctLS6k8WseES: prop=1, desprop=3, desprice= 2.00000000000000000000000000000000000000000000000000);newo: 0.50000000000000000000000000000000000000000000000000:mzGqKZixwgGjNhoyfYnS6vctLS6k8WseES in 205/001, txid: a6877cf97c , trade #1 1.66666666 for #3 0.83333333
SKIP: 2.00000000000000000000000000000000000000000000000000 < 2.00000000000000000000000000000000000000000000000000
x_Trade()=0:NOTHING

These offers should match, but currently don't, and the comparison fails here:

Isn't that because
if (pnew->inversePrice() < sellers_price) {
instead of
if (pnew->inversePrice() <= sellers_price) {
?

Isn't that because ...

Hehe, this is what I assumed too, but in this case it's:
inversePrice >= seller_price -> match
inversePrice <  seller_price -> no match

The issue above is indeed based on the floating numbers, and probably like 1/2 == 3/6, which should be equal, but isn't.

The issue above is indeed based on the floating numbers, and probably like 1/2 == 3/6, which should be equal, but isn't.

OK cool - FYI I found that if I upped DISPLAY_PRECISION_LENGTH to around 120, I started to see the actual differences in the floats.


feat: add icons

Adds a new icons/ package inside this project. In the future this new paragon-icons module should be published independently of paragon-react components. Until then, this structure keeps icons split from React source code.
All icons from the design documentation have been added (63 in all): https://openedx.atlassian.net/wiki/spaces/BPL/pages/2152661212/Iconography

This PR also includes an update to the <Icon /> component. A new src prop has been introduced for use with the newly added icons. For example:
import { Icon } from '@edx/paragon';
import { AddCircle } from '@edx/paragon/icons';

...

  <Icon src={AddCircle} />

If no src prop is provided, Icon will fallback to the old behavior thus remaining backward compatible until all teams can migrate to the new usage.

Coverage decreased (-0.1%) to 87.745% when pulling fcd8aee5c60877b5f73cd4d684305e21b9ca24ce on abutterworth/icons into bf7c776f01ec0ef66ca51a012df3a723d27efa37 on master.

Coverage decreased (-0.1%) to 87.745% when pulling fcd8aee5c60877b5f73cd4d684305e21b9ca24ce on abutterworth/icons into bf7c776f01ec0ef66ca51a012df3a723d27efa37 on master.

:tada: This PR is included in version 12.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 12.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add FormatterCollection with RemoveType method

#2945

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

:watch:

Changed it back to my original proposal using Collection<T> and LINQ and added a little documentation on the class.

Removed LINQ usage as proposed by @davidfowl.

@Krusen can you add a test?

@davidfowl Yes, of course. I have added a test. Let me know if it needs more tests or anything else.

:shipit: - looks good to me. I'll merge it shortly.

@rynowak also probably better to hold off pushing 'til we get Travis clean again.

Yeah, I'm looking at travis now. I suspect their RuntimeHelpers.GetHashCode doesn't handle null gracefully.

Merged: ec18b3512307f7cac66c26c0668b9bca05b52101 thanks!


Deprecated usage of io/ioutil package

Hi again,
I've noticed that you use ioutil.Readfile() to load external files — such as to load image data for album covers. The whole io/ioutil package is considered to be deprecated, since its functionality can be replicated in a much better way by other Go packages from the standard library.
More specifically, consider replacing ioutil.Readfile() with os.ReadFile(), which is pretty much a drop-in replacement, and you're using the os package anyway — so, saving you a few bytes from a package that you shouldn't use :-)
This is obviously low priority, I'm assuming that Google sticks to its policy of never breaking things under Go 1.X, and thus continuing to support deprecated packages for quite a while longer (we might never see a Go 2.0 version anyway!). Still, sticking to non-deprecated packages & functions makes linters and code inspection tools happy :) and are definitely recommended.

I haven't used Go in a bit (it's still my main). I'm considering porting my Crystal MP4 tag lib https://github.com/Sorrow446/mp4tag.cr. It doesn't rely on any MP4 library.


No update of config inside pianolux.local

Hi, the change made on web interface is not transmitted to esp32, no apply button,

Hi, the change made on web interface is not transmitted to esp32, no apply button,

Please elaborate more what are you trying to do, I have 0 clue about what issue are you trying to present.
Share details of things you are trying to do, the desired outcome you want from the feature of pianolux esp32 and the issue you are having with that feature.


Insert thruster failure

Insert thruster failure. Create a node that makes a thruster fail in a predetermined point of time.
Info: https://discuss.bluerobotics.com/t/is-it-possible-to-adapt-at-runtime-the-motors-contribution-to-the-6dof/13079/3

That said, given you’re specifically trying to simulate failures, you should be able to achieve an equivalent result by just disabling the output for the motor you want to “fail”. You can do that by setting the relevant SERVOn_FUNCTION parameter from Motor{n} to Disabled (0), which you can either set in QGC, or set directly with MAVLink (e.g. using a Pymavlink script). If you have a separate MAVLink endpoint set up for it you can even use a pymavlink script while QGroundControl is connected to the standard endpoint (e.g. to simulate a sudden live failure).

Done at 8c6feff


feat: styling on index.tsx without tailwind

Closes #380
✅ Checklist

[x] I have followed every step in the contributing guide (updated 2022-08-15).
[x] The PR title follows the convention we established conventional-commit
[x] I performed a functional test on my final commit

Changelog

Add styling to index.tsx files without tailwind using CSS moduls
Standardize TechnologyCard component
Add AuthShowcase from with-auth-trpc.tsx to with-auth-trpc-tw.tsx as well
Update CLI to install the CSS module when tailwind is not selected

Screenshots

💯

Duplicate of #386

You guys can battle it out on which CSS is better I guess ;)
I do think an entire installer for this is a bit overkill.
I proposed in #386 (which included the index.module.css by default, to remove the file in the tailwindInstaller. What do you think about that?

I proposed in #386 (which included the index.module.css by default, to remove the file in the tailwindInstaller. What do you think about that?

Yea sounds good. I won't touch this PR for a few days, feel free to merge the other one and close this when the installer stuff gets added :)

I proposed in #386 (which included the index.module.css by default, to remove the file in the tailwindInstaller. What do you think about that?

Yea sounds good. I won't touch this PR for a few days, feel free to merge the other one and close this when the installer stuff gets added :)

I was actually about to propose closing the other, this one is more complete and fixes some other niceties as well, but I guess we can fix those later

I think @c-ehrlich did a much better job than i did, i vote to merge this one

Sorry for the inconvenience on your first contribution @frederick-gomez, I hope it doesn't scare you away from contributing again in the future ⭐
@c-ehrlich are you able to fix the installer stuff or should I merge and make the final adjustments?

No worries, i'll try to help whenever i can

@c-ehrlich are you able to fix the installer stuff or should I merge and make the final adjustments?

either one is fine, ill probably have time for it tomorrow


VSCode insiders with latest electron does not work on ubutnu

parallels@ubuntu:~$ code-insiders --verbose
[26030:0725/111152.572988:FATAL:nss_util.cc(632)] NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required. Please upgrade to the latest NSS, and if you still get this error, contact your distribution maintainer.

fyi @chrmarti

On Ubuntu 14.04, this works around it: sudo apt-get install libnss3

Seems to be only the issue on Ubuntu 14.04

Fixed in https://github.com/Microsoft/vscode/commit/2f12e413432b228ffb006da72dc0d5e3fab3a1ca

I no longger have ubuntu 14.04 so I can not verify. @chrmarti can you please verify?

I downgraded to libnss3 2:3.15.4-1ubuntu7, but can still install code-insiders without upgrading libnss3 and that the fails as reported here. It looks like we need to include the epoch in the package version.

This problem occurs when launching the last official 1.26 on RHEL7.
[140720:0814/172715.230161:WARNING:browser_main_loop.cc(275)] <unknown>: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-5pHxz4cUAk: Connection refused [140720:0814/172718.546298:FATAL:nss_util.cc(632)] NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required. Please upgrade to the latest NSS, and if you still get this error, contact your distribution maintainer.
Any workaround ?


extract Unicode encodings from Type 0 fonts

We need to parse Type 0 font definitions and from them, define parsers that parse character codes into unicode symbols. See Type1Font.ddl as a model.

[x]  handling cases when no  ToUnicode
[ ] handling cases when we have ToUnicode, using CMaps

[x] add code for Type1  fonts (an easier case than Type0)
[ ] debugging the above (@mtullsen working on, somewhat blocked to due to #174)
[ ] extending the above to work for Type0 fonts


Feature/transition names

I made a small PR in order to solve: https://github.com/SchibstedSpain/Leku/issues/30

@alorma What could we do with this? Worth finishing it or do we close it?

i will fix the conflicts and update the PR.

Cool! Thanks! (priority low you know 😉 )

@alorma remember to update the Readme if the users need to make something to enable the transition animations on their side. Many thanks!


Pressing Esc to dismiss tooltip in REPL also clears commandline

I think this is new in VS 2017 update 3; I don't recall seeing it in update 2.
To repro: in the REPL, type anything that will pop up a tooltip, eg dir(). Press Esc. The commandline is cleared.

Reproes in PTVS too. Does not repro in 2015. Might be some subtle interactive window change.

Will try and get it to 15.3.2
https://github.com/Microsoft/RTVS/commit/379c11ee640511132851b7b2fb9f3f5b91a3b2d2


Adds localization context to Shopify queries

In order to ensure the correct currency is returned from Shopify, I've added the country variable to getShopifyVariables, to types, and as @inContext to the query  in useSanityShopifyProducts.
Fixes #1

@hdoro Take a look at the latest commit, I think that should do the trick.


Can vercel-php be used inside/part of a NextJS project?

Question
I'm writing a NextJS app (latest version, using app-dir) and stumbled upon your PHP Runtime for Vercel. Is that possible to use inside/part of a NextJS application hosted on Vercel?
Like, can I, with that, have a couple of API endpoints written in PHP, mixed in with the rest of the app, and have it deploy and run seamlessly together with everything else?

Hi, vercel-php is based on nodejs, thus it's possible to call some NPM scrips during build process.


AMD gpu issues / on both main and AMD branch

Describe the bug
Fail to init gpu packages, am i missing something? It was working perfectly until i tried installing this library and prob messed up the package versions i had
To Reproduce
Please attach a workflow file to make it easier for others to reproduce the error!
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Error in console:
Traceback (most recent call last):
  File "/home/rick/Documents/flux/venv/lib/python3.11/site-packages/torch/cuda/__init__.py", line 639, in _raw_device_count_amdsmi
    amdsmi.amdsmi_init()
    ^^^^^^
NameError: name 'amdsmi' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/rick/Documents/flux/ComfyUI/main.py", line 229, in <module>
    cuda_malloc_warning()
  File "/home/rick/Documents/flux/ComfyUI/main.py", line 94, in cuda_malloc_warning
    device_name = comfy.model_management.get_torch_device_name(device)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rick/Documents/flux/ComfyUI/comfy/model_management.py", line 263, in get_torch_device_name
    return "{} {} : {}".format(device, torch.cuda.get_device_name(device), allocator_backend)
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rick/Documents/flux/venv/lib/python3.11/site-packages/torch/cuda/__init__.py", line 435, in get_device_name
    return get_device_properties(device).name
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rick/Documents/flux/venv/lib/python3.11/site-packages/torch/cuda/__init__.py", line 467, in get_device_properties
    if device < 0 or device >= device_count():
                               ^^^^^^^^^^^^^^
  File "/home/rick/Documents/flux/venv/lib/python3.11/site-packages/torch/cuda/__init__.py", line 842, in device_count
    nvml_count = _device_count_amdsmi() if torch.version.hip else _device_count_nvml()
                 ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rick/Documents/flux/venv/lib/python3.11/site-packages/torch/cuda/__init__.py", line 764, in _device_count_amdsmi
    raw_cnt = _raw_device_count_amdsmi()
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rick/Documents/flux/venv/lib/python3.11/site-packages/torch/cuda/__init__.py", line 640, in _raw_device_count_amdsmi
    except amdsmi.AmdSmiException as e:
           ^^^^^^
NameError: name 'amdsmi' is not defined

Versions:
Copy the output of the console (4 parts), like this:
** Python version: 3.11.9 (main, Nov 10 2011, 15:00:00) [GCC 13.2.0]

Total VRAM 16368 MB, total RAM 31303 MB
pytorch version: 2.4.0+rocm6.1
Set vram state to: LOW_VRAM

[Crystools INFO] Crystools version: 1.16.6
[Crystools INFO] CPU: AMD Ryzen 7 7700X 8-Core Processor - Arch: x86_64 - OS: Linux 6.9.3-76060903-generic
[Crystools ERROR] Could not init pynvml (Nvidia).NVML Shared Library Not Found
[Crystools ERROR] Could not pick default device.name 'amdsmi' is not defined
[Crystools WARNING] No GPU with CUDA detected.

[Crystools INFO] Crystools version: 1.16.4
[Crystools INFO] CPU: AMD Ryzen 7 7700X 8-Core Processor - Arch: x86_64 - OS: Linux 6.9.3-76060903-generic
[Crystools ERROR] Could not init pynvml (Nvidia).NVML Shared Library Not Found
cat: /sys/module/amdgpu/initstate: No such file or directory
[Crystools ERROR] Could not init pyrsmi (AMD).ROCm driver initilization failed
[Crystools ERROR] Could not pick default device.name 'amdsmi' is not defined
[Crystools WARNING] No GPU with CUDA detected.

### Loading: ComfyUI-Manager (V2.50.2)
### ComfyUI Revision: 2617 [2ca8f6e2] | Released on '2024-08-26'

Additional context
Add any other context about the problem here.

Hitting this same issue as well.

Seems like the issue is related to the torch version, just downgrade and it should be fine:
pip install torch==2.3.0+rocm6.0 torchvision==0.18.0+rocm6.0 torchaudio==2.3.0+rocm6.0 --index-url https://download.pytorch.org/whl/rocm6.0

I had this issue too. The problem is with pyrsmi not with Crystaltools. I had to hardcode the path to my rocm_smi lib in pyrsmi.
I tried doing the right way by setting $ROCM_PATH but it wouldn't work with the combinations I tried.
I commented rocm_path and rocm_lib_path and then added a new line below.
rocm_lib_path = "/usr/lib64/librocm_smi64.so"
Crystaltools is displaying gpu, vram, and temp showing  in comfy now.


Minimap should pick up new colors when changing themes

VSCode Version: Code 1.17.2 (b813d12980308015bcd2b3a2f6efa5c810c33ba5, 2017-10-16T13:57:00.652Z)
OS Version: Linux x64 4.10.0-35-generic
Extensions:

Extension
Author (truncated)
Version

terminal-tabs
Tyr
0.1.1

(1 theme extensions excluded)

Repro steps:

Open a file
Change theme to one with a different background color

Closing and reopening files does not fix the issue, I needed a window reload to get the minimap to use the new theme background.

@Tyriar AFAIK this code is not platform specific. I have tried to reproduce on OSX and it works as expected.

I can also try on linux, but in the meantime, is this something you observe for any theme change or only for specific themes? Are you using workbench.colorCustomizations ?

Update: This also works as expected for me on Linux. I have tried Fedora Linux. Please let me know what further steps you have that can help me reproduce.

Turns out this happens when I switch between multiple themes packaged in the same extension I can see this (Ubuntu 17.04):

Theme: https://marketplace.visualstudio.com/items?itemName=Tyriar.theme-sapphire

The following built-in themes are all coming from the same extension, theme-defaults:

light
light+
dark
dark+

This appears to be a problem specific to the Sapphire themes. Would you like me to debug your Sapphire themes ?

I can reproduce specifically when switching between Sapphire themes. I have tracked the root cause to
TextMateService.compareTokenRules i.e. b5783867f397e7fbba0ce83320b337297797e5ab


fix: error "cache directory not exist" at first train run

Running training script as described in README.md now returns following error:
Traceback (most recent call last):
  File "main.py", line 172, in <module>
    train(opt, model, encoder_dim, device, dataset, criterion, optimizer, train_set, whole_train_set, whole_training_data_loader, epoch, writer)
  File "/home/docker_seqmatchnet/SeqMatchNet/train.py", line 32, in train
    with h5py.File(train_set.cache, mode='w') as h5:
  File "/opt/conda/lib/python3.8/site-packages/h5py/_hl/files.py", line 406, in __init__
    fid = make_fid(name, mode, userblock_size,
  File "/opt/conda/lib/python3.8/site-packages/h5py/_hl/files.py", line 179, in make_fid
    fid = h5f.create(name, h5f.ACC_TRUNC, fapl=fapl, fcpl=fcpl)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5f.pyx", line 108, in h5py.h5f.create
OSError: Unable to create file (unable to open file: name = './data/cache/train_feat_cache_Mar28_14-34-28_l5_ox10_MoP_negMoP.hdf5', errno = 2, error message = 'No such file or directory', flags = 13, o_flags = 242)

This PR fixes that issue by simply creating cache directory before accessing it.

Thanks, @metra4ok


feat: add iscsi-initiator-utils and libiscsi packages for iscsi csi d…

What type of PR is this?
/kind feature
What this PR does / why we need it:
Add iscsi-initiator-utils and libiscsi packages to AzureLinux base install
Which issue(s) this PR fixes:
Fixes #
Requirements:

[x] uses conventional commit messages
[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Update from previous pull request of @croomes , instead adding into different location for AzureLinux and as advised by @hbeberman
Adds the /usr/sbin/iscsiadm binary, required by https://github.com/kubernetes-csi/csi-driver-iscsi
The package is installed on Ubuntu AKS nodes, and would allow https://learn.microsoft.com/en-us/azure/storage/elastic-san/elastic-san-connect-aks to work on Azure Linux.
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.313%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2285

Relevant Lines:
2881

💛  - Coveralls

please recreate this PR directly from a branch off the official master branch to allow required checks/gates to run

feel free to reopen without using a fork if needed


Redirect to /

How can I redirect to homepage from the original of /?ref=xxxx

this worked
    if request.env['affiliate.tag'] != nil
      redirect_to '/' unless request.fullpath == '/'
    end

Closing this out as you've provided the solution.


Move Caesers Cipher to Bonfires

As per a conversation with Quincy, moving this "Checkpoint" to the Bonfires.
Tested Locally.

:+1:


CRI: remove duplicated snapshotters code

The snapshotter annotation definitions and related functions have been public in the new package snapshotter. So we can safely remove the duplicated code from CRI.

/test pull-containerd-sandboxed-node-e2e


Add Apply Diff feature

This is a preview PR, it uses a lot of internal and undocumented stuff and should not be considered stable.
The technologies:

Using the IWpfDifferenceViewerFactoryService.CreateDifferenceView method, we can create a difference view and place it in a window.
Using the IAdornmentLayer.AddAdornment, we can make the difference window appears on top of the text editor.

TODO:

Reposition the "Reject" and "Accept" button to make it appears wherever is visible on the screen.

https://github.com/Exafunction/CodeiumVisualStudio/assets/17585270/7eb09b64-228b-4154-81dc-5e774a4d9295

I am not happy with the state of this right now, it's too complex and verbose and uses a lot of undocumented, internal stuff that could be changed without notice. Especially this madness.
To be merged, this first needs to:

Remove internal stuff
Solve the focusing problem
Maybe drops the ILineTransformSource in favor of IntraTextAdornmentTag or the undocumented InterLineAdornmentTag

Close in favor of #20


No resources being loaded

It seems that no resources can be sourced and all are responding with 404 errors.

Thanks for reporting this. The problem should be fixed now.


Implement Default for Vec, String, LinearMap, BinaryHeap

As pointed out in #56
The implementation for Queue is missing, as it would be opinionated about the atomic size to use and whether it is a single or multi core variant.

Thanks!
bors r+


[C001036] Rep. Lois Capps

Rep. Lois Capps:
http://capps.house.gov
Likely contact form URL to start with:
http://capps.house.gov/contact-me/email-me

YMAL file not found. I am working on it.


Change FIXML to limit order instead of market, too much slippage.

Complete on the opening, need to handling closing orders

complete for opening and closing orders.


fix(cluster) Cluster's metrics is updated (#519)

Description
Cluster metrics were not updated when something went wrong during reconciliation. This resulted in the appropriate alert not being sent by Prometheus.
What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[X] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents

Related Issue # (issue)
Closes #519
Fixes #519

Remove if not applicable

Added tests?

[ ] 👍 yes
[X] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help
[ ] Separate ticket for tests # (issue/pr)

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Added to documentation?

[ ] 📜 README.md
[ ] 🤝 Documentation pages updated
[X] 🙅 no documentation needed
[ ] (if applicable) generated OpenAPI docs for CRD changes

Checklist

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my code
[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation (no document changes needed)
[X] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works (tests not needed)
[X] New and existing unit tests pass locally with my changes

This also needs to be considered for headscale_access_controller.go

Done


Not showing correct battery charge

I don't know if this is a bug or just me. But using the Battery method charge() doesn't seem to return the correct charge. It's about 5-6 percents lower than what it should be.

Hello @pkrll!
Sorry about the late response on this!
Few possibilities:

System menu bar doesn't poll as often, so it's not up to date?
System menu bar calls a different underlying API/computes the value slightly differently?
Rounding error in SystemKit

Could cross check with Apple's own tool via, pmset -g batt

2 years later and can confirm this on macOS Mojave


deps(netcat): replace custom netcat with ose-tools

This commit is an attempt to use ose-tools instead of a custom netcat providing the same capabilities. I have run unit tests but not e2e.

/LGTM


Feature request: Color(picker) icons

[ ] bug
[x] feature request
[ ] enhancement

An icon for color choosing would be really useful. There are two common types I know: a pipette and a drop.

Icon published. See Vol 10 icons:
https://github.com/vmware/clarity/issues/1787


Question: OASGraph ignores patch?

Looking at the combination loopback 4 and oasgraph, it seems that PATCH is used by lb4 for openapi.json and subsequently ignored by oasgraph.  I noticed that PUT is picked up by oasgraph and generates a mutation.
Will lb4 and oasgraph teams be coordinating their approach to openapi application?  The direction looks very promising.

Good catch! This seems to be an oversight here, where we define the CRUD operations.
And yes, the LB4 and OASGraph teams are working towards a more seamless developer experience! 😄

Easily missed considering use of patch is not as prevalent.  Thank you for quick resolution.  Keep up the good work.  Closing issue.


Misc cmake updates

A set of CMake updates for handling PIC options and a few OpenMP things.

Looks like I need to fix a few issues with CMake version compatibility on Travis.  I'll update the upstream FindOpenMP.cmake backport accordingly.

Found a few issues.  I'll close this until I can address them all

When you open the new PR, can you base it off of the develop branch? Thanks.

Sure thing!


[INF] Move get_features_targets to ml module

PR Description
Please describe the changes proposed in the pull request:

Move get_features_targets() to new ml.py module
Future machine learning specific will be put in ml.py
Decorator added and __init__.py modified to allow backwards compatibility during deprecation period.

This PR resolves #318 .

PR Checklist

Please ensure that you have done the following:

[X] PR in from a fork off your branch. Do not PR from <your_username>:master, but rather from <your_username>:<branch_name>.

[X] If you're not on the contributors list, add yourself to AUTHORS.rst.

[X] Add a line to CHANGELOG.rst under the latest version header (i.e. the one that is "on deck") describing the contribution.

Do use some discretion here; if there are multiple PRs that are related, keep them in a single line.

Quick Check
To do a very quick check that everything is correct, follow these steps below:

[X] Run the command make check from pyjanitor's top-level directory. This will automatically run:

black formatting
pycodestyle checking
running the test suite
docs build

Once done, please check off the check-box above.
If make check does not work for you, you can execute the commands listed in the Makefile individually.
Documentation Changes

If you are adding documentation changes, please ensure the following:

[X] Build the docs locally.
[X] View the docs to check that it renders correctly.

Relevant Reviewers

Please tag maintainers to review.

@ericmjl

The reduced code coverage might be related to not having an up-to-date dev? Could you pull in latest dev branch changes and apply them to your branch?

Sure I can do that. I think it's also likely do to a new decorator I used. I can write a test(s) for the decorator

I think it's also likely do to a new decorator I used. I can write a test(s) for the decorator

That'd be great! :smile: But also don't stress over it if the inspiration isn't flowing. We can add a test for the decorater later too.

I rebased and pushed again. I've started to think about how I would test the decorator, which I've never done before.

Macos pipeline failed mysteriously (on an unrelated test) so I re-ran it specifically.

Alrighty! I'm not worried about the decorator test at the moment; would you call this ready to merge?

Sounds good! I think it's ready to merge 👍


STM32H7 USB Support

Embassy is missing USB support for STM32H7 chips. I investigated what is different about them, though I haven't figured out how to fix the PAC yet. I probably won't have time to work on this for a long time, so I wanted to write down what I found.
Peripheral Versions (from cubedb)

otgfs1_v2_0, same as F4{6,7}9* and F7*
otgfs1_v2_4, same as L4A* and L496

Fix: Add to perimap.
Register Blocks
Some H7 chips have multiple USB controllers, so all the register blocks have a number .e.g. USB1_HS_DEVICE.
Fix: I think this is already handled somewhere.
RCC
The H7 RCC fields for USB are named differently. e.g. it has USB1OTGEN rather than USB_OTG_HSEN in registers/yaml. No separate clocks for HS/FS?
Fix: Not sure.
Extracted YAML Diffs
Old USB peripherals have wrong description for "endpoint transfer size register", but H7 is correct. e.g. in f215.yaml endpoint 0 is described as endpoint-1.
H7 is missing the device each in/out endpoint interrupt registers, e.g. DIEPEACHMSK1, DOEPEACHMSK1.
H7 has some overlapping registers?
    - name: DIEPCTL5
      description: OTG device endpoint-5 control register
      byte_offset: 416
      fieldset: DIEPCTL5
    - name: DIEPTSIZ6
      description: OTG_HS device endpoint transfer size register
      byte_offset: 416
      fieldset: DIEPTSIZ6
    - name: DTXFSTS6
      description: OTG_HS device IN endpoint transmit FIFO status register
      byte_offset: 420
      fieldset: DTXFSTS6
    - name: DIEPINT5
      description: OTG device endpoint-5 interrupt register
      byte_offset: 424
      fieldset: DIEPINT5
    - name: DIEPTSIZ7
      description: OTG_HS device endpoint transfer size register
      byte_offset: 424
      fieldset: DIEPTSIZ7

#1145 fixed the USB support! 🎉


Investigate adding background map layer by reusing components from geomap panel

Not sure how practical it is, but it would be nice to have an options tab that would allow you to enable a background map layer that reuses all the work from the geomap panel that's built in, we could then add some helper functions that would translate geopoints to xy coords for the svg rendering context, allowing us to draw icons on the map and animate them based on data.
See Geomap code here: https://github.com/grafana/grafana/tree/main/public/app/plugins/panel/geomap

@evannorton would love for you to look at this for the next release after this bugfix, let me know what you think, I know it will be a bit involved.


TumblThree crashes unexpectedly while crawling a blog marked NSFW

Describe the bug
In AbstractDownloader.cs:204 files gets referenced but it is null causing a NullReference, crashing the application
To Reproduce
Steps to reproduce the behavior:

Build debug version x64 of TumblThree
Force the usage of the SVC api
Enqueue an NSFW-marked blog
Start crawling
Eventually the application will throw a System.NullReferenceException and crash

Expected behavior
TumblThree starts downloading the blog media
Screenshots
exception message:

call stack:

autos:

Desktop

TumblThree version: <IP_ADDRESS>
OS: Windows 10
Browser Firefox
Version 84.0.2

Additional context
System.NullReferenceException
  HResult=0x80004003
  Message=The object reference is not set to an instance of an object.
  Source=TumblThree.Applications
  StackTrace:
   at TumblThree.Applications.Downloader.AbstractDownloader.<DownloadBlogAsync>d__24.MoveNext() in C:\Users\yamma\Tumblr\TumblThree\source\src\TumblThree\TumblThree.Applications\Downloader\AbstractDownloader.cs:line 204

Thanks for your bug report.
The given location isn't the root cause. This object should be passed in CrawlerFactory.cs:79 and be constructed before in CrawlerFactory.cs:62. Are you using the setting LoadAllDatabases? Does the error occur when the blog is added newly or on a second crawl?
If it reaches that location without failing before, it means no files have been downloaded for that blog. Correct?
Do you like to inspect it further?

Thanks for your bug report.
The given location isn't the root cause. This object should be passed in CrawlerFactory.cs:79 and be constructed before in CrawlerFactory.cs:62. Are you using the setting LoadAllDatabases? Does the error occur when the blog is added newly or on a second crawl?
If it reaches that location without failing before, it means no files have been downloaded for that blog. Correct?
Do you like to inspect it further?

If it reaches that location without failing before, it means no files have been downloaded for that blog. Correct?
This is a second crawl and some files from the blog have already been downloaded

If it reaches that location without failing before, it means no files have been downloaded for that blog. Correct?
This is a second crawl and some files from the blog have already been downloaded

The issue has been fixed and closed. You can still comment. Feel free to ask for reopening the issue if needed.


added tip on icon size

added a tip on -IconLocationFile accepting different icon file size as UI, a bug is filed for the behavior.

@sigurd-de : Thanks for your contribution! The author, @, has been notified to review your proposed change.

Docs Build status updates of commit e63fce4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sccm-ps/ConfigurationManager/New-CMApplication.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Thanks @sigurd-de for the contribution. Looks good, I'll merge it now.

Tagging for #MMS2019Docathon


Auto Pseudo-GTID: detect via performance_schema

Continued work on auto Pseudo-GTID (followup to https://github.com/github/orchestrator/pull/384).
This PR improves the heuristic by which orchestrator detects existence of Pseudo-GTID on a server. For MySQL >= 5.6, orchestrator is now able to query performance_schema.events_statements_current, as in the following query:
select
  ifnull(
    min(
      timestampdiff(
        second, from_unixtime(
          conv(
            substring_index(
              substring_index(sql_text,':',-3),
              ':',1),
            16,10
          )
        ),
        now()
      )
    ) <= 14400,
    0
  ) as pseudo_gtid_is_found
from
  performance_schema.events_statements_current
where
  sql_text like 'drop view if exists `_pseudo_gtid_`%'
;

If possible, orchestrator runs this query. If query is successful and confirms the existence of a Pseudo-GTID injection, we can safely conclude that the instance does indeed run with Pseudo-GTID.
If found, the result is cached for 1hr to avoid needless querying of performance_schema.

In production the query does not always identify the pseudo-GTID injection. In fact, it rarely does.

Not going to pursue this.


Request for information on getting started.

I am new and was considering contributing. That said I was wondering if there was anything I need to know to get started. The contributing.md just says to make a pull request. I was wondering if there are any naming or comment conventions that are used as well as if there are any standards that I should observe while I am working on the project? Also, any other information a new contributor should know would be great.

Hey! Thanks for taking an interest in contributing.
There's no official set of conventions as far as I can tell, but if you follow the code style set forth in the project already, you should be fine. Be mindful of whitespace though. Here's a quick example of some do's and don'ts:
// yes
- (void)foo:(id)f bar:(void *)bar
{
    if (condition) {
        ...
    }
}

// nooo
// yes
-(void)foo: (id)f bar:(void*) bar{
    if(condition){
        ...
    }
}

Let me know if you have any other questions!


Separate into subfiles

The dillify.rb is long and confusing. This should be made into smaller subfiles.

I am no longer developing this


Dropdown reset option

Describe pull-request
Adding a method for reseting dropdown option
Solving issue
Github issue: #409
Azure: AB#2055
How to test

Run HTML sandbox
Try the reset button. It's connected to an id so just change id on the dropdown if you want to trigger a different one.

@EmelieLitwin  - I did update your branch by rebasing main. I had a couple of merge conflicts but I think I managed to choose the right ones. Now it should be possible to see only changes done in this task.


InvalidOperationException: No authenticationScheme was specified, and there was no DefaultForbidScheme found

Could someone please clear this up for me.
I have a web api built using .net core 2.1
I have a custom database table called tblUser (which doesn't take part in any authorisation like AspNetUsers).
This table contains three boolean fields I wish to utilize in my authorization, these are the same as my policy names.
In my Startup.cs ConfigureServices method:
services.AddAuthorization(options =>             {                 options.AddPolicy("CanCreateCallLog", policy => policy.RequireRole("ocm"));                 options.AddPolicy("CanUpdateCallLog", policy => policy.RequireRole("ocm"));                 options.AddPolicy("CanViewCallLog", policy => policy.RequireRole("ocm", "assurance"));             });
I have  a controller with a method thus:
[Authorize(Policy = "CanViewCallLog")]          [HttpGet]         public ActionResult<List<TblCall>> Get()         {                     return _repo.findAll();         }
With the Authorize attribute present I get an error: "InvalidOperationException: No authenticationScheme was specified, and there was no DefaultForbidScheme found"
Without the attribute everything works properly.
What piece of the puzzle am I missing ?
Do I need to implement a handler:
public class CustomAuthorize : AuthorizationFilterAttribute, IAuthorizationFilter
{
public override void OnAuthorization(HttpActionContext actionContext)
{

.....
If so, where is the best place to add this class to my project, e.g Helpers folder ?
Also, in my launchSettings.json file:
"iisSettings": {
"windowsAuthentication": true,
"anonymousAuthentication": false,
.....
}
},
is that correct ?
I just read somewhere that when using Windows authentication, you don't need to use Active Directory like this which I am doing:
[Authorize]         [HttpPost]         public ActionResult Authenticate([FromBody] LoggedInUser loggedInUser)         {             if (!IsLDAPAuthenticated("LDAP://bcl.local", loggedInUser.username, loggedInUser.password))             {                 return StatusCode(403); // assume user not registered in Engage                        } ...
Do I need the LDAP stuff (which works fine) ?

@Tratcher any ideas what's going on here?  It looks like Forbid is getting called due to the "DefaultForbidScheme " error message

I am guessing I need to implement handlers and requirements as explained (in the only article after days of google searching on this subject approaches anything near to a coherent walk-through on this subject ) :
https://andrewlock.net/custom-authorisation-policies-and-requirements-in-asp-net-core/
???
(I've got to find a way of making .asmx SOAP calls from my Anguar Six typescript code next - god knows how long that's going to take to get a working solution :(
)

Wow, there's at least five different questions here.
A) linking tblUser to the current user for additional claims? (@HaoK?)
B) InvalidOperationException: No authenticationScheme was specified, When the user is Authenticated but Authorization fails such as due to a missing role the system calls Forbid. You didn't specify a default auth scheme in your policy or in startup so Forbid fails.
C) Do you need a custom AuthorizationFilterAttribute? No.
D) Windows Auth: Those launchSettings.json options enable windows auth for IIS Express. When you deploy to full IIS you'll need to enable Windows Auth separately there via the management UI..   The two don't usually mix. See https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-2.1&tabs=aspnetcore2x
E) No, you wouldn't need Windows Auth + LDAP. That said, when using Windows Auth you shouldn't even be receiving the users password, that should be taken care of on the client.

Many thanks. Some useful info, especially the docs microsoft link.


Feature after extracting text identifind sentiment of the text so that we can show how relavent they are speaking

Is your feature request related to a problem? Please describe.
I'm always frustrated when I can't easily determine the sentiment of the text extracted from conversations. This makes it difficult to gauge the relevance and emotional tone of the discussions.
Describe the solution you'd like
I would like to implement a feature that identifies the sentiment of the extracted text. This feature would analyze the text to determine whether it is positive, negative, or neutral, and display this information to help users understand the relevance and emotional tone of the conversations.
Describe alternatives you've considered
An alternative solution could be to integrate an existing sentiment analysis API or library that provides similar functionality. However, building a custom solution could offer more flexibility and better integration with the current system.
Additional context
This feature will enhance the user experience by providing insights into the emotional tone of conversations, which can be particularly useful for applications in customer support, social media monitoring, and content analysis.

I am a gssoc contributor and hackbefest

Thank you for your suggestion @praveenarjun! While sentiment analysis can be a valuable feature in many contexts, it may not be the most practical solution for a RAG-based chatbot, as its primary goal is to retrieve relevant information rather than gauge emotional tone.
Instead of solely adding sentiment analysis, I recommend introducing an Input Insights and Summary Module. This module would provide a more comprehensive analysis of user inputs by offering features such as:

Topic Identification: Automatically categorize the topics within user inputs, giving users an overview of the key subjects of the input.

Summarization: Generate concise summaries of longer inputs so users can quickly grasp the context without having to read through everything in detail.

Great it is a great idea I am gonna work on Text summerization


New version: Mozilla.Thunderbird version 115.12.1

Created by 🥟 Dumplings in workflow run #5972.

Log
Updated: 115.11.1 → 115.12.1
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

/azp run


Bug: document Asserting loading state example is not work !

Describe the bug

To Reproduce
import { mount, flushPromises } from "@vue/test-utils";
import axios from "axios";
import PostList from<EMAIL_ADDRESS>
const mockPostList = [
  { id: 1, title: "title1" },
  { id: 2, title: "title2" },
];

// Following lines tell Jest to mock any call to `axios.get`
// and to return `mockPostList` instead
jest.mock("axios", () => ({
  get: jest.fn(() => mockPostList),
}));

test("loads posts on button click", async () => {
  const wrapper = mount(PostList);

  await wrapper.get("button").trigger("click");

  // Let's assert that we've called axios.get the right amount of times and
  // with the right parameters.
  expect(axios.get).toHaveBeenCalledTimes(1);
  expect(axios.get).toHaveBeenCalledWith("/api/posts");

  // Wait until the DOM updates.
  await flushPromises();

  // Finally, we make sure we've rendered the content from the API.
  const posts = wrapper.findAll('[data-test="post"]');

  expect(posts).toHaveLength(2);
  expect(posts[0].text()).toContain("title1");
  expect(posts[1].text()).toContain("title2");
});
test("displays loading state on button click", async () => {
  const wrapper = mount(PostList);

  // Notice that we run the following assertions before clicking on the button
  // Here, the component should be in a "not loading" state.
  expect(wrapper.find('[role="alert"]').exists()).toBe(false);
  expect(wrapper.get("button").attributes()).not.toHaveProperty("disabled");

  // Now let's trigger it as usual.
  await wrapper.get("button").trigger("click");

  // We assert for "Loading state" before flushing all promises.
  expect(wrapper.find('[role="alert"]').exists()).toBe(true);
  expect(wrapper.get("button").attributes()).toHaveProperty("disabled");

  // As we did before, wait until the DOM updates.
  await flushPromises();

  // After that, we're back at a "not loading" state.
  expect(wrapper.find('[role="alert"]').exists()).toBe(false);
  expect(wrapper.get("button").attributes()).not.toHaveProperty("disabled");
});

Related information:

@vue/test-utils version:  v2.0.0-rc.18 v2.0.0-rc.17
Vue version: ^3.0.0
node version: v16.14.0
npm (or yarn) version: 8.3.1

Additional context
2.0.0-beta.14 can work

Hi @luo10
It's hard to say without a reproduction with the code of your component.
If I had to guess: have you tried await nextTick() before your assertion?
If that doesn't work, and you think this is an issue with VTU, can you share a small reproduction on Github so we can investigate? You can use create-vue  with Vitest.

I use examples of official documents.
https://test-utils.vuejs.org/guide/advanced/http-requests.html#asserting-loading-state
I can't see loading state.
<template>
  <button :disabled="loading" @click="getPosts">Get posts</button>

Loading your posts…

      {{ post.title }}

</template>

Ho thanks, I did not understand. We'll take a look then 👍

After taking a look, I think:
jest.mock("axios", () => ({
  get: jest.fn(() => mockPostList),
}));

should be replaced with:
jest.spyOn(axios, 'get').mockResolvedValue(mockPostList);

(to properly return a promise).
Does that fix the issue for you?

wow, thanks @cexbrayat

Happy to help 👍
I'll keep this open as we need to fix the documentation example


Unable to run the exe that has wheel generated by Rosetta terminal on MacOs Mojave, error: Symbol not found: ___darwin_check_fd_set_overflow

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOs Mojave 10.14.6
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: Not relevant
TensorFlow installed from (source or binary): private wheel
TensorFlow version: 1.13.1
Python version: 3.6
Installed using virtualenv? pip? conda?: virtualenv
Bazel version (if compiling from source): 0.21.0
GCC/Compiler version (if compiling from source): not relevant
CUDA/cuDNN version: not relevant
GPU model and memory: not relevant

Describe the problem
Following the instructions in forum: https://github.com/tensorflow/tensorflow/issues/46044
I compiled tensorflow 1.13.1 using Bazel 0.21.1 under Bigsur using rosetta terminal in order to run this wheel under Rosettna emulator over arm/intel cpu, the generated wheel works fine on Bigsur and Catalina but it didn't work on Mojave I am getting error appeared in the logs section.
However the public wheel works fine on Mojave 10.14.6.
Provide the exact sequence of commands / steps that you executed before running into the problem

Use Big Sir with arm processor m1 since it has Terminal for Rosetta

open Terminal Get Info and enable "Open using Rosetta" (duplicate Terminal app for this and open Rosetta terminal)

git clone https://github.com/tensorflow/tensorflow.git

cd tensorflow

git checkout branch_name (for us: v1.13.1)

install bazel version 0.21.0

generate virtual environment of python3.6 that has in the requirements tensorflow==1.13.1 and other packages related to our project

./configure (say N to everything except setting the python virtual environment created in 7 here)

bazel build //tensorflow/tools/pip_package:build_pip_package

10. bazel-bin/tensorflow/tools/pip_package/build_pip_package/tmp/tensorflow_pkg

rename .whl file to disable OS restrictions (us: tensorflow-1.13.1-py3-none-any.whl)

Take this wheel that support rosetta and set it in the virtual environment (instead of downloading public wheel), in requirements: ./wheels/tensorflow-1.13.1-py3-none-any.whl

Build the exe using pyinstaller version 3.4 with this virtual environment that has private tensorflow wheel.

Run the exe from 13 on Moajve and you will get the error attached in logs

Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
2021-09-20 14:10:58,992 INFO Traceback (most recent call last):
File "tensorflow/python/pywrap_tensorflow_internal.py", line 18, in swig_import_helper
File "imp.py", line 297, in find_module
ImportError: No module named '_pywrap_tensorflow_internal'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "tensorflow/python/pywrap_tensorflow.py", line 58, in
File "/p4client/ProAudio/dev_mainV12/ProAudio/XPlatform/Apps/WavesPluginServer/pythonVirtualEnv/lib/python3.6/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
File "tensorflow/python/pywrap_tensorflow_internal.py", line 28, in
File "tensorflow/python/pywrap_tensorflow_internal.py", line 20, in swig_import_helper
ImportError: dlopen(/Library/Application Support/Waves/WavesPluginServer/WavesPluginServerV13.1.bundle/Contents/MacOS/_pywrap_tensorflow_internal.so, 6): Symbol not found: ___darwin_check_fd_set_overflow
Referenced from: /Library/Application Support/Waves/WavesPluginServer/WavesPluginServerV13.1.bundle/Contents/MacOS/_pywrap_tensorflow_internal.so (which was built for Mac OS X 11.0)
Expected in: /usr/lib/libSystem.B.dylib
in /Library/Application Support/Waves/WavesPluginServer/WavesPluginServerV13.1.bundle/Contents/MacOS/_pywrap_tensorflow_internal.so
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

@Nizarazo
We see that you are using old version of tensorflow(1.13) which is not actively supported. We recommend that you upgrade to 2.6.0 and let us know if the issue still persists in newer versions. Please have a look at the link to Build from source and let us know if it helps ?Thanks!

Hi @sushreebarsa @Saduf2019
The issue is not related to tensorflow version 1.13 because the public wheel of tensorflow 1.13 is working fine on Mojave, the issue is the private wheel generated using rosetta terminal under BigSur M1 does not run on Mojave so I guess it is something related to the way I build the private wheel under BigSir M1 rosetta terminal.
Is there any configuration I need to add while building in BigSur M1 using Bazel for example "minimum macos version" so that it can support Mojave?
I wrote the 14 steps how I build the wheel above please have a look and let me know what step is wrong/missing.
Thanks

@Nizarazo
The Apple TF on M1 chips is a private fork of TF owned by Apple. We don't have access to fixing code issues there.
For more information, please go through issue #44751. Thanks!

@Saduf2019 I am not using Apple TF but I am using your tensorflow by building it from source using rosetta terminal under Big Sur as explained in thread #46044 so the generated wheel runs fine over BigSur M1 using Rosetta emulator and it runs fine also on catalina but it doesn't run on Mojave I am getting this:
2021-09-20 14:10:58,992 INFO Traceback (most recent call last):
File "tensorflow/python/pywrap_tensorflow_internal.py", line 18, in swig_import_helper
File "imp.py", line 297, in find_module
ImportError: No module named '_pywrap_tensorflow_internal'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "tensorflow/python/pywrap_tensorflow.py", line 58, in
File "/p4client/ProAudio/dev_mainV12/ProAudio/XPlatform/Apps/WavesPluginServer/pythonVirtualEnv/lib/python3.6/site-packages/PyInstaller/loader/pyimod03_importers.py", line 627, in exec_module
File "tensorflow/python/pywrap_tensorflow_internal.py", line 28, in
File "tensorflow/python/pywrap_tensorflow_internal.py", line 20, in swig_import_helper
ImportError: dlopen(/Library/Application Support/Waves/WavesPluginServer/WavesPluginServerV13.1.bundle/Contents/MacOS/_pywrap_tensorflow_internal.so, 6): Symbol not found: ___darwin_check_fd_set_overflow
Referenced from: /Library/Application Support/Waves/WavesPluginServer/WavesPluginServerV13.1.bundle/Contents/MacOS/_pywrap_tensorflow_internal.so (which was built for Mac OS X 11.0)
Expected in: /usr/lib/libSystem.B.dylib
in /Library/Application Support/Waves/WavesPluginServer/WavesPluginServerV13.1.bundle/Contents/MacOS/_pywrap_tensorflow_internal.so
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/errors
for some common reasons and solutions. Include the entire stack trace
above this error message when asking for help.

@Nizarazo
For the error, can you refer to same error issues and let us know: "ImportError: No module named '_pywrap_tensorflow_internal'"
link,link1,link2,link

@Saduf2019
These links are all for Windows while the issue I am facing is in MacOs Mojave any similar issues in MacOs?
By the way I see that the file _pywrap_tensorflow_internal.so exists but seems that the symbol ___darwin_check_fd_set_overflow is missing.

Fixed by building Tensorflow using older macOS Catalina instead of Big Sur seems sadly it is not backward compatible.


JWS base64 encode fix

https://tools.ietf.org/html/draft-ietf-jose-json-web-signature-08#appendix-C

Hi, would you mind giving a bit of a summary of what your proposed PR does? It makes my life a lot easier rather than having to try and work it out for myself.

If these characters are present in the jwt token, then the client application (ApiAuthenticationStateProvider.cs) cannot read it.

Thanks for this @kaanlab. Sorry it took me so long to merge.


[feat]

Describe the problem
With the allowing of bigger files sizes its frustrating not knowing for certain if your art work will load/play without buffering. People are expecting playback to be smooth and seamless these days especially when coming from outside the crypto art world. I have a current work at 1.35GB on Teia, while I very much appreciate that it was placed on the Teia IPFS cache. I have been told by people that it still buffers. I understand the issues around ipsf and its limitations but going forward it would be great if some solutions could be found otherwise it defeats the purpose of allowing large file sizes.
Describe the solution you'd like
I would be happy to pay a extra fee that ensures the large file would load and play without buffering. It would be great if this happened at the minting stage of the process but would be happy with any solution that works for the platform.
Alternatives considered
I do have a paid Pinata account that allows for the use of my own gateway. Would it be possible to point to that link in the metadata?
Additional context
No response

Hey @ThreeTwoBravo, I'm not sure to understand the request right.
Video files are buffered and need a % of bytes loaded to start playing.
If you are expecting a 1.35gb file to load instantly I'm afraid that's a bit unrealistic
Being able to setup your own gateway is something we plan but that's a local/user setting not something that will reflect to other (like if we used metadata as you suggest), but I don't think you'll get better performance then our cache layer. Have you tried loading your file on your own gateway? Does it load faster than on teia?

Duration                                 : 1 min 20 s
Bit rate                                 : 135 Mb/s
Width                                    : 1 536 pixels
Height                                   : 2 048 pixels
Display aspect ratio                     : 0.750
Frame rate mode                          : Constant
Frame rate                               : 15.000 FPS

The video you shared on discord has a higher bitrate than my homeconnection, so for me (even with a "premium gateway") it would need some time to buffer.
I think the better solution would be to look into better compression for the video or making the resolution a bit smaller. Otherwise only people on fiber connections will be able to play it instantly.

@melMass @Zir0h
Thanks for the reply's. Ok cool, I'll start using lower resolutions and adjust the bit rates. It totally slipped my mind about user's internet speeds as well.
Yea the cache layer for me works really well even on mobile which was a really nice, but I do have decent fiber. Using my own gateway it plays straight away but the difference between that and the cache layer is minimal for me. It was faster for someone I sent my gateway way link to tho. Pinata also have a streaming function for their gateways but at the moment its capped at 1080p so that's not really a option yet. Still I really appreciate the fact teia is allowing bigger file sizes. I'm pretty much using this to test what's possible. Is there anything is the Teia doc's advising best practice for minting large files(sorry I haven't looked yet)?
Also are all new mints queued to get placed on the cache layer?

I don't think there are docs on the bigger upload functions yet.
Yes, everything eventually makes it to the cache :) sometimes it takes a while though, nftstorage peering isn't great :/


Rewrite mode-watcher with custom stores

in this patch I have implemented custom stores that I personally think are much cleaner than the persistent stores used previously.
compared to the more general persistent stores, we don't have to worry about localStorage vs. sessionsStorage and we don't have to deal with (de)serialisation since we are only ever serialising strings.
with this patch, the stores are also easier to reason about, in my humble opinion:

the userPrefersMode store is a writable store that represents the user's preferred mode ("dark", "light" or "system"). when this store is written to, the value is synced with localStorage so that the user's preference is remembered
the systemPrefersMode store is a readable store which represents the system's preferred mode ("dark", "light" or undefined). this is no longer stored in localStorage. this makes it clearer (IMO) that this is not something that the user should modify
the derivedMode store is a derived store that will also set the correct class/color scheme whenever its dependencies (userPrefersMode and systemPrefersMode) changes. this makes so that the toggleMode/setMode/resetMode functions are very clean

the derivedMode store is exported as mode to keep the API consistent with the previous versions. I have also exported the other stores since they are now much "safer" for the end user to consume, if they so wish to (the side effects of changing values in these stores are now bundled with each store itself, rather than being wrapped in e.g. setMode)
in addition, I have added tracking to the systemPrefersMode store directly instead of adding a listener in the ModeWatcher component. I think this is also cleaner - let me know what you think.

I have tested this I think it's working great! I no longer find any bugs where stores and/or localStorage values are inconsistent with the actual state of the dark/light mode.
~however: the tests are all broken. to be honest, I'm not really sure why. my guess right now is that the esm-env package and the BROWSER variable may not play nice with vitest?~
tests are now working, it was esm-env!

@huntabyte what are your thoughts on this rewrite? something that you could eventually consider to merge? or should I create my own version of mode-watcher instead (you prefer the existing implementation with svelte-persisted-store)

if this is something you would consider, I am not sure what type of change set is appropriate

Hey @ollema ! I appreciate you taking the time to do this, I'm a bit burnt today but will try to find some time tomorrow to do a proper review!

Hey @ollema ! I appreciate you taking the time to do this, I'm a bit burnt today but will try to find some time tomorrow to do a proper review!

no problem of course! I’m also very excited for all the date builders

Hey @ollema, this looks incredible! The stringified bit in the <svelte:head> tag of ModeWatcher still works as expected and executes before the content is loaded preventing any FOUC, correct?

Hey @ollema, this looks incredible! The stringified bit in the <svelte:head> tag of ModeWatcher still works as expected and executes before the content is loaded preventing any FOUC, correct?

yes - this still works as expected in my testing!

fixed your suggestions - let me know if there is anything else!
I would also like some help with determining what kind of change (minor/patch) is appropriate here and I would probably need to update the README.md as well right?

Pre 1.0 it really doesn't matter, as breaking changes can be expected at any time (path or minor) per the semver spec. I'd say in this case though we'd do a minor!


[Bug] Stripe integration not taking into account cancelled donations

We have the following use case - a donation is processed via stripe with successful 3D secure authentication but is declined from the issuing bank  (the payment is not processed as failed but declined). One day later the donation is cancelled but it is recorded as successful in our platform.
See the screenshot for more details

We should check for such cancelled donations on a daily basis and update the annulled donations in the platform. This will help us also with the future chargebacks from donors who have second thoughts about already made donations.

After some checks, I confirm the "cancelled" donations are processed correctly and marked as cancelled in the database and in the donations grid in Admin UI.
Screenshot:


plexamp: no playback

Describe the bug
Plexamp opens fine, can connect to my library fine, but when I try to play anything the playback screen pops up for a second and then goes away again. The following message is printed to console:
ALSA lib pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Connection refused

Also reported upstream here.
To Reproduce
Steps to reproduce the behavior:

Open plexamp
(login if you haven't, but you need a paid plex pass for this)
Try to play anything

Expected behavior
Music playing
Notify maintainers
@killercup
Metadata

system: "x86_64-linux"
host os: Linux 5.4.99, NixOS, 21.05pre-git (Okapi)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.10
channels(synthetica): "nixos-19.09pre179307.bc94dcf5002"
nixpkgs: /nix/store/asgzxf2rs3jv6qpm8fxvssh0zs02ac4k-nixos-unstable-2021-02-24-f6b5bfd

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: [plexamp]
# a list of nixos modules affected by the problem
module: []

Okay I figured it out; it was because Pulseaudio was running as root rather than as my own user. Still… This shouldn’t happen and I’ve never encountered an app that struggled with this.


Juno's Gauntlet texture isn't Mirroring Correctly on the Other Hand

I tried correcting it in a lot of ways, might be actually an easy fix, but i didn't have enough time to fix this, other than that, the weapon works perfectly.

Adding a different Model in the Left Hand, adapted to it, fixed it.


hpcprof doesn't work optimally given hpcstruct files for libmonitor or libhpcrun

When hpcstruct is run on libmonitor, the name of a routine "monitor_main" gets replaced with something like "monitor_main [libmonitor.so.1.0.0]". Similarly, in libhpcrun, names like "hpcrun_no_activity" get replaced by "hpcrun_no_activity [libhpcrun.so.1.0.0]".
The NameMapping.cpp code should just match to ensure that the prefix is what we intended. If the suffix (e.g., what appears after monitor_main) begins with a " [", then go ahead and call it a match.

Personally, I think we should target a more robust implementation where those "special" and the other "placeholder" CCT nodes are replaced with canonical locations in load module 0 by Run. That would also solve the issue where you get unknown procedures if Prof doesn't have access to libhpcrun.so (e.g. when moving the measurements between machines).
Given that new-Prof is on the horizon, I'd rather get these issues fixed by design instead of applying further layers of band-aids to old-Prof (which then have to be ported to new-Prof to stay compatible).

point well taken. a redesign is fine.

This repository has moved to GitLab, please continue this issue there.


talk about highfive in "team maintenance"

When updating team rosters, it may be prudent to also update the list of reviewers that highfive uses.

Thanks!