Netopeer2 server re-establishing disturbed Callhome connection after a long time

Hi Michal
I had configured a periodic callhome connection . When callhome connection was established, i brought down the connection by pulling out the cable. After 2 mins i plugged in the cable again. Observed Netopeer2 server re-established the disturbed connection after 1 hour. Would you please comment on this behavior?
-Rajib
attaching Configuration and  debug logs
ietf-netconf-server.zip
debuglog.zip

Hi Rajib,
based on your running configuration my guess is that the reason is you configuring reconnect_timeout (which is an obvious typo on the module so I fixed it in our modules, I didn't think it could cause any problems) instead reconnect-timeout so the default 60 was used.
Regards,
Michal

Hi Michal
Many thanks for the quick fix. I shall take latest code fix from devel then.
-Rajib

No, I haven't fixed anything, I have already changed the leaf name in our modules before, so you need to change the leaf name in the configuration from reconnect_timeout to reconnect-timeout.
Michal

Hi Michal
Ok.
But i could only find a leaf named 'reconnect_timeout' for periodic connection type in ietf-netconf-server data model .
-Rajib

Hi Michal
As i read in below link, leaf named  'reconnect_timeout' is defined for periodic connection of NETCONF client and leaf named  'reconnect-timeout' is defined for periodic connection of RESTCONF client .
https://tools.ietf.org/html/draft-ietf-netconf-server-model-09
-Rajib

Hi Rajib,
you misunderstand me, but alright, I updated netopeer2 repository ietf-netconf-server module so that it is the exact module from the RFC draft. To use it, it would probably easiest for you to reinstall all of sysrepo, keystored, and netopeer2-server. The fastest way is probably to simply open ietf-netconf-server YANG module, which is located in your sysrepo repository directory somewhere and manually change reconnect-timeout to reconnect_timeout. Then the issue should be fixed.
Regards,
Michal

Hi Michal
Thank you for the update!
I believe Netopeer2 ,sysrepo code now complies with latest ietf-netconf-server.yang  data model . I mean in code we would use reconnect_timeout instead of reconnect-timeout. In that case i will take new code from Netpeer2-server and sysrepo devel branch.
-Rajib

Hi Michal
This issue is not resolved in latest devel branch code.  I am using a 'periodic' connection type with reconnect_timeout value '30' . Once callhome connection is established, i pulled out the cable for a minute and plugged in again. Far end client system had callhome connection cleaned up. But in our side callhome connection was still in 'ESTABLISHED' state forever. Netopeer2 server never attempted to establish it again. In fact , Netopeer2 server did not come to know about the connection disruption at all.
-Rajib

Hi Rajib,
as I have mentioned before, if the disconnection is not detected in Network layer (kernel), we have no chance of detecting it in Application layer. Keep-alive may have been included in the standard drafts for this very reason, but unfortunately it is not implemented yet and it will not be anytime soon. So I do not know how to help you.
Regards,
Michal


[RFC] [RFT] nixos/pipewire: default to wireplumber

Motivation for this change
Upstream now officially claims that Wireplumber is at feature parity and pipewire-media-session is deprecated (source: multiple people, including Wim, on<EMAIL_ADDRESS>IRC). I think it might be time to rip off this band-aid before even more people start customizing pipewire-media-session.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

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

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

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

[x] Fits CONTRIBUTING.md.

If anyone has good ideas on how to make the migration less painful, they'd be very appreciated...
(also, sorry for the force push spam, my editor is being weird)

I don't think there's anything stopping you from running without a session manager if you just force both to off?

Yeah, i guess that is mainly a matter of documenting how to do it.
Actually the A2DP sink seems to be working even without config now. And I checked the upstream defaults and it seems they just enable all codecs by default now and rely on the hardware db to block problematic devices. So I expect very minimal breakage overall.

Actually the A2DP sink seems to be working even without config now.

I confirm it is working without extra configs for me now with Wireplumber. My speakers, bluetooth headphone and (external) microfone is properly handled, defaults are sane. Really good.

Also a phone pushing its audio to the PC. Gimmicky, but occasionally useful. And it has been covered in the advanced config examples so it's nice that that use case won't break suddenly.

Also, some more testing results: I've been trying to break my Pipewire + Wireplumber setup very hard for a few days now, and it has held up impressively well.
Here's the setup:

integrated Realtek ALC1220 sound chip
external Creative X3 DAC (USB)
three AMD GPU HDMI/DP outputs:

LG 27GL850 monitor (DP 1.4)
BenQ BL2411PT monitor (DP 1.2)
LG OLED65CX TV (HDMI 2.1)

Broadcom Bluetooth 5.0 dongle

Sony WH-1000XM3 headphones (LDAC, AptX, AAC)
old Xiaomi Bluetooth earphones (mSBC)

PS5 controller audio jack output
HyperX SoloCast mic (USB)
noname Aliexpress HDMI capture card (USB)

Pretty much any combination of those inputs and outputs I've thrown at it was handled correctly, including running literally all of them at the same time.

Wireplumber isn't really designed to run system-wide, from what upstream told me. I'd rather add an assertion on this, unless someone wants to test it a lot.

However upstream seem to have system units
https://gitlab.freedesktop.org/pipewire/wireplumber/-/tree/master/src/systemd/system

All right, I've just enabled those in the package, can someone with a systemwide setup please test that it at least somewhat works?

So, should we go ahead with this?

Merged this so we can get early feedback on unstable. Any further fixes can go in new PRs.


Standardised names for harmonised fields

Problem
We harmonise data so that we can join on it. But we don't use the same words for the same columns, so actually there is no machine-readable way of knowing that we can do this join.
Proposed solution
First part: always use standard names and standard types (and enforce those types with a check)

geo: for countries, regions and world
year: for years
date: for dates (we do not do this in backported data)
gender: for situations where we have harmonized it

Second part: add to the variable metadata a boolean to say it was harmonised

This solves the issue of allowing a gender column that is custom to the dataset and not harmonised
The column can contain extra entity values (e.g. new regions not in the master set), but the flag just means that it's compatible to attempt a join on

@pabloarosado Thoughts?

It makes sense.


Dragged Item jumps vertically by page scroll amount on first drag only

I have an App that is one long scrolling page with an anchor menu that auto scrolls the page similar to http://mgcrea.github.io/angular-strap/
I am using the 'horizontal' mode of ui-sortable with enough items to wrap across three rows.
Angular ui-sortable works perfectly if I load the page and it has not scrolled. If I scroll the page vertically by e.g. 200px then when I first drag a sortable element it jumps down a corresponding 200px until it is dragged over a neighboring item, it then assumes the correct position again. Every subsequent drag and drop works perfectly, even if I scroll the page again there is no vertical jumping of the draggable element by the corresponding amount scrolled.
I believe the vertical location of the draggable element is being calculated on page load but is not being updated after I have scrolled the page. Once dragging, UI-sortable then manages to rectify itself about the time the 'update' jQuery UI event is broadcast ie after is is over a another element.
Is it possible for me to manually call the method that recalculates the draggable items position, on drag 'start' event?

OMG!!! Thanks! I love u dude!! :+1:

this is what works for me
   $scope.sortableOptions = {
                start: function(e, ui) {
                    $('#sortable-ul-selector-id').sortable({
                            sort: function(event, ui) {
                                var $target = $(event.target);
                                if (!/html|body/i.test($target.offsetParent()[0].tagName)) {
                                    var top = event.pageY - $target.offsetParent().offset().top - (ui.helper.outerHeight(true) / 2);
                                    ui.helper.css({'top' : top + 'px'});
                                }
                            }
                    });

                },
                update: function(e, ui) {
                    if (ui.item.sortable.model.idVideo == -1) {
                        ui.item.sortable.cancel();
                    }
                }
            };

@liadlivnat thanks for the feedback :+1:

@julian-iFactory this solution worked for me! It might be slightly more performant to not put firstSort on the $scope though (ie, just var firstSort)

@nickells try it
        $scope.wscrolltop = '';
        $scope.sortableFirst = false;

        $scope.sortableOptions = {
            'ui-floating': 'auto',
            'start': function (event, ui) {
                if($scope.sortableFirst){
                    $scope.wscrolltop = $(window).scrollTop();
                }
                $scope.sortableFirst = true;
            },
            'sort': function (event, ui) {
                ui.helper.css({'top': ui.position.top + $scope.wscrolltop + 'px'});
            }
        };

The parent must have an "overflow: auto". Thats all!

@kakaeriel thanks, it works for me. Love you man.

@kakaeriel
@ahmerrkhanzz
It doesn't work in first time when i drag,.
And when i set revert: true, the animation effect show the wrong  position.

It was halped to me:
start: function (ev, ui) {                  let scrollTop = $(window).scrollTop();                 if (scrollTop > 0) {                     ui.helper.css('margin-top', scrollTop);                 }             },             stop: function (ev, ui) {                 ui.item.css('margin-top', 0);             }

It was useful to me:
                let scrollTop = $(window).scrollTop();
                if (scrollTop > 0) {
                   ui.helper.css('margin-top', scrollTop);
                }
            },
            stop: function (ev, ui) {
                ui.item.css('margin-top', 0);
            }```


Running niiview on a remote system

Hi I am interested in running nii view on a remote server. I tried npm run dev -- --host. But my webpage doesnt really load it remains blank.
  VITE v5.3.4  ready in 247 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: http://x.x.x.x:5173/
  ➜  Network: http://x.x.x.x:5173/
  ➜  Network: http://x.x.x.x:5173/
  ➜  press h + enter to show help

Removed the IP with x.x.x.x

The web app always runs in the browser, it doesn't have a server backend.
Vite is only used for development, so it's think the webpage it hosts might be only accessible from the same local network. But this is the same as https://niivue.github.io/niivue-vscode/. This is a web app version, it runs in the browser and has no remote support. Vite compiles the typescript code to Javascript, the code still runs in your local web browser. You wouldn't be able to access files on the remote machine, only local files (on the machine that opened the page in the browser) or links to online hosted images.
For viewing images on a remote machine, I use vscode to connect to the remote machine and install the niivue extension in the remote vscode window.
What is your goal?

I do not know a lot about node js or vite. I will read about this. However if i may explain. Is it possible to run niiview such that i start it while exposing the host and i can access it on a different computer by going to the url http://x.x.x.x:5173/index.html

Currently it is not possible to host Niivue, since it doesn't have a backend, it runs purely in the browser of the local machine.
But you can use the vscode solution:

use vscode to connect to the remote machine
install the Niivue vscode extension in the remote session
open image files in the vscode file browser to render them with Niivue
vscode handles all the complicated remote connection things, no custom server is required


[Add] Tabler Icon

Site URL
https://tablericons.com/
Description of the above provided site
Tabler is a collection of more than 1,400 SVG icons that are free and open-source. The Tabler UI framework creators designed and developed these icons to be easily customizable and suitable for a wide range of design requirements.
Category
Frontend
Sub Category
icons
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

Kindly assigned issue #526 to me.
Thanks

Kindly assigned issue #526 to me. Thanks

Sure


Assign issue to specific project

If there are many projects in a repo, it'd be great to be able to assign the issue to a particular project based on a specified parameter.

Couldn't you achieve this behavior by creating a label for each project, and having an automation rule per project that puts the issue into the project based on the correctly named label?

@alexfornuto The issue would still be added to every single project. The added_label rule only works for moving between columns. Only new_issue and new_pullrequest work for adding to the project :/

:thinking: It would be great to have a rule that adds an issue to board on label added.


[NodePattern] How to match a specific child of a node?

Sorry to ask it here, but I'm trying to play with the source code, especially on NodePattern and currently stuck at some point. I want to check if a node has a specific child:
code = 'options x: "y"'
source = RuboCop::ProcessedSource.new(code, RUBY_VERSION.to_f)
node = source.ast
NodePattern.new('(send nil? :options (hash (pair (sym :x) (str "y")))').match(node)

The matcher above does match, but it will fails if there are multiple options, i.e. options x: "y", z: 10.
How can I match the code above to make sure that hash has a (pair (sym :x) (str "y")) child node?

Please try the following:
code = 'options x: "y", z: 10'
source = RuboCop::ProcessedSource.new(code, RUBY_VERSION.to_f)
node = source.ast
NodePattern.new('(send nil? :options (hash (pair (sym :x) (str "y")) ...))').match(node)

FYI https://github.com/bbatsov/rubocop/blob/10a7041d23bcd579821b378dd351aeead7c3f082/lib/rubocop/node_pattern.rb#L28-L29

Umm... Yes, you're right.
I have no idea :(

I remember my conversation with @Drenmi on this issue:
https://github.com/bbatsov/rubocop/pull/4786#pullrequestreview-64758375
It looks like it's not possible so far and the solution we all use is iterating over hash elements. 😿

If someone is keen to build this functionality for the node pattern parser it would be greatly appreciated. 🙂

so the order can be anything.

There's < > for disregarding order when matching: https://github.com/rubocop/rubocop-ast/blob/master/docs/modules/ROOT/pages/node_pattern.adoc#-for-match-in-any-order


if theta bar pareto descent, then theta should be updated

one could simply use if criteria is met


Add a settings page to edit payout methods

User story
Now that users can have multiple payout methods associated to their accounts, we need a way to edit them (add/remove).
Best solution for this problem
A page in Settings > Payout Methods where payout methods are listed. Users can remove them or add a new one directly from there.
When removed, we should either:

Set isSaved to false if the payout method was used for expenses
Delete it if it was never used

MVP
For now the most important action is the one to remove payout methods because it's not possible to do it from the expense flow. We should tackle that in priority, the ability to add a new one is optional.
Documentation
We should add an entry to the docs: How do I delete a payout method?

@znarf regarding the other changes that are happening in settings, let me know if the setting page proposed here should have another name.

We're good. For financial contributors and people submitting expenses, we'll say "Payment Methods" (Credit Cards) and  "Payout Methods" (Paypal, Bank Account).
For Hosts, we'll say "Receiving Money" (Stripe, Bank Account, ...) and "Sending Money" (Transferwise, ...)

@znarf that sounds pretty clear to me, thanks


Allow for multiple ZeroSpend inputs in a single transaction

Adds transaction creation logic
Extends transaction validation logic first created by @psolstice
Adds RPC method
Adds relevant tests

A few more tests are to be added, however I think it's best to get the review process underway now.

@ultimaweapon : All changes submitted bar the function split.

@riordant Travis still fail :)

@ultimaweapon Passing now.. what happened was our .gitignore (for some reason) includes the Makefile in depends aswell as the patches there.. I'm not sure why. To me, .gitignore should only specify files that should not be included in the remote repo at all. What do you think?

You just found another bugs in our repository :) What I guess is .gitignore in the root of repository recursively excluded Makefile in all children directories because usually Makefile will be generated by configure script so we don't want to include it. After looking at it found out it is true. We can put !Makefile in depends/.gitignore to negate the exclusion in this directory and all of its child.

@ ultimaweapon:

Those files are autogenerated yes, however to stop them being pushed to remote, they should be included in .gitignore.
I did, they will be re-added. Again, this is an issue with our .gitignore and the way it handles files.
It is an IDE file for Qt-Creator. I will add it to .gitignore and remove it.

The code itself is okay for me the remaining comments is just a small suggestion. But still need someone who are expert in this field to review business logic.

Merged with refactor-mtp-L64. Should probably close this PR without merge as it'll get merged into master with MTP branch

Closing this PR as merged into refactor-mtp-l64


MMM-awesome-alexa breaks the location of all other 3rd party modules

If you know how to fix the issue, make a pull request instead.

[ ] Before submitting your issue add logs from your MagicMirror by running command `pm2 log MagicMirror'

