Streamlit app

If I'm motivated, I might try to improve the code to make it as a streamlit app so that everybody can access it on the internet. =)
We'll see, depending on the motivation. =)

Somebody using the PHP version just asked about making a standalone version? Do you think it would be worth porting camogen to JavaScript and then using Electron to make a desktop app?

It's always worth it if you're up to it. I'm not good enough in JS to do it though ^^

My knowledge of JS is ok, I might try to port it when I have time. The reason I was thinking about JS was because I just added an SVG export option to the camogen PHP port and that made me think that if no image library is required to render a pattern, the code could run in JS. Maybe TypeScript is a better option?


Produce image with executable Main

Define nodes for some of the key data strucures emitted into the
ready-to-run image. This includes ImportSectionNode which contains
imports of a like kind (ie, eager fixups) along with optionally a set of
signatures describing the import target.
Currently we emit the module import cell and can specialize from here
adding others.
Fix an alignment issue where the SectionBuilder didn't understand zero
alignment. Maybe the default should just be 1.

@trylek @MichalStrehovsky PTAL. This is currently part of Tomas' private branch prototype I'm breaking off and checking in. I have renamed some classes to fit our naming scheme vs what's in Tomas' branch right now.


Fix solver options

Proposed changes
I realised that when users provided PETSC options for any F.ProblemBase class, they were just ignored.
Types of changes
What types of changes does your code introduce to FESTIM?

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Code refactoring
[ ] Documentation Update (if none of the other choices apply)
[ ] New tests

