Fix autocompletion after DOLLAR token

Fixes #53395

I can confirm that this does in fact fix the issue and it does feel great.
But, as much as I dislike % for unique nodes, the PR does not address it for them since it is specific to the DOLLAR token.

Although this is fine, if there were a more encompassing solution to the issue it would be much nicer.

I actually considered fixing it for % as well. The problem is, that it could also be in a modulo context, where autocompletion popping up is far more annoying then the current behavior.
We could probably only make it pop up, if there is no other value directly in front of it. But that would require changes in other files as well. Might be worth to investigate for a future PR though.

Grrrr how I hate the %, should've only been $%

Another problem about %: Autocompletion uses the parser node to decide which nodes are suggested. Without another character after the % we won't get a valid parser node and autocompletion will default to the behavior of $ so the suggested nodes would be wrong.
I should probably create an issue for % and bundle the information there :thinking:

Thanks!


[CT-1840] [Feature] Adding entities to dbt-docs

Describe the feature
As we begin to move forward with introducing entities into dbt-core, we should ensure that these are properly represented in the dbt-docs.
This is part of the broader epic around adding entities.
Additional context
There are outstanding questions around what color this node should be within the graph.

We may want to add more properties of metrics as part of this work.


Add 'use_threads' flag to use threads instead of processes.

This adds a flag to use multiprocessing.dummy.Pool(), which uses threads within the same process rather than forking off additional processes.   I know using threads isn't ideal due to the GIL, but the performance is better than not using them at all.
My main motivation for this flag was some behavior I encountered running Passlib's unittests -- especially under pypy, multiprocessing's spawning of separate processes caused multiple gigabytes of memory use (a combination of lots of processes, and pypy's heavy memory footprint).   This flag brough things down to a manageable level.

Pulled.  Thanks.

GB's of memory on pypy seems a bit extreme.  I'll look into that.


Optimize many SVGs

Sorry for flooding y'all with these while you're trying to focus on more important things for 4.1-- Should be the last one.
Saves ~13 kB. This PR is more tame than the others. The optimizations consist of removing the rest of the unnecessary transforms, fixing quirks of some SVGs, merging arcs, etc.
I mostly wanted to sort out a grievance I had with us having super complex paths for our "rainbowy" icons such as StyleBoxFlat. Instead of one consistent shape, we needed to split it into little pieces for each color.

I solved this by hacking a constant gradient into SVG by duplicating each color stop (I checked and it's rendered properly).  But mostly the benefit is that the gradient can neatly be copied anytime we need the rainbow pattern in the future.

Oh, here's a little thing I should ask, I reused the same gradient everywhere, although some of the rainbow's colors aren't used everywhere. For example, PhysicalSkyMaterial uses 5 of the colors, and LabelSettings only uses 4 (at the bottom). I just wanted to be consistent with it, but maybe size is more important to us still?

LabelSettings only uses 4 (at the bottom)

I think it's a question of readability rather than size. In the updated version you have one color that takes more space than others, for example. So it doesn't read as a rainbow gradient as clearly.
Also, the titles talks about one specific change, but over the half of the icons here are not using a rainbow gradient, or any gradient or color at all. Are these changes intended to be in the same PR?

No, it was another generic SVG optimization PR, in hindsight yeah I should say that in the title instead of highlighting what I did with rainbow gradients.
Whaddya mean about colors? We always had them like red (0-3), yellow (3-5), green (5-7), turqoise (7-9), blue (9-11), purple (11-13), pink (13-16). Hence red and pink always took more space, and I haven't changed anything. It's just that while icons are 16x16, the icons are usually within the 14x14 square with rare exceptions.

in hindsight yeah I should say that in the title instead of highlighting what I did with rainbow gradients. I'll amend the commit too

Such details you can put on the second line of the commit message, actually. Not important, but can help to keep the specific changes that you've made in the commit history forever (instead of relying just on GitHub).

Thanks!


Assertion failed: "onGenerateRoute" shows assertion when I try to go the same route for the 2nd time.

Condition:

using Chrome-Develop for the web

using "flutter channel master"  2019-11-5 tokyo
("flutter version" shows tons of v 1.XX.XX . so I am not sure what to write here)

Step:

With the code below, start the app by "flutter run -d chrome"
2.Click "to the Home" button.
3.Click "to the Root" button.
4.You see the Red Screen with the assertion message.

Comment:

as you can see from the code, I have tested using onGenerateRoute with the switch case. This works.

but what I want to achieve is to create routing table from setting file. which probably need Map

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  final Map rootMap;
  MyApp():
    rootMap = {
      "/": MaterialPageRoute(builder:(context) => Root()),
      '/Home': MaterialPageRoute(builder:(context) => Home()),
    };

  Route<dynamic> generateRouteByMap(RouteSettings settings) {
    if(rootMap[settings.name] != null){
      return rootMap[settings.name];
    }
    else{
      return MaterialPageRoute(builder:(context) => Root());
    }
  }

  Route<dynamic> generateRouteBySwitch(RouteSettings settings) {
    switch(settings.name){
      case "/Home":
        return MaterialPageRoute(builder:(context) => Home());
      default:
        return MaterialPageRoute(builder:(context) => Root());
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Reproduce',
        // routes: {
        //   "/": (context) => Root(),
        //   "/Home": (context) => Home(),
        // },
      //  onGenerateRoute: generateRouteBySwitch,
      onGenerateRoute: generateRouteByMap,
    );
  }
}

class Root extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Row(
      children: <Widget>[
        Text("Root"),
        FlatButton(
          child: Text("to the Home"),
          onPressed: () {
            Navigator.popAndPushNamed(context, "/Home");
          },
        ),
      ],
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Row(
      children: <Widget>[
        Text("home"),
        FlatButton(
          child: Text("to The Root"),
          onPressed: () {
            Navigator.popAndPushNamed(context, "/");
          },
        ),
      ],
    );
  }
}

and the Assertion message is following
══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
The following assertion was thrown while handling a gesture:
Assertion failed: org-dartlang-app:///packages/flutter/src/widgets/navigator.dart:1788:12
route._navigator == null
is not true
package:flutter/src/gestures/binding.dart 156:7
[_handlePointerEvent]
package:flutter/src/gestures/binding.dart 102:7
[_flushPointerEventQueue]
package:flutter/src/gestures/binding.dart 86:32
[_handlePointerDataPacket]
package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 89:15
[_onPointerData]
package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 261:7
package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 173:16
Handler: "onTap"
Recognizer:
TapGestureRecognizer#0a0fa
════════════════════════════════════════════════════════════════════════════════════════════════════
Another exception was thrown: Assertion failed: org-dartlang-app:///packages/flutter/src/widgets/navigator.dart:2330:12

Hi @ClozedJP
thank you for reporting that,
I noticed that it occurs also with the demo code