[TAILING] Tailing last 15 lines for [mm] process (change the value with --lines option)
/home/pi/.pm2/logs/mm-error.log last 15 lines:
0|mm       |  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:09.00.302] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:10.54.494] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:11.48.225] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:13.19.527] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:15.23.540] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:16.52.638] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:18.35.955] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:20.04.091] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:21.36.397] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:23.54.373] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
0|mm       | [21.01.2021 21:29.54.986] [WARN]  (electron) The default value of app.allowRendererProcessReuse is deprecated, it is currently "false".  It will change to be "true" in Electron 9.  For more information please check https://github.com/electron/electron/issues/18397
/home/pi/.pm2/logs/mm-out.log last 15 lines:
0|mm       | [21.01.2021 21:29.53.668] [LOG]   Starting node helper for: newsfeed
0|mm       | [21.01.2021 21:29.53.669] [LOG]   Connecting socket for: MMM-OneTracker
0|mm       | [21.01.2021 21:29.53.671] [LOG]   Starting node_helper for: MMM-OneTracker
0|mm       | [21.01.2021 21:29.53.672] [LOG]   Connecting socket for: MMM-MyScoreboard
0|mm       | [21.01.2021 21:29.53.674] [LOG]   Starting node_helper for module [MMM-MyScoreboard]
0|mm       | [21.01.2021 21:29.54.518] [LOG]   Connecting socket for: MMM-awesome-alexa
0|mm       | [21.01.2021 21:29.54.520] [LOG]   Sockets connected & modules started ...
0|mm       | [21.01.2021 21:29.54.929] [LOG]   Launching application.
0|mm       | [21.01.2021 21:29.58.146] [LOG]   Create new calendar fetcher for url: http://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics - Interval: 300000
0|mm       | [21.01.2021 21:29.58.244] [LOG]   Create new news fetcher for url: https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml - Interval: 300000
0|mm       | [21.01.2021 21:29.58.413] [INFO]  Checking git for module: MMM-OneTracker
0|mm       | [21.01.2021 21:29.58.419] [INFO]  Checking git for module: MMM-MyScoreboard
0|mm       | [21.01.2021 21:29.58.422] [INFO]  Checking git for module: MMM-awesome-alexa
0|mm       | [21.01.2021 21:30.00.714] [INFO]  Newsfeed-Fetcher: Broadcasting 61 items.
0|mm       | [21.01.2021 21:30.02.169] [INFO]  Calendar-Fetcher: Broadcasting 10 events.
I saw the previous posts about how this would be updated, but I never ended up seeing an update. Does anyone know a fix for the title? If not please let me know,

could you also add your config.js maybe there is an error


Fix for issue with node info while node is syncing

This PR addresses issue #94

Thanks for investigating the issue and providing a concise solution!


Zoom to proteins

This adds the cell model revisions, including the new two-protein version of the zoomed-in model.
This also adds scaling for the model. Scaling is only applies on the first render, as the Organelle model doesn't know how to resize itself.

@ekosmin I fixed the style issue, and replaced the odd "working_receptor" and "tan" properties with a single prop, which works better. This also fixes the omission that broken g-protein parts should appear at the receptor they broke on.
(The whole logic of needing to split all the organelle rules into "first receptor" and "second receptor" everywhere is annoying, and a limitation of organelle rules, which we can come back to at some point...)


Fixing symlink file

Fixing the symlinks in universal image.

Doing a quick local build to verify. Just to check, do you need this released ASAP?

Doing a quick local build to verify. Just to check, do you need this released ASAP? (Not only to the "dev" tag, but 0.5.0)

I was intending to do a different PR once I change the user to codespace, but was probably going to do both at the same time. Still checking if there is something especial I need to fix,

Ok, this one built fine - do you want me to hold on merging for the codespace update or just merge this one?

Main thing I don't know is whether @chrmarti will do a release tomorrow for another reason.  You could also just leave the version number alone here and bump it with the codespaces change.

Lets hold of, by tomorrow I'll know how hard its going to be.

Cool - added the WIP label so we don't do it by mistake.  Feel free to ping for another review when you are ready.

@Chuxel I made the changes necesary. There are still 3 things that say vsonline because they require other changes:

I didn't change the folder name from vsonline-linux.
A folder inside the container is still called .vsonline since that requires changes on our side.
An environment variable is used to track by the oryx team.

You can rename the folder as well - there's one spot that needs tweaking here is the only related change: https://github.com/microsoft/vscode-dev-containers/blob/bd709c268bbc3f5649431509bcf75998fde332b4/build/config.json#L16
I'll run a build locally to check it out.

Yeah that needs to match the folder name -- so the folder can now be renamed to codespaces-linux. :)

Just pushed that change too.

Built succesfully. The services is "codspaces" with an s right?  Should the folder have that name (codespaces-linux)?
Also the README and devcontainer.json name still say VS Online... I assume that should be VS Codespaces?

I had missed the instances of VS Online and Visual Studio Online

Looping in Nik just to validate naming.  Currently it's:

Codespaces for the definition (not VS Codespaces)
codespace (singular) for the user