@jorgensd to test this is there a way to catch a PETSC warning (I'd like to add a foo parameter and check that PETSC complains)

I added "options_left" by default but it doesn't raise an error, just prints more stuff:
#PETSc Option Table entries:
-nls_solve_coucoucou 3 # (source: code)
-nls_solve_ksp_type preonly # (source: code)
-nls_solve_pc_factor_mat_solver_type mumps # (source: code)
-nls_solve_pc_type lu # (source: code)
-options_left # (source: code)
#End of PETSc Option Table entries
WARNING! There are options you set that were not used!
WARNING! could be spelling mistake, etc!
There is one unused database option. It is:
Option left: name:-nls_solve_coucoucou value: 3 source: code

Without it it just prints:
WARNING! There are options you set that were not used!
WARNING! could be spelling mistake, etc!
There is one unused database option. It is:
Option left: name:-nls_solve_coucoucou value: 3 source: code


More settings for Duel Starter?

First of all, thank you so much for creating this mod. It's great to be able to enjoy the game's content offline, without the microtransactions aspect.
This mod is already great as it is. I have a couple ideas for the Duel Starter that would improve my experience (so it may improve other people's too), in case you're accepting suggestions:

Randomize CPU's accessories (just to add a little more variety to the "Load deck from Folder / random deck" option). For example, I can choose the CPU's Mate (Mate2), all the mate options are listed there. A "Random" option would be great, too, not only for Mate but for all the other accessories/cosmetic options.
Move the "Load / Save" section to the top of the screen, so we don't have to scroll down every time we boot the game (even better: since we can save the duel settings to a json file, let us add one of our custom json files to the mod folder, and make the mod use this file as the default Duel Starter settings, so we don't have to change it every time we boot the game).
When selecting decks, we can select "Game", "File" and "Folder (Random)". It would be nice as well if we could choose "Game (Random)", I just think that randomization can be fun and can improve the game's longevity/enjoyability. Although I guess that since we already can export each deck as a json file, this "Game (Random)" is not necessarily needed since we can manually export each deck, save them in a folder and use the "Folder (Random)" option.

A question, not related to my suggestions: is there a way to import my custom Link Evolution decks to YgoMaster?

Randomize CPU's accessories

Yea that is a good idea.

Move the "Load / Save" section to the top of the screen

The reason I didn't do this is because I think most people will want to simply just set the decks, the starting player, then start the duel. It's a lot of additional UI bloat when moving those up to the top.

make the mod use this file as the default Duel Starter settings, so we don't have to change it every time we boot the game

A better option might be to save the active settings into the client storage (regardless if you save a file or not). The game already saves the settings into memory and fills out the UI when you go back to the screen but it gets lost when reopening the client.
One thing I noticed recently is if you select a game deck, then edit the deck, you need to re-select the deck to update it which is kind of annoying and also not the easiest to fix.

It would be nice as well if we could choose "Game (Random)"

I didn't implement this as it's likely people have incomplete / test decks which wouldn't be too useful / fun to play against and there wouldn't be any easy to to filter out those decks. That being said when you do Folder (random deck) it will by default highlight the folder YgoMaster/Data/Players/Local/Decks/ which is the same thing as randomly selecting from the game.

is there a way to import my custom Link Evolution decks to YgoMaster?

You can use https://github.com/pixeltris/Lotd to export your decks to YDK and then copy those files to the folder mentioned above.

Thanks for the answer.

A better option might be to save the active settings into the client storage (regardless if you save a file or not).

If this is something that I already can do, please tell me how.

That being said when you do Folder (random deck) it will by default highlight the folder YgoMaster/Data/Players/Local/Decks/ which is the same thing as randomly selecting from the game.

I honestly didn't notice that.

One thing I noticed recently is if you select a game deck, then edit the deck, you need to re-select the deck to update it which is kind of annoying and also not the easiest to fix.

Isn't this how the regular game works? I don't think it's a mod problem. And in fact, it would be difficult to fix.

If this is something that I already can do, please tell me how

Nope, I'll code the random accessories / settings auto saving at some point.

Isn't this how the regular game works? I don't think it's a mod problem

It's definitely a mod only problem and only impacts the duel starter. It occurs because the client loads the deck/cards and keeps its own copy of it rather than the server giving the latest deck when starting the duel.

Just a final comment on this issue.

That being said when you do Folder (random deck) it will by default highlight the folder YgoMaster/Data/Players/Local/Decks/ which is the same thing as randomly selecting from the game.

Remember I said I didn't realize that? It's because the interface of choosing a file is different from the interface of choosing a folder (check the attached images). Whenever I chose "Folder (random deck)" I had to scroll down a lot to find my desired folder, and I didn't even realized that the Players/Local/Decks folder was highlighted. And I actually thought that it would be the same when choosing a json file, but I have just noticed that when loading a json file the interface puts me right into the mod folder, right where I saved my json files, so I don't even have to change folders or scroll down a lot and stuff. So now I don't really mind having to scroll down in the Duel Starter screen to load a json file. I just wish that the "select folder" interface would be just like the "select file" interface, but I guess that's just how Windows works and there's nothing wrong with the mod.

I just wish that the "select folder" interface would be just like the "select file" interface, but I guess that's just how Windows works and there's nothing wrong with the mod

It's a limitation of the in-built C# folder selector. And yea it's really lame. I'll maybe try changing it to this piece of code at some point https://stackoverflow.com/a/66187224

Sorry to bother you again, but I have a few questions (not related to this issue, but I didn't want to start a new issue just to ask questions):

Can the only Duel Rewards be Item, Gem and Card? Can we not add other kinds of items? I see the ItemID.json file shows all items IDs, but the Settings.json asks for the item type. not ID, and I don't exactly know where to look for the item types (I was trying to add crafting points as rewards)
I see "Pot of Greed" listed as "AVATAR", but I can't buy it in the shop. Do you know if the "Item" Duel Reward can give me those items that are not currently on the shop?
Whenever I have further questions about the mod, how should I ask you? Should I start a new issue? Should I keep asking them in this issue? Is there anything else you prefer me to do instead?

About questions 1 and 2, I know that there are options to add all cards, add all items, change crafting costs and dismantling rewards. It's just that I prefer adjusting these and keep grinding to earn better cards, rather than just unlocking everything at once. It's just that the vanilla experience is painfully slow (spent 3000 gems on 3 10-packs of featured packs, and only got 2 cards I needed), so I thought about adding crafting points to the Duel Rewards, instead of relying on packs.

Crafting points would work but I didn't implement amounts for "Item" so at most it would give 1. The following needs to be hooked up for crafting point item ids https://github.com/pixeltris/YgoMaster/blob/73e3a6aa45f0d64f6fc56ace84773837e22dcb92/YgoMasterServer/Infos/DuelRewardInfo.cs#L109-L130
"Item" will give you any item available in the item pool (including anything not inside the shop). To give specific items you can specify something like "ids": [1000005, 1000006, 1000007],.
I'm in a discord server here https://discord.gg/esXhS83tGd where you can ask questions. Though I'm more likely to forget any requests asked there. If you have a request for a specific feature it's best to make a new issue for each individual request. If you have general questions you can ask them here or where it'd feel most appropriate.

when the game crashes, does it save logs anywhere?

Nope. The crash is due to the duel starter UI. There is some memory corruption somewhere with that UI which I know about but I can't reliably reproduce to debug it. The crash is related to where the deck names are stored. The deck contents don't cause the crash.

The following needs to be hooked up for crafting point item ids

I can't see this file in the mod folder, so I assume I would have to download the repo, do these alterations and compile, right? I don't know how to do that and don't really want to learn that right now, so I'll leave it as is. Worst case scenario, I'll just add multiple item rewards to the Settings.json file.

"ids": [1000005, 1000006, 1000007]

Does that line makes it give 3 items, or 1 random item from that list?

The crash is related to where the deck names are stored

Yeah, that's right. I did some tests here, and the crashes probably happen if the file (of the random deck) path size is too big.
If the file path size is too big and you try to select the file, you get a Windows error when selection the file (the game doesn't crash but also doesn't accept the file):

If you try to select a folder (Random Deck option), it lets you select the folder, but when you click on Start Duel, it crashes if the chosen file's path size is too big:

I'm not quite sure what's the max file path length is, though. Size 258 didn't crash, size 268 crashed. But I don't know if the backslashes counts towards that (those numbers I calculated considered double backslashes as the folder separator and added those to the length).

I assume I would have to download the repo, do these alterations and compile, right?

That's correct

Does that line makes it give 3 items, or 1 random item from that list?

1 random item from the list that you don't already own (or no item if you already own all the items).

I'm not quite sure what's the max file path length is

The limit is 260 characters https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation

some hepe pleas

Create a new issue @evil1hero https://github.com/pixeltris/YgoMaster/issues/new

v1.38 adds:

"Random" for various accessories in the duel starter UI
A better folder selector
Restoring the previous duel settings after reopening the client
min/max so that craft points can be used with rewards

I'm trying out the new version. The random CPU accessories works fine. But whenever I choose my deck as "Random (Folder)", instead of using the chosen deck's accessories it uses the default/basic accessories (this wasn't happening in the previous version). Whenever I select my deck as "Game" or "File" and choose a deck directly, it loads the correct accessories. Could you please test this?

Fixed in https://github.com/pixeltris/YgoMaster/commit/ded4d31b48c3831c3fff9fcdede5faff34e820a9 you'll need to compile the code or wait until the next release.

The crash is due to the duel starter UI. There is some memory corruption somewhere with that UI which I know about but I can't reliably reproduce to debug it. The crash is related to where the deck names are stored.

There might me more crash sources. I've been doing some tests here. I found all cards that are not craftable (most of them are old banned cards, or alt art cards). I've added them all to "CardCraftableList.json" and crafted 3 copies of them. But when I started adding them to my decks, I started getting crashes when starting the duel. But it's extremely unreliable, I couldn't reproduce the issue in a reliable way. I thought that one card was problematic, so I tried adding them individually to a test deck, and I surprisingly got no crashes. I've even managed to summon IP Masquerena (alt art, uncraftable) and see its exclusive summoning animation. But when I replaced regular Masquerena in my regular deck (that had no forbidden/uncraftable cards) to alt art Masquerena, it started crashing again.
And I noticed that in that 6000 decks pack, some decks use those forbidden, uncraftable cards (I see Royal Oppression quite often). So I believe that some of the crashes might be related to those cards, although as I said, there's no reliable way to reproduce the issue to find out exactly what's going on, so there's probably nothing we can do about this. But I figured you would want to know this.

I don't think the contents of the deck really matter. I'm fairly sure it's the deck name string corrupting memory in some cases but I can't reproduce it consistently to debug it.

Quick question: do you know if the game (or the mod) stores images from older updates? I've added all previous Selection Packs to the shop (I got their information from the older versions of Shop.json), but some of them (mostly older ones) don't have all their images.

They periodically delete old files which are no longer used. I don't have older game archives but someone might.

They periodically delete old files which are no longer used. I don't have older game archives but someone might.

Hey, it's me again.
In my previous comment on this thread, I said that I've added the previous Selection Packs back to the shop, and I said that some of them no longer had their images (you can see it in the screenshot I posted). That's not a problem to me. But in the latest update, instead of loading no image and showing a blank/black image for the older Selection Packs, the game just crashes. I know that you have nothing to do with me wanting to have the old Selection Packs back, so instead of bothering you by opening a new issue here, I tried fixing it myself. I just changed the Shop.json file to show the Master Pack image in the problematic Selection Packs. And it worked.
But now the game is crashing when I'm trying to select a new Card Protector, when editing my deck's accessories. I select Card Protector, then I scroll down as the protectors load, and probably one of the newer ones doesn't load properly.

Can you please check if it's crashing for you too, and if so, maybe try fixing it in the next update? Also, would it be possible to make the game/mod not crash because of missing images, like it was before? The crash screen having more information helps users to fix this issue by themselves and this is good, but I personally prefer when it didn't automatically crash because of missing images.

Thank you for all the explanation. I was using the updated ItemID.json, but since I already had obtained that protector before, I had to delete it from Player.json.
If I disable the popup, would the game still crash when detecting missing images?

AssetHelperDisableFileErrorPopup disables the file load error popup (the one in your screenshot). What happens when you disable the popup depends on what the game does with the given asset which failed to load.


Error on user.changeLanguage:after

Hey,
Trying out your plugin, I noticed a copy/paste mistake here, leading the panel to crash on this action.
https://github.com/hananils/kirby-tracker/blob/297ed3e1f9feb634242a9274ba1ce5438a15ea22/index.php#L151
Replacing with $tracker->track('user', 'changeLanguage', $newUser, $oldUser, 'language'); obviously fixes it. :)

Thanks @Daandelange, this should be fixed now!


Error: Unexpected end of file

Bug Report or Feature Request (mark with an x)
- [x] bug report
- [ ] feature request

Area
- [x] devkit
- [ ] schematics

Versions
node --version
v10.3.0

npm --version
6.1.0

sw_vers
ProductName:	Mac OS X
ProductVersion:	10.12.6
BuildVersion:	16G1314

Repro steps
npm uninstall -g @angular/cli

npm cache verify

npm install -g @angular/cli

ng version
     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 6.0.8
Node: 10.3.0
OS: darwin x64
Angular:
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.6.8
@angular-devkit/core         0.6.8
@angular-devkit/schematics   0.6.8
@schematics/angular          0.6.8
@schematics/update           0.6.8
rxjs                         6.2.0
typescript                   2.7.2

ng new foo                                                                                ✘ 141

The log given by the failure
Unexpected end of file.
Error: Unexpected end of file.
    at _readValue (/usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/core/src/json/parser.js:533:19)
    at parseJsonAst (/usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/core/src/json/parser.js:605:17)
    at Object.parseJson (/usr/local/lib/node_modules/@angular/cli/node_modules/@angular-devkit/core/src/json/parser.js:631:12)
    at getLegacyPackageManager (/usr/local/lib/node_modules/@angular/cli/utilities/config.js:179:35)
    at Object.getPackageManager (/usr/local/lib/node_modules/@angular/cli/utilities/config.js:120:38)
    at NewCommand.runSchematic (/usr/local/lib/node_modules/@angular/cli/models/schematic-command.js:74:38)
    at NewCommand.<anonymous> (/usr/local/lib/node_modules/@angular/cli/commands/new.js:77:25)
    at Generator.next (<anonymous>)
    at /usr/local/lib/node_modules/@angular/cli/commands/new.js:7:71
    at new Promise (<anonymous>)

Desired functionality
Properly recovered from or better error message caused by bad data in user files.
The cause was that ~/.angular-cli.json was an empty file.
Mention any other details that might be useful
I track down the error using
node --inspect --debug-brk  /usr/local/bin/ng new foo

with a break-point in /usr/local/lib/node_modules/<EMAIL_ADDRESS>just before UnexpectedEndOfInputException call super("Unexpected end of file.")
then I realize that this file const legacyGlobalConfigPath = path.join(homeDir, '.angular-cli.json') was used and when I take a look it was empty, so the error is consistent with a bad json parsing, but at least will be good if we had the filename in the error

when I update angular version to 9, I got this issue also

I am also getting this issue. Definitely related to JSON parsing. I just don't know which file is causing the offense.

upgrading my nodejs version from v.10 to v.12 worked for me

I got the same error, and it was due to my proxy json config (it was empty by mistake)
So check all json files managed by CLI

@jedjebari, are you using the latest stable Angular CLI version?
I just tested with an empty proxy configuration file and it's a different error, and the error is self explanatory:
> ng serve -c proxy
An unhandled exception occurred: /workspace/MY_PROJECT/proxy.conf.json: Unexpected end of JSON input
See "/tmp/ng-sNNq17/angular-errors.log" for further details.

> cat /tmp/ng-sNNq17/angular-errors.log
[error] SyntaxError: /workspace/MY_PROJECT/proxy.conf.json: Unexpected end of JSON input
    at parse (<anonymous>)
    at Object.Module._extensions..json (internal/modules/cjs/loader.js:1192:22)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
    at Function.Module._load (internal/modules/cjs/loader.js:901:14)
    at Module.require (internal/modules/cjs/loader.js:1044:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at _addProxyConfig (/workspace/MY_PROJECT/node_modules/@angular-devkit/build-angular/src/dev-server/index.js:521:23)
    at buildServerConfig (/workspace/MY_PROJECT/node_modules/@angular-devkit/build-angular/src/dev-server/index.js:373:9)
    at setup (/workspace/MY_PROJECT/node_modules/@angular-devkit/build-angular/src/dev-server/index.js:113:67)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

I'm able to reproduce on v9.1.7 by introducing a syntax error to angular.json. Definitely could use a better error message, as there is nothing indicating which file has the problem.
douglasparker@basilisk (~/Source/fixit-test)
[20-05-26 13:36:04]$ ng serve
An unhandled exception occurred: Expected end of file, got ",
  "defaultProject"..." at 122:3.
See "/home/douglasparker/Temp/ng-lMGeKl/angular-errors.log" for further details.

@SchnWalter : I got the obscur error while running ng update, not ng serve.
But I was on unhappy path, because I cleared my proxy conf after running ng serve.
That should probably never happen ...
I'll try it another time to be sure

Just updated the CLI with an empty JSON proxy file in a project that contains a proxy configuration, and the update worked.
> ng update @angular/cli
Installing packages for tooling via npm.
Installed packages for tooling via npm.
Using package manager: 'npm'
Collecting installed dependencies...
Found 47 dependencies.
Fetching dependency metadata from registry...
Updating package.json with dependency @angular/cli @ "9.1.7" (was "9.1.6")...
Updating package.json with dependency @angular-devkit/build-angular @ "0.901.7" (was "0.901.6")...
Updating package.json with dependency @angular-devkit/build-ng-packagr @ "0.901.7" (was "0.901.6")...
UPDATE package.json (2669 bytes)
✔ Packages installed successfully.

And then I updated @angular/cli after introducing a syntax error in angular.json, and the update went well. So, maybe, this depends on the schematics that are being used.
Then I've tested this on a project that had the latest @angular/core@8 and @angular/cli@8 And I got this message when I've introduced the same syntax error:
>  ng update @angular/core @angular/cli
An unhandled exception occurred: Workspace config file cannot be loaded: /workspace/3angle/mobiz-mainapp/angular.json
Invalid JSON character: "," at 23:14.
See "/tmp/ng-ybYDUe/angular-errors.log" for further details.

Which is very clear in terms of where the syntax error is.

angular 9 to angular 10 upgrade. node 10.17 and 12.18
[error] Error: Unexpected end of file.
at _readValue (/tmp/angular-cli-packages-OQomyr/node_modules/@angular-devkit/core/src/json/parser.js:625:19)
at Object.parseJsonAst (/tmp/angular-cli-packages-OQomyr/node_modules/@angular-devkit/core/src/json/parser.js:722:17)
at visitExtendedJsonFiles (/tmp/angular-cli-packages-OQomyr/node_modules/@schematics/angular/migrations/update-10/solution-style-tsconfig.js:30:32)
at visitExtendedJsonFiles.next ()
at visitExtendedJsonFiles (/tmp/angular-cli-packages-OQomyr/node_modules/@schematics/angular/migrations/update-10/solution-style-tsconfig.js:45:16)
at visitExtendedJsonFiles.next ()
at visitExtendedJsonFiles (/tmp/angular-cli-packages-OQomyr/node_modules/@schematics/angular/migrations/update-10/solution-style-tsconfig.js:45:16)
at visitExtendedJsonFiles.next ()
at visitExtendedJsonFiles (/tmp/angular-cli-packages-OQomyr/node_modules/@schematics/angular/migrations/update-10/solution-style-tsconfig.js:45:16)
at visitExtendedJsonFiles.next ()
at visitExtendedJsonFiles (/tmp/angular-cli-packages-OQomyr/node_modules/@schematics/angular/migrations/update-10/solution-style-tsconfig.js:45:16)
at visitExtendedJsonFiles.next ()
at visitExtendedJsonFiles (/tmp/angular-cli-packages-OQomyr/node_modules/@schematics/angular/migrations/update-10/solution-style-tsconfig.js:45:16)
at visitExtendedJsonFiles.next ()
at host (/tmp/angular-cli-packages-OQomyr/node_modules/@schematics/angular/migrations/update-10/solution-style-tsconfig.js:56:45)
at MergeMapSubscriber.pipe.operators_1.mergeMap.inputTree [as project] (/tmp/angular-cli-packages-OQomyr/node_modules/@angular-devkit/schematics/src/rules/call.js:75:24)

tsconfig.app.json has a structure different from tsconfig.json. I'd recommend you to generate a new project and copy the content of tsconfig.base.json from there.

@mgechev Thank you for ur reply. I did this I copied actually the 5 tsconfig files and still got the same problem
tsconfig.app.json- tsconfig.base.json - tsconfig.json - tsconfig.spec.json - e2e/tsconfig.json

Thanks for reporting this issue. This issue is now obsolete due to changes in the recent releases. Please update to the most recent Angular CLI version.
If the problem persists after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.

Thanks for reporting this issue. This issue is now obsolete due to changes in the recent releases. Please update to the most recent Angular CLI version.
If the problem persists after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.


short bubble sort

yay! i added a bubble sort single loop implementation :8ball:

@felipernb, ready for revision :santa:

Nice!
:+1:


Clipboard action popup on iOS doesn't quite match

Fidelity wise speaking, if you take a look to the native iOS popup (UIMenuController) and to the Flutter "copy", you can spot a few differences.
iOS UIMenuController

Flutter version

The text font is not quite the same;
There's a visible white line between the arrow and the options;
When you are selecting with 3D touch (swipe on keyboard) you can't press even further to start selecting the text, like you can natively.

hi @miguelpruivo
are you still experiencing the issue with the latest Flutter stable release?
if so, please provide the output of "flutter doctor -v"

I’m afraid that this one not, only #40628 that is related to this as well.


Threading/async paradigms?

Hi, many thanks for starting this project!
I've started looking how to use BTHandshaker::new(), read up on mio, and wondered why I don't need to pass in my EventLoop. Instead handshaker.stream(info_hash) returns a channel reader that I'm supposed to block for in my per-torrent thread? Especially when handling multiple torrents, it'd be great to continue to use mio in the calling code.
Which of the two paradigms do you intend for htracker and the wire protocol, async or threaded?

Yes, I think currently there are some problems with the Handshaker abstraction which could use some refining, one of which is what you pointed out that currently you have to block on each channel returned from BTHandshaker::stream. The other being similar to what I mentioned in #45 where the Handshaker is meant to be composable, but if BTHandshaker received a connection (instead of initiating one), the upper layer Handshakers wouldn't necessarily get a chance to, for example, apply their filters since it was never able to intercept any method calls.
What we could do is define an interface that channels could adhere to and have the concrete implementation (in this case, BTHandshaker) work with the channel generically so you could plug a mio channel in to receive contact information from. You would then subscribe/unsubscribe to InfoHash's via a specific implementation which could utilize Handshaker::filter to choose which connections to continue with based on the InfoHash. The channel would send both the InfoHash and TcpStream (or UtpStream etc) that the peer is on.
EX: SubscribeHandshaker<BTHandshaker> where the outer Handshaker could provide a subscribe/unsubscribe interface which would change the corresponding filter that the BTHandshaker uses.
For bip_htracker I would want an interface similar to bip_utracker where contact information is sent back asynchronously through the Handshaker and metadata associated with a request is passed back through a bip_htracker specific asynchronous interface.
For bip_peer I am still working through the architecture there so I am not sure how it is going to turn out. Currently I want to define a bunch of protocols (tcp, utp, socks, etc) which receive the bytes off the network, deserialize those into wire protocol messages, and push those up to the piece selection algorithm (super seeder, leecher, seeder, etc). This would allow clients to mix and match protocols with peer selection algorithms. The peer selection algorithms would most likely drive the interface for the whole crate which is not fully fleshed out yet.

I will try to throw up an RFC (of sorts) in the next few days to propose a redesign of the bip_handshake module in terms of better asynchronous support and splitting functionality into specialized traits as some of the methods in Handshaker right now are unused by peer discovery services.

Thank you for elaborating. I'm looking forward to the RFC.
I would like to add that I'm not too fond of all the abstractions around threads, e.g. pubsub channels, especially when the internals are already async mio. Anyway, I acknowledge that async style also needs mechanisms like event listeners and such for coupling.


0.1.22 breaks backwards compatibility

https://travis-ci.org/sfackler/r2d2/builds/55904254

This is correct! It did not seem worth it to bump to a whole version though when the previous will stop compiling basically immediately over the next few days. I'm hoping to keep time on the same 0.1 track until we have a chance to re-scrutinize the API and hopefully bring it forward.


Support input fields for $util.alert

Just realized, the current $util.alert only implements the basic format with title and description. Need to implement the form attribute so that it can be used as an input
https://jasonette.github.io/documentation/actions/#utilalert

Resolved with https://github.com/Jasonette/JASONETTE-Android/pull/50!


fix(function): support integer inputs

Fixed the validator to allow integer inputs for arguments.
Made several PEP8 fixes and corrected a number of misspellings.

I'll be rude and merge it for you just now so we can bump queenbee versions in other repos.


[API] Open API Specification and Documentation

Current Behavior
Meshery's REST APIs are only documented in this spreadsheet and Meshery's REST API endpoints are defined in server.go, but not well-commented or externally documented.
Desired Behavior

Autogenerated, Open API compatible specification of Meshery's REST APIs.
Using Swagger, Meshery's REST API documentation should be auto-generated and published. Ideally, published to the Meshery documentation site (https://github.com/layer5io/meshery/blob/master/docs).

Implementation

go-swagger to generate json from validation and serve as a local http endpoint for reference during development.
Create golang structs for each request and response.
Annotate each request with

Sample go file annotation:
// Package handlers Meshery API.
//
// the purpose of this application is to provide an application
// that is using plain go code to define an API
//
// This should demonstrate all the possible comment annotations
// that are available to turn go code into a fully compliant swagger 2.0 spec
//
//
//     Schemes: http
//     Host: localhost:9081
//     BasePath: /
//     Version: 0.4.27
//     License: Apache-2.0 http://www.apache.org/licenses/LICENSE-2.0.txt
//
//     Consumes:
//     - application/json
//
//     Produces:
//     - application/json
//
//     Security:
//     - token:
//
//     SecurityDefinitions:
//     token:
//          type: JWT
//          name: token
//          in: cookie
//
//
// swagger:meta
package handlers

import "github.com/layer5io/meshery/models"

// swagger:route GET /api/server/version VersionAPI idversion
// Returns the version of the meshery server
// responses:
//   200: versionResponse

// Meshery version related metadata
// swagger:response versionResponse
type versionResponse struct {
	// in:body
	Body Version
}

// swagger:route GET /api/providers ProvidersAPI idprovider
// Returns the list of the available providers
// responses:
//   200: providersResponse

// List of avaialable providers and their metadata
// swagger:response providersResponse
type providersResponse struct {
	// in:body
	Body map[string]models.ProviderProperties
}

// swagger:route GET /api/config/sync ConfigSyncAPI idprovider
// Returns the list of the available providers
// responses:
//   200: prefResponse
//   401: errResp

// List of avaialable providers and their metadata
// swagger:response prefResponse
type prefResponse struct {
	// in:body
	Body models.Preference
}

Acceptance Tests

Rendered json, locally available API documentation for Meshery contributors

Future

Publish generated api docs on docs.meshery.io

https://towardsdatascience.com/setting-up-swagger-docs-for-golang-api-8d0442263641

Contributor Guide

I want to give this a shot. I learning how to work with go-swagger.

@leecalcote swagger should be set up under the ./handlers folder. right?

@piyushsingariya I was also adding them under handlers package in file - docs.go. It would avoid merge issues as it is very likely that something may change while you work upon the docs. Also, it would be nice to have docs in a dedicated file, much cleaner I believe.

@utkarsh-pro to maintain that we can smaller pull-requests and mention the handlers/files we're currently working on here. Like I'm currently working on performance and pattern.

@utkarsh-pro to maintain that we can smaller pull-requests and mention the handlers/files we're currently working on here. Like I'm currently working on performance and pattern.

@piyushsingariya that's great however the convention in golang is to write package wide documentation in doc.go. Refer https://golang.org/src/fmt/doc.go if you would.


gvaclassify error: Inference  for model license-plate-recognition-barrier-0007

Use case
Create dl streamer pipleline working for license plates other than China.
I am trying to train a model for countries other than China.
Two Solution:

retain license-plate-recognition-barrier-0001.  But how?
retain license-plate-recognition-barrier-0007,  I met the gvaclassify error.

Error description.
Re-train guideline "license-plate-recognition-barrier-0007" in the following link:
https://docs.openvinotoolkit.org/2021.4/omz_models_model_license_plate_recognition_barrier_0007.html#original_model
https://github.com/openvinotoolkit/training_extensions/tree/develop/misc/tensorflow_toolkit/lpr
According the README.md, I download the pre-trained model and convert it to IR.
when I try load it through  gvaclassify (tried in Openvino 2021.2 and Openvino 2021.4) I got the error:
0:00:00.186411571  1980 0x55db08429430 ERROR                default inference_impl.cpp:803:InferenceCompletionCallback: Failed to extract classification results.
        Failed to copy model 'lpr' output blob of layer 'd_predictions' to resulting Tensor
                Failed to get blob size for blob with 70 InferenceEngine::Precision

I test the IR in workbench , it could read image and get the result.

IR_license-plate-recognition-barrier-0007.zip

Thanks, even I used the proc, the issue is still there.
But I tried to make it with the workaround.
After I traced into the sourcecode, I found it doesn't support the I32 precision, So I created a model to have FP32 precision.
Now it works.


Implement "use parent"

Implement "use parent" for blessed classes and add the parent packages to our @ISA when creating our class.  Test inheritance.

Implemented in v1.020 along with several fixes for inheritance both of blessed classes and regular code


Building from source fail, error in tensorflow/core/lib/core/threadpool.cc

Hi,
I try to build tensorflow from source, but I get the ERROR as following:
ERROR: /WORK/sysu_sc_ll/tf-rh/tensorflow-/tensorflow/core/BUILD:766:1: C++ compilation of rule '//tensorflow/core:lib_internal' failed: gcc failed: error executing command /HOME/sysu_sc_ll/WORKSPACE/tf-rh/bazel-/hackbin/gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -Wall -Wl,-z,-relro,-z,now -B/HOME/sysu_sc_ll/WORKSPACE/tf-rh/bazel-/hackbin -B/usr/bin ... (remaining 78 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
tensorflow/core/lib/core/threadpool.cc:82:49: error: expected template-name before '<' token
 struct ThreadPool::Impl : Eigen::ThreadPoolTempl<EigenEnvironment> {
                                                 ^
tensorflow/core/lib/core/threadpool.cc:82:49: error: expected '{' before '<' token
tensorflow/core/lib/core/threadpool.cc:82:49: error: expected unqualified-id before '<' token
tensorflow/core/lib/core/threadpool.cc:220:1: error: expected '}' at end of input
 }  // namespace tensorflow
 ^
tensorflow/core/lib/core/threadpool.cc:220:1: error: expected '}' at end of input
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 12.663s, Critical Path: 10.84s

OS:  redhat 6.7
gcc: 4.9.2
building with cuda
run command:
export EXTRA_BAZEL_ARGS='-s --verbose_failures --ignore_unsupported_sandboxing --genrule_strategy=standalone --spawn_strategy=standalone --jobs 8'
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
I did not change any source file,
And previously, the is another error in the source tensorflow/core/lib/io/record_reader.cc
which claim that the SIZE_MAX is not defined, I solve it by define it as size_t -1. And now this error show up.
Could anyone give me some help here? Thanks.

I can't reproduce your compilation error so it'll be hard for me to diagnose the root cause. However, you should be able to work around the problem by editing the tensorflow.bzl file and deleting the  "-DTENSORFLOW_USE_EIGEN_THREADPOOL" string in the tf_copts() function.

I had a similar issue (ref https://github.com/tensorflow/tensorflow/issues/2324)

I tried to build on Raspberry Pi and got the same error as @GekTo

Automatically closing due to lack of recent activity. Please re-open when more information becomes available.

I haven't been able to reproduce this compilation error.


[BEAM-2029] NullPointerException when using multi output ParDo in Spark runner in streaming mode.

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Run Spark ValidatesRunner

R: @tgroh
CC: @echauchot @amitsela @iemejia

LGTM.

Coverage decreased (-0.01%) to 69.782% when pulling c2ed02b8a860c8828f0099140caa7dcccf2d8a91 on aviemzur:npe-in-multiple-output-pardo-spark-streaming into fdf2de9994268f5e1d704aa30a4504ac6ee624b8 on apache:master.

All green, merging. Nice fix!

Well done @aviemzur !


e2e: Run tests with leviathan master and draft worker release

Change-type: patch
Signed-off-by: Kyle Harding<EMAIL_ADDRESS>

@vipulgupta2048 we do need a testbot user API key on this repo as a secret (I don't want to use the balena-io-push user).

Added API key name as: BALENA_API_KEY_PUSH

Added API key name as: BALENA_API_KEY_PUSH

@vipulgupta2048 That env var is supposed to be from ops using the org-wide accounts_balenaio_push_bot user, not the testbot user.
We only want the testbot API key to be populated in BALENA_TESTBOT_TOKEN.

@balena-ci I self-certify!

@vipulgupta2048 I figure the repinning of the testbot devices can happen in a subsequent PR


Using page_chooser accessing page.get_url in a template

Found a bug? Please fill out the sections below. 👍
Issue Summary
Cannot get a url from the page_chooser object
Steps to Reproduce

Add a page_chooser block to SteamField
In my model select a page and clock save
In the template try to access the url of the page
All I get is None

What I want to be able to happen is to be able to call the get_url method and get the url of the page. Or even something like {{ block.value.page.specific.get_url }} or even {% pageurl block.value.page %} None of these approaches work.
Technical details

Python 3.6.5
Django version: 2.0.5
Wagtail version: 2.0.1
Browser version:  Firefox 61

Hi @davemerwin,
The value of a PageChooserBlock is the page object, so you don't need to write block.value.page - the correct syntax would be {% pageurl block.value %}.
If you still have no success, please open a question on Stack Overflow giving a complete code example (including the StreamField model definition and template code) that reproduces the problem.


Stack unwinding error when dropping Handle in block_with

Run the unit test with
cargo test --release coroutine_unwinds_on_drop

You may saw the similar output:
     Running target/release/coio-d04fbdaaf3d53238

running 1 test
test coroutine::test::coroutine_unwinds_on_drop ... FAILED

failures:

---- coroutine::test::coroutine_unwinds_on_drop stdout ----
	thread 'coroutine::test::coroutine_unwinds_on_drop' panicked at 'assertion failed: `(left == right)` (left: `0`, right: `1`)', src/coroutine.rs:336
note: Run with `RUST_BACKTRACE=1` for a backtrace.

failures:
    coroutine::test::coroutine_unwinds_on_drop

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured

But if you do one of the following modification

Add #[inline(never)] on coroutine::Coroutine::yield_with
Add #[inline(never)] on processor::ProcessorHandle::block_with

The problem will be solved magically!!

It might be Boost.Context here which does not work as intended with Rust, because Rust's ABI is a bit different to to the "native" extern-C-ABI (which Boost.Context expects to be the case).
Maybe some Registers are not correctly preserved? Or maybe Boost.Context expects to be able to pop some stack value (like the return address of the current method)? And so on...
It might thus be necessary to painfully step through the code instruction by instruction to discover some accidentially trashed Register or something...
If my assumption above is correct it might (again) be necessary to remove the #[inline(always)] from the context wrapper methods. That in turn would lead to a extremely high 500% performance overhead though (for x86_64 in this case).

Maybe it could not be solved gracefully. So, just mark the block_with (now it is called park_with) that do not allow to drop the handle inside the callback function.


Use OpenTracing API version 0.22.0.

This separates the SpanBuilder and SpanContext concepts which were previously conflated.

Will do.

[INFO] --- centralsync-maven-plugin:0.1.0:sync (default-cli) @ opentracing-spanmanager ---
[INFO] {"status":"Successfully synced and closed repo.","messages":["Sync finished successfully."]}


DatePicker break with invalid input

Write some invalid data to DatePicker, for example: "sdfsdfh"
Open DatePicker.
DatePicker is broken, even if I write valid date

This bug doesn't exists in the latest version


How to use “Add simple_test to dense heads“?

Hi, dear authors
Sorry to borher you.
mmdet has updated the new feature of Add simple_test to dense heads. Could you tell me how can I use this new feature?
Thank you！

Hi @zhongqiu1245 This PR just unifies the function entry and has no effect on the logic. The usage does not require special attention.

Thank you@hhaAndroid


add threads

I could not use global variables, GIL is ok.

if there is merge conflict: final result example:
https://github.com/shimondoodkin/zero/blob/main/zero/server.py#L106-L111

@shimondoodkin would you mind adjusting your pr with the conflict? :pray:  I would like to use a thread pool.


Feat/email authentication

Change goal: Authentication via email
Database change: Email polje u Stakeholders tabeli je sada Unique

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


AL server crashing with new AL Compiler

Describe the bug
Opening VSC with the new AL Compiler loaded in, won't activate it. It keeps crashing.
[Info  - 14:47:12] Connection to server got closed. Server will restart.
Unhandled exception. System.TypeInitializationException: The type initializer for 'Microsoft.Dynamics.Nav.Deployment.Telemetry.TelemetryServiceManager' threw an exception.
---> System.TypeInitializationException: The type initializer for 'Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource' threw an exception.
---> System.ArgumentException: External component has thrown an exception.
at System.Globalization.CompareInfo.CompareString(ReadOnlySpan1 string1, ReadOnlySpan1 string2, CompareOptions options)
at System.Globalization.CompareInfo.Compare(String string1, String string2, CompareOptions options)
at System.Globalization.TextInfo.PopulateIsAsciiCasingSameAsInvariant()
at System.Globalization.TextInfo.ChangeCaseCommon[TConversion](String source)
at System.Globalization.TextInfo.ToUpper(String str)
at System.String.ToUpperInvariant()
at System.Diagnostics.Tracing.EventSource.GetGuid(Type eventSourceType)
at System.Diagnostics.Tracing.EventSource..ctor(EventSourceSettings settings, String[] traits)
at System.Diagnostics.Tracing.EventSource..ctor()
at Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource..ctor()
at Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.CoreEventSource..cctor()
--- End of inner exception stack trace ---
at Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.DequeueAndSend(TimeSpan timeout)
at Microsoft.ApplicationInsights.Channel.InMemoryTransmitter.Runner()
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__274_0(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of inner exception stack trace ---
at Prod.EditorServices.Host.Program.Main(String[] args) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Host\Program.cs:line 135
[Error - 14:47:12] Connection to server got closed. Server will not be restarted.
On my server I also have VS Installed (for report design).
Microsoft Visual Studio Community 2019
Version 16.5.2
VisualStudio.16.Release/16.5.2+29926.136
Microsoft .NET Framework
Version 4.7.03062
This crash has something to do with Microsoft.AspNetCore.Identity nuget package, where's a bug in v 3.1.1 (and fixed in 3.1.2). So I first upgraded VS to this listed version, then installed the latest version of  https://www.nuget.org/packages/Microsoft.AspNetCore.Identity.EntityFrameworkCore/3.1.3  to a test C# project.
But the AL Compiler keeps crashing ...
Any ideas how to get the new AL Compiler working?
To Reproduce
Steps and to reproduce the behavior:

open VSC with AL compiler active

AL Code to reproduce the issue
/
Expected behavior
Compiler us active
Screenshots
If applicable, add screenshots to help explain your problem.
5. Versions:

AL Language: 5.0.254558

Business Central: 15.2

https://www.yammer.com/dynamicsnavdev/threads/618431748030464

cmd dotnet --info gives:
C:\Windows\system32>dotnet --info
.NET Core SDK (reflecting any global.json):
Version:   3.1.201
Commit:    b1768b4ae7
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.14393
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\3.1.201\
Host (useful for support):
Version: 3.1.3
Commit:  4a9f85e9f8
.NET Core SDKs installed:
2.1.700 [C:\Program Files\dotnet\sdk]
2.1.801 [C:\Program Files\dotnet\sdk]
3.1.201 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.17 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
Some more googling gives:
https://github.com/dotnet/Scaffolding/issues/454
Extrapolating this to dotnet 3.1, means I need packageversion 3.1 too
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 3.1.2
Installed it into a test project, still same error

https://stackoverflow.com/questions/43330915/could-not-load-file-or-assembly-microsoft-build-frameworkvs-2017
suggest

Our local build script was using an older version of nuget.exe (<IP_ADDRESS>93) to restore NuGet packages. We started getting this error after updating to Visual Studio 2019 version 16.5.0. Updating to the latest version of nuget.exe (<IP_ADDRESS>15) fixed the issue for us.
nuget.exe can be downloaded here: https://www.nuget.org/downloads.
ran nuget.exe - recommended latest v5.4.0 , still the same

Hi @SirBETE,
In order to unblock you, is it still crashing if you in your VSCode settings have?
"al.useLegacyRuntime": false

Hi @SirBETE,
In order to unblock you, is it still crashing if you in your VSCode settings have?
"al.useLegacyRuntime": false

It was already set to false, so explicitly setting it in the settings made no difference.
But setting it to true, made the compiler work!
But now I got this strange warning:
{
"resource": "./app.json",
"owner": "generated_diagnostic_collection_name#1",
"code": "AD0001",
"severity": 4,
"message": "Analyzer 'Microsoft.Dynamics.Nav.CodeCop.Design.Rule214BlindWriteLocalRecord' threw an exception of type 'System.InvalidCastException' with message 'System.InvalidCastException: Unable to cast object of type 'Microsoft.Dynamics.Nav.CodeAnalysis.BoundFieldAccess' to type 'Microsoft.Dynamics.Nav.CodeAnalysis.IInvocationExpression'.\r\n   at Microsoft.Dynamics.Nav.CodeCop.Design.Rule214BlindWriteLocalRecord.ProcessingInvocation(SyntaxNode syntaxNode, PooledDictionary2 processInvocations, SyntaxNodeAnalysisContext syntaxNodeAnalysisContext)\r\n   at Microsoft.Dynamics.Nav.CodeCop.Design.Rule214BlindWriteLocalRecord.<>c.<Analyze>b__5_0(SyntaxNodeAnalysisContext syntaxNodeAnalysisContext) in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeCop\\Design\\Rule214BlindWriteLocalRecord.cs:line 66\r\n   at Microsoft.Dynamics.Nav.CodeAnalysis.Diagnostics.AnalyzerExecutor.<>c__DisplayClass52_1.<ExecuteSyntaxNodeAction>b__1() in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeAnalysis\\DiagnosticAnalyzer\\AnalyzerExecutor.cs:line 742\r\n   at Microsoft.Dynamics.Nav.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows_NoLock(DiagnosticAnalyzer analyzer, Action analyze, Nullable1 info) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1077'",
"source": "AL",
"startLineNumber": 1,
"startColumn": 1,
"endLineNumber": 1,
"endColumn": 1
}
x64 times ... :(
Any idea how I can solve those warnings?
Or what I need to do to not use the legacyruntime?

I don't know how you can solve those warnings right away, but if you could boil it down to a small piece of self contained code that reproduces the stacktrace then we can investigate it.
For getting you away from using the legacy runtime, I have no clue at the moment.
Thanks for reporting the issue,
Thomas

I don't know how you can solve those warnings right away, but if you could boil it down to a small piece of self contained code that reproduces the stacktrace then we can investigate it.
For getting you away from using the legacy runtime, I have no clue at the moment.
Thanks for reporting the issue,
Thomas

Hmmn, ok thanks!
I can at least use the new extension now. :)
I will try to create a project with those warnings.
TY for your assistance!

Were you able to reproduce this on a clean install? There are 2 runtimes that the language server uses:

.NET Framework (useLegacy: true)
.NET Core 3.0

The latter is a self-contained package and should work on any machine.

I could try, but I don't manage our environments. Doubt it will be allowed to let our internal IT create me a new server or spend much time on this to further test it ... :( sorry
I have these .NET core's installed:

So would I need to download the 3.0 version?

Installed 3.0 (https://dotnet.microsoft.com/download/dotnet-core/3.0)
and removed the uselegacy setting, compiler DOESN'T crash! 😄
awesome!!
This warning on app.json is still there though 😢
{
"resource": "/c:/project/x/app.json",
"owner": "generated_diagnostic_collection_name#1",
"code": "AD0001",
"severity": 4,
"message": "Analyzer 'Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions' threw an exception of type 'System.NullReferenceException' with message 'System.NullReferenceException: Object reference not set to an instance of an object.\r\n   at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.ExtractCountOfOptionsFromGlobalVar(ISymbol symbol) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeCop\Localizability\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 286\r\n   at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzeCaptions(SymbolAnalysisContext symbolAnalysisContext, SyntaxNode node, IdentifierNameSyntax identifierName, ISymbol symbol) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeCop\Localizability\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 260\r\n   at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzeModifiedControlsAndActions(SymbolAnalysisContext symbolAnalysisContext, SyntaxNode node, ISymbol symbol) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeCop\Localizability\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 113\r\n   at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzePageModifyFields(SymbolAnalysisContext symbolAnalysisContext, ImmutableArray1 changeSymbols) in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeCop\\Localizability\\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 88\r\n   at Microsoft.Dynamics.Nav.CodeCop.Localizability.Rule218TooltipMustBeFilledOnPageForFieldsAndActions.AnalyzePage(SymbolAnalysisContext symbolAnalysisContext) in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeCop\\Localizability\\Rule218TooltipMustBeFilledOnPageForFieldsAndActions.cs:line 56\r\n   at Microsoft.Dynamics.Nav.CodeAnalysis.Diagnostics.AnalyzerExecutor.<>c__DisplayClass49_2.<ExecuteSymbolActionsCore>b__0() in D:\\a\\1\\s\\source\\Prod\\Microsoft.Dynamics.Nav.CodeAnalysis\\DiagnosticAnalyzer\\AnalyzerExecutor.cs:line 655\r\n   at Microsoft.Dynamics.Nav.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows_NoLock(DiagnosticAnalyzer analyzer, Action analyze, Nullable1 info) in D:\a\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1077'",
"source": "AL",
"startLineNumber": 1,
"startColumn": 1,
"endLineNumber": 1,
"endColumn": 1
}
A custom ruleset has been used, where rile 218 has been set to action : None.

Performance is now terrible :(
It takes very long (10s) to show the autocompletion, or to use the autoformat.
With the 4.0 compiler, it would be there instant, or with a small delay (1s).

@atoader
Had to work today on a different project, where the compiler didn't crashed.
So I checked what's the difference between that and my current project (where the compiler crashes).
Saw "editor.codeLens": true, was different, changed it to false and restart VSC.
The compiler didn't crash!
What does that setting do?

Hi! There's a nice description of code lens here https://vscode.rocks/codelens/ . Having it enabled might be triggering some code paths that are causing the crash.
The other crash above seems to be coming from a CodeCop rule. Can you open another issue for that one? It seems that we are missing a null check .

Ok, I will check it and create a new issue. Thanks.

Looks like you fixed this problem.
The compiler was updated, and it doesn't crash anymore, independent of whether codelens is active or not.
Awesome! :D


String crush issue on MS Excel(XLS)

String(i'm Korean) crush issue solution on MS Excel(XLS).

Add property(charset=UTF-8) of meta tag

Thank you :D

Thanks!


docs: showcase user React Native Testing Library

future do tag the issue which you asked for permission from the external project within this PR summary as well. This helps us easily verify that permission was indeed granted.

Yes, I will tag the issue in pull request instead of tag pull request in that issue


made the script simple

it was failing due to missing continuation_toke

@microsoft-github-policy-service agree


Incorrect time is shown for 12:00 PM when using 12 hour time format

When using the 12 hour time format the time text is showing 00:00 PM which is incorrect instead it should show 12:00 PM

after looking at the code I noticed the problem was caused by the date time extension specifically on the hourDisplay12 getter that is written like this
 String get hourDisplay12 =>
      "${(hour % 12).toString().padLeft(2, '0')}:${minute.toString().padLeft(2, '0')} ${hour >= 12 ? 'PM' : 'AM'}";

Which is causing the 12 to be 0, I suggest you can modify the code to this so that it will display the time as expected
 String get hourDisplay12 {
    if (hour == 12) {
      return "${(hour).toString().padLeft(2, '0')}:${minute.toString().padLeft(2, '0')} ${hour >= 12 ? 'PM' : 'AM'}";
    }
    return "${(hour % 12).toString().padLeft(2, '0')}:${minute.toString().padLeft(2, '0')} ${hour >= 12 ? 'PM' : 'AM'}";
  }

Hi @ArizArmeidi,
Thanks so much for finding the issue. I'll release a patch soon

Thanks for the quick response 😁


fix(installer): Support leftover /opt/datadog-agent dir

What does this PR do?
Don't fail when disabling a unit that is already disabled or doesn't exist
Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

/merge


About the problem that the pyinstaller package contains torch

I try to package a application containing torch through pyinstaller, but it prompts me "TorchScript requires source access in order to carry out compilation, make sure original. py files are available." How do I solve this problem? Detailed stack information:
Traceback (most recent call last):
  File "torch\_sources.py", line 21, in get_source_lines_and_file
  File "inspect.py", line 1129, in getsourcelines
  File "inspect.py", line 958, in findsource
OSError: could not get source code

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "vits-paimon-ui.py", line 10, in <module>
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "PyInstaller\loader\pyimod02_importers.py", line 499, in exec_module
  File "commons.py", line 101, in <module>
  File "torch\jit\_script.py", line 1340, in script
  File "torch\jit\frontend.py", line 234, in get_jit_def
  File "torch\_sources.py", line 96, in parse_def
  File "torch\_sources.py", line 28, in get_source_lines_and_file
OSError: Can't get source for <function fused_add_tanh_sigmoid_multiply at 0x000001F3F8A00040>. TorchScript requires source access in order to carry out compilation, make sure original .py files are available.
[15028] Failed to execute script 'vits-paimon-ui' due to unhandled exception!

Solved.


Margin and Padding Utility classes missing?

Docs show them, but i'm not seeing them.  Have they now been implemented yet or is something broken?

Would it be possible to be more specific about what you are experiencing? Like which version of Bootstrap are you using, or your development setup. Can you describe your setup a little more, so the issue you are experiencing can be dissected more?
I am using Bootstrap's v4 Alpha cdns, and I am just doing a quick start setup. I created a test html file with the margin and padding classes described in Utility Classes, and I found the classes to be available.

Sorry guys, this was an error on my part. I didn't checkout the right branch and was in the 3.3.5 tree.
Sorry again!


Fix example/module folder and remove duplicate examples

Description
This PR is to fix example/module folder's scripts.
(1) fix python_loss.py script
(2) lstm_bucketing.py already exists in rnn folder, remove from module folder
(3) train_cifar10.py already exists in image-classification folder, remove from module folder
Checklist
Essentials

[:white_check_mark: ] Passed code style checking (make lint)
[:white_check_mark: ] Changes are complete (i.e. I finished coding on this PR)
[N/A ] All changes have test coverage
[N/A ] For user-facing API changes, API doc string has been updated. For new C++ functions in header files, their functionalities and arguments are well-documented.
[:white_check_mark: ] To my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

could you rebase?

Rebased...

Added readme file and rebased.


amazing CT acrobatics

Next steps

[ ] re-use the ct_state, validate the rev_nat_index
[x] introduce switch(ct_result), skip some steps for per-packet LB traffic

/test

/test


Add Jenkins Job Builder lint tool

This is a second attempt at adding local tests for our Jenkins Job Builder templates, which I think we need so that we can easily update Jenkins Job Builder.
It is a bit simpler than #160 in the sense that it uses a bash script instead of a Makefile, but it is still pretty complicated. I looked into creating a Python tool but it would have involved having to use a bunch of private APIs for both ansible and JJB.
Comments and opinions are always welcome.

Travis CI tests are running as expected, unfortunately they are failing due to warnings being issued by jenkins-jobs test :sweat_smile:

Okay I think I'm done here.
Once #163 is merged I will rebase this on master, squash most of the commits to make a cleaner history, and then merge provided no one has any objections.

Tests passed because I've rebased on master (which has fixes for job definition issues)

Closing because the latest version of jenkins-jobs breaks this 😭
This PR will return in Part III.


⚡Create endpoints and ideal JSON output

Updates

We've two endpoints now: /get and /enrich with same param (url)
get endpoint is returning an ideal JSON output according to the README description.
tag_parser.py is updated with three main functions: og tags, twitter tags, and fallback
Removed multithreading from app.py (no need now)
Removed Streams
[minor] fixed codefactor issues with artsy.py
The data precedence is as follows:
1. Open graph tags
2. Twitter meta tags
3. HTML title, img, and paragraph

@FaazAbidi @alihaiderrizvi Looking good so far guys!
I was thinking that another fun way to do a fallback if there is no OG or Twitter tags would be to take a screenshot of the website and have that returned as the image (rather than the first image). I did some high level research and found these solutions:
https://github.com/maaaaz/webscreenshot
http://webscraping.com/blog/Webpage-screenshots-with-webkit/
What do you guys think?
cc: @hxghhhh

@FaazAbidi @alihaiderrizvi Looking good so far guys!
I was thinking that another fun way to do a fallback if there is no OG or Twitter tags would be to take a screenshot of the website and have that returned as the image (rather than the first image). I did some high level research and found these solutions:
https://github.com/maaaaz/webscreenshot
http://webscraping.com/blog/Webpage-screenshots-with-webkit/
What do you guys think?
cc: @hxghhhh

Great Idea, that's way better. We'll look into this, seems pretty easy with a python wrapper. The output image will be on Heroku's server, is there a way to host that image directly to Analogue's server?
Wild idea: Screenshots can also be used to train a ML model for detecting the medium and form of a webpage since the current code is not handling those very well and is limited. Potential project for  @alihaiderrizvi 😛

Great Idea, that's way better. We'll look into this, seems pretty easy with a python wrapper. The output image will be on Heroku's server, is there a way to host that image directly to Analogue's server?

@FaazAbidi hmm wondering if there's a way to store this in a temporary URL of some sort. The way I'm handling images is very specific to Rails (using ActiveStorage to connect to the Content model), so not sure how to connect directly from this service. The rails endpoint opens the image and attaches/uploads via ActiveStorage, which then stores it in an S3 bucket.


[Update] Refactor NFT reveal functionality and batch lazy minting

Problem solved
Short description of the bug fixed or feature added

PR-Codex overview
The focus of this PR is to add ERC721 and ERC4337 extensions and update contract UI components.
Detailed summary

Added ERC721 and ERC4337 extensions for lazy minting and account operations
Updated contract UI components for NFT and account management
Refactored contract functions and feature detection for improved usability

The following files were skipped due to too many changes: apps/dashboard/src/contract-ui/tabs/claim-conditions/components/reset-claim-eligibility.tsx, apps/dashboard/src/contract-ui/tabs/nfts/components/reveal-form.tsx, packages/thirdweb/src/extensions/erc721/lazyMinting/read/getBatchesToReveal.ts, apps/dashboard/src/contract-ui/tabs/nfts/components/batch-lazy-mint-button.tsx

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

#4413  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jnsdls and the rest of your teammates on  Graphite


Scroll button on mouse tries to scroll between cameras

Not sure if this is intended operation or not, but the scroll button on a mouse causes the cameras to scroll if the mouse is positioned anywhere over the frigate-hass-card.  Even if only one camera is defined in the card, it tries to scroll (goes about a third of the way).  I have a view that displays 6 cameras, and when I try to scroll the entire window with the mouse it instead tries to scroll the individual frigate card to the next camera.  I have to click and drag on the windows scroll bar to be able to move down to see the bottom cameras.

That is working as intended -- i.e. the scroll wheel can be used to scroll through the cameras in the carousel within one card.
A few questions:

Do you think it should behave this way by default? If I have a card with >1 cameras in it, this feels useful?
Should there be an option do disable this?
What about the thumbnail carousels?

I can see where this would be useful, but is it possible to disable it if there is only 1 camera defined in the card?  This would allow me to scroll the window when I am using a card for each camera (versus multiple cameras in each card).

I can see where this would be useful, but is it possible to disable it if there is only 1 camera defined in the card?

Done!

Great card! I was wondering if it is possible to completely disable this functionality, then I found this issue. Looking at the code, I guess it can't be disabled completely, right? Is there a possibility this could be configurable in an upcoming release?

@dermotduffy Great card! I was wondering if it is possible to completely disable this functionality, then I found this issue. Looking at the code, I guess it can't be disabled completely, right? Is there a possibility this could be configurable in an upcoming release?

Yes, this could be done easily I suspect. File a feature request if this is something you'd like me to explore. Please be clear in the feature request whether or not you'd expect it to apply to the main media only (e.g. live video streams), or the thumbnails carousel, or both.


storage: gitlab, create new diagram file not found

We have integrated a self-hosted gitlab into our diagrams.net. We have managed to authorize the application. But when we create a new diagram and select to save it in gitlab we get the error "file not found".
In the console the following appears:

Thanks!

have the same problem, even I didn't updated gitlab

Gitlab api v4 use this URL :GET /projects/:id/repository/tree
But drawio use this.baseUrl + '/projects/' + encodeURIComponent(org + '/' + repo) + '/repository/' +

Is this still an active issue?


[Suggestion] Chaos Orb

Add an option that shows what charms Chaos Orb is currently imitating.
Something like RecentItemsDisplay mod would look good.

I had that in mind. The main difficulty is that I would need to have all the sprites handy. (In the meantime, if you haven't noticed, you can see which charms it's imitating in your inventory)

The latest major update has this - it's the "Chaos HUD" option in the menu.


KAFKA-13785: [7/N][Emit final] emit final for sliding window

Description
Implementation to emit final for sliding window agg. This PR is on top of https://github.com/apache/kafka/pull/11896
Testing
pending unit test and integration test

https://github.com/apache/kafka/pull/12127

Filed https://github.com/apache/kafka/pull/12135 (the actual diff after resolution is smaller).


Stubzones

Stub Zones are pointers that point to another set of servers which should
provide an answer for the current query. This is similar to the (recursive)
forwarding SkyDNS does, but different in that you need to specify a domain name
and a set of authoritative servers. Also this can be dynamically controlled by
writing values into Etcd. Note, that when enabled SkyDNS will first consult
the stub configuration, potentially bypassing any configured local records.
The configuration is stored under stub.dns.skydns.local.

@bketelsen I think this is in good shape now. Could you sign off, or ask difficult question on why we need this? :)

LGTM - Interesting.  What was the driver for this?

this allows for a setup where one master skydns knows about the services of
all stub skydns-es. i.e. it allows aggregation of service discovery to a
higher level. Doing it in this dynamic way is much easier than teaching
clients about a new set of SkyDNS servers that are turned up somewhere far,
far away.
It is also a generalisation of the recursive forwarding already going on.
we could add a special 'recursive' domain which list the forwarding servers
and make that dynamic as well with services.
LGTM - Interesting. What was the driver for this?
—
Reply to this email directly or view it on GitHub
https://github.com/skynetservices/skydns/pull/156#issuecomment-95247016.


[Bug] Recipe doesn't load when removed ingredients linked in step

Ref attached log file. This error results in a blank page with a placeholder recipe image at the top, rather than displaying the recipe.
log.txt

@YodaDaCoda Thanks for reporting this! Sorry it took me so long to reply. I think, the response from Mealie is incorrect here. According to the response, the last step of this recipe (step id 1d121c6d-8084-46d1-8806-b0588baca356) uses 5 ingredients.
However, only 4 out of these 5 ingredients are present in the response. Ingredient with id 48422e07-cd64-4529-8437-79b53cd961c0 is missing.
My assumption is that this ingredient was there in the recipe, and then the ingredient itself was removed, but link was not.
Can you check if removing the referenced ingredients in this step resolves the issue? The step is Top with sour cream, bacon, cheddar cheese, or chives. Enjoy!.

Appreciate you taking the time to look into this mate. Interestingly enough, I don't appear to have an ingredient with that id in the database. Unless that's the id of an ingredient-recipe junction which I can't really investigate right now 🤷
I tried removing all ingredient links from that step, but it didn't resolve the issue. I suppose it's possible there's more instances of the same issue within this recipe. I've attached a new log in the hopes you might be able to determine this.
log.txt
But as you say, this does appear to be Mealie serving incorrect data. I'll see about raising an issue with Mealie to resolve. It'd be nice to see Mealient handle this issue a bit more gracefully however.

@YodaDaCoda Are you sure you removed all links from that step? According to the logs you attached, Mealie still sends 5 linked ingredients. Check this line:
2024-07-28T10:04:12.685411Z V OkHttp: {"id":"3894492c-fd2f-49c8-91bb-5bd4ec22f706","userId":"9dbc093b-88be-496b-987a-9b4a5e53b957","groupId":"266782de-cdcb-47ac-a388-b1a894a90be5","name":"Jacket Potato Soup","slug":"jacket-potato-soup","image":"glDb","recipeYield":"8 servings","totalTime":"30 minutes","prepTime":"30 minutes","cookTime":null,"performTime":null,"description":"An easy and delicious creamy potato soup recipe that can be made in just one pot! Loaded with bacon and creamy potato goodness, this is a favorite comfort food in my household.","recipeCategory":[{"id":"ec024a3a-1525-4108-a5a4-2ecd77903932","name":"entrees","slug":"entrees"}],"tags":[{"id":"793d1df4-9556-4e71-9671-5e679056d7c4","name":"soup","slug":"soup"}],"tools":[],"rating":null,"orgURL":"https://sugarspunrun.com/creamy-potato-soup-recipe/","dateAdded":"2024-06-27","dateUpdated":"2024-07-28T19:58:14.641632","createdAt":"2024-06-27T18:07:47.130249","updateAt":"2024-07-28T19:58:14.644459","lastMade":null,"recipeIngredient":[{"quantity":400.0,"unit":{"id":"4cd2df7a-4543-4dba-b437-9bd23dce6b72","name":"gram","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"g","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:38.578139","updateAt":"2023-08-14T15:07:38.578145"},"food":{"id":"e40a2a03-9790-4993-8ae2-f03e2e2bd6b9","name":"bacon","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:01.248170","updateAt":"2023-08-14T15:07:01.248176"},"note":"","isFood":true,"disableAmount":false,"display":"400 gram bacon","title":null,"originalText":"6 strips (uncooked) bacon (cut into small pieces)","referenceId":"06d9fa4d-d2e8-4027-b08f-3287f8b160c7"},{"quantity":3.0,"unit":{"id":"9d63f088-db2f-45ef-a47a-d1e4d608ad1e","name":"tablespoon","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"tbsp","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:38.226123","updateAt":"2023-08-14T15:07:38.226130"},"food":{"id":"a9acde0a-6631-4526-a81c-cd9cb8c40a0f","name":"butter","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:02.634679","updateAt":"2023-08-14T15:07:02.634685"},"note":"","isFood":true,"disableAmount":false,"display":"3 tablespoon butter","title":null,"originalText":"3 tablespoons butter (unsalted (or salted will work))","referenceId":"7972975d-b99d-4f32-a338-b8bac432e260"},{"quantity":1.0,"unit":null,"food":{"id":"e1a4f8f6-d6c3-42df-95a6-d6ad9584b37c","name":"onion","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:08.933244","updateAt":"2023-08-14T15:07:08.933251"},"note":"medium size","isFood":true,"disableAmount":false,"display":"1 onion medium size","title":null,"originalText":"1 medium yellow onion (chopped (about 1.5 cup /200 gram))","referenceId":"e2a408b3-d0c8-42da-af25-4e05ee6593bc"},{"quantity":3.0,"unit":{"id":"4f5ca4fc-45e3-4193-96d9-f8e388c24c37","name":"clove","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:38.834283","updateAt":"2023-08-14T15:07:38.834288"},"food":{"id":"71bd959a-7512-455d-b029-33d728f4e1ee","name":"garlic","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:06.589430","updateAt":"2023-08-14T15:07:06.589438"},"note":"","isFood":true,"disableAmount":false,"display":"3 clove garlic","title":null,"originalText":"3 large garlic cloves (minced)","referenceId":"8980113b-00c3-4719-89e8-d6fabe83dd50"},{"quantity":42.0,"unit":{"id":"4cd2df7a-4543-4dba-b437-9bd23dce6b72","name":"gram","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"g","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:38.578139","updateAt":"2023-08-14T15:07:38.578145"},"food":{"id":"ea92c3e3-ff96-4967-98f7-6cd928818b22","name":"plain flour","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2024-06-15T16:02:50.169094","updateAt":"2024-06-15T16:02:50.169100"},"note":"","isFood":true,"disableAmount":false,"display":"42 gram plain flour","title":null,"originalText":"1/3 cup all-purpose flour ((42 gram))","referenceId":"a0eb09ba-3a6c-45c9-ae32-6c751bd39d5e"},{"quantity":4.0,"unit":{"id":"b8424220-1153-4502-a005-168a2ba05aa6","name":"cup","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"cup","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:38.264605","updateAt":"2023-08-14T15:07:38.264612"},"food":{"id":"b0a2b17d-9507-4ef3-8ce1-c1e9c947a2a7","name":"chicken stock","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-15T08:45:22.801963","updateAt":"2023-08-15T08:45:22.801966"},"note":"","isFood":true,"disableAmount":false,"display":"4 cup chicken stock","title":null,"originalText":"4 cups chicken broth ((945 milliliter))","referenceId":"4ec18105-8f21-4c2d-bfa9-814cb5965233"},{"quantity":2.0,"unit":{"id":"b8424220-1153-4502-a005-168a2ba05aa6","name":"cup","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"cup","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:38.264605","updateAt":"2023-08-14T15:07:38.264612"},"food":{"id":"307c7ee6-4e82-44fc-9a20-119f85a1e7fe","name":"milk","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:04.466761","updateAt":"2023-08-14T15:07:04.466765"},"note":"500 mL","isFood":true,"disableAmount":false,"display":"2 cup milk 500 mL","title":null,"originalText":"2 cups milk ((475 milliliter))","referenceId":"57b2f93a-aac1-40ea-8e9c-df5fe19d086f"},{"quantity":2.0,"unit":{"id":"b8424220-1153-4502-a005-168a2ba05aa6","name":"cup","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"cup","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:38.264605","updateAt":"2023-08-14T15:07:38.264612"},"food":{"id":"8a06103b-ad14-4bdc-9566-1f1f6c2c4c73","name":"thickened cream","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-15T08:45:38.781825","updateAt":"2023-08-15T08:45:38.781831"},"note":"","isFood":true,"disableAmount":false,"display":"2 cup thickened cream","title":null,"originalText":"2/3 cup heavy cream ((155 milliliter))","referenceId":"2770c5ee-bbb6-4dbe-b1fd-ba72137a9881"},{"quantity":1.5,"unit":{"id":"5fe98d7e-1039-4afa-bbac-3a82d1c68af6","name":"teaspoon","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"tsp","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:37.785504","updateAt":"2023-08-14T15:07:37.785510"},"food":{"id":"c83f4dcd-2f0a-4c6c-9ec9-662264853e5e","name":"salt","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:10.453839","updateAt":"2023-08-14T15:07:10.453842"},"note":"","isFood":true,"disableAmount":false,"display":"1 ¹/₂ teaspoon salt","title":null,"originalText":"1 1/2 teaspoon* salt","referenceId":"ee3664dc-5ec8-48e0-b3bf-91f848c08da9"},{"quantity":1.0,"unit":{"id":"5fe98d7e-1039-4afa-bbac-3a82d1c68af6","name":"teaspoon","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"tsp","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:37.785504","updateAt":"2023-08-14T15:07:37.785510"},"food":{"id":"3b385837-db55-491c-aaf0-83e4771739e8","name":"black pepper","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-23T09:03:19.380219","updateAt":"2023-08-23T09:03:19.380222"},"note":"","isFood":true,"disableAmount":false,"display":"1 teaspoon black pepper","title":null,"originalText":"1 teaspoon ground pepper","referenceId":"99006bec-1bcb-4212-860d-1c9d99169185"},{"quantity":1.0,"unit":{"id":"82903541-18d8-4833-a40d-110c2b8bfc96","name":"kilogram","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"kg","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:38.633195","updateAt":"2023-08-14T15:07:38.633201"},"food":{"id":"0aacc7ee-f19d-4b28-84cc-2d504663c69a","name":"potato","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:11.399094","updateAt":"2023-08-14T15:07:11.399099"},"note":"","isFood":true,"disableAmount":false,"display":"1 kilogram potato","title":null,"originalText":"2 1/2 lbs gold potatoes (peeled and diced into pieces no larger than 1” (this was about 6 large potatoes for me/1.15 kilogram))","referenceId":"683b9207-0275-4265-bea7-847fd4bcf3e0"},{"quantity":0.66,"unit":{"id":"b8424220-1153-4502-a005-168a2ba05aa6","name":"cup","pluralName":null,"description":"","extras":{},"onHand":false,"fraction":true,"abbreviation":"cup","pluralAbbreviation":null,"useAbbreviation":false,"aliases":[],"createdAt":"2023-08-14T15:07:38.264605","updateAt":"2023-08-14T15:07:38.264612"},"food":{"id":"3d7eb545-6dee-4da4-a999-9ec4e12eaa9d","name":"sour cream","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T18:56:46.951994","updateAt":"2023-08-14T18:56:46.952000"},"note":"(160 gram)","isFood":true,"disableAmount":false,"display":"²¹/₃₂ cup sour cream (160 gram)","title":null,"originalText":"2/3 cup sour cream ((160 gram))","referenceId":"ffa10278-963c-44a0-a731-aed328c11b6a"},{"quantity":null,"unit":null,"food":{"id":"da95303b-7c97-43c1-9ce9-3ac69b1b28a4","name":"cheese","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:03.542653","updateAt":"2023-08-14T15:07:03.542658"},"note":"shredded","isFood":true,"disableAmount":false,"display":"cheese shredded","title":"","originalText":null,"referenceId":"3be12259-fc10-4447-b8ce-ca6367431ac4"},{"quantity":1.0,"unit":null,"food":{"id":"e40a2a03-9790-4993-8ae2-f03e2e2bd6b9","name":"bacon","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:01.248170","updateAt":"2023-08-14T15:07:01.248176"},"note":"diced","isFood":true,"disableAmount":false,"display":"1 bacon diced","title":"","originalText":null,"referenceId":"5aad7f5b-2842-4770-b387-4fff9d6a919f"},{"quantity":1.0,"unit":null,"food":{"id":"98dd9454-c7a6-47af-b7aa-b9c0655613e4","name":"chives","pluralName":null,"description":"","extras":{},"onHand":false,"labelId":null,"aliases":[],"label":null,"createdAt":"2023-08-14T15:07:03.656156","updateAt":"2023-08-14T15:07:03.656164"},"note":"chopped (optional)","isFood":true,"disableAmount":false,"display":"1 chives chopped (optional)","title":"","originalText":null,"referenceId":"1c561420-172c-4642-96ac-18fce970a0ae"}],"recipeInstructions":[{"id":"f5d309fa-79b9-4140-9519-854b3e241608","title":"","text":"Place bacon pieces in a large Dutch Oven or soup pot over medium heat and cook until bacon is crisp and browned.","ingredientReferences":[{"referenceId":"06d9fa4d-d2e8-4027-b08f-3287f8b160c7"}]},{"id":"99b71a5f-91dd-416d-bc7d-1bdf9b761a8f","title":"","text":"Remove bacon pieces and set aside, leaving the fat in the pot.","ingredientReferences":[]},{"id":"bc98ae62-2560-4c85-85e6-4bb1bbb2a73b","title":"","text":"Add butter and chopped onion and cook over medium heat until onions are tender (3-5 minutes).","ingredientReferences":[{"referenceId":"7972975d-b99d-4f32-a338-b8bac432e260"},{"referenceId":"e2a408b3-d0c8-42da-af25-4e05ee6593bc"}]},{"id":"2e01c951-5a4d-4ad6-8ccd-a7db6427265c","title":"","text":"Add garlic and cook until fragrant (about 30 seconds).","ingredientReferences":[{"referenceId":"8980113b-00c3-4719-89e8-d6fabe83dd50"}]},{"id":"c9825c23-a54e-448a-8668-f0f9f41d1a0d","title":"","text":"Sprinkle the flour over the ingredients in the pot and stir until smooth (use whisk if needed). (Make a rue)","ingredientReferences":[{"referenceId":"a0eb09ba-3a6c-45c9-ae32-6c751bd39d5e"}]},{"id":"c4b258a4-4eb1-473c-971e-284729290a55","title":"","text":"Add chicken broth, milk, heavy cream, salt, and pepper to the rue. Stir well.","ingredientReferences":[{"referenceId":"4ec18105-8f21-4c2d-bfa9-814cb5965233"},{"referenceId":"57b2f93a-aac1-40ea-8e9c-df5fe19d086f"},{"referenceId":"2770c5ee-bbb6-4dbe-b1fd-ba72137a9881"},{"referenceId":"ee3664dc-5ec8-48e0-b3bf-91f848c08da9"},{"referenceId":"99006bec-1bcb-4212-860d-1c9d99169185"}]},{"id":"cada9e4a-5a46-41b5-8910-cd3921150bdc","title":"","text":"Add diced potatoes to the pot.","ingredientReferences":[{"referenceId":"683b9207-0275-4265-bea7-847fd4bcf3e0"}]},{"id":"f546d5d8-c09b-48e8-93c5-4687bd118dfd","title":"","text":"Bring to a boil and cook until potatoes are tender when pierced with a fork (about 15 minutes).","ingredientReferences":[]},{"id":"e3b8a4a6-98e3-4c11-b525-bc10efc49702","title":"","text":"Reduce heat to simmer and remove approximately half of the soup to a blender (be careful, it will be hot!) and puree until smooth (half is about 5 cups of soup, but just eyeballing the amount will be fine. Alternatively you can use an immersion blender.).","ingredientReferences":[]},{"id":"64e802f6-2d5a-4490-a372-a03db5d69b71","title":"","text":"Return blended soup to pot.\nAllow soup to simmer for 15 minutes before serving.","ingredientReferences":[]},{"id":"cd776b86-dd8b-4de9-af15-a06e5554f549","title":"","text":"Top with sour cream, bacon, cheddar cheese, and chives. Enjoy!","ingredientReferences":[{"referenceId":"48422e07-cd64-4529-8437-79b53cd961c0"},{"referenceId":"ffa10278-963c-44a0-a731-aed328c11b6a"},{"referenceId":"3be12259-fc10-4447-b8ce-ca6367431ac4"},{"referenceId":"5aad7f5b-2842-4770-b387-4fff9d6a919f"},{"referenceId":"1c561420-172c-4642-96ac-18fce970a0ae"}]}],"nutrition":{"calories":"521","fatContent":"32","proteinContent":"12","carbohydrateContent":"47","fiberContent":"5","sodiumContent":"1326","sugarContent":"7"},"settings":{"public":true,"showNutrition":false,"showAssets":false,"landscapeView":false,"disableComments":false,"disableAmount":false,"locked":false},"assets":[],"notes":[{"title":"Doubling","text":"Jody doubled the recipe and ended up using a bit extra stock (+2 cubes). Don't think she used corresponding extra water though. Not all the extra was used. We may want to reduce the overall volume of soup while being the stock quantity the same in order to achieve the more intense flavours."}],"extras":{},"comments":[]}

Here's JSON of the last instruction:
    {
      "id": "cd776b86-dd8b-4de9-af15-a06e5554f549",
      "title": "",
      "text": "Top with sour cream, bacon, cheddar cheese, and chives. Enjoy!",
      "ingredientReferences": [
        {
          "referenceId": "48422e07-cd64-4529-8437-79b53cd961c0"
        },
        {
          "referenceId": "ffa10278-963c-44a0-a731-aed328c11b6a"
        },
        {
          "referenceId": "3be12259-fc10-4447-b8ce-ca6367431ac4"
        },
        {
          "referenceId": "5aad7f5b-2842-4770-b387-4fff9d6a919f"
        },
        {
          "referenceId": "1c561420-172c-4642-96ac-18fce970a0ae"
        }
      ]
    }

All referenced ingredients are there in recipeIngredient JSON except for the same 48422e07-cd64-4529-8437-79b53cd961c0 as before.
Also, I haven't checked any other recipe instruction, it just happened so that I started checking from the bottom. Even if you resolve that particular issue, there might be other steps that reference non-existent ingredients.
Unfortunately, the only thing the log tells is that foreign key constraint was violated when attempting to save recipe to local db, doesn't tell what exactly went wrong.

I edited the receipe, removed the ingredients from the step, saved, edited it again and re-added the ingredients, saved. The Mealie webui only showed 4 ingredients linked.
I removed all the step-ingredients linked for that last step and I can still see the error in the logs. Can you confirm if it's on the same step?
log.txt
I can likely correct this issue myself in the backend of Mealie but the fact I'm able to achieve it at all ain't right.
Fyi I plan to dig into this tomorrow and report the underlying issue to Mealie once I've figured out steps to replicate.

Now this wrong ingredient is the only referenced one :-D
    {
      "id": "dc5a0c3d-d862-434b-b94b-ebe25578f47c",
      "title": "",
      "text": "Top with sour cream, bacon, cheddar cheese, and chives. Enjoy!",
      "ingredientReferences": [
        {
          "referenceId": "48422e07-cd64-4529-8437-79b53cd961c0"
        }
      ]
    }

This time I checked all the other instructions, and this seems to be the only non-existent reference.

I used Mealie's builtin recipe json editor to remove the invalid ingredientReferences entry and it loads fine in Mealient now :)

Glad to hear! Since the bug isn't in Mealient, I am closing the issue now.


Reconcile LB targets on lb service activate

on other events, always check the lb service state, and don't propagate the targets if the state is Inactive. Otherwise targets updates kick off the lb agent start within the inactive service
https://github.com/rancherio/rancher/issues/902

LGTM


Catch LoadError when checkin for engine

resolves issue #450, solution from @alessandro1997 comment in discussion.

This is an autoloader issue. The Rails guide covers it here. There may be another way to check if the controller is from an Engine or not without relying on LoadError to be thrown (going to look into this) but as the code stands, just wrapping this in a begin/rescue to catch it should be fine. If the controller is part of an engine, the proper engine paths and urls are formatted, and if not, the expected LoadError from the Rails autoloader is caught and non engine paths and urls are formatted.
Should I look for an alternative way to handle the Engine check, or is this above solution acceptable?

@gnfisher In general I'd like to avoid exceptions for flow control, however if raising LoadError is the way rails handles this I don't see a problem with your solution.
This passes the existing tests. I haven't looked into writing a test that confirms that this fixes the problem in #450. Is that something you could add? If it's not easy I can try to confirm using the steps in #450.

When following the steps ins #450 no LoadError was raised, and the response processed correctly. I can look into writing a test for it - the current ones didn't catch the problem so perhaps there's a little retooling I can do to the existing suite to fix that.

I've been unable to craft a test for this. Somehow we'd have to use Rails autoloader to load the MyEngine and ApiV2Engine modules and their Engine classes... Admittedly I've not had a ton of time to put into this. If you could point me in a good direction I would be happy to look for a way to get this covered by the unit test.

@gnfisher I'm not sure how to test for it either. Since it's not easy to test I've merged it into master. If we see no errors soon I'll cherry pick it into beta and maybe 0.8 as well if I can get a test figured out.
Thanks for the fix and looking at the tests.


Add argument for default profile attributes

Generic argument to add defaults to all hosts. This could cover modules, extraArgs, system, and channelName. I would say keep some things, ex sharedModules, just for convenience and backwards-compatibility, but this is overall useful to prevent making the api surface too large. Whenever adding things to hosts, you no longer need to make a relevant default argument, users can just use defaultHostAttrs.
Example:
defaultHostAttrs = {
  modules = ...;
  channeName = ...;
  system = ...;
};

@gytis-ivaskevicius we where wondering if you wanted to preserve shared* top level flat api or deprecate it at some point in the future.
We can see how usage plays out and make that call whonce we get there.

I'd like to preserve shared* the API. It is a very nice and convenient way to deal with system configuration. One of the things that might be nice to do is some sort of separation like sharedDarwinModules and sharedNixOSModules but I am not sure about that.
Related: https://github.com/divnix/devos/pull/232#discussion_r609448708


Extract Noun Attr

What steps are the government taking to remedy these evils?
government taking steps
Then try this one:
What principle of justice would there be in asking the accused person to come forward and be examined as a witness?

What message are my colleagues and myself to take home to our people?
Need to traverse through "are"


Set multiple fonts for font-fallback.

I'm used to using Droid Sans Mono for Powerline font, but I usually work with asian characters such as Chinese or Japanese in my shell.
For now, the font-fallback is follow the systemlink, but it's a very outdated and complex way to set.
I think it looks awesome if I can set multiple fonts in Terminus.
Well known, Terminus is built with electron that is based web technique. So I have tried to use css font syntax to set multiple fonts, and finally it works with below:
Droid Sans Mono for Powerline Regular", "Microsoft Yahei", "Microsoft JhengHei

Note that there should be no quote character at start or end. Then it works right with shell windows but not shown correctly in the "preview" panel of settings.
It would be great if you can fix the "preview" panel and make a more sensible font setting UI.

Fixed - behaviour is now the same between preview and the actual terminal. Multiple fonts can be specified, separated with commas, with or without quotes.
I've also fixed the bundled last-resort fallback font to work with xterm.

@allcontributors add @PMExtra for bugs


[chainerx] add hstack vstack atleast_2d

References #6423 .

Could you please take a look and figure why the test is crashing so badly? It works fine on my system. I am unable to figure that out.
Thank You.

Oops, forgot to check the test failure. I'll take a look.

Hmm, I can't reproduce either.

Interesting. Can I try one thing, I ll switch off the chainer and chainermn test temporarily and run chainerx test at verbose to see which one is crashing?

Test that it is crashing on is
tests/chainerx_tests/unit_tests/routines_tests/test_manipulation.py::test_AtLeast2d_param_25_{shapes=(1, 1), dtype='float32'}[native:0]

@niboshi can you please take a look. I am unable to have gdb running. The same command runs fine on my system. Thank You.

@niboshi , the issue has been fixed. Please review.

Please add a test pattern for the last fix.

Lambda parameterization will not work with pytest-xdist.
How about replacing with strs?
(same as https://github.com/chainer/chainer/pull/7065#issuecomment-490712394)

Could you resolve conflict?

Jenkins, test this please

Jenkins CI test (for commit 2da21778c4dafe4c9c9cda9989655f785f67326a, target branch master) failed with status FAILURE.

LGTM
Thank you so much!