Should RW1C bit fields have set_xxx and clear_xxx which do actually set and clear bits?

Currently, there are two methods for the RW1C bit: clear_xxx and set_0_xxx. The former sets the bit to 1, the latter sets it to 0.
Originally, only the former existed, because I thought there was no need to write 0 in the RW1C bit. However, as pointed out in #146, there are actually situations where it is necessary to write 0 to prevent the bit from being erased, which is why the latter was added in #148.
I didn't think anything when I merged #148, but later I thought this was obviously confusing. For example, the same clear_xxx method exists for RW bits, but this method sets the corresponding bit to 0.
Should I fix this and have the RW1C bits also have set_xxx/clear_xxx methods that actually set the bits to 1/0?
One problem is that the clear_xxx method will have the exact opposite meaning in a later version of this change, and thus must be clarified in the changelog.

Instead of set_0_xxx, how about protect_xxx or preserve_xxx?
Also it would be nice if the method documentation specifies whether the methods actually assigns 0 or 1.

Sets the xxx bit to 1. (on RW/RW1S bits, set_xxx)
Clears the xxx bit by assigning 0 to the bit. (on RW bits, clear_xxx)

Clears the xxx bit by assigning 1 to the bit. (on RW1C bits, clear_xxx)
Prevents the xxx bit from being cleared on write, by assigning 0 to the bit. (on RW1C bits, so-called preserve_xxx)

A bit off-topic, but one more suggestion

Why don't we have a setter method for both 0/1 bits, on RW bits?
The proposed assign_xxx method would be equivalent to:
fn assign_xxx(&mut self, bit: bool) -> &mut Self {
    if bit { self.set_xxx() }
    else { self.clear_xxx() }
}

This is, however, an inconsistent name since field setters are set_xxx but this bit setter can only have name assign_xxx.
It's because of the English ambiguity that 'setting a bit' possibly means both 'raising the bit to 1' and 'assigning 0/1 value to the bit'.
And here's my second thought: within this crate, fix the verb 'raise' for the set-1 action, and use 'set' to only indicate the assignment.
This means our previous set_xxx should be renamed into raise_xxx, and the proposed assign_xxx takes the name set_xxx and accepts a boolean argument.
To sum up, our final bit setter methods and their documentations would be something like:
(RW bits)

set_xxx(bool) : Assigns the given value to the xxx bit.
raise_xxx() : Raises the xxx bit to 1.
clear_xxx() : Clears the xxx bit by assigning 0 to the bit.

(RW1S bits)

raise_xxx_if(bool) : Conditionally raises the xxx bit to 1. If the argument is false, the bit will be left unchanged.
raise_xxx() : Raises the xxx bit to 1.

(RW1C bits)

clear_xxx() : Clears the xxx bit by assigning 1 to the bit.
preserve_xxx() : Prevents the xxx bit from being cleared on write, by assigning 0 to the bit.