@nikmd23  is that in line with guidance?

@edgonmsft Ok checked with Nik and JC

The README should say "Visual Studio Codespaces" since it's not constrained.
Since the "name" in devcontainer.json shows up in the lower left, that could be left Codespaces.
codespace (singluar) is fine for the user name.

Updated the readme with the renames, do they look good to you @Chuxel ?

LGTM!  Do you want me to merge?

Yep thanks!


Flutter Web - webapp in a webview can't send a message to flutter mobile's app

Steps to reproduce

Create a webview in a flutter mobile app

/// SPDX-License-Identifier: AGPL-3.0-or-later

import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:webview_flutter/webview_flutter.dart';

class DEXSheet extends ConsumerStatefulWidget {
  const DEXSheet({
    super.key,
  });

  static const String routerPage = '/dex';

  @override
  ConsumerState<DEXSheet> createState() => DEXSheetState();
}

class DEXSheetState extends ConsumerState<DEXSheet> {
  late WebViewController? _webViewController;

  @override
  void initState() {
    _webViewController = WebViewController()
      ..setJavaScriptMode(JavaScriptMode.unrestricted)
      ..setBackgroundColor(const Color(0x00000000))
      ..addJavaScriptChannel(
        'awc',
        onMessageReceived: (JavaScriptMessage message) async {
          print('message ${message.message}');
          await _webViewController!
              .runJavaScript("window.postMessage('answer', '*');");
          );
        },
      )
      ..setNavigationDelegate(
        NavigationDelegate(
          onProgress: (int progress) {
            // Update loading bar.
          },
          onPageStarted: (String url) {},
          onPageFinished: (String url) {},
          onWebResourceError: (WebResourceError error) {
            log('$error');
          },
          onNavigationRequest: (NavigationRequest request) {
            return NavigationDecision.navigate;
          },
        ),
      )
      ..loadRequest(Uri.parse('http://localhost:59295/swap'));

    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        leading: IconButton(
          onPressed: () {
            context.pop();
          },
          icon: Icon(
            Icons.arrow_back,
            color: Theme.of(context).primaryColorDark,
          ),
        ),
      ),
      body: Padding(
        padding: const EdgeInsets.only(top: 5),
        child: WebViewWidget(
          controller: _webViewController!,
        ),
      ),
    );
  }
}

create a flutter web project with a method who send a message to the mobile app in channel 'awc'

js.context.callMethod('eval', ['window.awc.postMessage("hello");']);

in the flutter web project, listen in the main the answer from mobile app

html.window.addEventListener(
    'message',
    (event) => {
      print('Receive answer $event'),
    },
  );

Expected results
The mobile app receives correctly 'hello' with the onMessageReceived method and the flutter web app should receive 'answer' message
Actual results
The flutter webapp displayed in the webview receive nothing
Code sample
Code sample
cf Steps to reproduce

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.19.3, on macOS 14.1.1 23B81 darwin-arm64, locale fr-FR)
    • Flutter version 3.19.3 on channel stable at /Users/SSe/SSe/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ba39319843 (10 days ago), 2024-03-07 15:22:21 -0600
    • Engine revision 2e4ba9c6fb
    • Dart version 3.3.1
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/SSe/Library/Android/sdk
    • Platform android-34, build-tools 33.0.1
    • ANDROID_HOME = /Users/SSe/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] VS Code (version 1.87.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.84.0

[✓] Connected device (3 available)
com.apple.CoreSimulator.SimRuntime.iOS-17-4 (simulator)
    • macOS (desktop)                     • macos                                • darwin-arm64   • macOS 14.1.1 23B81 darwin-arm64
    • Chrome (web)                        • chrome                               • web-javascript • Google Chrome 122.0.6261.129
[✓] Network resources
    • All expected network resources are available.

Hi @redDwarf03
Does the issue occur without using webview? (in that way, web app will send data to mobile app directly)
For us to further investigate this issue, please provide a completed and minimal reproducible code sample that doesn’t include 3rd party plugins or complex production code. Thanks!

Resolved with https://inappwebview.dev/docs/webview/javascript/communication/#web-message-listeners


Demo website not working

Describe the bug
Hey there, it seems like the demo website is not working. Would you mind check it? Thanks!

Hey, the TURN server I was using seems to have expired. I don't plan on upgrading it anytime soon. You can set up your own turn server and edit the code to run it.


Error on a x86 Asus tablet

I don't know if the issue is the ABI (x86) or the OS version (Marshmallow) but i cant get scrcpy to work on my Asus Zenpad Z580CA.
I get this error:
/usr/share/scrcpy/scrcpy-server.jar: 1 file pushed. 1.3 MB/s (19334 bytes in 0.014s)
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
Invalid return value 0 for stream protocol
ERROR: Could not open video stream
ERROR: Exception on thread Thread[main,5,main]
android.media.MediaCodec$CodecException: Error 0xfffffff4
        at android.media.MediaCodec.native_configure(Native Method)
        at android.media.MediaCodec.configure(MediaCodec.java:1778)
        at com.genymobile.scrcpy.ScreenEncoder.configure(ScreenEncoder.java:135)
        at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:62)
        at com.genymobile.scrcpy.Server.scrcpy(Server.java:22)
        at com.genymobile.scrcpy.Server.main(Server.java:78)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:251)
INFO: Initial texture: 2048x1536

I guess it is a codec issue, maybe we can try other codec?

Yes, it's a codec issue, but difficult to know why.
Could you test with a lower resolution/bitrate?
scrcpy -b2M -m 800

It works!
I forgot to mention it is a 2K screen with 2048x1536
The max res i could get it work was: scrcpy -m 1664
INFO: Initial texture: 1664x1248
Thank's

Yes, it's a codec issue, but difficult to know why.
Could you test with a lower resolution/bitrate?
scrcpy -b2M -m800

Would you please add this instruction to scrcpy-server.jar  error text.
Thanks


Enterprise Bot cannot find correct CosmosDB resource from config

Project
Enterprise Bot Template
Description
After creating my bot resources in Azure with msbot clone services and configuring my .env.development file, I am trying to start the bot locally. After fixing a missing APPINSIGHTS_INSTRUMENTATIONKEY config parameter (not documented), I get a new error message
/my-bot/node_modules/botbuilder-azure/lib/cosmosDbStorage.js:36
            throw new Error('The settings service Endpoint is required.');
            ^

Error: The settings service Endpoint is required.
    at new CosmosDbStorage (/my-bot/node_modules/botbuilder-azure/lib/cosmosDbStorage.js:36:19)
    at Object.<anonymous> (/my-bot/lib/index.js:88:17)
    <snip>

To Reproduce

yo botbuilder-enterprise with default options
cd {name}
npm install
npm run build
msbot clone services --name "{name}" --luisAuthoringKey "<snip>" --folder deploymentScripts/en/ --location eastus
Copy resources names to .env.development
npm start

Expected behavior
The bot reads my development configuration and starts successfully
Screenshots
When I debug the bot in src/index.ts, I can see that the value of COSMOS_CONFIG is actually of type "abs" (Azure Bot Service?) and not "cosmosdb". Both have the same name because they were auto-generated, so it is probably not surprising that the output of BOT_CONFIG.findServiceByNameOrId(STORAGE_CONFIGURATION) (src) returns the "wrong" resource.
Additional context
Currently using the generator-botbuilder-enterprise yeoman template associated with git branch master e6a906e5

Workaround: using the id from the .bot file instead of the resource name fixes this issue
Excerpt from .env.development:
APPINSIGHTS_NAME=3
STORAGE_NAME=8
BLOB_NAME=2
LUIS_GENERAL=general

This is a problem with the copy-files npm script, which is not finding the json files under src/dialogs/main/resources/
Current behavior (with --verbose added):
copyfiles --verbose --up 1 ./src/**/*.json ./lib

unglobed path: ./src/locales/de.json
unglobed path: ./src/locales/en.json
unglobed path: ./src/locales/es.json
copy from: ./src/locales/de.json
copy to: lib/locales/de.json
unglobed path: ./src/locales/fr.json
unglobed path: ./src/locales/it.json
unglobed path: ./src/locales/zh.json
copy from: ./src/locales/en.json
copy to: lib/locales/en.json
copy from: ./src/locales/es.json
copy to: lib/locales/es.json
copy from: ./src/locales/fr.json
copy to: lib/locales/fr.json
copy from: ./src/locales/it.json
copy to: lib/locales/it.json
copy from: ./src/locales/zh.json
copy to: lib/locales/zh.json