doctor
[√] Flutter (Channel dev, v1.10.14, on Microsoft Windows [Version 10.0.18362.10024], locale en-US)
    • Flutter version 1.10.14 at C:\src\flutter
    • Framework revision 1946fc4da0 (4 weeks ago), 2019-10-07 15:23:31 -0700
    • Engine revision 1d62160fdb
    • Dart version 2.6.0 (build 2.6.0-dev.5.0 d6c6d12ebf)

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

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 40.0.2
    • Dart plugin version 191.8423
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] VS Code, 64-bit edition (version 1.39.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.6.0

[√] Connected device (2 available)
    • Chrome          • chrome          • web-javascript • Google Chrome 77.0.3865.120
    • Headless Server • headless-server • web-javascript • Flutter Tools

• No issues found!

I just came up with alternate of achieving what I want.
Just in case someone want to do the same stuff, I leave the code here.
Only bad thing is that you need to make switch case enough to support what you are going to make.
It would be very nice if things work well with what I wrote in the topic.
import 'package:flutter/material.dart';

void main() {
  runApp(Alternateway());
}

class Alternateway extends StatelessWidget {
  static final int initialVal = 0;
  static final int finalVal = 9;
  final Map widgetMap = {};
  Alternateway() {
    for (int i = initialVal; i < finalVal + 1; i++) {
      TextWithButton twb = TextWithButton(i);
      widgetMap[i.toString()] = twb;
    }
  }

  Route<dynamic> generateRouteBySwitchTest(RouteSettings settings) {
    print("settings.name:" + settings.name);
    Widget target = widgetMap[settings.name];
    if(target == null){
      target = widgetMap["0"];
    }
    switch (settings.name) {
      case "/":
        return MaterialPageRoute(
            builder: (context) => target);
      case "0":
        return MaterialPageRoute(builder: (context) => target);
      case "1":
        return MaterialPageRoute(builder: (context) => target);
      case "2":
        return MaterialPageRoute(builder: (context) => target);
      case "3":
        return MaterialPageRoute(builder: (context) => target);
      case "4":
        return MaterialPageRoute(builder: (context) => target);
      case "5":
        return MaterialPageRoute(builder: (context) => target);
      case "6":
        return MaterialPageRoute(builder: (context) => target);
      case "7":
        return MaterialPageRoute(builder: (context) => target);
      case "8":
        return MaterialPageRoute(builder: (context) => target);
      case "9":
        return MaterialPageRoute(builder: (context) => target);
      default:
        return MaterialPageRoute(builder: (context) => target);
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Reproduce',
      onGenerateRoute: generateRouteBySwitchTest,
    );
  }
}

class TextWithButton extends StatelessWidget {
  final int current;

  TextWithButton(int current)
      : this.current = current;
  @override
  Widget build(BuildContext context) {
    List<Widget> lw = [];
    int pre = current - 1;
    int next = current + 1;
    lw.add(Text("Current:" + current.toString()));
    if (current > Alternateway.initialVal)
      lw.add(FlatButton(
        child: Text("go to:" + pre.toString()),
        onPressed: () {
          Navigator.popAndPushNamed(context, pre.toString());
        },
      ));
    if (current < Alternateway.finalVal)
      lw.add(FlatButton(
        child: Text("go to:" + next.toString()),
        onPressed: () {
          Navigator.popAndPushNamed(context, next.toString());
        },
      ));
    return Row(
      children: lw,
    );
  }
}

/cc @goderbauer this is an example of a confusing behavior in the navigator when the route is push again after being popped out of and disposed. This is not a web-only issue, so removing the web label.

It would be very nice to be able to chose "Always dispose" vs "Always Keep." like "maintainState" property in "MaterialPageRoute" class.

More Info:
I meet the error while I was looking for the alternate to this case. I am not able to make it simple.
This error must be related or similar to this case. I hope this will help.
Error massage is below.
══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
The following assertion was thrown while handling a gesture:
Assertion failed: org-dartlang-app:///packages/flutter/src/widgets/navigator.dart:2113:12
!_debugLocked
is not true
Either the assertion indicates an error in the framework itself, or we should provide substantially
more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=BUG.md
When the exception was thrown, this was the stack:
package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 194:49  throw
package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 24:3    assertFailed
package:flutter/src/widgets/navigator.dart 2113:13                                                                                pop
package:flutter/src/widgets/navigator.dart 1736:5                                                                                popAndPushNamedpackage:flutter/src/widgets/navigator.dart 1027:32                                                                                popAndPushNamedpackage:adventure/adventure/visual/ActionBars.dart 56:33
package:flutter/src/material/ink_well.dart 706:14                                                                                [_handleTap]
package:flutter/src/material/ink_well.dart 789:36
package:flutter/src/gestures/recognizer.dart 182:24                                                                                invokeCallback
package:flutter/src/gestures/tap.dart 486:47                                                                                handleTapUp
package:flutter/src/gestures/tap.dart 264:5                                                                                [_checkUp]
package:flutter/src/gestures/tap.dart 236:7                                                                                acceptGesture
package:flutter/src/gestures/arena.dart 156:12                                                                                sweep
package:flutter/src/gestures/binding.dart 222:20                                                                                handleEvent
package:flutter/src/gestures/binding.dart 198:14                                                                                dispatchEvent
package:flutter/src/gestures/binding.dart 156:7
[_handlePointerEvent]
package:flutter/src/gestures/binding.dart 102:7
[_flushPointerEventQueue]
package:flutter/src/gestures/binding.dart 86:32
[_handlePointerDataPacket]
package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 89:15
[_onPointerData]
package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 261:7
package:build_web_compilers/src/dev_compiler/C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/pointer_binding.dart 173:16
Handler: "onTap"
Recognizer:
TapGestureRecognizer#ac7dd

@iapicca The example you link to works as expected for me.
In general, it is not a good idea to re-use route objects (they have a lifecycle of their own and if you re-push the same Route object you will run into problems). Whenever you push a route you want to provide a new Route object. So, in your generateRouteByMap you probably always want to create a new MaterialPageRoute and populate it with a builder from a Map or something like that.
In this particular case the problem is that you currently cannot pop the first route off the history stack. So, your first call to Navigator.popAndPushNamed(context, "/Home"); will not remove the route / from the history because it is the first route. When you then call Navigator.popAndPushNamed(context, "/"); you are essentially pushing a Route object that's already on the history stack and that's when the exception throws because one-and-the-same Route object cannot be on the stack twice.

thx for reply goderbauer I understand the 1st paragraph.

Re-use of route objects are prohibited.
Even if I want to use same named route, I should make the new route object
My alternate is the way to go since it ”new MaterialPageRoute and populate it with a builder from a Map”

But, I am not sure about 2nd paragraph.
You say “...So, your first call to Navigator.popAndPushNamed(context, "/Home"); will not remove the route...”
yet,  if i pop the “/Home” then the “/” is not exist, there was white screen.  I think the "/" is poped.
However, I think this is not the focus of the topic here.
Anyway, I understand this is not a bug. The error message is not user friendly.
I think, this is very common mistake we would make for 1st time.
It would be nice if the  error message was saying about “not a good idea to re-use route objects (they have a lifecycle of their own and if you re-push the same Route object you will run into problems)”
If you want me to close this case let me know.

Yes, the assert on this line [1] should have an error message telling you that the pushed route has already been used.
[1] https://github.com/flutter/flutter/blob/99055c754a47c5a9ed5abcb1d4e8fe10667b9c9b/packages/flutter/lib/src/widgets/navigator.dart#L1788


Bump metrics-server to v0.6.1

Proposed Changes
Bump metrics-server to v0.6.1
Types of Changes
packaged component; version bump
Verification
Check metrics-server image tag
Testing
n/a
Linked Issues

User-Facing Change
The embedded metrics-server version has been bumped to v0.6.1

Further Comments

Codecov Report
Base: 9.72% // Head: 9.72% // No change to project coverage :thumbsup:

Coverage data is based on head (73e7e64) compared to base (28028f8).
Patch has no changes to coverable lines.

Additional details and impacted files
@@          Coverage Diff           @@
##           master   #6151   +/-   ##
======================================
  Coverage    9.72%   9.72%
======================================
  Files         138     138
  Lines       10057   10057
======================================
  Hits          978     978
  Misses       8880    8880
  Partials      199     199

Flag
Coverage Δ

unittests
9.72% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/deploy/zz_generated_bindata.go
0.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

https://drone-pr.k3s.io/k3s-io/k3s/4732


Data mart reset issue in one box environment (Installed platform version : Update15)

When we do the data mart reset as described above from Report designer, the report designer crashes and the error log is recorded with the below error messages. The same result is displayed while doing from power-shell using "Reset-DatamartIntegration" command.
Machine: XXXXX
{"Class":16,"Number":8169,"State":2,"Message":"Conversion failed when converting from a character string to uniqueidentifier.","ErrorCode":-2146232060,"Procedure":"","LineNumber":2,"Errors":[{"Class":16,"Number":8169,"State":2,"Message":"Conversion failed when converting from a character string to uniqueidentifier.","Procedure":"","LineNumber":2,"Source":".Net SqlClient Data Provider"}],"ConnectionId":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX","Source":".Net SqlClient Data Provider"}.
Please let me know if I am missing something or data mart reset will not work in downloaded VM(one box environment)

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

ID: dcccc152-564f-c7cb-ccbd-06686e3ae999
Version Independent ID: ecbaf175-9401-36f5-d416-95b26823bf11
Content: Reset the Financial reporting data mart - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/analytics/reset-financial-reporting-datamart-after-restore.md
Service: dynamics-ax-platform
GitHub Login: @aprilolson
Microsoft Alias: aolson

Thanks for your comment. I've forwarded this on to the engineering team. Check back for their response.

Thank you so much, Josaw1. Please let me know if you have any updates.

Bug 270380 has been logged to track this issue.

This is a support case, not a doc issue. Why would we track this on doc?
April Olson
Dynamics 365 Finance & Operations
Principal Group Program Manager, Financials & Service Industries
Our workplace allows for a flexibile work schedule, which is an amazing benefit. I am sending this now because it is convenient for me. I do not expect you to read or respond until its convenient for you.
From: Sally Erickson<EMAIL_ADDRESS>Sent: Wednesday, November 21, 2018 11:08 AM
To: MicrosoftDocs/dynamics-365-unified-operations-public<EMAIL_ADDRESS>Cc: April Olson<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/dynamics-365-unified-operations-public] Data mart reset issue in one box environment (Installed platform version : Update15) (#608)
Bug 270380 has been logged to track this issue.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fdynamics-365-unified-operations-public%2Fissues%2F608%23issuecomment-440741391&data=02|01|aolson%40exchange.microsoft.com|89e4240aa1e74182d14908d64fd3d250|72f988bf86f141af91ab2d7cd011db47|1|0|636784168519159798&sdata=eGj84j7CG7Y%2FdOvjx6bnbQP%2F9tyR4V4hL06InW8PLgY%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAXRNXTJr-G5HV4jca7QrHJNvZBFrYqZ5ks5uxYhSgaJpZM4Yftdi&data=02|01|aolson%40exchange.microsoft.com|89e4240aa1e74182d14908d64fd3d250|72f988bf86f141af91ab2d7cd011db47|1|0|636784168519169807&sdata=Snk867lJtCcOtbDAK1abCiTqDln8mZBebcmtpa77FfA%3D&reserved=0.

Hello aprilolson, Thanks for your response. I just wanted to know that the procedure listed here is not working for one box environment (downloaded VM) also there is no details specific to one box environment in the given procedure. Since the given procedure is not working in one box environment, I just wanted to know is there any doc or steps available related to data mart reset in one box environment.

You are not missing anything from what I can tell. There seems to be an issue on that specific environment and a support ticket should be logged.

Ekahmbaram,
We would like to look at the issue. Did you raise this with support? If so, please let us know the ticket number so we can make sure look into it.
April Olson
Dynamics 365 Finance & Operations
Principal Group Program Manager, Financials & Service Industries
Our workplace allows for a flexibile work schedule, which is an amazing benefit. I am sending this now because it is convenient for me. I do not expect you to read or respond until its convenient for you.
From: EkambaramPazhanisami<EMAIL_ADDRESS>Sent: Wednesday, November 28, 2018 11:23 PM
To: MicrosoftDocs/dynamics-365-unified-operations-public<EMAIL_ADDRESS>Cc: April Olson<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/dynamics-365-unified-operations-public] Data mart reset issue in one box environment (Installed platform version : Update15) (#608)
Hello April Olson, thank you for your reply. I am facing this issue in all the downloaded VMs (one box environment) not only in one environment. I have raised this issue, after checking in multiple environment (one box environment).
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fdynamics-365-unified-operations-public%2Fissues%2F608%23issuecomment-442710488&data=02|01|aolson%40exchange.microsoft.com|3840d760a61a4eef03aa08d655bac349|72f988bf86f141af91ab2d7cd011db47|1|0|636790657962955909&sdata=6JL5YfAlb0xbBGSQDbtdtnKDtOhwDx1y6nOUWdYXoaE%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAXRNXWsT8ZrRjOq4jTFUzfYeSN3YZb--ks5uz29CgaJpZM4Yftdi&data=02|01|aolson%40exchange.microsoft.com|3840d760a61a4eef03aa08d655bac349|72f988bf86f141af91ab2d7cd011db47|1|0|636790657962965919&sdata=v%2BT3xRHzwd2d6qBkjknXHfmpo6m4kLDJtr8dENpAKlk%3D&reserved=0.

As steps have been verified, closing as a support request. @EkambaramPazhanisami please let @aprilolson know about your support ticket number and she can help following that route.

On the local One box you can use the following hint to perform a full DM reset
https://denistrunin.com/financial-reporting-local-onebox/


Recent Gitea 1.16 (stable) breaks build on Fedora 35 because the go.mod was changed to require Go1.17

Description
I can no longer build the stable branch 1.16 on my Fedora 35 system.
go mod tidy fails, see below.
+ make 'TAGS=bindata sqlite sqlite_unlock_notify pam' 'LDFLAGS=-X "code.gitea.io/gitea/modules/setting.AppWorkPath=/var/lib/gitea" -X "code.gitea.io/gitea/modules/setting.CustomPath=/var/lib/gitea/custom" -X "code.gitea.io/gitea/modules/setting.PIDFile=/run/gitea/gitea.pid" -X "code.gitea.io/gitea/modules/setting.CustomConf=/etc/gitea/app.ini"' vendor build
go mod tidy && go mod vendor
go mod tidy: go.mod file indicates go 1.17, but maximum supported version is 1.16
make: *** [Makefile:374: vendor] Error 1

IMHO The stable branch should not break existing working setups.
Gitea Version
1.16
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
f9ea4ab69ae397be4791c2e2ebf59f6cd9e5a6f8
Operating System
Fedora 35 x64
How are you running Gitea?
not relevant
Database
PostgreSQL

I'm also seeing this issue. I build gitea RPM's in copr and I attempted to patch it for Fedora 35 and RHEL 8 as both fail but without success. CentOS Stream 8 and Fedora 36 are unaffected.
I believe raising to minimum golang 1.17 wasn't the right move on the stable branch.

Golang doesn't think so, you see: https://go.dev/dl/ , you can only find go 1.17 and 1.18 now.

That is all fine and dandy, but you're breaking builds on the stable branch.
Please please revert back to go 1.16.

That is all fine and dandy, but you're breaking builds on the stable branch. Please please revert back to go 1.16.

I just tried to answer why, but I am not the decision maker, it needs the team to decide ......

Golang doesn't think so ... you can only find go 1.17 and 1.18 now

Right yes, I understand and I agree. I understand the importance of following upstream as close as possible. As a question to the rest of the gitea development team I have to ask though, 1.16 for gitea is the current stable branch, is it not? Seems odd to me to raise the minimum in a stable branch rather than planning for it in a development capacity (eg for 1.17), which unfortunately breaks a lot of builds.
Reason I say this is a good chunk of stable distributions provide golang packages to their users and do not upgrade them right away (on top of using binaries from go.dev is a non-starter). For example, RHEL does large rebases every 6 months (RHEL 8.6 won't be released till May, which will have 1.17). Fedora, unless the maintainers have a reason, do not generally rebase versions in their current release. 1.18 for example is being built for Fedora 36 beta, and it is unlikely that it will come down to Fedora 35. There's no indication of this happening, at least from their maintainers.
I understand the development styles and plans are different from project to project in open source. It's these decisions though that just makes it difficult for users who are confined to what they have from their distribution if they wish to build gitea in a certain way (like having PAM support). And for some of us users, downloading directly from go.dev is typically a non-starter in some capacities.
Hopefully we can get some input and some information for myself and others who may be running into this issue.

Personally, I am neutral to such break (neither support nor objection). I understood how it matters and understand your points.
Why I don't treat it as not right because Gitea isn't a framework, and it doesn't promise to follow Linux distribution lifecycles. And Gitea can always be complied to binaries for all distributions (eg: docker), and you can always build it and run it for Fedora 35, in the end, there is no breaking. And I agree that we can not say that it is not wrong because it indeed changes something for build.
Take a real case for example, as a Debian user, Debian 11 only provides Golang1.15, does it mean that recent Gitea doesn't work for Debian? So my personal feeling is that since Gitea is an app, as long it as can be compiled and run correctly, then it could not be a break.
ps: to make the issue more clean, I edited the title to reflect the real topic, I think it needs to be decided by the maintainers and owners.

@fhuberts If you really want to build with 1.16, you can manually change the go.mod or run go mod tidy -go=1.16 (it works for now until some dependent library start requiring go 1.17 or go 1.18
But I agree with @wxiaoguang as Go security updates only supports the 2 most recent versions Gitea should always be on one of the latest major releases.
Fedora and Go have both 6 month release cycles and this seems to cause this sort of issues. It looks like F36 will have go 1.18 though :)

I understand all of the arguments.
However, you're making it much harder for gitea to be adopted by distributions when you do it like this.
You have only 1 stable branch and you're breaking things on it.
For distributions that is a huge NO NO, blocking adoption.
If you want to break stuff, you should create a new stable branch and break stuff there.
In this case, a 1.17 branch should have been created right before the breaking commit.
I really like gitea and am using it heavily, but these kinds of things just make it harder.
It also means that my gitea server has to run the bleeding edge at the time.
Worse even: I have to run Fedora rawhide in this case if I want to pick up the bugfixes on the stable branch!
And I'm running Fedora, let's not talk about if I'd run Debian...
I do hope you see the 'strangeness' of the situation...

I agree with @fhuberts, the decision to backport the et al changes to update to go1.18 on the 1.16 branch is weird because it's a breaking change. So far I know we only backport bug fixes, but we don't backport breaking changes. Yet this was somehow a exception 🤷🏽.
The argument to only support two latest Go Release shouldn't matter to this branch, because anyone can build it with go1.16-go1.18 we should only put up that restriction for the master branch(v1.17), it's their "choice" to still have a outdated golang version. But restricting it on the stable branch is quite stupid, 1.16.5 has five security fixes and now some gitea Instances cannot update to include these security fixes because they have to figure out some way to bypass the distribution's golang version and get a newer one. There's no harm if we revert the change.

Then what if Go add security fixes in Golang 1.17 (but not Golang1.16)? Since Gitea 1.16 is the Gitea stable, should it take these Golang security fixes in or not?

@wxiaoguang
Then you create a new stable branch and bump the required go version.

@wxiaoguang Then you create a new stable branch and bump the required go version.

How to? New Gitea has two branches, one is 1.16.x, one is main(1.17-dev), what's the new stable branch do you mean?

Then what if Go add security fixes in Golang 1.17 (but not Golang1.16)? Since Gitea 1.16 is the Gitea stable, should it take these Golang security fixes in or not?

See:

it's their "choice" to still have a outdated golang version

Like I said anyone with a newer go version can build the stable branch just fine. It's their risk to still have it(wherever they are forced to or not). But currently now they have to cherry-pick the security fixes, because they don't want to have a security risk of having a gitea instance public.

Yes, same situation if there is a new gcc version.

it's their "choice" to still have a outdated golang version

Like I said anyone with a newer go version can build the stable branch just fine. It's their risk to still have it(wherever they are forced to or not). But currently now they have to cherry-pick the security fixes, because they don't want to have a security risk of having a gitea instance public.

But do you want to release an official Gitea 1.16 with the (possible) unsecure Golang 1.16 if the Gitea branch 1.16 doesn't get updated?

Yes, same situation if there is a new gcc version.

Any reference? GCC is not the same as Golang, GCC has a lot of backports for old versions, it makes these old GCC run without security problems. But Golang ONLY support recent 2 release, that's the key problem.

But do you want to release an official Gitea 1.16 with the (possible) unsecure Golang 1.16 if the Gitea branch 1.16 doesn't get updated?

What do you mean with the unsecure Golang 1.16? Do you mean the static builds that we provide or the ability to compile Gitea with 1.16?
Because for the former, I'm pretty sure the build server is running the latest go version fine. For the latter, We shouldn't be the one to be in control "Hey! You have a outdated version, which can be a security risk!!! Please update before we allow you to compile Gitea" at the maximum we should provide a warning for it at runtime, but not disallow the the compilation for it. Own risk and do such breaking changes on major version updates(e.g. now we have done with 1.17).

Let's take a look at the problem behind the issue:

Golang only supports recent 2 releases, now is Go1.17 and Go1.18. Then Go1.16 won't receive any security fixes.
If there is a serious security problem fixed in Go1.17 and Go1.18, the problem is still in Go1.16.
If stable Gitea1.16 keeps using Go1.16, how can these security problem get fixed?

If this answer can be answered, I think we can make an agreement about how to handle such problems in future.

Golang only supports recent 2 releases, now is Go1.17 and Go1.18. Then Go1.16 won't receive any security fixes.

Yes! So it's indeed weird from distributions to not update go, especially because go is backwards-compatible.

2. If there is a serious security problem fixed in Go1.17 and Go1.18, the problem is still in Go1.16.

Yup, the official go team won't provide patches. Not sure if certain distributions provide security patches for their binaries to still include these.

3. If stable Gitea1.16 keeps using Go1.16, how can the security problem get fixed?

Well, if a user is compiling Gitea with go1.16(not the other version) we cannot do much, our option is to disallow compilation(current behavior) or to warn them at runtime(Not sure since when we're security notification server).

3. Or can we accept that leave the security problem in Gitea1.16 until next release?

I think at this point we're taking the security too serious, the user has decided to still use go1.16 so that means that every other binary is also vulnerable to open security issues. We wouldn't be the only project that is vulnerable(if we leave out the attack vector of such security issue). If we really want to do something we should instead opt-in for such warning at runtime... So users can take their time until Gitea 1.17 is released to have their own go version updated to a newer one but still experience the Gitea bug and security fixes.

That statement is about users, not about the official Gitea. If I understand correctly, your propose is that at the moment, even if there are some security problems which would never be fixed in Go1.16 (because of EOL), then still make official Gitea 1.16 (stable) use Go1.16 (EOL)?
Personally, my answer is:

My preference is to make Gitea stable follow the active Golang releases
If most agree not to follow, I am fine, too.

Need more people to vote  @go-gitea/owners @go-gitea/maintainers

then still make official Gitea 1.16 (stable) use Go1.16 (EOL)?

Are you talking about static builds or users building Gitea?
Because Like I said, if user's go version is 1.17 or 1.18 Go simply build with those versions, they don't magically go to some compatibility mode to build Gitea. We're only targetting users that still have go1.16 installed any other users with 1.17 or 1.18 won't notice anything.

My preference is to make Gitea stable follow the active Golang releases

My preference still would be to not break User experience on Gitea stable and let them miss out on Gitea security updates.

It's been a long time since I've participated in this project, so please take my words with a grain of salt.
As I understand, the version bump was done in order to use new syntax for the tooling, but the actual build could still be compatible with go1.16 (except for the fact that go.mod asks specifically for go1.17).
If my assumption is correct (I'm not sure), then perhaps we could enable the go version configuration/override via environment variables or some Makefile syntax, so:

Older distributions could override the version to go1.16 and be happy.
We could use the latest or most convenient go version for our distribution binaries.
We could use the latest or most convenient go version for our CI/CD chain.

So, it could all be reduced to whether my assumption is correct.

We can detect go version and have a warning when users compile Gitea with a lower version of Go.

Raising the required go version is a breaking change, this requires at least a new minor version, something like that should NEVER be done within a patch release.

OK. If nobody against that, let's change go.mod to go 1.16 in Gitea v1.16.6 but add a warning in Makefile if go version less than 1.17.

Honestly I think @fhuberts is right here. I should have stopped the change to use go 1.17 in Gitea 1.16.5. However, I think Gitea 1.17 should be released with a minimum go 1.18.

Gitea should alwasy use the latest stable golang for there build chain (CI, ...)
But we should allow older golang builds
For the specific backport, I agreed on merging since it fixes bugs

Maybe add a simple build check to the ci system for older go versions, that would avoid such issues in the future

We already have this:
https://github.com/go-gitea/gitea/blob/be9ef15f8a6346987294ae0b6185e393253f6673/.drone.yml#L112

If I understand correctly, the conclusion is:

Change the go version in Gitea stable (1.16) go.mod to go 1.16
For Gitea stable branch, the go version in go.mod should never be changed, let users take their own security risk to build with a unsupported Golang, even if they are building their official Gitea packages for their end users.
If a Gitea stable is using an unsupported Golang, and a dependency package need a supported Golang to fix a security problem, then Gitea won't follow. For example:

Gitea stable uses a unsupported Golang, and depends on PackageA
PackageA has a security problem, and the new version of PakcageA with security fix only supports a active/supported Golang
Gitea stable won't use the new version of PackageA because Gitea stable must use the old Golang to compile old PackageA
This assumption is that such case should seldom occur because hopefully all vendor packages should be safe and won't break build.

For all Gitea dev->stable release, make Gitea use the latest Golang, to make sure the used Golang has the longest support time.

As I understand, the version bump was done in order to use new syntax for the tooling, but the actual build could still be compatible with go1.16 (except for the fact that go.mod asks specifically for go1.17).

Correct, the only change dictating 1.17 is the go run syntax in the Makefile, everything else, including the build should work on 1.16.

Hey, sorry for all the trouble this has caused. This is entirely on me, I was rush in fixing go1.18 issues and trying to release a security release at the same time that I removed support for go1.16. When precedence states, as with all other releases we don't bump minimum go version for a release branch (although we may start building it with newer versions, but still leaving that older versions of go for people to build themselves). Hopefully the linked PR can be applied as a patch to the fedora release until we can cut another 1.16.x release.

Thanks for listening and fixing this issue!


pip install ethereum references out-of-date upload 2.2.0 instead of "latest" 2.1.5

Attempting to install Ethereum from pip (pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6)) fails when a package uses ethereum>= in its requirements.txt. pip will then choose ethereum-2.2.0 from the package list as the latest version, instead of the true "latest" version 2.1.5. The package 2.2.0 has a bad tests_require that causes packages to fail to install, using set( instead of list( at line 17.
This can be bypassed in the meantime by forcing the 2.1.5 package for some packages, such as pip install ethereum==2.1.5 mythril
If 2.1.5 is actually the latest, 2.2.0 should be deleted from PyPI.

cc @vbuterin to remove 2.2.0, I think I can only upload new versions to pypi but can't delete

Went ahead and made a new minor release


Mobile icons auto update 20230811.3

Changing branch to compare

Will use https://github.com/SuperOfficeDocs/superoffice-docs/pull/797 instead (white background instead of transparent)


CompatHelper: bump compat for StatsBase to 0.34, (keep existing compat)

This pull request changes the compat entry for the StatsBase package from ^0.33.21 to ^0.33.21, 0.34.
This keeps the compat entries for earlier versions.
Note: I have not tested your package with this new compat entry.
It is your responsibility to make sure that your package tests pass before you merge this pull request.

Check out this project: https://github.com/7AXEL/Web2APK


Updated return code/status with '504 Gateway Timeout' for http.proxy

I am now working on the spec tests. I wanted to ask, how can I make the test I added in the PR pass? As I said it times out at "unbound".

@jitsni I have created a test case for the scenario when the server is down starting on the example above. I have pushed the changes. I have also added the k3po scripts in my fork for the k3po: https://github.com/msalavastru/k3po/tree/http.proxy
The problem is that when running the HttpProxyStatusIT.proxyShouldReturn504ResponseWhenServerIsDown() test, the server does not accept the connection from the proxy. Can you please have a look, and let me know how I can fix it?
Also, is this test case enough?

The test I referred to was using transport option in scripts, for e.g proxy.rpt

connect http://localhost:8080/index.html
        option transport tcp://localhost:8081

So the Host header would be still localhost:8080, but the acutal socket connection would be to localhost:8081
Unless I try it out, I wouldn't know. May be I will try it and create a new PR (including your commits)

The RFC 2616 is obsolete. It is replaced by RFC 7230-7234. So your test should faill into one of them.

I want a test case where there is no server listening at port 8081.  May be the same client script can be used in gateway as a separate test case.

@jitsni I have moved my test in the correct RFC folder 7231 and slightly changed the client, proxy and server k3po scripts to use "transport option". I am now stuck at this 2 points:

I am trying to build a test case where the end server suddenly closes the connection:

the test in ResponseStatusCodesIT from the specification.http/org.kaazing.specification.http.rfc7231/ ( in the K3PO ) fails: it does not connect to the end server.
for the test in HttpProxyResponseStatusCodesIT from the gateway.service.http.proxy I don't know how to add "option transport tcp://localhost:8081" to the .connect(URI.create("http://localhost:8080/server")) in the GatewayConfiguration

Maybe you can elaborate on the test case where there is no server listening at port 8081, I don't know how to do that.

The changes for the gateway are updated here in the PR, and you can see the updated k3po script from my fork in the commit

There two PRs including Mihai's work:
https://github.com/kaazing/gateway/pull/349
https://github.com/k3po/k3po/pull/245

@jitsni What should we do with this PR ?

Yes close it (I think when the other pull request is merged this would be closed automatically). Once k3po is released, then I update my pull request.


[!] bump Grafana to v11

Description
This pull request addresses the impending deprecation of AngularJS support in Grafana starting from version 11. To ensure continued functionality and compatibility, I have migrated the majority of the panels from AngularJS to React. The migration process involved careful comparison of the new React panels with their previous AngularJS counterparts to ensure parity in functionality and appearance.
Changes Made

Migrated panels from AngularJS to React.
Conducted thorough comparison between old and new panels to verify consistency.
Updated all links to ensure compatibility with the new version.
Retained system stats panels in AngularJS temporarily due to lack of testing data; this decision was made to ensure a deliberate and well-informed migration process.

Notes

System stats panels were not migrated due to the absence of testing data. This decision was made to prioritize stability and ensure that the migration is warranted before altering critical components.
In the new React panels, two notable changes have been implemented:

The grid is no longer displayed when there is no data available, enhancing the clarity of the interface.
Row color mode has been replaced with cell color mode, particularly in the "Postgres version Overview" Dashboard, to align with changes in Grafana's specifications.

Testing

testing was conducted to ensure the functionality and appearance of the migrated panels match their AngularJS counterparts in base of appearance and behavior.

links about migration

https://grafana.com/docs/grafana/latest/developers/angular_deprecation/
https://github.com/grafana/grafana/issues/49670

Your feedback on the migration process would be greatly appreciated.

Hello!
Thanks for your help. It's better to have v11 folder with updated dashboards and keep v10 for backward compatibility.

Hi @pashagolub!!
Thank you for your feedback, I've made the necessary adjustments to the code accordingly, in particular i added a new container for the Grafana latest and restored v10.
Let me know if everything is ok ^^

I added a brief documentation for a better understanding of behavior

I don't like the tree structure. Please, do not add anything or change unless we agreed on it. v11 folder must be on the same level as v10. No new folders, please. Also prometheus dashboards must be updated. Tree should look like this:
- grafana
  - postgres
    - v10
    - v11
  - prometheus
    - v10
    - v11

It's OK to change docker-compose to use the v11 Grafana image.
Thanks for your help!

Excuse me for not asking before changing the tree structure first, you were right, it's more simpler now and it works better with less complexity, I've made the adjustments asked, and removed the brief documentation as it is no longer necessary, thanks for the feedback again!!

Thanks! I will test and review this PR next week due to holidays and vacations.
Please, feel free to improve it if you will find anything else.
Best regards!

very good, happy holidays!!

Hi @pashagolub, to migrate the old dashboards to new format I used the automatic migration tool on the grafana dashboard, but sometimes it works badly, for example links are always broken, in these cases you need to fix things manually from the dashboard

Hi @pashagolub, how to migrate from old to new dashboards is explained on the docker compose file, you can decide which version to use just by commenting and uncommenting the related volumes, I hope I have resolved your doubts.

instead, if you meant the steps of what I did to migrate the old dashboards to new format: I used the automatic migration tool on the grafana dashboard, but sometimes it works badly, for example links are always broken, in these cases you need to fix things manually from the dashboard

No. My question was how to migrare angularjs dashboards to react?

No. My question was how to migrare angularjs dashboards to react?

Grafana have a tool for that.

No. My question was how to migrare angularjs dashboards to react?

Grafana have a tool for that.

yes, you can click on edit dashboard and then it suggest you to migrate to the new react version

Thanks guys! The reason I'm asking, there are some more dashboards in a wild, e.g. by postgres.ai. Just want to know where to send people with new issues. :)

I'm happy to have been of help

Thanks @muni106! Great work!


fix(win-path): delimiter in path slash OS specific

Issue
#229
Intent
Cater cater case in Windows, Paths are with forward slash
Implementation
Added OS specific slash constant slashInPath, use this in all command files, wherever path utility is used
Update: now we are using  path.sep provided by utility itself
Checks

[ ] Code is formatted correctly (npm run lint:fix).
[ ] Any new functionality has been unit tested.
[ ] All unit tests are passing (npm test).
[ ] All CI checks are green.
[ ] JSDoc comments have been added or updated.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Settings Keep Reverting to Default

The latest version 3.7.2 has not been remembering my settings when I go back to the editor after a while. It seems to reset the settings I've changed (like autosave, word wrap, etc), and the color theme keeps getting reset back to the default after a session ends. Is this a known bug?

Yes see https://github.com/cdr/code-server/issues/2274

Closing as a duplicate. Hopefully should have a release with the fix out soon.


gcloud to 125.0.0

@nbashirbello @briandealwis @akerekes Travis seems to be timing out when it tries to upgrade 124 to 125

LGTM


Cache coingecko historic price requests for the same date

sys sync command frequently fails because of seemingly being throttled by coin gecko for fast repeated requests. The same price data is requested multiple times for many accounts. This pr adds a static hashmap to cache the results of previous requests and reuses them in subsequent updates.

Oh nice, this has been bugging me for a while too!

it should probably include coin in the key. I'll fix it.

ty sir


Include bind parameters in debug_sql!

I've implemented this as a separate AST pass, rather than the
CollectBinds pass of the Debug backend. This is because we will
ultimately want to use this same code for logging, which won't have the
QueryFragment<Debug> constraint. Ultimately I think I want to get rid
of the Debug backend entirely once logging is implemented.
I had originally implemented this by adding two additional lifetime
parameters onto AstPass. However, I really disliked how opaque and
random these two extra parameters felt, and it made the type harder to
document (and use). Shortening an invariant lifetime like this is
actually one of the documented use cases that mem::transmute is useful
for. I don't like introducing unsafe code in general, but I felt that
the tradeoff was worth it in this case.

I've updated this to include the API we've discussed. debug_sql is now debug_query which returns a type that implements Display and Debug. The display implementation will be the SQL query with the binds as a comment. The Debug impl pretends it's a struct called Query, which contains the SQL and the binds as fields.

Oh, @sgrif, that CI failure looks noteworthy:

assertion failed: (left == right) (left: "SELECT \"users\".\"id\", \"users\".\"n\" FROM \"users\" WHERE \"users\".\"n\" = $1 -- binds: [1]", right: "SELECT \"users\".\"id\", \"users\".\"n\" FROM \"users\" WHERE \\\n        \"users\".\"n\" = ? -- binds: [1]")

Escaping
$1 vs. ?

(This is Postgres 9.5 on Windows.)


how to use blank flash on moto g9 play that gave hardbrick

when I connect it appears waiting device and I already have the drivers

https://github.com/Genymobile/scrcpy/blob/master/FAQ.md

when I connect it appears waiting device and I already have the drivers?

I connect it appears waiting device

Where? When you type which command? What's the whole output?

saya tidak menaip sebarang arahan tidak saya menggunakan denyar blankflash adalah automatik

Please write in English.
google translate:

i didn't type any commands no i use blankflash flash is automatic

OK, so your problem has nothing to do with scrcpy?

The project on which you are reporting an issue here.

has to do with scrapy


Optional controls

Hi,
Thank You for this great tool. It simplifies working with ng-forms very well.
But I have a problem defining optional form fields. See example.
Is it possible to do this in some different way?
import {FormModel, FormElementGroup} from 'ngx-mf';
import {FormGroup, FormControl} from '@angular/forms'

interface Contact {
  address: string;
  phone: string;
}

interface Person {
  name: string;
  contact?: Contact; // <==
}

type PersonForm = FormModel<Person, {
  contact: FormElementGroup
}>;

type ContactForm = FormModel<Contact>;

const contactForm = new FormGroup<ContactForm['controls']>({
  address: new FormControl('addr', {nonNullable: true}),
  phone: new FormControl('123456789', {nonNullable: true})
});

const form = new FormGroup<PersonForm['controls']>({
  name: new FormControl('John Doe', {nonNullable: true}),
  // contact has to be specified, or TS error, but it has side effects in creating form
  // contact: null as unknown as ContactForm // FIXME
});

const condition = true;
if (condition) {
  form.addControl('contact', contactForm);
}

Thank You,
Tomas

Hello, sorry for the late response, and thank you for open issue.
Currently optional fields are required in form, optional field means that field is nullable but you steel should define it.
Can you describe your case in more detail, because if you don't use that field you can just omit it from your model, like Omit<Model, "field">.


Add webgl2 IDL spec and generated code

I've added WebGL 2 example code to DOMKitDemo ported from https://webgl2fundamentals.org/webgl/lessons/webgl-fundamentals.html, which is under MIT/BSD3-like license (added inline to the file), looks like this in action after you press the button. Just a pink triangle, but it finally works!

Thanks! I'm thinking of integrating Euclid with WebGL 2 via WebAPIKit. Thankfully Euclid already compiles almost without issues. It would take time to make something comparable to three.js, but could be a start.


Provide/Document way to create custom argument constraints

I see no documentation on how to create custom constraints and looking at the code it does not appear to actually be possible (e.g. ArgConstraint is not open). The constraints provided are very rudimentary and there are many possibilities missing e.g. greater than, less than, between, combining multiple constraints, constraints on properties of the object.

Use isValid.
It is documented in the section called "defining custom argument constraints" : https://kosi-libs.org/mockmp/1.17/core/mocking.html#_defining_custom_argument_constraints.


bug: parsing ObjectId object from MongoDB in tap-mongodb

Singer SDK Version
0.31.1
Is this a regression?

[ ] Yes

Python Version
3.8
Bug scope
Taps (catalog, state, etc.)
Operating System
MacOS
Description
When using tap-mongodb to extract the data from Amazon DocumentDB I encounter the following error
[error    ] Extraction failed              code=1 message=TypeError: Object of type ObjectId is not JSON serializable name=meltano run_id=8ecfabdc-ab96-4195-9f6e-137988dc3b0e state_id=2024-01-30T215143--tap-mongodb--target-s3

Config I am using in meltano.yml:
plugins:
  extractors:
  - name: tap-mongodb
    variant: meltanolabs
    pip_url: git+https://github.com/MeltanoLabs/tap-mongodb.git
    config:
      allow_modify_change_streams: true
      flattening_enabled: true
      flattening_max_depth: 1

    metadata:
      '*':
        replication-key: replication_key
        replication-method: INCREMENTAL

The error can be traced back to the _flatten_record function from singer_sdk library -  more precisely this file: /Users/x/projects/z/y/.meltano/extractors/tap-mongodb/venv/lib/python3.8/site-packages/singer_sdk/helpers/_flattening.py
I noticed I can fix it by replacing json.dumps(v) in _flatten_record function to dumps(v) which would come from bson library from bson.json_util import dumps.
Would you accept such fix or are there other conditions / scenarios I should take into account?
Code
No response

Hey @dgawlowsky! Thanks for reporting.
I think this would be fixed by having updating https://github.com/meltano/sdk/blob/fa888be4ba00f471f8c0a474800f9699a1ed3347/singer_sdk/helpers/_flattening.py#L433
to
- json.dumps(v, use_decimal=True)
+ json.dumps(v, use_decimal=True, default=str)

Great, thanks for prompt response. I can pick this up and open PR if this is ok.

Great, thanks for prompt response. I can pick this up and open PR if this is ok.

@dgawlowsky go for it!


Access previous maker-otc contracts?

In EtherDelta you can change to previous contracts with a dropdown, in case you want to withdraw tokens from previous versions of contracts.

Maybe something like this? Is there a function in maker-otc to cancel every buy/sell order in one go?

Do we still want to have this feature implemented ? @Rune23 @apmilen

Now that we're deploying market contracts that expire in a year, I don't know if it's worth the effort.

I also don't think it is necessary anymore. With that I am closing the issue.


[WR] update docker settings and configs to be in line with current setup

Pivotal Card
These changes keep everything in line with the requested changes from  this pr over in data-suite.

LGTM


[BUG] Undo after a LiveList set results in delete/insert events

Describe the bug
We are trying to build multiplayer undo/redo into a collaborative text editor. The editor is, in essence, a sequence of paragraphs (only text) which we store in a LiveList. Whenever a user types some letter into a paragraph the LiveList set method is called for the respective element. The issue we are experiencing happens when we invoke room.history.undo() too soon after set for the same client (e.g. the user clicks ctrl-Z very quickly after typing) - in such cases the local client's room subscription receives 3 updates - a set update (which is expected, this is the reverse of our set) and then a delete and an insert for the respective live list element (FWIW, the remote client subscriptions correctly receive only the set).
For testing purposes I've added a 1 second delay after the set and the undo and this only results in a single 'set' event (which is what we'd expect).
To Reproduce
Have a single participant in a room. Subscribe for storage updates on the room. Call undo immediately after a LiveList set. Observe that 3 updates are receives, a set, a delete and an insert.
Expected behavior
The undo should reliably produce only a single set event that reverses the initial set.
Environment (please complete the following information):
"@liveblocks/client": "^0.19.4"
"@liveblocks/node": "^0.19.4"
"@liveblocks/react": "^0.19.4
Chrome v108.0.5359

Hi @plamzd,
It definitely look like an issue on our end. We're going to look into it.

Hi @plamzd, thanks again for filing this bug report. We have recently fixed two bugs^1 in this area that might have been related. We haven't been able to reproduce this issue. Would you mind trying to upgrade to the latest version (1.0) to see if these fixes have solved this issue for you? If it's still an issue, please let us know! Thanks! 🙏

I also encountered a similar problem. When I invoke blocks.insert(child, i), and then invoke blocks.set(i, child) too soon, in such cases the local client's room subscription receives 2 updates - an insert for the respective live list element and a delete.

@nvie Seems like the problem persists with version 1.0.0:
https://user-images.githubusercontent.com/6538416/220588147-2024906a-2aeb-41be-9a99-b55b2074171c.mov
Here is a demo of me typing a single letter (resulting in a LiveList#set operation) and immediately pressing ctrl-Z (a room.history.undo()). You can see 3 calls to the local room subscription callback - one with an update, one with a delete and then one with an insert. I've also included a view of the websocket traffic if that helps.

@plamzd Thanks again for this bug report, this video was super useful for us to be able to replicate it. We're currently unable to capture it in a unit test, so we need to look into what the underlying issue here can be. Just wanted to mention that we're still looking into it, and we'll try to get a fix out for this soon. Thank you for your patience!


SharpSvn.dll Error :|

Welp. Imgur wouldn't let me upload it, so I threw it up on my own website.
This error occurs every time i try to download mods, weather or not I have vc redist 2005 or not.
http://electricgaming.ga/ncs/blog/wp-content/uploads/2016/09/FMM_2016-09-14_15-14-25.png

You need to extract SharpSvn.dll from the zip FMM came in.


Corrected makefile mistakes

For me it still does not work; e.g. if I try make ex5 I get an error (see below). Since Thorsten has accepted all other pull requests today, I will also pull yours though, but please correct that nevertheless
x5.cpp: In function \u2018int main(int, char**)\u2019:
ex5.cpp:87:38: error: \u2018stoi\u2019 was not declared in this scope
int numberOfNodes = stoi(currentLine);

I didn't test it as I'm using the Microsoft compiler. Will setup a GNU environment now... :-) Thanks for the hints. Interesting that g++ doesn't allow omitting the std:: namespace, but gcc even allows omitting some std include files (see my ex3.c)


Python tools for Visual Studio 2013 “Source not Available” “Code not Running” while debugging

I've just install the Python tools for VS2013 (the version 2.2) and I am not able to debug my script. When I set a breakpoint I've got a "source not available" page saying that my code is not running.
I run Python 2.7.
Disabling breakpoint runs the script without error, and running it with PyCharm neither.
Any suggestion ?

Do you have an exception popup saying that an error occurred? What can you see in the call stack window?
It's possible that we've caught an exception within some other code that we can't find a file for, when really we should have let the exception be handled. Pressing Continue (possibly multiple times) will get you past it in this case, but knowing what the exception is and where it's occurring will help us prevent it from happening.

Not at the time of coding, but after I closed VS and reopen it, I am not able to open my script anymore and I get an exception of type Microsoft.PythonTools.Parsing.BadSourceException

I've found something !
The "Python solution" I made was under versionning system Git. I tried to clone the repo from another PC. What I found is that I was not able to open my python script ! The proper way to open it was to right click on the py file, then click Open With... and there I choose Python Editor with Encoding and then select my langage (French). The file then opened but I was still unable to debug it. Finally, I remove my first line where I specify encoding "# -- coding: utf-8 --" and now I can debug the script !!
PTVS seems to not like encoding.....

Seems to be resolved with #878


webpack build

Add webpack as an alternative to build the project.
@pavletto it's to initiate the discussion.
Verify that...

[ ] npm test passes
[ ] npm run api passes
[ ] npm run lint passes
[ ] npm run build still works

+1. why do we need two builders?


places-auto-complete debounce

Hi!
Is there a quick way to set debounce on the places-auto-complete element?
I have model-options="{ debounce: 700 } on the input field. The model updates as expected with the delay specified but requests are sent to the Google API for every additional letter typed in (10 letters in the word = 10 requests) which seems to be redundant.
I want to reduce the number of calls to the API.
Thanks!

I do not see that options in Google API
https://developers.google.com/maps/documentation/javascript/3.exp/reference#AutocompleteOptions
I think event handler is added by Google API, not by Angular.

Closing this for out of scope


Dart does not throw a compile error when dart 2.6 code source declares a generic function with generic function as its type argument

Dart SDK version: 2.14.0-32.0.dev (dev) (Thu Apr 22 20:17:19 2021 -0700) on "windows_x64"
Here is a code source example:
// @dart=2.6

class C4<X extends void Function<T>()> {}

typedef F1 = void Function<X extends void Function<T>()>();

main() {}

Analyzer throws 2 compile time errors here: for the line 3 (class C4<X extends void Function<T>()> {}) and line 5 (typedef F1 = void Function<X extends void Function<T>()>();).
This is a correct result because generic functions as type arguments and bounds are not supported in the previous dart versions.
The problem is that dart throws a error for the line 3 and silently passes on the line 5 here. It should throw both errors here instead too.
Sample output is:
$> dartanalyzer --enable-experiment=generic-metadata test.dart
Analyzing test.dart...
  error - Generic function types can't be used as type parameter bounds - test.dart:3:20 - generic_function_type_cannot_be_bound
  error - Generic function types can't be used as type parameter bounds - test.dart:5:38 - generic_function_type_cannot_be_bound
2 errors found.

$> dart --enable-experiment=generic-metadata test.dart
test.dart:3:10: Error: Type variables can't have generic function types in their bounds.
class C4<X extends void Function<T>()> {}
         ^

@lrhn, I believe @iakh is right in blaming the CFE, so I'll change the label to area-front-end. Please follow up if you disagree.

Agree, I didn't read the text thoroughly enough.


Upload release to BOSH director 261.2.0 fails with error 405

Output of upload release

....
[httpClient] 2017/03/20 16:23:14 DEBUG - Sending POST request to endpoint 'https://<IP_ADDRESS>:25555/releases?'

                                                                           0.00%[httpClient] 2017/03/20 16:23:14 DEBUG - Sending POST request to endpoint 'https://<IP_ADDRESS>:8443/oauth/token?grant_type=<redacted>&refresh_token=<redacted>'
[attemptRetryStrategy] 2017/03/20 16:23:14 DEBUG - Making attempt #0 for *http.requestRetryable
[clientRetryable] 2017/03/20 16:23:14 DEBUG - [requestID=36126693-ea0e-4c68-534f-6667b17835aa] Requesting (attempt=1): Request{ Method: 'POST', URL: 'https://<IP_ADDRESS>:8443/oauth/token?grant_type=refresh_token&refresh_token=TOKEN-r' }
[attemptRetryStrategy] 2017/03/20 16:23:15 DEBUG - Making attempt #0 for *http.requestRetryable
[clientRetryable] 2017/03/20 16:23:15 DEBUG - [requestID=4f8a42d0-02ef-451f-50c2-7d59a675101d] Requesting (attempt=1): Request{ Method: 'POST', URL: 'https://<IP_ADDRESS>:25555/releases?' }
########################################################## 100.00% 42.88 KB/s 0s[httpClient] 2017/03/20 16:23:15 DEBUG - Sending POST request to endpoint 'https://<IP_ADDRESS>:8443/oauth/token?grant_type=<redacted>&refresh_token=<redacted>'
[attemptRetryStrategy] 2017/03/20 16:23:15 DEBUG - Making attempt #0 for *http.requestRetryable
[clientRetryable] 2017/03/20 16:23:15 DEBUG - [requestID=0a714191-d68a-4306-5f7d-46a6f0e29f43] Requesting (attempt=1): Request{ Method: 'POST', URL: 'https://<IP_ADDRESS>:8443/oauth/token?grant_type=refresh_token&refresh_token=TOKEN-r' }
########################################################## 100.00% 18.79 KB/s 1s
[director.clientRequest] 2017/03/20 16:23:16 DEBUG - Dumping Director client request:
GET /tasks/17 HTTP/0.0
Host: <IP_ADDRESS>:25555
Authorization: [removed]
Content-Type: application/x-compressed

[director.clientRequest] 2017/03/20 16:23:16 DEBUG - Dumping Director client response:
HTTP/1.1 405 Not Allowed
Connection: close
Content-Length: 166
Content-Type: text/html
Date: Mon, 20 Mar 2017 16:23:16 GMT
Server: nginx
'

Exit code 1

bosh-cli -e hello_friend tasks --recent
Using environment '<IP_ADDRESS>' as '?'

#   State  Started At                    Last Activity At              User        Deployment  Description      Result

14  done   Mon Mar 20 16:05:55 UTC 2017  Mon Mar 20 16:05:55 UTC 2017  bosh_admin  -           create release   Created release 'release/1+dev.2'

I manually build last bosh-cli on my machine.

This issue was introduced somewhere between v2.0.1 and v.2.0.7

I see HTTP/0.0 in that debug... that's not typical. I don't see that when locally running on a recent build, either. Are you sure you have a clean build of the CLI?

I saw this today on a bosh-lite; only error I saw in its logs was a connection error with postgres.

Go has changed the way headers are treated during a redirect in 1.8. The headers are preserved from the original request onto the redirect request. The original upload/POST request is successful, but the cli is unable make a successful /tasks request because of unexpected errors. I expect you'll see that the release is present in your director.

Some related golang discussion about the change: https://github.com/golang/go/issues/19973

Fixed in v2.0.17


Add edit command for PriorityTag class

Added command to edit priority tag of a task
Update parserUtil, editCommand, editCommandParser

*** YET TO IMPLEMENT ***

Test cases for newly updated priorityTags
Boundary cases for LOW MEDIUM and HIGH (Right now any incorrect inputs will reset priorityTag to LOW)

lgtm!


transfer bug when transfering to rows bottom

When using transfer with a multi pipette to transfer 2 rows on plate A to 2 rows on plate B it works correctly in example A below, but in example B it moves both plate A rows to 1 row on plate B.
The difference being whether the transfer target is .bottom() or not.
Workaround is to replace plateB.rows(length=2).bottom() with [x.bottom() for x in plateB.rows(length=2)]
example A:
multipipette.transfer(5,  plateA.rows(length=2), plateB.rows(length=2))
example B:
multipipette.transfer(5,  plateA.rows(length=2), plateB.rows(length=2).bottom())

Sorry for the lack of response on this ticket! .top() and .bottom() should only ever be used on a single well. Your "workaround" above is the correct way to write this transfer
multipipette.transfer(
    5,
    plateA.rows(length=2),
    [ well.bottom() for well in plateB.rows(length=2) ]
)


Configuring HyperParameters

Hi, I want to train a logistic regression with Tribuo.
I successfully used LogisticRegressionTrainer() but I cannot find where to configure the hyper parameters and in particular the regularization parameter. I want to be sure it adds a bias and it used a L2 regularization.
Also, do you intend to add a LBFGS optimizer?
Thanks.

LogisticRegressionTrainer is a simplified subclass for LinearSGDTrainer and all the hyperparameters are exposed there. However Tribuo always adds a bias, and we don't implement L2 regularization through the model yet, though some of the optimizers may implicitly implement regularization. There's a rewrite coming for those classes in v5 which will add more features like better stopping criteria and regularization via weight decay, but v5 isn't going to happen before the end of the year.

OK, thanks. Will you release any preview before?

No, but the head of main should always work so you'll be able to build it yourself.

True. Thanks.


Fix broken documentation link in dataset documentation.

Thanks @yuanstanley  for the catch! I approve of these changes. #sign-off

@PeterCLu: I'm sorry - only the author of this article, @lostmygithubaccount, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Enter key on selected text behave different.

While Emmet is installed and enabled on Brackets, when we select some text and press enter, the text is not erased but moved one line down (the default behavior is to erase the text and keep the cursor on the new line for more text to be entered).
Check this Youtube video to see this behavior in action.
http://youtu.be/C5ye9c5pScw

Saw it exactly an year later :), Thank You!


Rust side support

Hey, I was wondering if it would be possible to use the library from the rust side. For example, the official dialog plugin has a rust API:
use tauri_plugin_dialog::{DialogExt, MessageDialogButtons};

let answer = app.dialog()
        .message("Tauri is Awesome")
        .title("Tauri is Awesome")
        .buttons(MessageDialogButtons::OkCancelCustom("Absolutely", "Totally"))
        .blocking_show();

you can try it
use tauri_plugin_share::{ShareExt,ShareResponse};
app.share().share_file(...

impl should be compared with https://github.com/lindongchen/tauri-plugin-share/blob/main/src/lib.rs
but as I know, the dialog plugin also has an npm lib...

Ah, I see. But it seems you've made a small error here. The share method doesn't exist on the ShareExt trait. The impls share_file, get_shared_files and get_shared_files_path all exists but are all the same and should be put into one function, a share function. Even when accessing the state via one of those functions, like this:
use tauri_plugin_share::{ShareExt, ShareRequest};
app.share().share_file(ShareRequest {
    path: Some(String::new()),
    mime: Some(String::new()),
    group: None,
})?;

It won't trigger any opening of a share dialog (tested on an iPhone). Despite this, the triggering on the frontend using the npm package or an invoke works.


Password reset codes don't get reset!

Password reset codes can be used more than once with the same code which is interesting as the code hasn't been changed in ages so should still be working fine??

Seems to have resolved it's self testing now

Found issue time was being set client side for email and the server was in a different time zone therefore it was setting it an hour behind so it was deleted after an hour and 10 minutes rather than 10 minutes this has now been fixed 👍


[Bug]: New headless implementation steals focus when screenshotting even in headless mode

Bug expectation
Unlike the old implementation, the new one steels focus when taking a screenhot, even in headless mode. When taking screenshots frequently (for example 2 or mote per second), it can be challenging to stop the process (you have to press Ctrl-C and clicking to focus the terminal at the same time)
Bug behavior

[ ] Flaky
[ ] PDF

Minimal, reproducible example
import puppeteer from 'puppeteer';

function wait(time: number) {
    return new Promise<void>(res => {
        setTimeout(() => {
            res();
        }, time);
    });
}

async function main() {
    const browser = await puppeteer.launch({
        headless: "new" // new
        // --- or ---
        headless: true // old
    });
    const page = await browser.newPage();
    await page.goto("http://example.com/");
    await page.setViewport({ width: 1820, height: 1080 });

    for (let i = 0; i < 10; i++) {
        await wait(500);
        await page.screenshot({ encoding: "base64" });
        console.log("took screenshot");
    }

    await browser.close();
}

main().catch(console.error);

Error string
no error
Puppeteer configuration
No response
Puppeteer version
v20.4.0
Node version
v20.0.0
Package manager
yarn
Package manager version
1.22.19
Operating system
Windows

Seems to work fine on Mac. I will report it to Chromium and see if it can be reproduced on windows.

https://crbug.com/1449117

So what is the status? The bug is closed and a commit was made upstream, but with 115 the issue still occurs.

Ok seems it is only in 116.

Seems to be fixed...
using<EMAIL_ADDRESS>


regions plugin: display regions before file load

Pre-generated peaks waits for the audio length, either from loaded audio or from explicitDuration. This PR adds explicitDuration as an argument for the WebAudio constructor. This allows it to be defined up front.
I've also updated the regions plugin initialization to make use of this information so the "backend-created" event is used to add regions, rather than the "ready" event which only fires when a song has finished loading.

Coverage increased (+0.1%) to 69.961% when pulling 6aa3c13d995a73afbf34bda4d5940e9ffa512d39 on frisson-project:fixregions into 926a995139eb34e790e5a0d19c41933842daf98b on katspaugh:master.

thanks @TimSC this looks fine. can you also add a unit test in spec/wavesurfer.spec.js for this?

I will try but I'm not that great at javascript!

Great thanks so much! I was a bit out of my depth using javascript.


Geometric Deep Learning: VTK dataloader, mesh utilities, file format converters

Modulus Pull Request
This PR introduces the MeshDatapipe class, which integrates NVIDIA DALI to efficiently process vtp, vtu, cgns files within PyTorch pipelines. Key features include support for lazy-loading and normalization of attributes using pre-computed statistics, configurable options for batch size, device selection, and parallel processing for scalable multi-process environments. The update aims to enhance data processing performance by leveraging DALI's GPU capabilities, providing a streamlined solution for handling large mesh datasets in machine learning and simulation applications. Additionally, the PR includes robust error handling, new helper functions for VTK data parsing, and thorough documentation to guide users on setting up and using the pipeline.
Description

Closes https://github.com/NVIDIA/modulus/issues/500
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.
[x] The CHANGELOG.md is up to date with these changes.
[x] An issue is linked to this pull request.

Dependencies

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci


Cannot compile with makefile

Hello,
Matplotlib-cpp works great when I compile directly with g++ at the command line, but running "make" with a makefile I get the following errors when trying to import. Makefile attached by the way.
Any insights?
Nitin
Makefile.tar.gz
g++ -o main obj/mapmatch.o obj/load_vehicle.o obj/tiremodels.o obj/utils.o obj/simulation.o obj/world.o obj/speed_profiles.o obj/main.o obj/controllers.o
obj/main.o: In function _import_array': main.cpp:(.text+0xe): undefined reference to PyImport_ImportModule'
main.cpp:(.text+0x28): undefined reference to PyExc_ImportError' main.cpp:(.text+0x35): undefined reference to PyErr_SetString'
main.cpp:(.text+0x50): undefined reference to PyObject_GetAttrString' main.cpp:(.text+0x9a): undefined reference to PyExc_AttributeError'
main.cpp:(.text+0xa7): undefined reference to PyErr_SetString' main.cpp:(.text+0xbf): undefined reference to PyCObject_Type'
main.cpp:(.text+0xc8): undefined reference to PyExc_RuntimeError' main.cpp:(.text+0xd5): undefined reference to PyErr_SetString'
main.cpp:(.text+0x123): undefined reference to PyCObject_AsVoidPtr' main.cpp:(.text+0x175): undefined reference to PyExc_RuntimeError'
main.cpp:(.text+0x182): undefined reference to PyErr_SetString' main.cpp:(.text+0x1b9): undefined reference to PyExc_RuntimeError'
main.cpp:(.text+0x1d2): undefined reference to PyErr_Format' main.cpp:(.text+0x213): undefined reference to PyExc_RuntimeError'
main.cpp:(.text+0x22c): undefined reference to PyErr_Format' main.cpp:(.text+0x255): undefined reference to PyExc_RuntimeError'
main.cpp:(.text+0x267): undefined reference to PyErr_Format' main.cpp:(.text+0x27b): undefined reference to PyExc_RuntimeError'
main.cpp:(.text+0x28d): undefined reference to `PyErr_Format'
collect2: error: ld returned 1 exit status
Makefile:14: recipe for target 'main' failed
make: *** [main] Error 1

Do you fixed the problem?

The same err, How to fix it?


Disable dot rule of connect-history-api-fallback

Ref #387
Verified by running npm start and opening localhost:3000/page/test.com in the browser as specified in the initial issue.

Thank you!


jax.scipy.stats refactoring tests

yesterday while working on scipy.stats I noticed two problems

that there is a lot of code duplication in test\scipy_stats_tests, which can cause mistakes
as far as i know method arguments for tests are only randomly generated, and there may be some edge cases that randomly generated tests won't cover

as for the first point, almost every test has the following structure
@genNamedParametersNArgs(2)
  def testVonMisesPdf(self, shapes, dtypes):
    # create rng and establish information on the method
    rng = jtu.rand_default(self.rng())
    scipy_fun = osp_stats.vonmises.pdf
    lax_fun = lsp_stats.vonmises.pdf

     # create an args_maker
    def args_maker():
      x, kappa = map(rng, shapes, dtypes)
      kappa = np.where(kappa < 0, kappa * -1, kappa).astype(kappa.dtype)
      return [x, kappa]

    # check competability to lax and scipy.stats
    with jtu.strict_promotion_if_dtypes_match(dtypes):
      self._CheckAgainstNumpy(scipy_fun, lax_fun, args_maker, check_dtypes=False,
                            tol=1e-3)
      self._CompileAndCheck(lax_fun, args_maker)

And it could be replaced with
def genericTest(self, shapes, dtypes, scipy_fun, lax_fun, args_maker_, check_dtypes=True,
          **kwargs):
  rng = jtu.rand_default(self.rng())

  def args_maker():
    return args_maker_(rng, shapes, dtypes)

  with jtu.strict_promotion_if_dtypes_match(dtypes):
    self._CheckAgainstNumpy(scipy_fun, lax_fun, args_maker, check_dtypes=check_dtypes,
                **kwargs)
    self._CompileAndCheck(lax_fun, args_maker)

…

def args_maker_VonMises(rng, shapes, dtypes):
  x, kappa = map(rng, shapes, dtypes)
  kappa = np.where(kappa < 0, kappa * -1, kappa).astype(kappa.dtype)
  return [x, kappa]

…

  @genNamedParametersNArgs(2)
  def testVonMisesPdf(self, shapes, dtypes):
    genericTest(self, shapes, dtypes, osp_stats.vonmises.pdf, lsp_stats.vonmises.pdf,
                args_maker_VonMises, tol=1e-3)

Thanks for the suggestion. I think that's certainly possible (we use that sort of abstracted test harness elsewhere in the package), but a lot of those tests have slightly different specializations: different args_maker, different tolerances, different scipy version requirements, different modifications to the scipy function – I think you'd find that if you try to replace the whole test suite with the generic test, the generic test would become so complicated that in the end it may be clearer to just write it out directly.
For what it's worth, the generic pattern here is one in which we'v already abstracted-out most of the logic in test utilities – to my eye what is left is a pretty concise declaration of the special logic for each test.
What do you think?

yes, it does look like the improvement i'll be able to get will be more modest than i thought but i still there is room for improvement
as for the specializations you mentioned

will needs addressing - different random number domains, different scipy version requirements, different modifications to the scipy function
duplicates will be eliminated - different args_maker
in **kwargs - different tolerances

i'll go deeper on the methods being used in the tests and see what can i do.
i think it will be best if i'll make a PR draft with some of the tests using a the generic

I really don't think there's much to be gained here, to be honest.


fix: Update CONTRIBUTING

This updates CONTRIBUTING to include information about commit signing and the DCO.
Fixes #197

@timraymond please 😭


Consent string decoded but 'isVendorAllowed' fails with VendorConsentParseException

Hi,
I've found that some consent strings (for example BAAAAAAOXS4XyAcABBENBf4AAAAgmAIAAyABiAEAAFAA0AC2AEUAJgAkAA) are decoded correctly but calling of method 'isVendorAllowed'  will lead to following exception:
Exception in thread "main" com.iab.gdpr.exception.VendorConsentParseException: Start VendorId must not be greater than End VendorId and End VendorId must not be greater than Max Vendor Id
	at com.iab.gdpr.consent.implementation.v1.ByteBufferBackedVendorConsent.isVendorPresentInRange(ByteBufferBackedVendorConsent.java:159)
	at com.iab.gdpr.consent.implementation.v1.ByteBufferBackedVendorConsent.isVendorAllowed(ByteBufferBackedVendorConsent.java:119)

Code for reproducing:
VendorConsent vendorConsent = VendorConsentDecoder.fromBase64String("BAAAAAAOXS4XyAcABBENBf4AAAAgmAIAAyABiAEAAFAA0AC2AEUAJgAkAA");
vendorConsent.isVendorAllowed(1); // VendorConsentParseException

while I was able to do the same using js lib:
const consentDataTest = new  ConsentString('BAAAAAAOXS4XyAcABBENBf4AAAAgmAIAAyABiAEAAFAA0AC2AEUAJgAkAA');
console.log ("consentDataTest: ", consentDataTest);
console.log("vendor 1 test: ", consentDataTest.isVendorAllowed(1));
console.log("purpose 1 test: ", consentDataTest.isPurposeAllowed(1));

got
  consentDataTest:  ConsentString {
  created: 1970-01-01T00:00:00.000Z,
  lastUpdated: 2018-11-15T22:31:39.400Z,
  version: 1,
  vendorList: null,
  vendorListVersion: 95,
  cmpId: 28,
  cmpVersion: 1,
  consentScreen: 1,
  consentLanguage: 'en',
  allowedPurposeIds: [ 1, 2, 3 ],
  allowedVendorIds: [ 24, 25, 52, 69, 76, 91, 144 ],
  maxVendorId: 521 }
 vendor 1 test:  false
 purpose 1 test:  true

Also there is no problem with decoding using https://www.decodeconsentstring.com/v1.0/?consent-string=BAAAAAAOXS4XyAcABBENBf4AAAAgmAIAAyABiAEAAFAA0AC2AEUAJgAkAA
Could you please help?
Regards, Sergey

This is an incorrectly encoded consent string. It uses range encoding with 8 entries, 7 entries are single vendor IDs but 3rd entry is has range of vendor IDs with starting vendor ID = 32 and ending vendor ID = 10, which is obviously not correct. The Javascript library probably just quietly ignores that entry, as you can see from the output, because it only prints 7 allowed single vendor IDs, not printing the range entry.
I think throwing exception is the correct behavior. You should catch the exception and assume no consent. Ignoring incorrectly encoded entries may lead us to assume consent where user did not intend one.

Thank you for the quick response.
So, let's consider such consent strings as incorrectly encoded.


Can't find the @modern-js/monorepo-tools packages in the Source Code

May I  know where can i find the package @modern-js/monorepo-tools ? It seems don't include in the repo?

Here is @modern-js/monorepo.

thx


Could you please post a more detailed tutorial on how to get these mods (the one I am trying is lift-anything for nsmbw) running because I habe no idea what to do. I know only a little bit about coding and even less about modding on the Wii.

Got it fixed


netusb: implement the ethernet interface.

net_eth_get_hw_capabilities() calls .get_capabilities() which is part
of the ethernet API but not the net_if_api that netusb implements.
This caused a fault as .get_capabilities() was past the end of the
struct and resolved to a random address.
Also remove the __packed from the API definition.  __packed allows the
struct to be linked at a non-word size boundrary which causes an
unaligned access fault on the Cortex-M0.
Finally, make the API const and give it a unique name.
Signed-off-by: Michael Hope<EMAIL_ADDRESS>

Codecov Report

Merging #6813 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #6813      +/-   ##
==========================================
+ Coverage   54.64%   54.64%   +<.01%
==========================================
  Files         447      447
  Lines       42598    42598
  Branches     8044     8044
==========================================
+ Hits        23278    23279       +1
+ Misses      16086    16085       -1
  Partials     3234     3234

Impacted Files
Coverage Δ

include/net/ethernet.h
19.04% <ø> (ø)
:arrow_up:

kernel/posix/pthread.c
70% <0%> (+0.5%)
:arrow_up:

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 1ee8eea...57d04a4. Read the comment docs.

@jukkar done in #6828
@finikorg done.


fix MemoryAssertions

Description
userActivity in the Node SDK didn't match the one in the .NET SDK, with respect to using activity.from in the activity property supplied in test.dialog files.
Specific Changes

Added an else if condition to match .NET SDK, that sets activity.from to match the activity.from if passed in from the test.dialog file.

Testing
Added a test for UserActivity that would catch this as well as other things, since the test didn't exist.

Pull Request Test Coverage Report for Build 484149676

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.02%) to 84.496%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build 481448147:
0.02%

Covered Lines:
17813

Relevant Lines:
20141

💛  - Coveralls

Pull Request Test Coverage Report for Build 484149676

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.02%) to 84.496%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build 481448147:
0.02%

Covered Lines:
17813

Relevant Lines:
20141

💛  - Coveralls


update torch-mlir

Related to:
    ones/zeros can be decomposed into aten.full, I can fix this later

Originally posted by @tanyokwok in https://github.com/alibaba/BladeDISC/issues/936#issuecomment-1371740748

Better add some uts.

Done


Unable to retrieve user information from Github

I am unable to figure out what this issue is about. This is for a repository that is inside a GitHub enterprise account.
Config
name: Scala Steward
on:
  schedule:
    - cron: '0 9 * * *'
  workflow_dispatch:

jobs:
  scala-steward:
    runs-on: ubuntu-latest
    name: Launch Scala Steward
    steps:
      - name: Launch Scala Steward
        uses: scala-steward-org/scala-steward-action@v2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}

Hey @tusharmath thanks for opening this. I believe this was caused because https://api.github.com was used as the --vcs-api-host param (instead of your Github Enterprise one). I just created & merged #174 to fix this. Can you try to run the action again and add the github-api-url input? Thanks!
name: Scala Steward
on:
  schedule:
    - cron: '0 9 * * *'
  workflow_dispatch:

jobs:
  scala-steward:
    runs-on: ubuntu-latest
    name: Launch Scala Steward
    steps:
      - name: Launch Scala Steward
        uses: scala-steward-org/scala-steward-action@v2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          github-api-url: 'https://git.yourcompany.com/api/v3'

Tried again, similar error.

Can you enable the Step Debug Logs, we should see then the error that is happening. Just add a new secret named ACTIONS_STEP_DEBUG and set its value to true.
BTW I just found out that Github adds an environment variable GITHUB_API_URL. Could you tried to set the input as: github-api-url: ${{ env.GITHUB_API_URL }} and see if it uses the correct URL?

Enabled debugging —

🤔 I've seen that error in the past when using a Personal Access Token without enough permissions. Can you check if that's the case? Also I don't see the github-api-url input in the input list.

@alejandrohdezma thanks for helping me debug the issue 🙏
I don't use a personal access token, for the enterprise account. Might have to check with the IT team 🙄
This is the new config, I keep getting "Invalid workflow file" error.
name: Scala Steward
on:
  schedule:
    - cron: '0 9 * * *'
  workflow_dispatch:

inputs:
  github-api-url: ${{ env.GITHUB_API_URL }}

jobs:
  scala-steward:
    runs-on: ubuntu-latest
    name: Launch Scala Steward

    steps:
      - name: Launch Scala Steward
        uses: scala-steward-org/scala-steward-action@v2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}

Is this not the right

On one hand, the action is intended to be used with a Personal Access Token (instead of the provided GITHUB_TOKEN) so you should try to create one and add it as github-token.
On the other hand, the github-api-url input should be under jobs.scala-steward.steps.with like:
name: Scala Steward
on:
  schedule:
    - cron: '0 9 * * *'
  workflow_dispatch:

jobs:
  scala-steward:
    runs-on: ubuntu-latest
    name: Launch Scala Steward

    steps:
      - name: Launch Scala Steward
        uses: scala-steward-org/scala-steward-action@v2
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          github-api-url: ${{ env.GITHUB_API_URL }}

Hey @tusharmath did ☝🏼 fix the issue?

I am getting a new error now.
org.scalasteward.core.util.UnexpectedResponse: uri: https://api.github.com/repos/dream11/bayonet
method: GET
status: 403 Forbidden
headers: Headers(Server: GitHub.com, Date: Thu, 22 Oct 2020 14:26:10 GMT, Content-Type: application/json; charset=utf-8, Content-Length: 258, Status: 403 Forbidden, X-GitHub-SSO: required; url=https://github.com/orgs/dream11/sso?authorization_request=AABPPMVAZOW4VH6MZVB5C327SGSJFA5PN5ZGOYLONF5GC5DJN5XF62LEZYANRKI6VVRXEZLEMVXHI2LBNRPWSZGODYP2WONPMNZGKZDFNZ2GSYLML52HS4DFVNHWC5LUNBAWGY3FONZQ, X-OAuth-Scopes: repo, X-Accepted-OAuth-Scopes: repo, X-GitHub-Media-Type: github.v3, X-RateLimit-Limit: 5000, X-RateLimit-Remaining: 4989, X-RateLimit-Reset:<PHONE_NUMBER>, X-RateLimit-Used: 11, Access-Control-Expose-Headers: ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation, Sunset, Access-Control-Allow-Origin: *, Strict-Transport-Security: max-age=31536000; includeSubdomains; preload, X-Frame-Options: deny, X-Content-Type-Options: nosniff, X-XSS-Protection: 1...
body: {"message":"Resource protected by organization SAML enforcement. You must grant your Personal Access token access to this organization.","documentation_url":"https://docs.github.com/articles/authenticating-to-a-github-organization-with-saml-single-sign-on/"}
2020-10-22 14:26:11,126 INFO  ──────────── Total time: Steward dream11/bayonet: 423ms ────────────
2020-10-22 14:26:11,128 INFO  ──────────── Total time: run: 1s 815ms ────────────
::endgroup::

Here are the permissions.

Finally got it to work! Thank you so much!
The SSO was not enabled on my tokens.


MINOR: Update to Gradle 2.14.1

Better performance is always welcome:
"The Gradle build itself has seen a 50% reduction in configuration time.


Popup Title Bar Removed when Opened

Using the default JS and CSS, with the parameters set in the config as follows, the titleBar is being removed from the DOM (not just left hidden) when I activate the popup.
render() {
    const popupboxConfig = {
        titleBar: {
            enable: true,
            text: 'My Title'
        },
        fadeIn: true,
        fadeInSpeed: 500
    }

    return (
        <div>
            <button onClick={this.openPopupbox}>Do Popup</button>
            <PopupboxContainer { ...popupboxConfig } />
        </div>
    )
}

The popup opens, but it shows only what I provide to PopupboxManager.open() as content, it does NOT show any title.
This can be resolved by providing the titleBar parameters also in the arguments to PopupboxManager.open() along with the content. It appears that what is passed (or not passed) here overrides the settings on the PopupboxContainer. This doesn't seem logical and doesn't seem to match what I see in the examples.
Filing this for your consideration of updating this behavior.

Hi @rmspeers, thanks for taking your time to report this issue, I'm looking into this.

Just release a new version v2.0.4 to fix this default config bug, title bar should work as expected now. :)
Feel free to reopen this issue if the new version doesn't solve your case, Happy coding!


Create a TrackJS category for builder

To track errors separate from the other apps

https://github.com/CartoDB/cartodb/pull/8914