I'll work a PR for this once my project has been settled.
Sorry for my delaying response (on this, and another PR I'd created) but I feel stuck.

Thanks for the suggestion, and sorry for the delay.

To prevent that said confusion, method docs should specify whether each method actually assigns 0 or 1.

Certainly, it's good to mention whether a method sets 0 or 1. It's so great that it doesn't need a breaking change, although I'm not sure how many users will read the docs to check the actual behavior of setters and clearers.

Provided that each method informs its exact behavior in its doc, I suggest that set_0_xxx methods should be renamed. How about preserve_xxx or protect_xxx?

I understand the purpose of renaming set_0_xxx to preserve_xxx or protect_xxx, but I'm not sure how clear these names are.

Why don't we have a setter method for both 0/1 bits, on RW bits?

Initially, this crate provided set_xxx(bool), but later I split it into set_xxx and clear_xxx which set 1 and 0, respectively because I thought having a boolean parameter was a code smell (which is generally true, but I'm not sure it applies to this case.)

And here's my second thought: within this crate, fix the verb 'raise' for the write-1 action, and use 'set' to only indicate the assignment.
This means our previous set_xxx should be renamed into raise_xxx, and the proposed assign_xxx takes the name set_xxx and accepts a boolean argument.

"raise" is somewhat a good choice. Although I haven't seen a case where the word was used to mean setting 1, it can easily be associated with the operation. I think "set" and "assign" are better, however, as many people use "set" to assign 1 (Google search result) and "assign" means exactly what the method does.

To sum up, our final bit setter methods and their documentations would be something like:

I'm not sure whether letting different types of bits have different names for the same operations is good. On the one hand, users can notice the misrecognition of bit types by compile errors. On the other hand, such method names are somewhat confusing, and it might be better to let all bits have the same names and same operations (e.g., set, clear, assign for assigning 1, 0, the passed value, respectively), and write docs what and which bits are RW/RO/RW1C/RW1S and a note about handling RW1C.

To sum up, we can clearly whether a method sets 1 or 0 by updating the docs without introducing a breaking change. For renaming methods, using "set", "clear" (, and "assign" if necessary) are better.
--

Sorry for my delaying response (on this, and another PR I'd created) but I feel stuck on my personal project.
I'll work a PR for this once my project has been settled.

No problem. I'm too delayed.

Certainly, it's good to mention whether a method sets 0 or 1. It's so great that it doesn't need a breaking change, although I'm not sure how many users will read the docs to check the actual behavior of setters and clearers.

Currently clear_xxx for RW1C bits are (at least for me) undoubtedly ambiguous.
That's because each register type represents, technically speaking, not the MMIO register itself but some bitmap type which has same layout to the MMIO register except that the type 'write-1-to-set and write-0-to-clear' write behavior.
For example, I wanted to clear PORTSC CSC bit of ith port, which is RW1C, so I expected that I should write something like this:
registers.port_register_set.structural_at_mut(i).portsc.update_volatile(|portsc| {
  portsc.assign_connect_status_change(true);
});

(allow me to use structural indexing syntax here for convenience.)
And for the alternatives of hypothetical (but good-to-have) .assign_connect_status_change(true) method, I searched for a single method which assigns 1 to the bit. But all I got were .set_0_connect_status_change() and .clear_connect_status_change(), which was especially confusing because 'clearing' means 'setting 0' on the 'PORTSC bitmap' level, which I explicitly manipulate in the closure, (despite that 'clearing' actually means 'writing 1' on the actual PORTSC register level) so superficially there were two identical methods with different names, and no explicit 'writing 1' method.
After expanding all source codes and macros, I convinced myself that .clear() was what I wanted to actually clear it.
Personally I don't want others spend their time only for confirming what a method actually does. If the behaviors were well-documented, at least modern-IDE users just like me will immediately read them when a method is selected from the autocomplete menu, and that's it.

Certainly, you're correct, and we should describe whether a method sets 0 or 1. Are you going to write them, or do I do?
For the methods, after my second thought, it may be better to define only the assign or set method which takes a boolean value representing a bit value (true and false corresponding to 1 and 0, respectively) given that the word clear is ambiguous here (and that you're not the only one. Another case is https://github.com/rust-osdev/xhci/pull/128, at this point, I should've thought of renaming clear.)


Scrollbar widget wrapper needed for horizontal scrolling on Desktop/Web (Windows)

Steps to Reproduce

Execute flutter run on the code sample

Expected results: The list should scroll horizontally, as the row's width exceeds its container's width
Actual results: The list is not scrollable.
However, wrapping the SingleChildScrollView in a Scrollbar widget that uses the same controller will introduce the scrollbar and will work as intended.
This issue is present in both the Windows build environment and the web environment (tested on both Edge and Chrome).

Code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  final _controller = ScrollController();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.indigo,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter Horizontal Scroll'),
        ),
        body: SizedBox(
          width: 400,
          height: 200,
          child: SingleChildScrollView(
            //dragStartBehavior: DragStartBehavior.start,
            scrollDirection: Axis.horizontal,
            controller: _controller,
            child: Row(
              children: <Widget>[
                Container(
                  width: 200,
                  color: Colors.purple[600],
                  child: const Center(
                      child: Text(
                    'Item 1',
                    style: TextStyle(fontSize: 18, color: Colors.white),
                  )),
                ),
                Container(
                  width: 200,
                  color: Colors.purple[500],
                  child: const Center(
                      child: Text(
                    'Item 2',
                    style: TextStyle(fontSize: 18, color: Colors.white),
                  )),
                ),
                Container(
                  width: 200,
                  color: Colors.purple[400],
                  child: const Center(
                      child: Text(
                    'Item 3',
                    style: TextStyle(fontSize: 18, color: Colors.white),
                  )),
                ),
                Container(
                  width: 200,
                  color: Colors.purple[300],
                  child: const Center(
                      child: Text(
                    'Item 4',
                    style: TextStyle(fontSize: 18, color: Colors.white),
                  )),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

Flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.0.5, on Microsoft Windows [Version 10.0.22000.795], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.2.0)
[√] Android Studio (version 2021.1)
[√] VS Code (version 1.69.2)
[√] Connected device (3 available)
[√] HTTP Host Availability

• No issues found!

With Scrollbar wrapper:

Without Scrollbar wrapper:

Hi @pianistrevor, thanks for filing the issue.
I see there are open issues addressing the case you described

https://github.com/flutter/flutter/issues/75180
https://github.com/flutter/flutter/issues/105095

You can leave there your comment and react an upvote to the original comment will help to raise the issue.
Closing as a duplication, so please follow up on them for further updates. Thanks!


a little bit improved documentation

[x]  add Installation section
[x] add webpack.config.js example
[x] improved usage section

Thanks for the addition!


Animation with

Because of in nuxt haven't default css layout, i have to use custom, but that doesn't work properly
<transition name='fade'>
  <notification group='cart'>
    <template slot='body' props='props>
    </template>
  </notification>
</transition>

I need any animation, even default

@VladStepanov @euvl
I added animation in CSS like this. But I couldn't figure out a way to leaving animation.

If someone finds out please let us know.

@keyframes slide-left{0%{transform:translateX(0px)}100%{transform:translateX(-50px)}}

//Then add this animation to default class like this.
.vue-notification {
    animation:slide-left .5s cubic-bezier(.25,.46,.45,.94) forwards;
}


Bug: "Go to previoius/next" command opens file in sidebar if file is selected

Steps to replicate

Select file (not merely open it) by pressing on it twice or by executing the Reveal file in navigation Command Palette command.

Use a Quick Explorer hotkey to go to previous or next file. I use Cmd+Alt+↑ and Cmd+Alt+↓.

Expected result
The previous/next file is opened in the main area/editor. The file explorer remains in its place.
Actual result
The file opens in the sidebar, replacing the file explorer entirely:

Debug info
SYSTEM INFO:
	Obsidian version: v1.7.6
	Installer version: v1.7.5
	Operating system: Darwin Kernel Version 20.6.0: Thu Jul  6 22:12:47 PDT 2023; root:xnu-7<IP_ADDRESS>2.12~1/RELEASE_X86_64 20.6.0
	Login status: not logged in
	Language: en
	Insider build toggle: off
	Live preview: on
	Base theme: adapt to system
	Community theme: none
	Snippets enabled: 0
	Restricted mode: off
	Plugins installed: 5
	Plugins enabled: 1
		1: Quick Explorer v0.2.11

RECOMMENDATIONS:
	Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

Same issue as #86

Should be fixed in 0.2.12, thanks for the detailed report.


Fix empty assertions with "assertion" description

Description of changes:

Fixes empty assertions by adding property classes to assert_false. This fix should affect a lot of test cases wherever assert_false was used.

Adds new property class variants - cover, abort, unequal-assign.

Refactor creating location with property types from codegen to Stmt::assert.

Add basic assert to Stmt::assert to make sure Property_Class and Description are not empty.

Resolved issues:
Resolves #1051
Call-outs:
This doesn't yet add any unit tests to the Python parser or UI tests. That can be addressed in a future PR.
Testing:

How is this change tested? Codegen assertion.

Is this a refactor change? Yes.

Checklist

[ ] Each commit message has a non-empty body, explaining why the change was made
[ ] Methods or procedures are documented
[ ] Regression or unit tests are included, or existing tests cover the modified code
[ ] My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

@tedinski do you think we need tests (ui tests) specifically for this bug? as far i can see, the bug is fixed within all the regression tests wherever it was happening but there's no test for the bug itself.

do you think we need tests (ui tests) specifically for this bug

I think your change to the function signature and addition of asserts should cover things nicely.


Integrate remote-shuffle in CI & more docs

What changes were proposed in this pull request?
This PR integrated remote-shuffle in the CI test, and enhanced the docs
How was this patch tested?
Travis.

This also resolves https://github.com/Intel-bigdata/RemoteShuffle/issues/47 cc @carsonwang
Listing all inherited configurations from Spark may be too redundant? So I just listed some important ones.


[US] Implement CI builds

Estimated story points: 3
Description

Merges trigger automatic ci checks

Acceptance criteria

before every merge, the ci builds the project,
a linter enforces style guides and
the test suit passes

https://github.com/scala-steward-org/scala-steward-action

build documentation?
test coverage?


unknown action: preview('/usr/local/bin/sysz' _fzf_cat {})

I ran :
git clone https://github.com/joehillen/sysz.git
cd sysz
sudo make install # /usr/local/bin/sysz

and then sysz and I get unknown action: preview('/usr/local/bin/sysz' _fzf_cat {})
I am running Linux Mint 20.2 x86_64

The fix is simply to get install the newest version of fzf as the one from the package manager is a bit old (version 20)

Upgrading to the latest fzf didn't fix it for me.
% fzf --version
0.21.1 (334a4fa)
% sysz --version
 1.2.2
% sysz
unknown action: preview('/usr/local/bin/sysz' _fzf_cat {})

Latest is 0.27.2


#276 Debugger's location panel not showing pointer

To test:

go to google.
open the debugger panel
3 hover over the locations of the various resources and you shoudl get a pointer like a link

Thanks!
Honza


Wheels' speed

Description

I needed to simulate a wheels' rotational speed sensor for a research project; then I modified all the necessary source files in order to achieve this.
The rotational speed is estimated using current and past wheels' position (in angle), the position is taken from PhysX model's function: GetRotationAngle(), which gives the position in degrees. It's then converted in radians, so that the wheels' rotational speed computed is in rad/s.
The four rotational speeds computed (one for each wheel) are accessible from CARLA client, they're stored in player measurements.
I've made this PR in case it could be of any use to anyone.
Fixes #
Where has this been tested?

Platform(s): Lenovo Thinkpad L470 with Ubuntu 18.04
Python version(s): 3.5.5
Unreal Engine version(s): 4.18

Possible Drawbacks

This change is

Great, we could make use of this :) I'll make the review

The main problem I see is that this only works for 4 wheeled vehicles, for now all the vehicles we have have 4 wheels (yup, even the bikes) but it will be much more robust if any number of wheels could be use, and better if we can filter out the extra wheels on the bikes. I think too it will result in simpler code with less methods repeated.
In the proto message you could use a repeated field, and in the carla_server.h a pointer to an array and a size. Now there is a complication here, you need to copy the memory inside CarlaServer because the data is sent asynchronously to the client. You can take a look at how is done with the non-player agents in "CarlaMeasurements" class, they have the same issue.
At some point (soon), all of the measurements are going to be converted to sensors (like the Lidar or the cameras) because we won't have a "player" vehicle anymore. This looks like a great idea to be a sensor on its own that you could attach to any vehicle in the scene. It could be directly implemented like this if you prefer. (Take a look at how the lidar works for instance).

Review status: 0 of 13 files reviewed, 4 unresolved discussions (waiting on @ManueleSigona and @nsubiron)

Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Game/CarlaPlayerState.cpp, line 52 at r1 (raw file):

      WheelFROmega = Other->WheelFROmega;
      WheelRLOmega = Other->WheelRLOmega;
	  WheelRROmega = Other->WheelRROmega;

Please, do not use tabs, you get wrong indentation in the diff view.

Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Vehicle/CarlaWheeledVehicle.cpp, line 128 at r1 (raw file):

  Angle = Wheel->GetRotationAngle() * 0.01745329251f;
  return Angle;
}

I'm pretty sure you could refactor and use a single function instead of duplicating code. Also the check should make sure that there are enough wheels, i.e. if you access wheel at index 2, it should check(Wheels.Num() > 2).

Util/CarlaServer/include/carla/carla_server.h, line 191 at r1 (raw file):

    float wheelFROmega;
    float wheelRLOmega;
    float wheelRROmega;

Please, follow the convention of other measurements, lower case with underscores.

Util/Proto/carla_server.proto, line 152 at r1 (raw file):

    float wheelFROmega = 14;
    float wheelRLOmega = 15;
    float wheelRROmega = 16;

Here the convention should also be all lower case, separating with underscores.

Comments from Reviewable


Adds support for volume layout v1.

This PR adds support for mounting volumes created with version 5 of TrueCrypt (and maybe earlier). The main difference is the volume layout as there is a reserved space at the end of the volume to store hidden volume info, even when no hidden volume is present. With later TC versions, this is stored at the beginning of the volume instead.
I've made test files here (normal volume) and here (normal+hidden volume). The passwords are "test" for the normal volumes and "hidden" for the hidden volume. The current version of tc-play seems to be able to open both normal volumes, but mounting them will fail eventually because the start of volume offset is wrong.
It might be linked to #81 (not fixing it automatically though).

Thanks, the patch looks pretty reasonable. I'll see if I can take it for a spin over the weekend.

Let me know if you need anything else from my side to merge this PR.


JLM tests with security enabled fail on Windows

JLM tests with security enabled fail on Windows with :
Successfully processed 1 files; Failed processing 0 files
ERROR: File ownership cannot be applied on insecure file systems;
       there is no support for ACLs.
**FAILED** at step 2 (Re-assign ownership for jmxremote.password file). Expected return value=0 Actual=256 at T://setUp.pl line 73.
STF 19:34:42.184 - **FAILED** setup script failed. Expected return value=0 Actual=1

https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/475/tapResults/

There is a step in the tests that set the ownership of jmxremote.password file to 600 using chmod (an STF api for doing chmod) that doesn't seem to be working on Windows.

@Mesbah-Alam - I've created a fork of openjdk-tests and updated the playlist there to reinstate the test for testing at AdoptOpenJDK.

The test was actually excluded from Windows + OpenJ9. It looks like you've already run another Grinder with it included! https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder-systemtest/170/

Yes, as I said above, I updated the playlist in my private fork of openjdk-tests.  Unfortumately my openjdk-systemtest branch is now incompatible with the other repositories as a result of merging the (remove top.xml) build changes - I'll need to rebase on the latest master.

Yes, please do.


GeoRDFBench [00003] - Geographica3 package names should be fixed

All packages for GeoRDFBench should be using the 'geordfbecnh' package name instead of 'Geographica3' which erroneously convey a small change in Geographica2 benchmark while in reality the breadth and depth of design and code changes is vast.

Fixed in commit 12f1c2e branch releases/2.0.0-M1.


python37Packages.fonttools: 3.37.3 -> 3.38.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-fonttools/versions.
meta.description for python37Packages.fonttools is: '"A library to manipulate font files from Python"'.

Checks done (click to expand)

built on NixOS
Warning: no invocation of /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/.fonttools-wrapped had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/fonttools had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/.pyftinspect-wrapped had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/pyftinspect had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/.pyftmerge-wrapped had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/pyftmerge had a zero exit code or showed the expected version
/nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/.pyftsubset-wrapped passed the binary check.
/nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/pyftsubset passed the binary check.
/nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/.ttx-wrapped passed the binary check.
/nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin/ttx passed the binary check.
4 of 10 passed binary check by having a zero exit code.
2 of 10 passed binary check by having the new version present in output.
found 3.38.0 with grep in /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0
directory tree listing: https://gist.github.com/c687b17deb6b2de45ba9dba7a78cf2a8
du listing: https://gist.github.com/502a0323a07e457d8d016e259173f93a

Rebuild report (if merged into master) (click to expand)

34 total rebuild path(s)
10 package rebuild(s)
10 x86_64-linux rebuild(s)
9 i686-linux rebuild(s)
6 x86_64-darwin rebuild(s)
9 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
emojione
liberation-sans-narrow
noto-fonts-emoji
python27Packages.fonttools
python27Packages.nototools
python37Packages.fonttools
python37Packages.nototools
scfbuild
twemoji-color-font
visidata

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A python37Packages.fonttools https://github.com/r-ryantm/nixpkgs/archive/cd11947349627ae74d8ec612991a2ff9c025b9c3.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0
ls -la /nix/store/lgby060c25zpa7sqjxlq7413gnyix4yr-python3.7-fonttools-3.38.0/bin

obsolete, 3.39 is in master now


Docker image digest incorrect at docker hub

Please provide a brief summary of the bug
I'm using the eclipse-temurin:11.0.17_8-jre image for linux/amd64 from docker hub. According to the tags page, https://hub.docker.com/_/eclipse-temurin/tags?page=1&name=11.0.17_8-jre, the digest of that image should be Digest:sha256:772b0000ef09d2099ef07d1df87b12d942248419e79ff46fa739a5feb617e543. However, the image I pulled has Digest:sha256:81b132098ddaba7dc53b67e23e83452f458029a8eeafde911a3076f82d22e946.
Please provide steps to reproduce where possible
Just do a
docker pull eclipse-temurin:11.0.17_8-jre
Expected Results
Image digest should match the sha256 on docker hub.
Actual Results
$ docker inspect eclipse-temurin:11.0.17_8-jre -f "{{.RepoDigests}}"

[eclipse-temurin@sha256:81b132098ddaba7dc53b67e23e83452f458029a8eeafde911a3076f82d22e946]

What Java Version are you using?
Not applicable
What is your operating system and platform?
No response
How did you install Java?
No response
Did it work before?
No response
Did you test with other Java versions?
No response
Relevant log output
No response

The ID that docker shows when pulling is actually the ID of the image index (the list of architecture specific images that each have their own ID; aka manifest list) instead of the architecture specific ID. So, this is an unfortunate "bug" in how docker cli and engine uses the content addressable ID for the image index and how the Docker Hub does not display the ID for the index.
You can see the ID in the git history of our docker-library/repo-info that tracks image changes as seen on Docker Hub (which is where I see that Windows images have changed the image index). See history of this file: https://github.com/docker-library/repo-info/blame/master/repos/eclipse-temurin/remote/11.0.17_8-jre.md.
Other tools can also show you that the ID you get is the image index id: https://explore.ggcr.dev/?image=eclipse-temurin%3A11.0.17_8-jre. The Docker-Content-Digest: sha256:a22c10c5e01a19f85018f5708a1b2a9ac7b20bc93cb85371359db717827e3c87 matches what I pull today:
$ docker pull eclipse-temurin:11.0.17_8-jre
11.0.17_8-jre: Pulling from library/eclipse-temurin
6e3729cf69e0: Already exists
96aa423488f0: Pull complete
a149af9550da: Pull complete
e1a0fd4e771c: Pull complete
Digest: sha256:a22c10c5e01a19f85018f5708a1b2a9ac7b20bc93cb85371359db717827e3c87
Status: Downloaded newer image for eclipse-temurin:11.0.17_8-jre
docker.io/library/eclipse-temurin:11.0.17_8-jre

See also https://github.com/docker/roadmap/issues/262 :eyes: :sob:

Thanks for your comments @tianon / @yosifkit. I'm going to close this issue for now. @crogre I hope that these comments help you with your problem.


Various isses with movement inputs persisting through the chatbox

There are various issues concerning movement inputs persisting through the chatbox:

If you hold down a movement key, then press 't' to open the chatbox, the movement will persist until you let go of it (expected: movement will stop moving the player upon opening the chatbox).
If you hold down two movement keys in different planes (i.e. left or right, and forward or backward), they will both persist when the chatbox is opened. Letting go of one of them will stop movement in that direction, and then letting go of the other will stop movement completely.
Holding down up and down at the same time will not allow you to open the chatbox.
Holding down left and right at the same time will work the same as (2), but with you standing still at the start, then starting to move when you let go of one direction.
Pressing 'r' to automove will keep you moving after opening the chatbox, but will be turned off when the key bound to forward is pressed (expected: either automove will stop upon opening the chatbox, or it will continue until you exit the chatbox and stop it manually).
Holding shift and opening the chatbox (whether moving at the time or not), then releasing shift and closing the chatbox will make your character move slowly (as if shift was held) until you press and release shift again.

Log details and game version
Game version: tested both on the latest source tree (commit 7e3ba2c), and the Omega 691 binaries from http://forum.terasology.org/threads/play-test-session-sunday-march-19th-1-pm-us-eastern-time.1814/.
Computer details
GNU/Linux Ubuntu 16.10

One additional (if barely different) case: immediately after opening the chat box with t (or the console) even after having let go of said button the next button press like one of wasd will trigger movement. After letting go once everything is fine.
Pinging @ThompsonTyler due to extensive research on potentially adding modifier key support requested in #2551, also a includes a great summary of involved classes - https://github.com/MovingBlocks/Terasology/issues/2551#issuecomment-285990629 - curious if it rings a bell or additional feedback/ideas may be available :-)

Will take a look, see if I can see anything. (Sorry bout the absence lately, messed up my hand and gotta do everything 1 handed atm)
Was able to replicate all problems other than Cervators(Not sure if I am understand it wrong, but if I open chat box and press was or d I don't see any movement)
Also problem 3 I wasn't able to replicate (holding forward/back preventing chat from opening)

Ah, yes, after some more testing I think issue 3 is due to my keyboard not sending all of the signals at once (it gives the same results in the terminal). Nothing wrong with the game there :P
I have been able to replicate Cervator's, but it only happens when the chat window starts out empty. If there's already writing in it, the command won't make you move. Additionally, if you empty the window without leaving it (either backspacing all the way, or hitting enter in the command window), the first press after that will make you move too. Other buttons, such as spacebar to jump, don't seem to be able to be pressed in this way.

Got a fix going for 1, 2, 4, and 6. (Could fix 5, but want to ask around in irc about something that seems weird to me, but would fix problem) Will wait on talking before putting through a PR.
Note, these fixes only apple to chat, console grabs events with a higher priority and does something odd with the opening event that kind of confuses me, will need to talk to someone about that first.

Merged #2839 so the first letter does no longer move the player.
I could still walk with the console open if i hold 'ctrl' while pressing a movement key. Not sure if this is the intended behavior though.


Add support for a Recycler-managed "Host Heap" to facilitate tracing of objects which relate to scriptable types

This change exposes functions that will allocate memory inside of Chakra's GC. This memory can be precisely traced or leaf, and either finalizable or not. Traced objects will have IRecyclerVisitedObject::Trace called on them during ProcessMark if they were added to a new type of mark stack during Mark. Trace implementations will use a new API to tell the marking context to add a set of pointers to the appropriate mark stack.
Finalizable objects will have Dispose called when the the object is no longer reachable, in order to perform unmanaged resource cleanup.
 Currently there is only support for small and medium blocks.
GCStress has been updated to allocate objects of the various new types. Finalizable objects hold onto some unmanaged heap resources which would point out (via OOM) if objects are not correctly being cleaned up.
More details:

Add support for small and medium RecyclerVisitedHostHeapBlockTypes

For now, add failfast for RecyclerVisitedObjects that are placed in the LargeHeapBlock

Publish IRecyclerVisitedObject interface which adds new method (compared to FinalizableObject) for precise tracing support

The old FinalizableObject is now a specialization of RecyclerVisitedObject and is used internally by Chakra
For host allocations, the host is expected to provide an appropriate implementation of IRecyclerVisitedObject

Publish IRecyclerHeapMarkingContext (used as the argument to IRecyclerVisitedObject::Trace)

The host must implement precisely tracing the (non-leaf) memory it allocates by calling IRecyclerHeapMarkingContext::MarkObjects from inside its implementation of IRecyclerVisitedObject::Trace
It is implemented by a stack wrapper on MarkContext that captures the parallel and interior template parameters from MarkContext::ProcessMark. We always use false for doSpecialMark, since all calls to Mark that originate from ProcessMark would pass false (the only place we pass true is when scanning the stack)

Create Chakra exports for allocation and rootaddref/release functions
Introduce a new RecyclerHeap lib in chakra that defines the exports in the cpp and declares them in the h
Add support for RecyclerVisitedObjects in GCStress

Note: this change is derived from a rebase of work done by Daniel Libby - all credit to him for the work to enable this concept.

Could you rebase this PR on top of master? We have fixes for the CI issues (some of which you addressed in your own changes) in the current version of master.

Note that I've addressed comments above not having to do with the use of the TrackBit for indicating which RecyclerVisitedObjects need the Trace method called.  I'm attempting to switch that to RecyclerVisitedObjects that are not leaves are traced, but GCStress is crashing.  When I resolve the issue I'll push again.

Note that I've addressed comments above not having to do with the use of the TrackBit for indicating which RecyclerVisitedObjects need the Trace method called. I'm attempting to switch that to RecyclerVisitedObjects that are not leaves are traced, but GCStress is crashing. When I resolve the issue I'll push again.

@dotnet-bot test Ubuntu static_ubuntu_linux_test please

@mmitche Sometimes we get stuck checks that completed but for some reason failed to report their completed status back to GitHub. Is there a way to force re-sending that status update instead of running the check from scratch?

@dilijev Nope :/

Oh well, small problem.


RequireSafeKeys config option missing in openarc

error "/usr/local/spamtools/etc/openarc/openarc.conf: /data is writeable and owned by uid xxx which is not the executing uid (yyy) or the superuser" when running as non-root yyy and a non-root xxx user owns some part of the directory name used for keys
opendkim has the config option :
RequireSafeKeys         false
openarc does not.. if multiple teams look after the one server, then the assumpton that the root uid owns everything, breaks..
It would be nice if openarc supported the RequireSafeKeys option also, for those running alternative file ownership layouts.

Thanks for the feedback.  right now I'm doing a roll-up release of everything to date in "develop" into a new master tagged branch.   I'll add this to the next cycle.


Unicode character in "From" are not properly encoded

Describe the bug
I am setting a name for the sender address that contains a unicode character (ü). This needs to be encoded, but lettre just sends it out directly, leading to display errors with some E-Mail clients.
To Reproduce
extern crate lettre;
extern crate lettre_email;

use lettre::{EmailTransport, SmtpTransport};
use lettre_email::EmailBuilder;

fn main() {
    let email = EmailBuilder::new()
        .to("YYY")
        .from(("XXX", "Knotenüberwachung"))
        .subject("Hi, Hello world")
        .text("Hello world.")
        .build()
        .unwrap();

    // Open a local connection on port 25
    let mut mailer = SmtpTransport::builder_unencrypted_localhost().unwrap()
                                                                   .build();
    // Send the email
    let result = mailer.send(&email);

    if result.is_ok() {
        println!("Email sent");
    } else {
        println!("Could not send email: {:?}", result);
    }

    assert!(result.is_ok());
}

Expected behavior
The From header should look like
From: =?UTF-8?Q?Knoten=c3=bcberwachung?= <XXX>

Actual behavior
The header looks like
From: "Knotenüberwachung"<EMAIL_ADDRESS>
when interpreted as UTF-8.
Environment (please complete the following information):

Lettre version: 0.8
OS: Linux

@RalfJung did you try to use .smtp_utf8(true) for mailer?

I did not, but I do not see the connection. I don't want lettre to use some SMTP extension. I want it to use the RFC2047 encoder for From addresses that contain non-ASCII characters, like the one in the example. That should happen whether or not the server supports UTF-8.

In particular, SMTPUTF8 won't help if the recipient uses an email application that does not handle UTF-8 correctly.

fyi:
niax/rust-email#3
niax/rust-email#44

Opened #383.


How does OpenFast calculate blade loads

Hello everyone!Through reading some literature, I have seen the calculation formula of blade load, and the parameter blade load exists in the output data of OpenFast, so I want to know how to calculate blade load in OpenFast and where can I find the relative code?

Dear @Tomedssa,
Are you asking about the ElastoDyn module of OpenFAST?  ElastoDyn uses the load summation method. That is, the blade-root bending moments are calculated in ElastoDyn by integrating along the blade the applied aerodynamic pitching moments + ( radial vector ) x ( applied aerodynamic forces + gravitation forces - inertia forces ).  All of these forces, moments, and distances are vectors and are oriented with the blade as the blade deflects.
Best regards,

Dear @jjonkman,
Thank you for your reply.The calculation you describe is exactly what I want to know，but when I read the ElastoDyn module,  I did not find the detailed calculation process for calculating blade root loads.Is this calculation process shown elsewhere?

Your answer is very helpful to me. Thank you very much.


snapshots modal: multiple spectrograms + interactive map

Per #49 in Portal Updates Tracking - Google Sheets:

Add one Snapshot in modal with map; see slide 7 mockup. eg CINMS. Going to go with one for now vs more than one wanted before.

Slide 7 of SanctSound_Figures_Pilot&Test_extended - Google Slides:

With commit https://github.com/noaa-onms/sanctsound/commit/cf3f2ccf4fcda42aa6e479eb9399cb29b0d3c905...
OLD: one spectrogram

NEW: multiple spectrograms + map

... (scroll down)...

Possible TODO:

[ ] Get panel layout like suggested in Slide 7?


Could the minify option be acceptable?

Hello!
Looking at the plugin implementation, it is set to false, but @vitejs/plugin-legacy binds the value according to the build.minify option. Is there a reason that option is false?
https://github.com/CyanSalt/vite-plugin-legacy-swc/blob/6a0fc357ee75acbea2072bd9f201f07ddbf67f14/src/index.ts#L703

@CyanSalt Thank you for quick response. I will close the issue!


Is there a way to have custom authentication?

I have requirements to use our existing authentication service we have for our org and wondering if this is possible?  From looking at the code I'm not seeing anything that would make this possible but wanted to ask.  On the login screen, I'd like to be able to make a call to our auth service and then be able to get in to the app.  As of now, it seems that there's only a static user/password that you specify in the setup.  Is there something I'm missing?

https://github.com/maikebing/SilkierQuartz/blob/8fc189a811e52212854958326c92f542c73f4b9c/sample/Startup.cs#L39


perf(es/minifier): refactor base54

Description:

BREAKING CHANGE:

Related issue (if exists):

Some of the usize values exceed the wasm limit.
Does this mean that we will never reach those values?

I think so?
I'm sure, the process will be killed before we reach it.

Oh then we can use smaller integer type

Should I remove those values for WASM, or remove them for all targets?
The max safe value for WASM is<PHONE_NUMBER>, the max u32.

I think both are fine, but I prefer removing from both target.


GEODE-6534: Move LocalRegion nested classes to bottom of class

Reduce visibility of classes and fields
Add @VisibleForTesting annotations
Add final to several fields

AutoConnectionSourceDUnitTest failed due to suspect string in AutoConnectionSourceDUnitTest which is unrelated.


[test] Regenerate ABI/API checker baseline by using stdlib without assertion enabled.

If we use a baseline generated from assertion build, the checker will report false-positives
when running in a non-assertion build since some decls only exist in the former.
resolves: rdar://45014723

@swift-ci please smoke test


dts: efm32gg12b: add pin-controller binding

repro: west build -p -b efm32gg_sltb009a samples/basic/blinky and west build -p -b efm32gg_slwstk6121a samples/basic/blinky (probably more).
Notice that some EFM32 board are still failing for other reasons: west build -p -b efm32wg_stk3800 samples/basic/blinky is one.

The gecko UART driver needs pinctrl support for SOC_GECKO_SERIES1 devices, this has been added to jg and pg 12b series in 40fa96506b but is missing in others, causing some build failurse.
Add the device nodes for the gg11b and gg12b files since they contain gecko-uart references and seems to be under the SERIES1 define.

cc @wsipak hi, does this make sense? build test only based on https://github.com/zephyrproject-rtos/zephyr/pull/60695


Demo link is broken

Demo link to coreui.com is broken in README file.

I took a guess and sure enough, it's supposed to be http://coreui.io.

Thanks, I fixed it.


Clicking the chord inversion button will tirgger a sound

The issue has been fixed by replacing the id to a data attr and change the logic of triggering sound


[wip] fixup capture statements

Testing removal of capture statements.
Create shortcodes for common headings.
Ran cleanup script over en only pages to constrain changes.

Related to #20977.

@zacharysarah , interested to get your feedback on this approach.

Can I help with either implementation or with testing here?

Can I help with either implementation or with testing here?

@sftim, I am happy to hear your ideas.
I'd like people to agree on whether,

to remove the capture statements and template data in front matter
are comments needed in the page body to delineate the page
what common headings are needed on the page (for example, prerequisites, whatsnext, ...)

Removing the capture statements should make parsing easier (and faster).
The changes should be compatible with the Docsy theme.
Testing the what's next on this page,
https://deploy-preview-21253--kubernetes-io-master-staging.netlify.app/docs/concepts/architecture/controller/

/close


Error on insert in collection

Not is possible convert a object from type 'LiteDB.EmptyPage' on type 'LiteDB.HeaderPage'.

This error occurs in a specific datafile? Is this datafile in same version of Litedb dll?

This issue was resolved in v3-beta. Thanks


[Rancher2] Clarify Logging v2 Configuration

Request Summary:

When reading the Logging v2 docs, one of our customers assumed that all of the configurations were to be done via the command line / YAML. Is it possible to add screenshots of the new UI, or at least provide some kind of clarification that this can be accomplished via the Cluster Explorer UI?
Details:

See: https://rancher.com/docs/rancher/v2.5/en/logging/#output-to-splunk
gz#16866

I have updated the logging configuration docs to better advertise the fact that the logging UI was improved:

https://staging.rancher.com/docs/rancher/v2.5/en/logging/custom-resource-config/flows/
https://staging.rancher.com/docs/rancher/v2.5/en/logging/custom-resource-config/outputs/

I've addressed the feedback in https://github.com/rancher/docs/pull/3295


Remove unused variable

Warnings

:warning:
This PR is approved with no milestone set. If merged, it won't appear in the detekt release notes.

  Generated by :no_entry_sign: dangerJS against 2c60fa6262ebbc261c48001978838ff191bad042


Overload methods on EtdIdUtils to take EtdContractSpec and security instances

EtdIdUtils has helper methods to create IDs for EtdContractSpec, EtdOptionSecurity and EtdFutureSecurity. These methods have separate parameters for each item of information, for example the exchange ID and contract code.
There are cases where you need to generate an ID from an existing contract spec or security and it would be useful if there were overloads for this.

EtdFutureSecurity.of() already exists to do this? Or am I missing something.

No, it was me that was missing something :)


Regions plugin - programmatically delete region

Hi,
I am currently working with the regions plugin and would like to be able to delete a specific region in my program. My first requirement is that only one region should be allowed at any given time, and I have done that by modifying the code to delete any previous regions upon adding a new region.
Now my next requirement is to be able to delete this region when certain events happen. I have tried calling wavesurfer.clearRegions() on my wavesurfer object - but it does not seem to work.

were you able to solve this?


Bazel build is failing due to rules_cc dep

Environment

Running in the codespace

Description

Expected behavior:

To build correctly

Actual behavior:

Fails to build
Steps to reproduce

Create codespace using proposed environment
Run bazel build ...

Output
@francocipollone ➜ /workspaces/maliput (main) $ bazel build ...
ERROR: Error computing the main repository mapping: in module dependency chain <root> -> bazel_tools@_ -><EMAIL_ADDRESS>module not found in registries<EMAIL_ADDRESS>Loading:
    Fetching https://raw.githubusercontent.com/stonier/bazel-central-registry/maliput_releases/modules/rules_license/0.0.3/MODULE.bazel
    Fetching https://raw.githubusercontent.com/stonier/bazel-central-registry/maliput_releases/modules/rules_python/0.4.0/MODULE.bazel
    Fetching https://raw.githubusercontent.com/stonier/bazel-central-registry/maliput_releases/modules/rules_proto/metadata.json
    Fetching https://raw.githubusercontent.com/stonier/bazel-central-registry/maliput_releases/modules/platforms/metadata.json
    Fetching https://raw.githubusercontent.com/stonier/bazel-central-registry/maliput_releases/modules/protobuf/3.19.6/MODULE.bazel
    Fetching https://raw.githubusercontent.com/stonier/bazel-central-registry/maliput_releases/modules/zlib/1.2.13/MODULE.bazel
    Fetching https://raw.githubusercontent.com/stonier/bazel-central-registry/maliput_releases/modules/platforms/0.0.7/MODULE.bazel

CC: @stonier

Ah, bazel_tools now depends on rules_cc v0.0.9.
bazel_tools is a dependency of bzlmod itself but awkwardly, it's hidden (not exposed on the bazel central registry).
rules_cc v0.0.9 exists on the bazel central registry but not on ours. I'll update my registry.

I've sync'd the fork. Try again?

I've sync'd the fork. Try again?
Yes, now the error changed. I think we moved forward one step:

Now complaining about<EMAIL_ADDRESS>
https://github.com/maliput/maliput_malidrive/actions/runs/6627254608/job/18015503585?pr=248

Problem 1:
That's weird, rules_java 5.5.1 exists in the fork: https://github.com/stonier/bazel-central-registry/tree/main/modules/rules_java/5.5.1
Problem 2:
I'm wondering what's surfacing these problems. The only thing I can think of is that the bazel version is moving, when it shouldn't be. That's running off bazel 6.4.0. The container should be pinned to 6.1.1 (see here).

Problem 1:
:heavy_check_mark: Should be fixed now. I previously synced the main branch at https://github.com/stonier/bazel-central-registry, not the maliput_releases branch.
Problem 2:
:question: A new local or codespace devcontainer is downloading 6.4 on the fly when I do a bazel --version for the first time in the devcontainer. It's like it doesn't the container doesn't setup a default (i.e. it didn't make use the  6.1.1 arg set in the Dockerfile).

Problem 2:
Aha, there's an unintuitive usability surprise. There's an issue in the Dockerfile that results in USE_BAZEL_VERSION not being set and so, bazelisk downloads the latest.
Need to change:
################################################################################
# Configurable Arguments
################################################################################

ARG BASE_IMAGE=focal
ARG BAZEL_VERSION=6.1.1
ARG NAME=bazel-zen

################################################################################
# Base Image
################################################################################

FROM mcr.microsoft.com/devcontainers/base:${BASE_IMAGE}

to:
################################################################################
# Base Image
################################################################################

ARG BASE_IMAGE=focal
FROM mcr.microsoft.com/devcontainers/base:${BASE_IMAGE}

################################################################################
# Configuration
################################################################################

ARG BAZEL_VERSION=6.1.1
ARG NAME=bazel-zen

and then rerun the container jobs in each repo to push it to gcr.
Can you follow up on the PR's and the actions? Thanks.

See https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact

You may as well bump the default to 6.4.0 while you're at it.

Thanks for all the analysis and the detailed description! I will submit the fixes


User and Sign-in risk policies have been migrated to conditional access policies

Module: 01
Lab/Demo: 04
Exercise: 04
Task: 02, 03
The sign-in and user risk policies have been migrated to conditional access and users no longer can configure these in the identity protection. Are there any plans for updating these?

Updated.

Instructions were updated.


Add checks for incorrectly set env var MWK

Guard against MWK not being set, and against some cases of being set incorrectly.

Complete in 12801d9e49a222f2f8ed0ec0b7c2afe4d13fcec0
Wrote better $MWK checking in makefile, mwk and newmeta.
Wrote tests for that. Updated the README.
Output file from testing attached.
testMWK.txt


Read an account from the service

As a user
I need to read an account from the service
So that I can view its details
Details and Assumptions
* The service provides an API endpoint for reading account information.
* Users have access credentials to authenticate and access the service.

Acceptance Criteria
gherkin
Given that I have access to the service API
When I send a GET request to the endpoint with a valid account ID
Then I should receive a response with the account details
And the response status code should indicate success (200 OK)


Cranelift: br_table.i128 not implemented on x86

👋  Hey,
Fuzzgen found this when I added i128 support.
.clif Test Case
function %br(f32, i128) -> i32 system_v {
    jt0 = jump_table [block1, block1, block1]

block0(v0: f32, v1: i128):
    br_table v1, block1, jt0
block1:
    v2 = iconst.i32 0
    return v2
}

Steps to Reproduce

Run cargo run -- compile -D --set enable_llvm_abi_extensions  --target x86_64 .\the-above.clif

Expected Results
The code to compile
Actual Results
     Running `C:\Users\Afonso\CLionProjects\wasmtime\target\debug\clif-util.exe compile -D --set enable_llvm_abi_extensions --target x86_64 .\test.clif`
thread 'main' panicked at 'BrTable unimplemented for I128', cranelift\codegen\src\isa\x64\lower.rs:3248:40
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: process didn't exit successfully: `C:\Users\Afonso\CLionProjects\wasmtime\target\debug\clif-util.exe compile -D --set enable_llvm_abi_extensions --target x86_64 .\test.clif` (exit code: 101)

Versions and Environment
Cranelift version or commit: main
Operating system: Windows
Architecture: x86_64
cc @abrown @jlb6740

cranelift_frontend::Switch has a workaround for this in place already: https://github.com/bytecodealliance/wasmtime/blob/6e05b646a32fe00c390cc2322b1d7d3571526a9a/cranelift/frontend/src/switch.rs#L267-L280

That just reminded me that we had a similar issue previously #3100.
I tried to add a panic to that branch and it isn't being triggered, ill investigate further.

Edit: I suspect that workaround only applies to the Switch interface of the frontend, and not when building jump tables manually and then inserting br_tables

Indeed. Should have been clearer.

I guess br_table on an i128 is useless, right? It's going to be a while before anyone has enough memory for a table that big. :laughing:
For the purposes of cranelift-fuzzgen it'd be nice to have all operations support all types, but I imagine implementing this in each target backend requires extra code that isn't going to be exercised any other way. So I'm thinking it'd be better to just declare that br_table doesn't support i128 (or i64 either?) and avoid trying to generate such cases.
@cfallin, what's your take?

Yeah, we don't even support tables larger than u32, so...

For the purposes of cranelift-fuzzgen it'd be nice to have all operations support all types

We special case emissions of br_table's in fuzzgen, so we can disable it quite easly.

So I'm thinking it'd be better to just declare that br_table doesn't support i128 (or i64 either?)

I think this is probably a good idea. Or we can do what we do in the Switch interface (patch it down to a i32) in some place that also targets br_table, that way we don't get the hole in the api.

I guess br_table on an i128 is useless, right? It's going to be a while before anyone has enough memory for a table that big. laughing

Rustc allows matching on 128bit integers and enums. That is why cranelift_frontend::Switch has a workaround for this. I'm lowering the MIR SwitchInt terminator using cranelift_frontend::Switch.

I guess br_table on an i128 is useless, right? It's going to be a while before anyone has enough memory for a table that big. 😆
For the purposes of cranelift-fuzzgen it'd be nice to have all operations support all types, but I imagine implementing this in each target backend requires extra code that isn't going to be exercised any other way. So I'm thinking it'd be better to just declare that br_table doesn't support i128 (or i64 either?) and avoid trying to generate such cases.
@cfallin, what's your take?

In general I'm in favor of more completeness, or at least symmetry -- the more our "supported instruction/operand space" looks like a high-dimensional rectangular prism, rather than a weird shape with lots of divots, the easier for our users. But I think that impulse should also be tempered by practicalities so we don't have blowup in the backends' pattern-matching, as that can lead to issues (copy/paste typos, difficulty of maintenance) as well.
I might actually propose a slightly different approach: could br_table take i32 only? My path to thinking that is that being polymorphic except for one unsupported type (i128) is actually leading users into a false sense of flexibility. And supporting narrow values has potential pitfalls too (I believe it works correctly now but rare cases are a risk both for new backends and during ongoing refactoring/improvements). A consistent mental model that supports this view (IMHO) is to think of the selector index as morally equivalent to a jump address, kind of. Addresses have a fixed width (64 bits on all our current platforms); so why not br_table indices (hereby declared to be 32 bits), as well?

For br_table.i8 I think that would lead to a pessimization. For example if there are 256 entries, it wouldn't need to check if the input value is larger than 255 to jump to the default branch when using br_table.i8, but it would need to be for br_table.i32.

That's true, but we don't currently do such an optimization; and in the future, we could in a more general way by doing an integer range analysis. Such an analysis would have a rule that a uextend from an i8 gives a result in range 0..256. I suspect that's a more general approach than a special case of range analysis based on types.


Support block delete with alt and meta modifiers

This PR focuses on supporting modifiers to delete blocks of text in a editable widget.
Shortcuts per OS

macOS

CMD (⌘) + Backspace: Delete all words left to the cursor
Option + Backspace: Delete word left to the cursor

Non macOS

Alt + Backspace: Delete all words left to the cursor
Ctrl + Backspace: Delete word left to the cursor

Remarkable edge cases:

when the cursor is preceded by a break line, independently of modifiers only the last character is deleted
when using CJK characters the option/ctrl modifier only deletes a single character

Related issue:

Fixes https://github.com/flutter/flutter/issues/57015
Fixes https://github.com/flutter/flutter/issues/77547

Future work:
If the approach used here is approved, I'll look into the same feature but for the "forward" delete, ie. CMD + Delete.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

/cc @justinmc @LongCatIsLooong

This is a great PR, but unfortunately you and I are going to have conflicts because of the PR you noticed, https://github.com/flutter/flutter/pull/75032.  I'm in the middle of porting this RenderEditable keyboard code to use Shortcuts instead.  In subsequent PRs, everything in the _handleKeyEvent method is slated to be removed.
Would you be willing to update this PR to use Shortcuts once https://github.com/flutter/flutter/pull/75032 is merged?  Most of your logic in RenderEditable could stay, but the key events would come from Shortcuts.  Also your tests may need to be moved to EditableText because RenderEditable would not receive the key events any more.
Sorry for the conflict and thanks for the PR!

Would you be willing to update this PR to use Shortcuts once #75032 is merged?

Sure! I'll keep an eye on that PR 👍

Just a notice for anyone that might try to look at this PR.
I rebased with @justinmc branch to be able to use the new architecture of RenderEditable. So you might see hundreds of commits but the only relevant one is the last one, ie. https://github.com/flutter/flutter/pull/77172/commits/e47c269d7730e6fce8c663ed5c247ab8fcaf393c

@justinmc rebased and updated the approach for the new shortcuts approach.
This whole new approach to shortcuts is looking really good! I'll be working on a custom input to compose spreadsheet-like formulas, and this will be super handy!

@justinmc
I just confirmed that all the cases on your table are now working.
In my last commit I had to change my approach to the following case:

input: text with multiple\n|words
apply: word modifier + backspace
expected text with |words

I was basing my approach on some editors that just delete the immediate previous line break.

The behavior on Windows is generally swapped. That is,, Ctrl+Backspace does what Alt+Backspace should do, and vice versa.
I went to verify what Windows does, as the Alt+Backspace combination isn't one I have ever used; however of the 6 programs I tested, there were variations between all of them.
Notepad.exe:
Alt+Backspace: Delete all text on the line to the left of the cursor
Ctrl+Backspace: Delete one work (including non-word characters between the cursor and the next word to the left; up to, not including the first word-boundary character to the left of the word).
Microsoft Word:
Alt+Backspace: Undo
Ctrl+Backspace: Delete up to one word
Sublime Text 3:
Alt+Backspace: (Unclear, it made the alert sound)
Ctrl+Backspace: Delete one word, not including the word-breaking character
VS Code:
Alt+Backspace: Delete any characters left of the cursor until a single word has been consumed, do not delete word boundaries
Ctrl+Backspace: Delete either one word (not including the word-breaking character) if the cursor is immediately to the right of a word-character; OR delete word-breaking/non-word characters up to the end of the word to the left if the cursor is immediately to the right of a non-word character
Discord:
Alt+Backspace: Delete all text on the line to the left of the cursor, except leave the first character of the line (I assume this is a bug, though)
Ctrl+Backspace: Delete one word, not including the word-breaking character
Visual Studio 2019:
Alt+Backspace: Undo
Ctrl+Backspace: Delete either one word (not including the word-breaking character) if the cursor is immediately to the right of a word-character; OR delete word-breaking/non-word characters up to the end of the word to the left if the cursor is immediately to the right of a non-word character
Interestingly, 4 of these programs are Microsoft programs. So I basically have no idea what to recommend here in order to be the most "Windows"-like in this case. But if nothing else, swap the Alt and Ctrl behaviors. :)

I'm not sure hoe much this is part of this PR, either, but Ctr+Delete crashes on Windows:
type 'DeleteForwardByLineTextIntent' is not a subtype of type 'DeleteForwardTextIntent' of 'intent'

@AberrantWolf thank you so much for your help! I really need to get a windows machine...

The exception should be fixed now.

ctrl+backspace I think we should pick one and make it consistent across all platforms (I also see different approaches in the macOS ecosystem). @justinmc picked up the macos' Textedit example, and i think thats as good as any.

alt+backspace seems not to be a standard on Windows, so I would probably make it a no-op and allow it to be defined in userland. what do you (@justinmc and @AberrantWolf) think?

I need to make the same exercise on a Linux machine.

Verified that the crash is fixed. We still generally need to swap the Ctrl/Alt keys on Windows still.
Honestly, I'd go with just the swap, and then call it good. Notepad may not be Microsoft's current go-to, but it's the most basic equivalent to TextEdit on Mac, and it IS from Microsoft. And (interestingly to me) the gesture your hand makes ends up matching Mac OS due to Windows keyboards putting the Alt key where the Command key is on Mac. I'm happy with that as a Windows user.
I'm new to the key shortcuts -- can then be overridden in userland if defined in the core API?

Yes, you can override in userland. Check the design doc theres a section about overrides.

Added support for obscure texts:

ctrl+backspace/cmd+backspace  - deletes everything back
ctrl+delete/cmd+delete - deletes everything forward

FYI @justinmc , I think this PR is breaking the build: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8851027005183932560/+/steps/run_test.dart_for_framework_tests_shard_and_subshard_libraries/0/stdout

@canastro the PR is reverted to reopen the tree. Could you try relanding the PR after fixing the test failures? It is strange that the test didn't fail during presubmit tests: https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8851763205480546384/+/steps/run_test.dart_for_framework_tests_shard_and_subshard_libraries/0/stdout


Twitter Report: App deleted all contact journal entries

Avoid duplicates

[X] Bug is not mentioned in the FAQ
[X] Bug is specific for iOS only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository
[X] Bug is not already reported in another issue

Technical details

Device name: iPhone SE (2020)
iOS version: 15.0
App version: 2.10.2

Describe the bug
The app deleted all contact journal entries automatically.
All People & Places were deleted.
There were two "special" happenings on the day this happened:

When the CWA was opened, the phone was sometimes not connected to the internet at all or was connected to the internet through Danish cellular network (this doesn't seem like it's the reason for the behavior of the app).
The phones disk space was nearly full, only ca. 500 MB were left (this could very well be the reason for the behavior of the app).

Steps to reproduce the issue

Close the Corona-Warn-App
Start to fill up your disk space until no more than 500 MB are available
Open the Corona-Warn-App
See that all contact journal entries are gone

Expected behaviour
In case of low storage, the app shouldn't delete the contact journal store.
Additional context
Thanks to the Twitter user who reported this bug!
Link to Twitter: https://twitter.com/martintaetzner/status/1447493086322610177?s=21

Internal Tracking ID: EXPOSUREAPP-4952

@dsarkar
This happened independently of any updates.

Closing this issue in favor of https://github.com/corona-warn-app/cwa-app-ios/issues/3896.

FYI PR: https://github.com/corona-warn-app/cwa-app-ios/pull/4389


Search by number not working

Generative drop NFTs have numbers #1 #2 #3 ... why Im not able to search by number?
AHP, production,
Genera collection: https://kodadot.xyz/ahp/collection/63
Tried number 4 I tried to search it with # - not working

👋


Unauthorized Withdrawals or Deposits Using Only Account Number

Users are able to withdraw or deposit money by only providing the account number, without needing any additional authentication such as a password. This creates a  security flaw, as anyone with access to the account number can perform unauthorized transactions.
Expected Behavior:
To withdraw or deposit money, users should be required to provide more details, such as:
Full name as registered in the system
Password
Simply knowing the account number should not allow financial transactions to be executed.

please can this issue be assigned to me

Hi can you assign this to me?

can this please be assigned to me?

can i be assigned this issue

!assign @madhavkbinoy

@madhavkbinoy the default time is 30mins show me the progress i will extend the time (show before the time runs out)

can i get assigned?

plz can I be deassigned , since I wasn't aware that this project doesnt run on Mac .I am sorry about this

!deassign

!assign @madhavkbinoy

Can I please be assigned?

!deassign

!assign @Shaynazg

can i be assigned this issue?

can i get assigned to this please?

Can I be assigned to this

@Lohithsurya Can I be assigned to this issue ?

can I get this assigned?

@Lohithsurya can I get this assigned ?

!assign @anirudh-os

!deassign

!assign @anirudh-os

assign

Can I work on this??

Can I please get assigned this?


Multiple rd200 devices and peak_radon possible fixes

Hi
I've been using this custom component for about a week or so and things seem to be working well for the most part.  I've been playing with the code here and there as I ran into some issues, most appear to already have been fixed, thanks!  I won't add in my fixes for those as there's no need.  However, there are 2 that don't appear fixed yet.  I'm not all that familiar with python, so there may be better ways/places to make these changes.  I list them out here, but will try to figure out how to put in a PR if that's more helpful.  These seem like very minor changes though.
Peak radon:
This one looks like once it's cached it doesn't pull the full sensor data again.  Restarting homeassistant or removing/readding the integration seems to work as well.
in: rd200_ble/parser.py
adding a call to await client.clear_cache() in the async def update_device function seems to make peak_radon display consistently.  Though it feels like there should be a better way of fixing it.
        await client.disconnect()

        await client.clear_cache()

        return device

Multiple rd200 devices:
This seems to just be a matter of making sure the 2 devices create uniquely named sensors
in: config_flow.py
fixing the spelling of identifier in async def _get_device_data makes sure the value isn't blank in other areas
# - fixed spelling
		#data.indentifer = discovery_info.advertisement.local_name
		data.identifier = discovery_info.advertisement.local_name

in: sensor.py
removing the identifier from the name in class RD200Sensor, removes the repeated value in the sensor name
# - removed identifier from name
        #name = f"{rd200_device.name} {rd200_device.identifier}"
        name = f"{rd200_device.name}"

in: rd200_ble/parser.py
adding the name and address fields to the device object in the async def update_device function
        if ble_device.name.startswith("FR:R2"):
            device = await self._get_radon_oldVersion(client, device)
        else:
# (2 lines) - added name / address
            device.name = ble_device.name
            device.address = ble_device.address
            device = await self._get_radon(client, device)
            device = await self._get_radon_peak(client, device)
            device = await self._get_radon_uptime(client, device)

Thanks again for putting all of this together!  It has been very helpful.

Just noticed the readme suggestion to upgrade esphome to 2022.12.4.  I'll give that a shot too once I can find some more time.
Thanks again!

I can add/fix those suggestions, or do a PR.
No need for the clear_cache(), ESPHome 12.4 will fix that.
Did this already: removing the identifier from the name in class RD200Sensor, removes the repeated value in the sensor name
Already removed the extra identifier. That took me a while to find.
Other things look like good changes.

Thanks. Added most of your changes.
Closed with https://github.com/jdeath/rd200v2/releases/tag/2.0
Until 12.4 comes out, you can add this in your ESPHOME config  recompile/upload the firmware:
external_components:
   - source: github://pr#4322
     components: [ esp32_ble_client ]


Follow up with assume PSD

Description
I made a small mistake in the tests.
Type of change

[ ] New feature (backwards compatible)
[ ] New feature (breaking API changes)
[x] Bug fix
[ ] Other (Documentation, CI, ...)

Contribution checklist

[x] Add our license to new files.
[x] Check that your code adheres to our coding style.
[x] Write unittests.
[x] Run the unittests and check that they’re passing.
[x] Run the benchmarks to make sure your change doesn’t introduce a regression.

@SteveDiamond Good spot, I also missed this.
I actually even tried the NSD case locally, just to see what happens if one would try to solve such a problem.
For OSQP, one would get the following printout + subsequent exception:
ERROR in LDL_factor: Error in KKT matrix LDL factorization when computing the nonzero elements. The problem seems to be non-convex
ERROR in osqp_setup: KKT matrix factorization.
The problem seems to be non-convex.
...
ValueError: Workspace allocation error!

Perhaps this should be caught and reraised as a cvxpy SolverError. This would be interface specific, of course, but for OSQP as the default QP solver, it might make sense to add it alongside here. Could be a problem if anyone catches it based on being a ValueError right now.


Getting an ES error for max fields in an index.

Need to decide how best to handle something like this:
api_1            | { error:
api_1            |    { isHandled: true,
api_1            |      statusCode: 500,
api_1            |      message:
api_1            |       '[illegal_argument_exception] Limit of total fields [1000] in index [document] has been exceeded' },
api_1            |   message: null }

Was trying to use a GitHub API: https://api.github.com/repos/samtecspg/articulate/releases
which has a massive payload. Assuming we're trying to write that entire thing I can see why it would complain.

@malave can you update the mapping you create to add this setting index.mapping.total_fields.limit.
taken from here: https://www.elastic.co/guide/en/elasticsearch/reference/6.6/mapping.html#mapping-limit-settings
let's just try going to 5000 for now. Still should think through long term how to prevent this from growing this large.


Code coverage uploads failing due to expired SSL certificates

If I understand this correctly, this is a problem with codecov.io, or whatever service they are using to host the certificates.  Maybe because our CA bundle has not been updated?
2022-07-20T18:04:35Z (+1120s): Flags: -X gcov -f /var/tmp/merged-coverage.lcov -q /h/coverage-report.txt -B main -C dfa37152d4e8c0453c487d820141a68cbd23c5e2 -P  -b 8d7d7490-050e-4f9f-8d69-f3a591d94e47
curl: (60) SSL certificate problem: certificate has expired
More details here: https://curl.se/docs/sslcerts.html

GCB: https://console.cloud.google.com/cloud-build/builds;region=us-east1/8d7d7490-050e-4f9f-8d69-f3a591d94e47;tab=detail?project=cloud-cpp-testing-resources
Raw: https://storage.googleapis.com/cloud-cpp-community-publiclogs/logs/google-cloud-cpp/main/dfa37152d4e8c0453c487d820141a68cbd23c5e2/fedora-35-coverage/log-8d7d7490-050e-4f9f-8d69-f3a591d94e47.txt

Seems to be some kind of outage in the service: https://github.com/codecov/codecov-action/issues/788

Closing, this was an outage in codecov.io.


Added percentage prediction dataset

🛠 Fixes Issue

👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

Hey @shubham230600, as I can see you made 3 PR for 3 diff datasets at a time. Doesn't it look, spammy bro :(
Add them in a single PR.


fix(datepicker): position on screen

Fixes Bug #1837.  This is jqlite compatible.
This solution alters the suggested positioning with the height/width of the popup element.  To achieve the offsetWidth/offsetHeight of the popup, I used the jquery trick of setting the display to block which generates the offsetWidth/offsetHeight and then set it back after calculation.
I know there is already a pull request (PR #1838) for this, but it was answered from 2 months ago, required jQuery and also didn't compensate for the left/top and right boundaries.

Closing in favor of #4762.


Pagination of /media/user_medias

Try Instagrapi SaaS with a free trial https://hikerapi.com/p/5GBWznd3
Is your feature request related to a problem? Please describe.
Then /media/user_medias route only returns the last e.g. 50 medias, and there is no way of telling it "get the 50 medias before the 50 you fetched last time" - or in other words: paginate ;-)
Describe the solution you'd like
I'd like to have the pagination that instagrapi provides also implemented in instagrapi-rest. :-)
Describe alternatives you've considered
Not using instagrapi-rest... which would be a shame, because quick testing shows that it's working really nicely!

I understand that you're trying to get more paying users for that service, but as i'm just building a small "private" tool, i rather stay on free options.


Skipif for Mongo

Description
Skips tests that require an active mongo connection. pytest.mark.skipif does not apply to fixture so an explicit call is required.
Closes #18.
Questions

[ ] We skip 40/53 tests currently without a Mongo connection. Not sure if we should fail or not.

@dnascimento13 py.test -v now passes with many skips in ~5 seconds as opposed to many minutes previously.
Status

[x] Ready to go

Why can we not add this as a fixture?

We skip 40/53 tests currently without a Mongo connection. Not sure if we should fail or not.

I think we should fail the tests outright without another fallback storage layer. Since the package does not really function without a storage layer, then it does not make sense to test without a critical part of the package working.

Why can we not add this as a fixture?

Can you elaborate this?

Whoops. I was thinking adding this as part of a @pytest.mark.skipif(... decorator. Its being added as part of a fixture in what you did. I missed it on first pass

Not sure I completely agree that it should fail outright. It is still covers quite a bit (45% coverage) and the case where a user simply runs py.test --pyargs qcfractal.


Test Webhook not showing: "connected", only show blank text?

Test Webhook not showing: "connected", only show blank text?

Check screenshot for more.

we are already chatting over discord, so i think i can close this! lets continue there.


Revert "Merge pull request #10004 from cockroachdb/include_cached"

This reverts commit 410b46324d1d4857b4f4e5f959cb5c573e9ee02a, reversing
changes made to 51a9988c4ccd49a011917729f3d876bd517925f0.

This change is

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/7d00eef11471959d79e0faf7267b4bc5a3b00a38/
Edited pages:

v20.2/build-a-go-app-with-cockroachdb-gorm.md
v20.2/build-a-go-app-with-cockroachdb-pq.md
v20.2/build-a-go-app-with-cockroachdb.md
v20.2/build-a-java-app-with-cockroachdb-hibernate.md
v20.2/build-a-java-app-with-cockroachdb.md
v20.2/build-a-nodejs-app-with-cockroachdb-sequelize.md
v20.2/build-a-nodejs-app-with-cockroachdb.md
v20.2/build-a-python-app-with-cockroachdb-django.md
v20.2/build-a-python-app-with-cockroachdb.md
v20.2/build-a-ruby-app-with-cockroachdb-activerecord.md
v20.2/build-a-ruby-app-with-cockroachdb.md
v20.2/build-a-spring-app-with-cockroachdb-jdbc.md
v20.2/build-a-spring-app-with-cockroachdb-jpa.md
v20.2/build-a-spring-app-with-cockroachdb-mybatis.md
v20.2/functions-and-operators.md
v21.1/build-a-go-app-with-cockroachdb-gorm.md
v21.1/build-a-go-app-with-cockroachdb-pq.md
v21.1/build-a-go-app-with-cockroachdb.md
v21.1/build-a-java-app-with-cockroachdb-hibernate.md
v21.1/build-a-java-app-with-cockroachdb.md
v21.1/build-a-nodejs-app-with-cockroachdb-sequelize.md
v21.1/build-a-nodejs-app-with-cockroachdb.md
v21.1/build-a-python-app-with-cockroachdb-django.md
v21.1/build-a-python-app-with-cockroachdb.md
v21.1/build-a-ruby-app-with-cockroachdb-activerecord.md
v21.1/build-a-ruby-app-with-cockroachdb.md
v21.1/build-a-spring-app-with-cockroachdb-jdbc.md
v21.1/build-a-spring-app-with-cockroachdb-jpa.md
v21.1/build-a-spring-app-with-cockroachdb-mybatis.md
v21.1/functions-and-operators.md


Future progress with Gated Linear Networks

Hello! Sorry for such a question at the Issues.
Guys do you figure out why there is no progress with GLNs research?
Does it fail on most tasks? Or just hard to beat a SOTA?
Why authors or other Deepmind researchers do not continue their work on it?

Hi,
Apologies for the very late reply!
We are still working on GLNs. In fact, there might be a new GLN paper in the following months :)

Does it fail on most tasks? Or just hard to beat a SOTA?

It has been my experience that GLNs can solve any task that can be solved with an MLP. GLNs learn faster and forget less compared to an MLP. So they are better suited for online learning generally. GLNs aren't suitable for most computer vision or natural language tasks atm, where you are better off using convolutional nets or transformers.


Sequence run

If you're fitting a model to data, sometimes it is helpful to initialize the model at a datapoint, run the model forward one timestep, compare with the next datapoint, reinitialize based upon the data, and run forward again. This type of operation should be easily parallelizable. One way to do this would be to pass into the run function an array of initial conditions, and have pysd cleverly allocate how they should be calculated.

This should be part of a separate pysd.tools collection


Allow enable/disable all via config file

Since some users may want to only run a few rules in their repo, having to manually disable all the rules they don't care for is a bit of a chore. It'd be good if we allowed enabling/disabling all, or per category from the config as well.

Expanding on the scope a bit here as this was requested today, or at least something that is close enough. It'd be good if there was a way to freeze configuration of rules at any given point, so that updates wouldn't necessarily mean new rules automatically enabled. Some prefer to have them enabled manually, and that's obviously fine. I imagine this would look like:

Add a command to print the de-facto configuration used, i.e. the built-in default configuration merged with the user's custom config file.
Add a mode to Regal (settable via cia CLI args or config file) that have rules not mentioned in config ignored.
Log any rules ignored above so that it's easy for a user to see which rules they are missing from having frozen their rules config.

Definitely open to alternative approaches if anyone has suggestions!

I've been thinking some more about this, and I think a better design would be to mirror the regal lint flags for disabling/enabling all rules, or all per category, and allow more specific overrides, but via configuration rather than CLI args. I imagine it might look something like this:
rules:
  '*':
    level: ignore
  bugs:
    '*':
      level: error
    constant-condition:
      level: ignore
  testing:
    print-or-trace-call:
      level: error

Disabling (i.e. setting level to ignore for) all rules at the top level, and then allow more specific overrides to enable (setting level to warning or error for) categories or rules would provide a way to "freeze" configuration for those who don't want new Regal versions to automatically add new rules, and it would also be a pretty convenient way to easily enable/disable all, categories and individual rules.
I'm not too fond of using '*' to mean "all" as the required quoting makes it rather ugly... but I'm not sure what would be a better option. We could call it "all" or "default", but it could easily be mistaken for a category/rule name. '*' while ugly at least clearly stands out from regular names. So might be that I go with that, but if anyone has better ideas, I'm listening 🙂

Fixed in #587


Honor 'display' parameter for button groups

In OPS UI, create a button group for Services, make sure it has the Display on Button property unchecked
In Service UI, navigate to a service summary screen, see whether the display property is being honored.

Without this fix, the property would not get honored in Service UI.
After this fix, with display disabled:

With display enabled:

https://bugzilla.redhat.com/show_bug.cgi?id=1745492

Jansa backport details:
$ git log -1
commit 65254786c0e5906861ee1cea7ee4f2de70889edb
Author: Martin Hradil<EMAIL_ADDRESS>Date:   Wed Aug 26 15:38:43 2020 +0000

    Merge pull request #1663 from mzazrivec/honor_display_parameter_for_display_group

    Honor 'display' parameter for button groups

    (cherry picked from commit 9127abdaa3c423d354fc6a5d9209387e0e8d3ca2)


Guidance needed - user activation - how to POST

I am using DREF and Djoser for Authentication and User Registration. When a new user registers, Djoser sends an activation email with a link that does a GET request. In order to activate, I need to extract uid and token from the activation url and make a POST request for Djoser to be able to activate the user.
My environment is Python 3 and Django 1.11, Djoser 1.0.1.
Any help on how to handle this in Django / Djoser?
What I would like to do is to handle the get request in Django, extract uid and token and then make a POST request. I have extracted uid and token and would like to make a POST (within this GET request). I do not know how to make this POST request in the background.

Hi @leferaycloud.
Firstly - sorry it took so long for me to respond.
I believe that you may have confused the REST architecture with a traditional single layer. In djoser we expect that your backend is used to provide API for mobile apps or your frontend layer (e.g. Single Page App) and therefore the process you have described is not something we had in mind with djoser.
Although - what you say is possible I'm not sure why you would need REST API if you wish to handle everything within the single Django layer. Here is how you would usually handle user activation:

User creates his account via POST to users/create/.
User receives email with URL to frontend activation page defined via ACTIVATION_URL djoser setting.
User heads to the given page, which calls the users/activate/ with POST with uid and token, which indeed you extract from the URL GET params.

If for whatever reason you want to handle everything within Django, my first thought would be to use requests to call the djoser activation URL, but as I said it's not how you would usually want to do this.
Hope this answers your question,

Hi, i have the same question. I understand we can create a page to redirect the data to the activate url as a POST. However I would like the user to be able to activate directly by clicking on that URL. Is that somehow possible without having to create my own GET API?

Hi @lgalant.
At the moment - no, it's not possible, mostly because Djoser has been created with SPA and mobile apps in mind and therefore it would be a terrible UX flaw to make users visit e.g. api.example.org to activate account.
I doubt that in near future we will decide to bring such view into djoser, but it's very simple to create it if you really need it - in spare time I'll add it to djoser example docs with a disclaimer that it is not the architecture, for which djoser was made.

@piotr-szpetkowski
Thanks for your quick reply, It'd be really helpful if you can write such view as an example.
Now supposing I'm developing a mobile app and I want to verify the email of my users. What is the recommended behavior for the user to confirm that the email he provided belongs to him, using djoser ?
Thanks again!

Working on this issue right now, maybe it will be usable for others.
I created APIView:
from django.conf import django_settings

class ActivateUserByGet(views.APIView):

    def get(self, request, uid, token, format = None):
        payload = {'uid': uid, 'token': token}

        url = '{0}://{1}{2}'.format(django_settings.PROTOCOL, django_settings.DOMAIN, reverse('user-activate'))
        response = requests.post(url, data = payload)

        if response.status_code == 204:
            return Response({'detail': 'all good sir'})
        else:
            return Response(response.json())

and added it to mu urls:
path('activate/<str:uid>/<str:token>/', ActivateUserByGet.as_view()),

django_settings.PROTOCOL and django_settings.DOMAIN are used for bulding proper url. Hope it helps you!

Working on this issue right now, maybe it will be usable for others.
I created APIView:
from djoser.conf import django_settings

class ActivateUserByGet(views.APIView):

    def get(self, request, uid, token, format = None):
        payload = {'uid': uid, 'token': token}

        url = '{0}://{1}{2}'.format(django_settings.PROTOCOL, django_settings.DOMAIN, reverse('user-activate'))
        response = requests.post(url, data = payload)

        if response.status_code == 204:
            return Response({'detail': 'all good sir'})
        else:
            return Response(response.json())

and added it to mu urls:
path('activate/<str:uid>/<str:token>/', ActivateUserByGet.as_view()),

django_settings.PROTOCOL and django_settings.DOMAIN are used for bulding proper url. Hope it helps you!

Django is singlethreaded.
The "requests" will never be fulfilled, because maib process will be busy waiting for a response.

@zefciu  Could you please elaborate on that?

From what I'm seeing here, I can't settle on whether it's more acceptable to handle everything in Django (sounds more appropriate to me) or cycle through the network and web server again

Working on this issue right now, maybe it will be usable for others.
I created APIView:
from djoser.conf import django_settings

class ActivateUserByGet(views.APIView):

    def get(self, request, uid, token, format = None):
        payload = {'uid': uid, 'token': token}

        url = '{0}://{1}{2}'.format(django_settings.PROTOCOL, django_settings.DOMAIN, reverse('user-activate'))
        response = requests.post(url, data = payload)

        if response.status_code == 204:
            return Response({'detail': 'all good sir'})
        else:
            return Response(response.json())

and added it to mu urls:
path('activate/<str:uid>/<str:token>/', ActivateUserByGet.as_view()),

django_settings.PROTOCOL and django_settings.DOMAIN are used for bulding proper url. Hope it helps you!

Hey @pplonski How did this solution turn out for you?

Hi @sudomann, it works, I'm sending link with email, and it has link for GET request, which triggers POST request.

I'm using @pplonski approach and it works for me aswell.

hi @pplonski It gives me a error.
AttributeError: 'Settings' object has no attribute 'PROTOCOL'

@safakat have you set PROTOCL in your settings? It is needed to construct the url.

no.can you send me the protocol code?

I don't know what protocol are you going to use, but I have used the following:
PROTOCOL = "https"

This is my djoser setting.
DJOSER = {
'PASSWORD_RESET_CONFIRM_URL': '/password/reset/confirm/{uid}/{token}',
'USERNAME_RESET_CONFIRM_URL': '/username/reset/confirm/{uid}/{token}',
'ACTIVATION_URL': '/activate/{uid}/{token}',
'SEND_ACTIVATION_EMAIL': True,
'SEND_CONFRIMATION_EMAIL':True,
'SERIALIZERS': {},
}

And what will be the domain?

The domain at which you would like to get the POST request (it will be your domain).

and the last problem is:
Exception Value: | Reverse for 'user-activate' not found. 'user-activate' is not a valid view function or pattern name.

looks like you dont have djoser urls set

path('admin/', admin.site.urls),
path('auth/',include('djoser.urls')),
path('auth/',include('djoser.urls.jwt')),
path("api/data/",include("data.urls")),

i did it with this
`def ActivateUserAccount(request, uidb64=None,token=None):
#print(force_text(urlsafe_base64_decode(uidb64)))
#print(token)
try:
    uid = force_text(urlsafe_base64_decode(uidb64))
    #print(type(uid),uid)
    user = User.objects.get(pk=uid)
    print(user)
except User.DoesNotExist:
    user = None
if user and default_token_generator.check_token(user,token):
    user.is_email_verified = True
    user.is_active = True
    user.save()
    login(request,user)
    print("Activaton done")
else:
    print("i dont know ")

users/activate/ has now changed to users/activation/

Is anybody using users/activation/ endpoint successfully? When I make POST request to users/activation/ I get a 404 not found.
This is the POST request:
curl -X POST http://<IP_ADDRESS>/auth/users/activation/ --data 'uid=myuid&token=mytoken'
My urls.py is as follows:
`
from django.contrib import admin
from django.urls import include, path, re_path
urlpatterns = [
path('admin/', admin.site.urls),
path('api/v1/', include('api.urls')),
re_path(r'^auth/', include('djoser.urls')),
]
`
What I'm doing wrong?
Thanks in advance!

@storrabadellaf how did you generate your uid? I have a similar problem

Im not being able to send email for activation with djoser, i tested my contact form to see if my smtp config is working and is working fine. But djoser won't send email for activation even with 'SEND_ACTIVATION_EMAIL': True,. I just don't know whats whrong anymore

@sudomann I'll run into an
http://<IP_ADDRESS>:8200/auth/users/activate/ {'uid': 'OTU', 'token': '5d2-3b66badd782809a40139'} Unauthorized: /auth/users/activate/ [12/Jan/2020 17:01:30] "POST /auth/users/activate/ HTTP/1.1" 401 58 <Response [401]> {"detail":"Authentication credentials were not provided."}
not authorized error trying to use the POST method.
Any help would be highly appreciated!

Any update on how to do this without the development server hanging?

@theSekyi , @luke-goddard
I've added these to my settings file
DEBUG = True
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
PROTOCOL='http'
DOMAIN= '<IP_ADDRESS>:8000'

with the email backend attribute after poting a new user on auth/create it will show the activation email in terminal in this pattern  '#/activate/{uid}/{token}',
`
Content-Transfer-Encoding: 7bit
You're receiving this email because you need to finish activation process on <IP_ADDRESS>:8000.
Please go to the following page to activate account:
http://<IP_ADDRESS>:8000/#/activate/MTE/b0y14v-85c128ab17129709d256c155f8a7ef61
Thanks for using our site!
`
while I'm running backend, in a new terminal I run the below command and I use the uid and token that is there in the activation link taht's exist in the terminal for the below command and it works for me and make the posted user activated .
curl -X POST http://<IP_ADDRESS>/auth/users/activation/ --data 'uid=myuid&token=mytoken'
Hope you understand, happy coding ;)


Moving load (1) resources to v1beta1 version

Moving load (1) resources to v1beta1 version
load group:

[ ] azurerm_load_test

No examples generated

Resolved in #251


How to clear the tags

Description
I installed preview version. The preview version (2.3.47) app shows my file tag "unknown", so I change it to "blue". Then in the stable version (2.3.12) also shows "unknown" tag.
Because I tagged many files, now I want to clear all tag, how to do that?
Steps To Reproduce
tag files
Steps to fix
How to clear the tags
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.19044.2006
Windows Version
Windows 10 Pro Version	21H2 OS build	19044.2006 Experience	Windows Feature Experience Pack 120.2212.4180.0
Relevant Assets/Logs
none

Right click on the file or folder > File tags > click the one called unknown.

I know this, I mean can I clear different file's tag one time? I delete the filetags.db, but these tags still there.

That tags that show as option are in Files settings > experimental > edit tags. If it doesn't work, then I don't know why it would be there.

yes, I edit this file, "unknown" tag still exists. I curious about how this "tag info" stored?

It's stored in the filetags.db file. But if you deleted it all files/folders should have lost there tags.

Tag info is also stored inside each file, so no you can't get remove tags from all files at once.

Edit: the best way to remove all tags is from inside Files. Clicking on each tag in Files sidebar shows all files with a tag, and you can untag them all at once. That is if you haven't deleted the filetags.db files :)

Thanks for your answer. I tried again and show all hidden files, then I found when I tag a file, the second file will generate.

Edit: the best way to remove all tags is from inside Files. Clicking on each tag in Files sidebar shows all files with a tag, and you can untag them all at once. That is if you haven't deleted the filetags.db file :)

Your suggestion is useful. But there also a problem, the "Unknown" tagged files won't show in sidebar's tag page automatically. Unless I open their directory, then they will show in sidebar's tag page.

Your suggestion is useful. But there also a problem, the "Unknown" tagged files won't show in sidebar's tag page automatically. Unless I open their directory, then they will show in sidebar's tag page.

This is the expected behavior, Files only knows about the tags in its database, unless we index the complete file system, we have no way to detect unknown tags in advance. Does the additional file go away if you turn off the setting to display alternate data streams?


merger variable font

When i using merger class for merge 2 file of font variable, got error:
AttributeError: type object 'VarStore' has no attribute 'mergeMap'

is not supported yet?

yes, it's not supported yet. What you could try if you have access to the master sources for these two variable fonts, is to build master TTFs from each, merge those together (e.g. regular with regular, bold with bold, etc.) nd then at the end build a variable font from them (with fonttools varLib command line).
But I can't help you with the nitty gritty, I'm afraid. Good luck

Is merging VarStore a fundamentally difficult operation or has it simply not been needed yet by anyone able to implement it?

I don't think it's fundamendally difficult, I just I haven't found the time to work on this yet. You're welcome if you'd like to take this one

Thanks, that's good to know. I don't immediately need this myself either, but knowing it won't be a huge hurdle once I do is very useful.

I don't think it's fundamendally difficult,

Correct. We haven't done because so far our workflow suggestion has been to merge masters then combine into variable font.

Duplicate of https://github.com/fonttools/fonttools/issues/1059