And here is the result after changing the glob:
> copyfiles --verbose --up 1 ./src/**/**/*.json ./lib

unglobed path: ./src/dialogs/main/resources/Intro.de.json
unglobed path: ./src/dialogs/main/resources/Intro.es.json
unglobed path: ./src/dialogs/main/resources/Intro.fr.json
unglobed path: ./src/dialogs/main/resources/Intro.it.json
unglobed path: ./src/dialogs/main/resources/Intro.json
unglobed path: ./src/dialogs/main/resources/Intro.zh.json
unglobed path: ./src/locales/de.json
unglobed path: ./src/locales/en.json
unglobed path: ./src/locales/es.json
unglobed path: ./src/locales/fr.json
unglobed path: ./src/locales/it.json
unglobed path: ./src/locales/zh.json
copy from: ./src/dialogs/main/resources/Intro.de.json
copy to: lib/dialogs/main/resources/Intro.de.json
copy from: ./src/dialogs/main/resources/Intro.es.json
copy to: lib/dialogs/main/resources/Intro.es.json
copy from: ./src/dialogs/main/resources/Intro.fr.json
copy to: lib/dialogs/main/resources/Intro.fr.json
copy from: ./src/dialogs/main/resources/Intro.it.json
copy to: lib/dialogs/main/resources/Intro.it.json
copy from: ./src/dialogs/main/resources/Intro.json
copy to: lib/dialogs/main/resources/Intro.json
copy from: ./src/dialogs/main/resources/Intro.zh.json
copy to: lib/dialogs/main/resources/Intro.zh.json
copy from: ./src/locales/de.json
copy to: lib/locales/de.json
copy from: ./src/locales/en.json
copy to: lib/locales/en.json
copy from: ./src/locales/es.json
copy to: lib/locales/es.json
copy from: ./src/locales/fr.json
copy to: lib/locales/fr.json
copy from: ./src/locales/it.json
copy to: lib/locales/it.json
copy from: ./src/locales/zh.json
copy to: lib/locales/zh.json

Hi @ctstone, thanks for using the new generator!
Actually, the bot.recipe used in the generator has different names for each service, however, the msbot clone service command ends cropping the CosmosDB name.
We'll update the code to filter by services first, and then perform the search by name.

Correction to the above workaround: LUIS_GENERAL should be:
LUIS_GENERAL={name}_General


reverting to v1.5.23 of swagger-core

Problem:
swagger-core v1.6.0 introduces transitive Jackson deps that incompatible with Finatra's Jackson deps.
Solution:
Revert back to swagger-core v1.5.23 and introduce some basic tests to catch this.
Discussion:
tests are run with sbt hello-world-example/test

Thanks for this, and for adding tests! I left a few comments, let me know what you think

@mgd43b @kimxogus Version 19.12.1 is on maven central and fixes this. Thanks again for the PR!


duplicate method name

I'm working on https://github.com/Azure/azure-sdk-for-net/pull/25386/ and came across this today. It can be reproduced from that branch.
This is the description for WorkloadNetwoks_ListDhcp. The method should be named ListWorkloadNetworkDhcpAsync, not GetWorkloadNetworkDhcpAsync.
https://github.com/Azure/azure-sdk-for-net/blob/deb889a6423f7035a1fd1ed74df08f97674c1e9e/sdk/avs/Azure.ResourceManager.Avs/src/Generated/PrivateCloud.cs#L844-L847

Hi @cataggar , this issue has been fixed.
And due to the standard of DotNet and DotNet SDK, we cannot use the keyword List, instead of using List[Resources] we are using Get[Resources] now if it is not in a collection class.


Merge 88 into 186

I don't think this should be merged as is.
There are issues with how the GUI is interacting with the main library
There are stability issues with the GUI
We need to do a code review and think about what we want to take and leave from this PR

Now that NeuropixelsV2e dialogs are merged, do we need anything from this draft PR?


.RAW support (raw image format)

I don't know how feasible this is, but it would be great to be able to convert .RAW and similar camera formats (like Sony's .ARW) to JPEG XL.

The best way to achieve this is probably using Adobe's DNG converter and then using tinyDNG to compress the DNG.

Do you mean to still use as a raw, or as a replacement to the jpeg?
For the first, see the issue linked above, or just use https://tinydng.com
For the latter, there's a few RAW developing tools out there like RawTherapee (working on JXL export) and Darktable that can/will save as JXL

Let me try to explain. It meant fast lossless and lossy conversion of RAW to JPEG XL with preservation of all metadata and color depth.
e.g. cjxl .RAW .jxl

Lossy compression with preserving metadata and color depth is enough. Thank you for the hidden treasure.


Prepare PyPI release

Some open questions
what name do we want on PyPI?

currently finq is already taken
we could do py-finq ? pyfinq ? finqpy ? something else?
please comment with suggestion

Chores

update pyproject.toml

authors,
version,
description,
etc ?..

create setup.py (?)
do we want CD workflow? deploy automatically to PyPI? might be a bit too much, we don't wanna do a lot of realeses?... thoughts?

Maybe try using poetry , seems like a really nice tool

Preparing to publish using poetry. Most likely gonna use pyfinq as name on PyPI.Also rewriting both workflows to use poetry instead of pip.. gonna break main for a bit but its for the better good :shrug:

Preparing to publish using poetry. Most likely gonna use pyfinq as name on PyPI.Also rewriting both workflows to use poetry instead of pip.. gonna break main for a bit but its for the better good 🤷

Sounds good! 👍


Make dependency to the core library less strict

Thats funny but currently there is no possibility to install aws adapter 2.0.0-beta.1 together with Flysystem 2.0.0-beta.1 without composer versioning hack)

BTW, why not use monorepo approach for official adapters?

Hi @Koc, first of all, thank you for reporting this. I totally missed it and will tag beta.2 when the test run on the mono-repo is done. So I actually do use a mono repo for this 👍

Since this is fixed in the mono-repo and I can't merge PR's here, I'll close this PR.

To prevent future incompatibilities, I've added release tooling that check if there is a conflicting dependency constraint, which prevents a version from being tagged. See here for details: https://github.com/thephpleague/flysystem/blob/2.x/build/check-versions.php

Monorepo! 🎉 Have you looked at https://github.com/symplify/monorepo-builder ? It should help to organize daily work with the monorepo.
BTW I really like how Flysystem v2 looks like, thank for your work!


Fleex installation does not create $HOME/fleex/ folder !

Hello
Thank you so much for your amazing tool. really appreciate
I am facing an issue after installing, can you please look into it
After installing Fleex I see no $HOME/fleex folder no config file
Terminal Record
https://asciinema.org/a/wfIiuQu9YSp2m9egKdmhxp8Ql

Hey there,
the command you want to run is fleex init, not fleex config init.
Indeed our docs have that wrong version of the command, fixing it shortly.
Hope this helps


_csv.Error: new-line character seen in unquoted field

getting
_csv.Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
osx 10.11, Office (Excel) for Mac 2011., Python 2.7; attempted saving as Mac, Windows, MS-DOS format as many variously have suggested. Hand-built the file in text editor - there are, of course newlines (\n)... get same error.
Here is file:
`Atlas EZO
Pin,Unit,Type,Name,Side
1,1,gnd,GND,top
2,1,out,TX,top
3,1,in,RX,top
4,1,pwr,VCC,bottom
5,1,in,P+,bottom
6,1,in,P-,bottom
`

this was caused by a blank line at the end of the file... as the instructions suggested.

Is it possible to ignore blank lines?
Sometimes it is good to have empty lines to organize things.
Another thing, is it possible to create a command for comments? Maybe # at the beginning of the line to ignore the whole line will be a good thing.
Also, I generally use text editor to do things instead of spreadsheets (they are easier to be fast)
And I like to keep comments inside the file to organize things.

the spreadsheet point is well taken... really no need  to use one.


Cascading Lookup filters

I have the following scenario:
Customer -> Department -> Order
Is it possible to have a Cascading Filter on Order  which starts with Customer?

Yes. Did you read the Developer Guide?

This example explains a one level Parent Child Relationship. In my case I have a 2 level relationship.
I want to filter Orders first on Customer and then by Departments.

Sorry, My bad.
My Foreign keys on the database was not correct so sergen did not generate  Department_CompanyID as part of Orders.

Sergen wont generate more than one level. See mapping guide


Typo in "Safe native code"

invaliation -> invalidation

Sorry for all these typo fixes, I hope you could get it as a sign of my attention to your writing and my appreciation for the content you shared. :slightly_smiling_face: I had this series in my reading list for too long after reading "The Error Model" when it first came out. I loved it just as much as I'm loving the rest of the posts I've read so far. Best!

Sorry for all these typo fixes...

Don't apologize, this is great. Good eyes 👀  Thank you!


ImageStats collection during MapAlgebra

I have been recently running the crop map algebra command and come upon and error inside the mrgeo-core/src/main/java/org/mrgeo/mapreduce/OpChainMapper.java with the statistics built up.
The problem is around line 171 and 172 where the calls are to ImageStats.
I got this one first:
java.lang.ArrayIndexOutOfBoundsException: 1
at org.mrgeo.image.ImageStats.computeAndUpdateStats(ImageStats.java:152)
at org.mrgeo.image.ImageStats.computeStats(ImageStats.java:173)
at org.mrgeo.mapreduce.OpChainMapper.map(OpChainMapper.java:171)
at org.mrgeo.mapreduce.OpChainMapper.map(OpChainMapper.java:1)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:140)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:672)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:330)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
Then as I captured the ArrayIndexOutOfBoundsException from the first one, the second one came along:
java.lang.ArrayIndexOutOfBoundsException: 1
at org.mrgeo.image.ImageStats.aggregateStats(ImageStats.java:97)
at org.mrgeo.mapreduce.OpChainMapper.map(OpChainMapper.java:172)
at org.mrgeo.mapreduce.OpChainMapper.map(OpChainMapper.java:1)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:140)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:672)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:330)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
It looks like that array of "new double[] { noData }" is probably the culprit.  I go around this to do crop by catching exceptions.  But, I wanted to check with you about this to see if there is something wrong.  The OpChainMapper has not changed since the initial check-in.
The data I was using was the Kathmandu image.  Using crop with the Paris image does not start a mapreduce job.

When looking at the metadata for the image that was output by the crop, the default values array contains 1 value while the original default values array contains 3.

This issue was resolved as part of changing map algebra to run under Spark.


Consider concurrency error conditions and how to approach them

For example, two persisted grants with same key being written at same time (e.g. two consents for same app open in two tabs).

when deleting/updating grants, added handlers for DbConcurrency exceptions and log warnings


Dev fred

merging my fork branch dev-fred with the dev-fred branch here

@duxfrederic do you know if the new blackjax version brings any speed improvement? new features?


Kotlinx DateTime

switched from legacy javaData to kotlinx Datetime https://github.com/Kotlin/kotlinx-datetime

#25

@MrIceman

@MrIceman

thats a lot of commits : 0 maybe squash

Funny those . Gradle files wasn't in my gitignore that why it was added to the repo so I just added it to gitignore and then did manual deletion

@MrIceman can we merge this now?

@gzodx you build is still failing, do you need help?

Yes I just got a bit busy with work

Same issues here but except we build a custom serializer to deserialize to a LocalDate

@gzodx ZonedDateTime.parse(String) from the java.time.* package is able to perform this conversion from the API string into a date with timezone. The Java 8+ APIs from java.time.* package should be preferred to the ones from the java.util.* package.

merged with #39


Need to enable MaxDegreeOfParallelism

Currently there is no way to run tests without multi-threading or to limit the number of concurrent threads. Given that xunit 2.0 runs all tests in parallel this breaks some tests that execute not-thread safe code.

The ReSharper runner doesn't manage the threading - that's left to the xunit framework. So, by default, your tests are run in parallel. You can manage this using the standard xunit attributes - using either [assembly: CollectionBehavior(MaxParallelThreads)] or [assembly: CollectionBehavior(DisableTestParallelization = true)].
See the xunit docs for more details.


Native resolution screenshot option

TAA (Temporal anti-aliasing) can cause blurry images when changing the screenshot resolution.
Mostly OF with shaders... (for example BLSex with some TAA option)

RPG-hud is another issue, fixing it won't be too easy...
(but possible with fabric-asm early risers mod detection and with turning on the right mixin in runtime if the mod is present)
When I'll have more time I think I'll do that (example)
Next time when you create a mod config, you can use Autoconfig. It is much easier to set up. You don't have to do the json serializing stuff, the GUI... (example)

RPG-hud is another issue, fixing it won't be too easy...
(but possible with fabric-asm early risers mod detection and with turning on the right mixin in runtime if the mod is present)
When I'll have more time I think I'll do that (example)
Next time when you create a mod config, you can use Autoconfig. It is much easier to set up. You don't have to do the json serializing stuff, the GUI... (example)

I was thinking about the name and the purpose of the option. There are 4K and 8K players, and the current default screenshot size is smaller than the 4k.
I think you should rename the function to "use a specific resolution", create 2 new fields for the screen width and height.
I think, most players use the same resolution every time when they play the game.
RPG-hud. It can disable itself, except when any menu is opened.
But this bug is not annoying, because I'll see the same after entering the world.

I was thinking about the name and the purpose of the option. There are 4K and 8K players, and the current default screenshot size is smaller than the 4k.
I think you should rename the function to "use a specific resolution", create 2 new fields for the screen width and height.
I think, most players use the same resolution every time when they play the game.
RPG-hud. It can disable itself, except when any menu is opened.
But this bug is not annoying, because I'll see the same after entering the world.

If you want to fix it, I can help but I don't have time to do it myself.
If you want to contact me, you can find me on the Fabric discord server (KosmX#7620)

If you want to fix it, I can help but I don't have time to do it myself.
If you want to contact me, you can find me on the Fabric discord server (KosmX#7620)

I was thinking about the name and the purpose of the option. There are 4K and 8K players, and the current default screenshot size is smaller than the 4k.
Technically it's "UW4K" (with a bit extra width to handle the taskbar and title bar). Though yeah now that I think about it, it definitly not enough to fully utilize a 4k 16:9 monitor.

I think you should rename the function to "use a specific resolution", create 2 new fields for the screen width and height.
I think, most players use the same resolution every time when they play the game.
I thought about doing that, but I ended up against it, since they'd most likely just put their screen's resolution, which wouldn't be slightly too small for most people. And at least the people I know often have mc at different sizes, mainly fullscreen, maximized, and split.

Though, I definitely can add the option to choose the resolution from a few selected ones. Like the current, one good for 4k and one good for 8k.

I was thinking about the name and the purpose of the option. There are 4K and 8K players, and the current default screenshot size is smaller than the 4k.
Technically it's "UW4K" (with a bit extra width to handle the taskbar and title bar). Though yeah now that I think about it, it definitly not enough to fully utilize a 4k 16:9 monitor.

I think you should rename the function to "use a specific resolution", create 2 new fields for the screen width and height.
I think, most players use the same resolution every time when they play the game.
I thought about doing that, but I ended up against it, since they'd most likely just put their screen's resolution, which wouldn't be slightly too small for most people. And at least the people I know often have mc at different sizes, mainly fullscreen, maximized, and split.

Though, I definitely can add the option to choose the resolution from a few selected ones. Like the current, one good for 4k and one good for 8k.


Poor scroll performance on macOS

Info:

VS Code Version: 1.53.0
OS Version: macOS 11.0.1 Big Sur
Hardware: i7-10700k, RX-580 8GB GPU, 3 hi-dpi displays

Does this issue occur when all extensions are disabled?: Yes
Steps to Reproduce:

Open vscode.
Open text file with 300+ lines.
Scroll the page.

Observed behavior: Scroll performance is degraded. Missed frames, slow response.
Notes:
It appears that performance is improved in 1.53.0 as compared to 1.52.0. However, launching vscode with the --disable-renderer-accessibility still results in improved performance.
I'm attaching two performance profiles in a zip. One run with the flag enabled and smooth scrolling performance and the other with no cmd args passed and poor performance.
vscode.accessibility.performance.zip

@jjiburg I have generated a file with 300 lines of Lorem ipsum:
116243.txt
Does this also scroll slowly for you?
From the attached profile I could see a lot of time spent in doing a couple of hit testing (determining what is the (line;column) where the mouse is pointing), so I wonder if there is something specific about the file or its contents that is causing this slowness.


Add method for fetching all application commands

Summary

Added public method for fetching all application commands.
# Fetch global application commands
bot.get_application_commands # => Array<ApplicationCommand>

# Fetch guild application commands
bot.get_application_commands(server_id: SAMPLE_SERVER_ID) # => Array<ApplicationCommand>

Added

Discordrb::Bot#get_application_commands

Hey, thanks for this! Just one small request, could you also add a return type annotation ([Array<ApplicationCommand])? Otherwise lgtm.

@swarley done. I kind of just copied the yard docs from #get_application_command which didn't have one either 😅

Thanks! 🚀


Added my counter program

It's kinda big but useful to learn how to do big numbers.

Leave this pull request open and I'll comment it (I was code-golfing it, so no comments).

Could you add a few more 128-bit functions as examples? We've got examples/wide-devices.mbl for 32-bit functions.

Also, golfing the size of the board isn't fully necessary, but golfing for runtime is important.


Documentation on creating a new importerer

We are in the process of deploying a lot of security related tooling.
However not tool integratie with DefectDojo.
I know i can request a tool to be added (will do when we have the tools deployed and I have an example),
but when i look to the source code it does not look to difficult make a parser ourself.
Is it as simple to create a parser.py and some tests en register it in the dojo/tools/factory.py?
If needed I could do that myself and make a pr.
My second question is how long does it take for a new importer to make it into a release?

Hey @CodeGlitcher It is very easy to make a parser yourself. It is almost as simple as you think. Here are some examples of recent importers for you to follow. Additionally, please submit some sample scans in the sample-scan repo and a description in the documentation as well please. I will keep this open a few days as a place for you to ask questions if necessary.
Examples:
TestSSL
MicroFocus Webinspect


Feature/game list

Description

Added lsit to join a game

Related Issue

#19 View a list of games
#30 HTML page to show list
#52 Get open games in contract

How Has This Been Tested?

Tested manually using testrpc tested if the open games are displayed

Types of changes

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

Checklist contributor:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Checklist reviewer:

[ ] The code has been peer-reviewed by @Kyroy

Clean code :)


Add official hosting documentation

Adding this as discussed during core team meetings.

Create a page to list preferred hosting providers, linked in the main table of contents.
Consolidate existing deployment-related docs underneath this new page.
The flyio.md doc is a 100% copy from what was in the tutorial. Git is not showing it as a rename though.
For hosting providers who want to be listed in the docs, they must meet these requirements detailed in the wiki: https://github.com/wagtail/wagtail/wiki/Wagtail-Hosting-Providers

Note: due to my own affiliation, I have added CodeRed Cloud as the first hosting provider on this page. If anyone believes other hostings providers should be added here initially, feel free to copy the CodeRed Cloud blurb and fill in their relevant info (under the relevant section, i.e. Wagtail, Python, Infrastructure).
@vossisboss mentioned Divio was eager, let me know their info and I will add it here.

This looks really good, and I like the call-outs to providers that focus on Wagtail at the top.
We may want to find some place to include @KalobTaulien's videos, like this one: https://learnwagtail.com/tutorials/30-deploying-wagtail-gunicorn-nginx-and-supervisor/

@RealOrangeOne  - I will merge this in.
Thank you @vsalvino


Explain About Packing Inputs Without Cross-Contamination Attention

Thanks for your good job! Why this operation (" overwriting the function: _get_unpad_data with a monkey-patched function") can implement the feature of packing without cross-contamination attention? Can you explain more details or give some reference to me? Thank you very much!

@qibao77  in our implementation, we changed 2 things:

First we extend the format of attention_mask to represent the packing, marking the start and end of each packed input. Assuming that the max_input_length is 10 and we have 2 data points:

input_ids1 = [1, 2, 3, 0, 0, 0, 0, 0, 0, 0]; attention_mask = [1,1,1, 0, 0, 0, 0, 0, 0, 0]
input_ids2 = [4,5,6,7,8, 0, 0, 0, 0, 0, 0]; attention_mask = [1,1,1,1, 1, 0, 0, 0, 0, 0, 0]
When we pack 2 data points into 1 data point:
input_ids = [1,2,3,4,5,6,7,8, 0, 0]; attention_mask=[1, 1, 1, 2, 2, 2, 2, 2, 0, 0]. Here the attention_mask is used to mark the boundary of individual data points, 1 for data point 1 and 2 for data point 2 and 0 for padding (the same as without packing)
Here, assume that padding_token_id=0. Without packing, we have 2 data points:

With the extended attention_mask, the current code (of function: _get_unpad_data) doesn't work as it was implemented to only accept 0 and 1, so we overwrite function: _get_unpad_data to accept the extended attention_mask

@qibao77 in our implementation, we changed 2 things:

First we extend the format of attention_mask to represent the packing, marking the start and end of each packed input. Assuming that the max_input_length is 10 and we have 2 data points:

input_ids1 = [1, 2, 3, 0, 0, 0, 0, 0, 0, 0]; attention_mask = [1,1,1, 0, 0, 0, 0, 0, 0, 0]
input_ids2 = [4,5,6,7,8, 0, 0, 0, 0, 0, 0]; attention_mask = [1,1,1,1, 1, 0, 0, 0, 0, 0, 0]
When we pack 2 data points into 1 data point:
input_ids = [1,2,3,4,5,6,7,8, 0, 0]; attention_mask=[1, 1, 1, 2, 2, 2, 2, 2, 0, 0]. Here the attention_mask is used to mark the boundary of individual data points, 1 for data point 1 and 2 for data point 2 and 0 for padding (the same as without packing)
Here, assume that padding_token_id=0. Without packing, we have 2 data points:

With the extended attention_mask, the current code (of function: _get_unpad_data) doesn't work as it was implemented to only accept 0 and 1, so we overwrite function: _get_unpad_data to accept the extended attention_mask

Thank you for your reply! I want to add this feature to my pretraining code, like llama3, but I found that there is no change in the loss compared to naive packing, is there any advise?

Yes，in my experiment, loss(naive_packing(a, b)) == loss (packing_without_cross_contamination(a, b)), and I have checked that the "_get_unpad_data" function was replaced correctly.

@qibao77 were you pre-training or fine-tuning?
curious, was the loss exactly matching step by step, or was that much later?

@qibao77 Can you share your experimental code showing loss(naive_packing(a, b)) == loss (packing_without_cross_contamination(a, b)) ?

For loss (packing_without_cross_contamination(a, b)) , the code is shown as follows:
...
monkey_patch_packing_for_model(self.local_dir)
self.gpt = LlamaForCausalLM.from_pretrained(
self.local_dir, config=self.hf_config, trust_remote_code=True, revision='main', offload_state_dict=True,attn_implementation="flash_attention_2"
)
...
attention_mask = generate_attention_mask(input_ids,special_token_end=self.tokenizer.eos_token_id,pad_token_id=self.tokenizer.pad_token_id)
model_out = self.gpt(
input_ids=input_ids, attention_mask=attention_mask, labels=labels
)
For the definetion of generate_attention_mask:
def generate_attention_mask(input_ids, special_token_end=3, pad_token_id=0):
batch_size, seq_len = input_ids.shape
mask = torch.zeros_like(input_ids)
for i in range(batch_size):
    current_label = 1
    for j in range(seq_len):
        if input_ids[i, j] == special_token_end:
            mask[i, j] = current_label
            current_label += 1
        elif input_ids[i, j] == pad_token_id: break
        else:
            mask[i, j] = current_label

return mask

For loss(naive_packing(a, b)):
the function generate_attention_mask is not used, and the value of attention_mask is 1 ,excepted padding part.

@qibao77 were you pre-training or fine-tuning?
curious, was the loss exactly matching step by step, or was that much later?

pre-training, matching step by step

@qibao77 it's unclear how you could be matching step by step if the attention masks are different.

@qibao77 actually you can run this script to see that the Naive packing will give a different loss compared with Packing without cross-contamination. In this script, assume that there are 2 data point:
a = [1,2,3]
b = [4, 5, 6, 7, 8]
I compare the loss of:

loss(a) + loss(b)
loss(naive_pack(a, b))
loss(packing_without_cross_contamination(a, b))

The result is:

loss(a) + loss(b) = 44.141
loss(naive_pack(a, b)) = 37.55
loss(packing_without_cross_contamination(a, b)) = 44.17

You see that Naive packing is problematic, right ?
from transformers import AutoModelForCausalLM, AutoTokenizer
import monkey_patch_packing
import torch

def compute_loss(model, input_ids, attention, labels):
    inputs = {
        "input_ids": torch.tensor([input_ids]).to(model.device),
        "labels": torch.tensor([labels]).to(model.device),
        "attention_mask": torch.tensor([attention]).to(model.device)
    }
    total_num_loss_tokens = 0
    total_loss = 0
    with torch.no_grad():
        avg_loss = model.forward(**inputs).loss.item()
        # compute number of tokens used for computing loss
        labels = inputs["labels"]
        shift_labels = labels[..., 1:].contiguous()
        shift_labels = shift_labels.view(-1)
        ignore_count = (shift_labels == -100).sum()
        num_tokens = shift_labels.size(0) - ignore_count

        total_num_loss_tokens += num_tokens.item()
        total_loss += avg_loss * num_tokens.item()
    return total_loss, total_num_loss_tokens

def main():
    # pad_token = 0
    # max_length = 10
    pretrained_path = "meta-llama/Meta-Llama-3.1-8B"
    input_ids1 = [1, 2, 3] + [0 for _ in range(7)]
    labels1 = [1, 2, 3] + [-100 for _ in range(7)]
    attention1 = [1, 1, 1] + [0 for _ in range(7)]

    input_ids2 = [4, 5, 6, 7, 8] + [0 for _ in range(5)]
    labels2 = [4, 5, 6, 7, 8] + [-100 for _ in range(5)]
    attention2 = [1, 1, 1, 1, 1] + [0 for _ in range(5)]
    # packing
    packed_inputs = [1,2,3,4,5,6,7,8, 0, 0]
    # note here that 4 is the first token so will not be included for computing loss
    packed_labels = [1,2,3,-100,5,6,7,8, -100, -100]

    naive_attention = [1, 1, 1, 1, 1, 1, 1, 1, 0, 0]
    correct_packed_attention = [1, 1, 1, 2, 2, 2, 2, 2, 0, 0]

    assert len(input_ids1) == len(input_ids2) == len(attention1) == len(attention2) == len(naive_attention) == len(correct_packed_attention) == len(packed_inputs)

    # Load model without monkey-patching
    model = AutoModelForCausalLM.from_pretrained(
        pretrained_path,
        torch_dtype=torch.bfloat16,
        device_map="auto",
        attn_implementation="flash_attention_2",
        trust_remote_code=True
    )
    # loss without using packing
    loss1, num_tok1 = compute_loss(model, input_ids1, attention1, labels1)
    loss2, num_tok2 = compute_loss(model, input_ids2, attention2, labels2)
    total_original_loss = loss1 + loss2
    total_original_num_tokens = num_tok1 + num_tok2
    print(f"total original loss: {total_original_loss}; total_original_num_tokens={total_original_num_tokens}")
    # loss with native packing
    naive_loss, naive_num_tok = compute_loss(model, packed_inputs, naive_attention, packed_labels)
    print(f"naive loss: {naive_loss}; num_token: {naive_num_tok}")

    # loss with packing without cross-contamination
    # need to reload using monkey-patched code
    monkey_patch_packing.monkey_patch_packing_for_model(pretrained_path)
    model = AutoModelForCausalLM.from_pretrained(
        pretrained_path,
        torch_dtype=torch.bfloat16,
        device_map="auto",
        attn_implementation="flash_attention_2",
        trust_remote_code=True
    )

    correct_loss, correcte_num_tok = compute_loss(model, packed_inputs, correct_packed_attention, packed_labels)
    print(f"correct_loss: {correct_loss}; num_token={correcte_num_tok}")

if __name__ == "__main__":
    main()


I’m looking forward to support for displaying the raw Markdown source.

This is the simplest Markdown web editor I've seen, and it's really comfortable to use. However, there are still a few small issues. After I type something, the Markdown is immediately rendered into the final format, which makes it difficult to edit the text afterward (for example, if I want to remove bold formatting or change heading levels). It would be great if there could be an option to display the current paragraph as source code, so I can more easily edit the document again.

We used to have that before, I removed the mode based on my requirement, though I think a lot of people like working with raw markdown as compared to rich text.
makes sense, I should be able to add in a flexible way to support both.
Thanks for using it!!


Form field prefix and suffix icons not aligned properly

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Material design guidelines for text fields specify icons to have 8px vertical spacing between itself and the input line, and 16px horizontally between icon and input text/placeholder (prefix specification only).
What is the current behavior?
Icons as prefix or suffix are currently raised about 14px above input line, and have almost no horizontal spacing from the input text/placeholder.
What are the steps to reproduce?
https://stackblitz.com/edit/angular-jzfsl9

What is the use-case or motivation for changing an existing behavior?
Current appearance is poor and material guidelines are not being followed.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 5.2.6
Angular Material 5.2.1

The actually shows both 8px and 16px versions: https://material.io/guidelines/components/text-fields.html#input-types-figure-caption-5
For the newer outline and fill variants in the spec it is clear that the 16px version is intended: https://material.io/guidelines/components/text-fields.html#text-field-boxes-figure-caption-11 we have chosen to go with this style by default for consistency between the different variants.
For the horizontal spacing we have decided to let the user specify. You can achieve the look you want by adding some simple CSS: https://stackblitz.com/edit/angular-jzfsl9-ev53fr?file=app/form-field-prefix-suffix-example.css

Those specs are for text field boxes - are you not supporting ordinary (non-box) text fields?

https://material.io/guidelines/components/text-fields.html#text-fields-input-types

@mmalerba I've seen that link already - what are you trying to say?

That is for a normal text field, as you can see the icon alignment is the same. Anyways we're not not supporting aligning them differently, this is just the default and you'll need to add some CSS if you want a different alignment

That link doesn't show any fields with icons FYI (until I scroll down quite a bit) - it would be helpful if you could communicate better what specifically you are talking about to avoid confusion.

The link takes me right to the page scrolled right to this image: https://storage.googleapis.com/material-design/publish/material_v_12/assets/0B5ZSepuCX1xOdEc4cHZWV3ZzTzg/password1.png


🐛   Unhandled Exception: Failed assertion: line 168 pos 12: '_overlay != null': is not true.

Describe the bug
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: 'package:flutter/src/widgets/overlay.dart': Failed assertion: line 168 pos 12: '_overlay != null': is not true.
#0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
#1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
#2      OverlayEntry.remove (package:flutter/src/widgets/overlay.dart:168:12)
#3      displayInfoBar.<anonymous closure>.<anonymous closure>.close (package:fluent_ui/src/controls/surfaces/info_bar.dart:62:40)
<asynchronous suspension>

To Reproduce

call displayInfoBar()
go to another screen (In macOS desktop, just swipe the touchpad)

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

This is very weird, since we check if the entry is mounted before removing it. I can not reproduce this locally


Coverity fixes

CIDs:
186037
186196
190932

Codecov Report

Merging #14812 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #14812   +/-   ##
=======================================
  Coverage   52.51%   52.51%
=======================================
  Files         309      309
  Lines       45048    45048
  Branches    10419    10419
=======================================
  Hits        23656    23656
  Misses      16584    16584
  Partials     4808     4808

Continue to review full report at Codecov.

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


Automatic restore: when the restore process is in progress  remove the doubled "to completion" from the text

When the automatic restore process is in progress  remove the doubled "to completion" from the text

Now in one of the sentence "to completion" is missing
https://user-images.githubusercontent.com/68267190/162391035-1a7904e5-1568-4cb9-82e7-1030b9335198.MP4

Checked


west flash to teensy 41 fail, use blinky with west build

I follow the Getting Started Guide, then

zephyrproject\zephyr>$ west build -p auto -b teensy41 samples\basic\blinky
zephyrproject\zephyr>$ west flash   <<Fail
zephyrproject\zephyr>$ cd build
zephyrproject\zephyr\build>$ west flash   <<Fail
zephyrproject\zephyr\build>$ ninja flash   <<Fail
Here is the error message show in windows10 cmd :
[0/1] Flashing teensy41
-- west flash: rebuilding
ninja: no work to do.
FATAL ERROR: either a pristine build is needed, or board teensy41 doesn't support west flash/debug (no ZEPHYR_RUNNERS_YAML in CMake cache)
FAILED: zephyr/cmake/flash/CMakeFiles/flash C:/Users/canic/Desktop/zephyrproject/zephyr/build/zephyr/cmake/flash/CMakeFiles/flash
cmd.exe /C "cd /D C:\Users\canic\Desktop\zephyrproject\zephyr\build && "C:\Program Files\CMake\bin\cmake.exe" -DTARGET=flash -DDEPENDENCIES="" -P C:/Users/canic/Desktop/zephyrproject/zephyr/cmake/flash/check_runner_dependencies.cmake && "C:\Program Files\CMake\bin\cmake.exe" -E env C:/Users/canic/AppData/Local/Programs/Python/Python39/python.exe -m west flash"
ninja: build stopped: subcommand failed.

Is any step I do it wrong?

Nothing wrong, the board doesn't support west flash/debug.  There is no board.cmake describing how to invoke the west runners for flashing purposes.


chore: 🔧 add support of scoped package name

Сhanges simplify the code and add support for scope in the package name (e.g.
@react-boilerplate/cra-template-rb)
I added a comment and replaced the non-obvious regex. This changes will add the ability to rename the package to scoped package in the fork and publish user's templates based on react-boilerplate-cra-template.

[x] You have followed our contributing guidelines
[x] Double-check your branch is based on dev and targets dev
[ ] Pull request has tests (we are going for 100% coverage!)
[x] Code is well-commented, linted and follows project conventions
[ ] Documentation is updated (if necessary)
[ ] Internal code generators and templates are updated (if necessary)
[x] Description explains the issue/use-case resolved and auto-closes related issues

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
249

Relevant Lines:
249

💛  - Coveralls

ok i will merge this but repeating myself again. Internal template changes should only happen with respect to a bug or to really obvious problems. They are hard to test, can vary in environments, can be forgotten in the future(coz they are not updated at all once they work) so on...
Anybody wishing to publish their own template could easily do it and I surely don't prioritize modifying the template to make this specific thing easier for instance ;)
If you want to help with the template it's definitely most appreciated. Rather than internal changes, we should focus on the real template changes. See what's new in react world, what has changed, what's better etc. I am having a hard time keeping up with this.


fqdn-perf: allow to inject additional metrics measurements

fqdn-perf: allow to inject additional metrics measurements.
Similar to regular load test: perf-tests

/fqdn-perf

/test

/test


Continue the module

Alan and James,
in case you guys are still interested, I would like to pick up the work you did and install it on our development partition (IBMi) to "replace" the original DB2 DBAL and see what might be missing on a pre 7.3 install.
Which means, I might send over some pull requests pretty soon.
Just let me know if that sounds interesting or not.

As I said in the PR, I'm not actively working on any projects on IBM i currently, so I won't be able to commit any time to this. I ask Alan to put this library on his GitHub because his business is based entirely around IBM i so there's more chance of it being maintained ;)

No worries, starting Monday, I will cut a branch of our current DEV and add this module to it and see how it works out for us.
If necessary, I will make adjustments and offer the fruits of my labor to this library.

Hi @guidofaecke. Have you had a chance to test this any?

I tested it as good as I could with phpUnit. However, if it makes you feel better, we run this patch in production on OS7.1 with ZendServer9 for a couple of month without any issues so far.


[MRESOLVER-292] Fix configuration name in documentation to match with actual name

As discussed in https://issues.apache.org/jira/browse/MNG-5896, the param in code does not match with the one in doc:
https://maven.apache.org/resolver/configuration.html
DOC: aether.dependencyCollector.impl
Code: aether.collector.impl

https://issues.apache.org/jira/browse/MRESOLVER-292

@michael-o @cstamas
Please help cheeck.

@cstamas
Thanks for the review.
Looks like 1.9.0 was not released successfully, would you please retry the 1.9.0 release or 1.9.0 will be skipped and 1.9.1 will be the next version?

Thanks for the review. Looks like 1.9.0 was not released successfully, would you please retry the 1.9.0 release or 1.9.0 will be skipped and 1.9.1 will be the next version? Just hoping people could try out and feedback with 1.9.0 at the earliest.

What do you mean by "1.9.0 was not released successfully"? It is out there on Central, and even Maven PR now successfully use it?  https://github.com/apache/maven/pull/831

1.9.1 release is planned, so far 3 PRs https://github.com/apache/maven-resolver/milestone/1

@cstamas Saw the jars in Central and docs updated: https://maven.apache.org/resolver/configuration.html#. Thanks!


Type not matched when using keyof instead of literal

Bug Report

🔎 Search Terms
I've posted this problem on StackOverflow but received no comments or answers.
This problem is rather difficult to describe briefly in natural language (or maybe due to my poor English), thus I failed to find any relative questions through the search engine.
🕗 Version & Regression Information

I'm currently using TypeScript 4.4.4, earlier versions are not tested, but I suppose they'll behave the same.
💻 Code

type a = { foo: "bar" } extends { "foo" } ? true : false;
type b = { [K in keyof { "foo" }]: { foo: "bar" } extends { K } ? true : false }["foo"];

🙁 Actual behavior
a = true
b = false

🙂 Expected behavior
b should also be true

type a = { foo: "bar" } extends { "foo" } ? true : false;
type b = { [K in keyof { "foo" }]: { foo: "bar" } extends { K } ? true : false }["foo"];

The type being resolved here is
{ foo: "bar" } extends { K: unknown } ? true : false

K in this position is a property name, not a reference to the key type. You could equally have written
type a = { foo: "bar" } extends { "foo" } ? true : false;
type b = { [K in keyof { "foo" }]: { foo: "bar" } extends { QQQ } ? true : false }["foo"];

Which is clearly correctly false
This is true as expected:
type b = { [K in keyof { "foo": any }]: ({ foo: "bar" } extends Record<K, unknown> ? true : false) }["foo"];

@RyanCavanaugh  Thank you!
It is me instead of TypeScript that turns out wrong lol
In fact, I'm not quite sure whether this is a bug, but since I can't get help even in StackOverflow, reporting the problem here becomes my only choice.


DeclarativeResponse doesn't support setting status

Probably should be something like new uWS.DeclarativeResponse().writeStatus(404).end()

nor some of the headers like content-encoding and sending binary data.


TAKE THIS DOWN.

This hack is MADE to crash a device. TAKE IT DOWN. I have reported you to Github.

coping

Stop editing my comments.


Added wallet API calls

getbalance
getbalances
listwallets
loadwallets
unloadwallets
dumpwallets
backupwallets
importwallet
listlabels
createwallet
walletPassphrase
walletlock

Hi @abrkn,
can I ask you to have a look asap, I need this functionality in my project, so I will use npm package not local one?
thanks!

Hey there, thanks for submission. Is there a specific reason you are changing dependency versions?

Also not sure why i'm getting getaddrinfo ENOTFOUND undefined errors in the integration tests


Fix package names

There are many packages that do not end in the same name as its import path.
For example:
package google_type // import "google.golang.org/genproto/googleapis/type/latlng"

Not sure what to do about ones like appengine/v1, should they be package appengine or package v1?

This issue should be resolved by the overhaul late last year. The package in the example is now properly named "latlng". I'll close this, but please reopen if there are more naming problems.


Zoom API: Handle auth failure

If (when) the JWT expires, or if it's revoked, we'll get a 401. Handle that properly.

This may need to be handled differently after #40 is completed.


Is is possible not only to observe events but generate ones?

Hi! We can't fire an event (like press a button) for the hardware device (ds4).


LRO continuation_token

See also https://github.com/Azure/autorest.python/pull/565

Possible to add some unit tests?


Build Camel on the nightly build instead of relying on the SNAPSHOT repo

We can revert this if it takes too long or does not work out...

Rebased to make the atlassian repo happy.

335069e: Remove BRANCH_OPTIONS: -Papache-snapshots from camel-master-cron.yaml


Fix view for D&D5e sheet

I didn't deep in the styles, but these few lines fixed a visual bug in the tab. Although it is likely to cause problems in other sheets

Sorry i'm very busy with real life can you try out with this css ? It should be limited only to the new Dnd5e sheet
/* Fix view in D&D5e sheet */
.dnd5e2 .downtime-list .item {
    display: flex;
}
.dnd5e-theme-dark .dnd5e2 .downtime-list .item {
    display: flex;
}

Yes, it works and doesn't break other patterns.

Ty for the contribution, i will do a new release this evening


[Feature Request]: Does the Official API Support GPT-4?

Not a duplicate feature request

[X] I have searched the existing issues and confirmed this feature request is not a duplicate.

Supported by the upstream API

[x] This feature can be implemented using the upstream API.

Describe the feature
Can the default model be switched at all? I saw that the unofficial type you can specify the chatgpt model, but I wasn't sure if that was the same for the official type. I went ahead and specified "gpt-4" in the local.json file, but unsure if it's working or not.
Additional context
No response

Yes. You just need to specify the correct model name for GPT-4 in api.official.completionParams.model.

Just to be clear, where do you specify the correct model? I attempted changing the model in the local.json file, but that does not appear to do anything. It still uses the 3.5-turbo model.

Just to be clear, where do you specify the correct model? I attempted changing the model in the local.json file, but that does not appear to do anything. It still uses the 3.5-turbo model.

Did you set api.official.completionParams.model to gpt-4 in local.json like this?
{
  "api": {
    "official": {
      "completionParams": {
        "model": "gpt-4"
      },
      "maxModelTokens": 8100
    }
}

According to the author (https://github.com/transitive-bullshit/chatgpt-api/issues/471#issuecomment-1469260101) of the chatgpt node api, GPT-4 is supported.

@RainEggplant No! Thanks for taking the time to show me. I had model outside of the completionParms braces. Now it's working fine. Thanks!


[Bug] - Issue with your exported types when upgrading to V7

🐛 Current behavior
I used the codemod and also attempted to manually solve the issue however my editor and TS itself is very confused with your types:
import {
  type InstantSearchProps,
  useHits,
  type UseHitsProps,
  usePagination,
  type UsePaginationProps,
  connectMenu, <-- This doesn't exist apparently
  connectSearchBox, <--- This doesn't exist either
} from 'react-instantsearch'

This also failed in the terminal

I can ts-ignore this and it all works fine so you do "actually export it" but your types are not playing ball at all...
I then installed your core package and it also doesn't export those two functions 🤔 ... so I tried accessing the index file directly from the core package ...

And all good... so there is something up with how you export the types.
🔍 Steps to reproduce
Setup a new TS project
Install new V7 react-instantsearch pkg and try to use connectMenu or connectSearchBox <- These are the only two I needed, there may be more.
Live reproduction
https://codesandbox.io/s/cool-fast-lfppn7?file=/src/App.tsx
💭 Expected behavior
I expect the types to be exported from the right place, and I don't expect to have to install the core library separately as your docs state that they are re-exported from the react-instantsearch pkg
Package version
7.2.0
Operating system
No response
Browser
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

While the connectors aren't totally the same, you should import them from instantsearch.js/es/connectors instead of from react-instantsearch. In most cases you should be able to use useMenu, useSearchBox instead of the connectors directly. What are you using them for exactly?
Could you maybe share the code before transformation/codemod so we can see if it can be automatically changed?

Hi I was just following your docs in which it states that all imports from the specific packages "-dom, -web, -server", can be moved to just react-instantsearch, which isn't the case, so at the least the docs should be updated to specify that it isn't the case. Also instantsearch.js is a separate package so I wouldn't assume to take it from there instead given the docs explanation.
Happy to move to useMenu and useSearchBox for our use case for sure (and I have done so) but the issue still stands with regards to the types. The sandbox output was very similar to how we were using it (not sure why tbh).
The codemod only changed the import for this particular thing so nothing really to share.

So the code you used to have before the codemod was:
import {
  connectMenu,
  connectSearchBox,
} from 'react-instantsearch-core';

export const ExampleConnectMenu = () => {
  connectMenu(() => null);
  return null;
};

export const ExampleConnectSearchBox = () => {
  connectSearchBox(() => null);
  return null;
};

Because I don't think this (is meant to) work. With use however that code makes sense
The type issue exists as React InstantSearch doesn't have connectMenu or connectSearchBox, so it can't export those types of couse

We didn't have core before it was v6 react-instantsearch-dom as below:
import { connectMenu, connectSearchBox } from 'react-instantsearch-dom'

and it changed it to
import { connectMenu, connectSearchBox } from 'react-instantsearch'

which is what my IDE auto completes to as well... and if I ts-ignore it all works fine and if I log out the function it exists but the types don't allow for it (which may be what you want even though it is technically exported) if I used vanilla JS it would work fine.
There may be an issue in react-instantsearch however in which you re-export everything/or some funcs from react-instantsearch-core. Or module naming clashes etc 🤷🏽 I dunno but importing like the below doesn't work either
import {
  connectMenu,
  connectSearchBox,
} from 'react-instantsearch-core';

Again, connect* doesn't exist in v7, that's what could be made more clear in the migration script though. Thanks for your feedback!

Again, connect* doesn't exist in v7, that's what could be made more clear in the migration script though. Thanks for your feedback!

Sorry you may say this but it is there. So I would check the code and make sure... on checking react-instantsearch v7.2.0 you in-fact export everything from core, so one would expect not to have to install core at all and use react-instantsearch only.

the below is a lot of connect functions considering they don't "exist" for v7 these functions are also usable but fail type checking.

the below is your react-instantsearch-core types which indeed export connect* function type declarations

So I appreciate your intention is that they don't exist... but they very much do and make your docs a TON more confusing... at the least this is a bug and not expected behaviour on either my part as the consumer reading your docs and your part as you say they shouldn't exist at all in v7 😅

Do you still have a React InstantSearch Core v6 installed? I can't reproduce this in the sandbox 🤔

Do you still have a React InstantSearch Core v6 installed? I can't reproduce this in the sandbox 🤔

Its in the sandbox on this issue https://codesandbox.io/s/cool-fast-lfppn7?file=/src/App.tsx if you remove the connect* imports and do the usual cmd + spacebar then you will see it has connect in the exports of react-instantsearch and so on.

oddly I'm not seeing that. Maybe you're having that locally because you used to have React InstantSearch v6 installed and typescript still somehow has that indexed.
React InstantSearch Core also only has the correct imports:

Both of those screenshots were from a clean download of the sandbox you linked 🤔

Really weird because that sandbox links shows me this

I only used v7.2 in the deps in this sandbox too. 😅

The top two suggestions aren't from TypeScript, but from "other words also in the file". If you removed instead of copied those suggestions won't show up :)

Hey folks, hope you're doing well
Any example to replace the connectMenu utility?
Thanks for your support! <3

@joelpierre are you using that from a new React Native project? 🤔

@Haroenv oh Is there any example? I don't see anything here: https://www.algolia.com/doc/guides/building-search-ui/going-further/native/react/

useMenu is pretty much the same as useRefinementList, so this example: https://www.algolia.com/doc/guides/building-search-ui/going-further/native/react/#filter-with-a-refinement-list-in-a-modal @jdnichollsc, also a DOM example here you can translate to react native: https://www.algolia.com/doc/api-reference/widgets/menu/react/#hook-example

Hi @joelpierre,
First, did you run the codemod against your .tsx files ? By default it seems like it doesn't pick up .ts files, so you should use it like so :
npx @codeshift/cli --packages 'instantsearch-codemods#ris-v6-to-v7' src/**/*.tsx

When I do this on a file importing connectMenu from react-instantsearch-dom, it does get replaced to useMenu from react-instantsearch, and it even outputs a HoC called connectMenu along with a TODO message :

Regarding your type errors, can you show the contents of package.json in react-instantsearch-core ?
You can also run this command in the terminal : head node_modules/react-instantsearch-core/package.json
You could also link a package-lock.json, yarn.lock or pnpm lock file if you're using it.
Thank you !

Hey @aymeric-giraudet thanks for getting back to me and for the suggestion. I ending up refactoring a ton of the code a couple weeks back so this issue isn't as pressing. Looking in my pnpm-lock file there were no other react-instantsearch pkg versions so not sure why it said they were there. I even screenshotted the type defs from the pkg inside 7.2.0 so not sure why there are so many differing results (maybe you are on 7.2.X and not 0).
To help you guys debug here is our lock file (had to upload as a zip)
pnpm-lock.yaml.zip
The reason I don't just think it's my IDE or something weird is because I nuked my node_mods and the cache a lot before re-installing and I still came up with the above screenshots 🤷🏽♂  but yeah I dunno anymore 😅

we've updated the documentation now to ensure tsx extension is processed, it should all work as expected. Thanks for your feedback


Yet another take on tensorboard instrumentation plus extras.

Dunno if you're accepting PRs / managing Issues, but just opened this anyway for other folks/forks that may be interested.

Update MultiRNNCell to use list of cells (removed explicit state_is_tuple=True)
Added NASCell
Add instrumentation for tensorboard logs (moved save dir to models and added logs)
Removed some white spaces / blank lines
Add parameters for dropout expressed as: 1.0 - {input,output}_keep_prob

The second patch may address #34 regarding dropout:
python train.py --input_dropout=0.2 --output_dropout=0.5

Dropout defaults to off, 0.0, because it does slow down computations. Also, honestly, I don't know if I'm using it correctly. The tensorboard graph does seem to show it connecting between cell layers and not across, so that is promising.
I'll likely at least add some more logging stuff to write out the parameters as part of the directory name to compare more easily across runs. tensorboard demo video

@ubergarm do you want to perhaps help me maintain this repository by becoming a collaborator?

@sherjilozair I'm flattered, thanks for the offer!  I'm very new to Tensorflow, but have experience doing general development.
I'm willing to commit some time to go through existing issues / pull requests to collate patches that look good into my fork. Then I can open a PR for you to review / discuss and merge to this upstream repo.
Does that sound like a reasonable workflow or what would you like?
PS Thanks so much for getting this ball rolling! I'm having a lot of fun training this against random data sets!  A 12 character wide by 3 layer deep NASCell configuration did great on generating baby names after ~12 hours training on my single GefForce GTX 1070 w/ propriatiary nvidia drivers version 378.13 on Ubuntu 16.04 w/ 4.10 kernel.

@ubergarm How about merging the PRs that look good directly into this repo? Might be a bit easier to do things in smaller chunks rather than one big one at the end.

I am good for either collating or directly merging PRs, although the latter does seem better. The important thing is to make sure the PRs are high quality, are not introducing any new bugs, and have decent comments/notes to help other users. There are some small features people request as well, such as evaluation, etc. These could be very easily added to the repo.
@hugovk, would you be willing to become a collaborator as well?
If seems fitting, I would be happy to create an organization, and put this repo under the organization so that all collaborators can get equal credit.

@hugovk true, that is the best workflow, I'm just weary of over-committing myself for any longer term deal.  I tend to be a "drive-by" contributor.
@sherjilozair  Sure, I'd be down if say we three worked together to get this repo up to speed. Once we chew through the backlog it shouldn't be as daunting to maintain. ;)
Is there a good way to chat ever? I've never used https://gitter.im/ but it may make sense given the context.

This whole repository started as a drive-by project. ;)
On second thought, it would be best that you work with whatever workflow that you like. You don't need to over-commit.
I just started a gitter channel: https://gitter.im/char-rnn-tensorflow/Lobby

@sherjilozair
So I made this set of patches a little less opinionated and modest.  I'll keep using the save directory for the models and want to review some of the other dropout options before accepting the one proposed by me.
Final patch changes are:

Update MultiRNNCell to use list of cells (removed explicit state_is_tuple=True)
Added NASCell
Add instrumentation for tensorboard logs
Add notes to README about using tensorboard

Looks great, @ubergarm !


New version: Google.Chrome.Canary version 121.0.6115.0

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: Open in CodeFlow

Possible duplicate package entry.
Similar installer SHA256 hash found in manifest:

InstallerSha256: 9fafe383e19b74a7362eb2827953f6a742e68a01f2c888465c9687458485078f

manifests\g\Google\Chrome\Canary\119.0.6043.0
manifests\g\Google\Chrome\Canary\119.0.6042.0
manifests\g\Google\Chrome\Canary\119.0.6032.2
manifests\g\Google\Chrome\Canary\119.0.6036.0
manifests\g\Google\Chrome\Canary\119.0.6041.0
manifests\g\Google\Chrome\Canary\119.0.6016.0
manifests\g\Google\Chrome\Canary\119.0.6045.6

Despite the InstallerUrl having a GUID, I believe it's basically a vanity domain. Despite being difficult to memorize and type, it's a static location where the new version is placed. As such, these previous versions should be checked and probably removed.