[$1000]  Cursor turns to Arrow on some sections the IOU preview component

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Sign in with account A
Send an IOU to account B
Switch to account B
Open the sent IOU
Hover over all parts of the IOU preview component

Expected Result:
Cursor shouldn't turn to Arrow since the component has hover effect and the whole preview component should be clickable
Actual Result:
Curosr turns to Arrow on some section of the preview component
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.14-9
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/5e8e9b00-47ed-4e82-a7cc-bb98c0ad949e
https://github.com/Expensify/App/assets/43996225/c2c8dcfc-5742-4f74-8ede-8955758b22cc
Expensify/Expensify Issue URL:
Issue reported by: @natnael-guchima
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684137959661979
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a8202788bda02ea4
Upwork Job ID:<PHONE_NUMBER>174926848
Last Price Increase: 2023-05-23

Proposal
Please re-state the problem that we are trying to solve in this issue.
The Pressable is taking the space of the entire action item instead of just the IOUPreview component.
What is the root cause of that problem?
This is default behaviour of react native, components (In this case Pressable) expand to fill it's parent as react native follows a flexbox system to style components.
What changes do you think we should make in order to solve the problem?

To resolve this, we simply apply the IOUPreview component styles to the Pressable instead of the View.
What alternative solutions did you explore? (Optional)
None.

Reproduced now, thanks!

@rushatgabhane there's a speedy proposal here, if you could give that a review!

@rushatgabhane Bump on reviewing that proposal, please

Hey, I have a solution to this issue. I submitted a proposal to upwork.
Regards,
Bruno

Hey, I have solution to this issue.
Upwork proposal is submitted
Regards,
Bruno

@papistacoding Hey! We only accept proposals on the github issue (right where you are!), the format you see above please. Thanks!

@conorpendergrast Thanks for info. So proposal from @therealsujitk has been already approved?

Not so far! So there's still an opportunity to post a fresh proposal here in that format, that @rushatgabhane can then review

@conorpendergrast sorry to ask so many questions. I got the resolution working as intended, but how do I earn money on upwork? First I put proposal here? please tag me in reply so I get a notification

@papistacoding I'd recommend taking a look at this guide, and then asking any questions in the #expensify-open-source Slack channel!

Proposal
Please re-state the problem that we are trying to solve in this issue.
The Pressable is taking the space of the entire action item instead of just the IOUPreview component.
What is the root cause of that problem?
This is default behaviour of react native, components (In this case Pressable) expand to fill it's parent as react native follows a flexbox system to style components.
What changes do you think we should make in order to solve the problem?
To resolve this, we add max-width to pressable component and we add the margin of mt2. we remove margin from inner element which comes from props. we remove unnecessary props.

adding maxWidth and margin:
return (
<Pressable
onPress={props.onPreviewPressed}
onPressIn={() => DeviceCapabilities.canUseTouchScreen() && ControlSelection.block()}
onPressOut={() => ControlSelection.unblock()}
onLongPress={showContextMenu}
style={{maxWidth: variables.sideBarWidth, ...styles.mt2}}
>
{childContainer}

);

removing props from MoneyRequestAction.js:

const propTypes = {
/** All the data of the action */
action: PropTypes.shape(reportActionPropTypes).isRequired,
/** The ID of the associated chatReport */
chatReportID: PropTypes.string.isRequired,

/** The ID of the associated request report */
requestReportID: PropTypes.string.isRequired,

/** Is this IOUACTION the most recent? */
isMostRecentIOUReportAction: PropTypes.bool.isRequired,

/** Popover context menu anchor, used for showing context menu */
contextMenuAnchor: refPropTypes,

/** Callback for updating context menu active state, used for showing context menu */
checkIfContextMenuActive: PropTypes.func,

/* Onyx Props */
/** chatReport associated with iouReport */
chatReport: PropTypes.shape({
    /** The participants of this report */
    participants: PropTypes.arrayOf(PropTypes.string),

    /** Whether the chat report has an outstanding IOU */
    hasOutstandingIOU: PropTypes.bool.isRequired,
}),

/** IOU report data object */
iouReport: iouReportPropTypes,

/** Array of report actions for this report */
reportActions: PropTypes.objectOf(PropTypes.shape(reportActionPropTypes)),

/** Whether the IOU is hovered so we can modify its style */
isHovered: PropTypes.bool,

network: networkPropTypes.isRequired,

/** Session info for the currently logged in user. */
session: PropTypes.shape({
    /** Currently logged in user email */
    email: PropTypes.string,
}),

...withLocalizePropTypes,

};
const defaultProps = {
contextMenuAnchor: undefined,
checkIfContextMenuActive: () => {},
chatReport: {
participants: [],
},
iouReport: {},
reportActions: {},
isHovered: false,
session: {
email: null,
},
};
return (
<>
<IOUPreview
iouReportID={props.requestReportID}
chatReportID={props.chatReportID}
isBillSplit={hasMultipleParticipants}
action={props.action}
contextMenuAnchor={props.contextMenuAnchor}
checkIfContextMenuActive={props.checkIfContextMenuActive}
shouldShowPendingConversionMessage={shouldShowPendingConversionMessage}
onPreviewPressed={onIOUPreviewPressed}
containerStyles={[styles.cursorPointer, props.isHovered ? styles.iouPreviewBoxHover : undefined]}
isHovered={props.isHovered}
/>
</>
);
this resolves the issue completely and we keep the structure of IOUPreview untouched

Hey @papistacoding :wave: you'll have to properly format your proposal using Markdown and your code should go in code blocks with syntax highlighting otherwise your proposal just becomes unreadable and reviewers will probably just ignore it.
The proposal's markdown code can be obtained here.

@rushatgabhane Two proposals for your to review here!

I found another issue with the same RCA - #19717. I think both of them can be fixed together.

@hoangzinh Now that you mention it, I re-read the issue and I might have been wrong about the expected result. However personally I think we should change it to 1. There were several cases where I clicked on 2 just to switch to the browser window (if another window was open on top) or to lose focus from the composer and it took me to the IOU report which really annoyed me.

@hoangzinh Now that you mention it, I re-read the issue and I might have been wrong about the expected result. However personally I think we should change it to 1. There were several cases where I clicked on 2 just to switch to the browser window (if another window was open on top) or to lose focus from the composer and it took me to the IOU report which really annoyed me.
@conorpendergrast @yuwenmemon @rushatgabhane can you confirm what the expected result should be?

@hoangzinh sorry for my late reply.  I will take a look at this tomorrow and I will late you know.

@hoangzinh Yes, it doesn't seem you can't show the pay button and the IOU preview components together - they seem to be separated on the latest releases. The cursor issue persists on both of the separated components though.
https://github.com/Expensify/App/assets/57330233/f52125fb-b00c-4b3a-8e12-299b6a25acff

@rushatgabhane @yuwenmemon - I have this related issue: https://github.com/Expensify/App/issues/19717 - do you think that should be folded into this one or handled separately?

@greg-schroeder can you confirm the expected result as mentioned in this comment as well (The OP seems to say 2 is the expected result but I just want to be sure), depending on that the two issues may or may not be related and I may have to rewrite my proposal.

I don't know which approach is correct, so I'll wait on @yuwenmemon or @rushatgabhane to weigh in

Cursor turns to hand  only in this red section, and it's clickable only in the red section.

I believe this is already the case (though I personally don't like this behaviour), can you check with staging and confirm?

@yuwenmemon What's your take here? I'm erring on agreeing with @therealsujitk that this should actually be a feature request, not a bug

Agreed! :+1:

Ok, closing as a feature request, not a bug!


Debug stepping inconsistencies for getters

E.g.
get fooXYZ => "fooXYZ";

get fooXYZ2 {
  int i = 42;
  return "Hello, $i!";
}

(i.e. top-level) will stop (when stepping into the getter) first at column 12 (in fooXYZ, i.e. on '=>') and 15 (in fooXYZ2, i.e. on '{').
class Bar {
  get barXYZ => "barXYZ";

  get barXYZ2 {
    int i = 42;
    return "Hello, $i!";
  }
}

(i.e. getter in a class) will instead stop (when stepping into the getter) at column 3 (i.e. on 'get') in both cases.
I.e. for getters the debugger stops either on 'get' or on whatever is after the name depending on whether it's in a class or not.

If the getter in class Bar is made static, it behaves the same way as the top-level getter. So, the difference is due to static vs instance getter.

https://codereview.chromium.org/2751523009/

Fixed in e78b828d101c24f7e2f0c005a38a2b0555d879a7.


Improve installation instructions

I think I would not open https://github.com/trentmwillis/ember-exam/issues/106 if instructions were looking like this :).

Thanks @trentmwillis :)


Terraform Provider got updated and s3 bucket res changes exists

https://github.com/hashicorp/terraform-aws-vault/blob/350b705eef67c6437f9043733db750b01a069bec/modules/vault-cluster/main.tf#L283
What we need to do here on Line 283 is to delete section for versioning and move it to another resource
resource "aws_s3_bucket_versioning" "versioning_example" {
  bucket = aws_s3_bucket.example.id
  versioning_configuration {
    status = "Enabled"
  }

Please find how it should looks like
resource "aws_s3_bucket" "vault_storage" {
  count         = var.enable_s3_backend ? 1 : 0
  bucket        = var.s3_bucket_name
  force_destroy = var.force_destroy_s3_bucket

  tags = merge(
    {
      "Description" = "Used for secret storage with Vault. DO NOT DELETE this Bucket unless you know what you are doing."
    },
    var.s3_bucket_tags,
  )

  # aws_launch_configuration.launch_configuration in this module sets create_before_destroy to true, which means
  # everything it depends on, including this resource, must set it as well, or you'll get cyclic dependency errors
  # when you try to do a terraform destroy.
  lifecycle {
    create_before_destroy = true
  }
}

resource "aws_s3_bucket_versioning" "vault_storage" {
  count  = var.enable_s3_backend ? 1 : 0
  bucket = aws_s3_bucket.vault_storage[count.index].id
  versioning_configuration {
    status = var.enable_s3_bucket_versioning
  }
}


Clarify CloudEvent.source property meaning

Description
This caused me much confusion: the source should not contain the domain name, it should contain the domain topic (name). As far as I can tell, this particular comment was not generated from the swagger definition (I couldn't find it anywhere else on github anyway).
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

/check-enforcer override


<X11/X.h> doesent exist?

when i run the command:
cd self-driving-truck && cd lib && gcc -shared -O3 -Wall -fPIC -lX11 -Wl,-soname,screenshot -o screenshot.so screenshot_c.c -lX11
it gives me an error that the <X11/X.h> library doesn't exist?
help

btw i did check that the xorg library is installed and it is, so i'm very confused


Dependency Check v6.5.3 does not report vulnerability score of jgroups-3.6.13.Final correctly

Describe the bug

Scan report of jgroups-3.6.13.Final.jar does not match CVE-2016-2141
Does not match cpe:2.3:a:redhat:jgroups:-:*:*:*:*:*:*:*

Version of dependency-check used
The problem occurs using version 6.5.3 of the maven plugin
To Reproduce
Steps to reproduce the behavior:

Include jgroups-3.6.13.Final.jar as a dependency in a project
Run mvn clean verify org.owasp:dependency-check-maven:check
Open dependency-check report and CVE-2016-2141
Compare the reportings

Expected behavior
Dependency-checker to report vulnerability  CVE-2016-2141
Additional context

On NVD CVE-2016-2141 has a base score of 9.8 on CVSS Version 3.x and 7.5 on CVSS Version 2.0
https://nvd.nist.gov/vuln/detail/CVE-2016-2141#match-3404535
Matches only identifier cpe:2.3:a:redhat:jgroups:3.6.13:*:*:*:*:*:*:* from OSSINDEX CWE-300: Channel Accessible by Non-Endpoint ('Man-in-the-Middle') with a lower CVSS Score

I have emailed the NVD about the issue. Even the NVD's search fails to identify the CVE if you search for a specific version:
https://nvd.nist.gov/vuln/search/results?form_type=Advanced&results_type=overview&search_type=all&cpe_version=cpe%3A%2F%3Aredhat%3Ajgroups%3A3.6.13
If you change the search to be just for the product you get a match:
https://nvd.nist.gov/vuln/search/results?form_type=Advanced&results_type=overview&search_type=all&cpe_product=cpe%3A%2F%3Aredhat%3Ajgroups
This is a systemic issue with the NVD's use of the NA (aka -) in the CPE version. There are ~6,000 CVEs that have application CPEs with NA for a version.

The NVD data for the CVE has been updated and ODC now correctly identifies the vulnerability in jgroups.


Implement streaming of output from the main command to stdout

This adds support for showing command stdout/stderr in real time. Note that this feature is now enabled by default, which may be controversial.
It also introduces a limit for the maximum number of codepoints which will ever be stored for non-streamed commands (for output in an exception).

@aklyachkin Ping.

@horazont thank you for implementing stream output! To make it more compatible with standard execute resource in Chef, can you please rename the property 'stream_output' in 'live_stream' (or an alias) and make it false by default?

@aklyachkin Sorry for the delay and thanks for the feedback. I adjusted the code accordingly.


Document issue with release flag and Java 9

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

OK, I've already triggered ReadyForMerge build for you.


[super_drag_and_drop] - Opacity of Dragged Item

Hi,
Firstly, thanks for the great package, it solved an important gap in the Flutter framework.
I hoped you could help with an issue / feature I've found.
In the main.dart file of super_Drag_and_drop/example there is the below code.  This is running on Windows desktop.
I've added a width to the container, when it is above 180 the image under the cursor when dragged fades out to the sides, 180 or below the image doesn't fade out.
I've tried using dragBuilder and whilst this can change the image under the cursor it still fades at widths greater than 180.
Is it possible to stop the fading out?  I've looked through the source code and tried changing various things (mainly opacity in the dart code) although no luck.
Any pointers would be much appreciated.
How I want it to look at any width:

How it looks with a width higher than 180:

Thanks!
  @override
  Widget build(BuildContext context) {
    return DragItemWidget(
      allowedOperations: () => [DropOperation.copy],
      canAddItemToExistingSession: true,
      dragItemProvider: provideDragItem,
      dragBuilder: (context, child) {
        return Container(color: Colors.black, child: child);
      },
      child: DraggableWidget(
        child: AnimatedOpacity(
          opacity: _dragging ? 0.5 : 1,
          duration: const Duration(milliseconds: 200),
          child: Container(
            width: 180.1,
            decoration: BoxDecoration(
              color: widget.color,
              borderRadius: BorderRadius.circular(14),
            ),
            padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 14),
            child: Text(
              widget.name,
              style: const TextStyle(fontSize: 20, color: Colors.white),
              textAlign: TextAlign.center,
            ),
          ),
        ),
      ),
    );
  }
}

I have the same issue.


Various CSS tweaks and optimizations

Update font-family used for UI and sans-serif theme to be even more compatible with various operating systems (courtesy Bootstrap).
Set touch-action on .items to prevent browser navigation. This primarily affects browsers like Microsoft Edge (Chromium) or Chome where horizontal swiping is used on touch devices to navigate the browser forwards/backwards. Swiping to toggle read/unread state in a list would cause unwanted browser navigation. This CSS directive prevents that (browser navigation is disabled only in the .items list, everywhere else it works as expected).
Relocate font-family CSS for .entry-content to their respective serif.css and sans_serif.css files. Also removed duplicate declarations in system.css.
Made .entry-content font-weight variable and declare it in serif.css and sans_serif.css. This fixes a small regression introduced with theme variants (afe1faf). The sans-serif font is already lighter than the serif font so it needs a bit more weight to look roughly the same thickness.
Add CSS for subscript and superscript to prevent them from messing up line-height.

Why not just use sans-serif as the font to use whatever default is set in the browser? Using Ubuntu the font looks bad since this update because Firefox chooses "system-ui" as the font instead of the default I selected in the Firefox settings.

I now applied custom CSS and it looks much better.

The sans-serif font-family is also used as the Miniflux UI font. The idea behind the what's currently there is to make the font the same as what the operating system uses, where possible. This way Miniflux is just another application being run on the system (whether that be Windows, Mac, whatever). I did test this commit on Windows 10, Debian 10, iPadOS and iOS to ensure it rendered properly.
If you're overriding the browser's default font, then it serves to reason you should override Miniflux's as well.


Create a type stub file (for static type checkers like mypy)

There are no currently no type hints for docopt.  A type stub file would be nice to add to typeshed.  See docs there on how to do it (starting with stubgen).
As an example, right now when you use type hinting and check with mypy you get warnings as per below:
$ echo "import docopt" > example.py
$ mypy ./example.py
example.py:1: error: No library stub file for module 'docopt'
example.py:1: note: (Stub files are from https://github.com/python/typeshed)
Found 1 error in 1 file (checked 1 source file)

Other tools (e.g. pyright) may not warn, but would definitely benefit from a type stub.

I confirm this.
Declaring types of return structure would be nice.
I like how it's done in the JavaScript/TypeScript world. You can always try your luck by simply prefixing an untyped package with '@types/' and - voilà, chances are there is a stub for it.

Workaround is to add something like
[mypy-docopt]
ignore_missing_imports = True

to your mypy.ini. Still, this is just a workaround, till docopt adds proper type checking

Hey @sebastian-philipp @OnkelTem @rwarren, I took a stab at adding a stub to typeshed. If any of you had time to review that PR (python/typeshed#5248), it would probably be very helpful. The typeshed maintainers are familiar with typeshed, but they aren't at all familiar with docopt, and so perhaps your domain knowledge might be helpful. No pressure at all though 😄 Thanks!

OK, that PR was merged. If I understand correctly, mypy should start including the stub in new versions (I don't understand by what mechanism or how quickly that will happen, however...) @rwarren do you want to close this issue if this is solved for you?


Serial connection error in UWP C++/CX

Hello, been working to resolve this for some time now, but I am completely blocked. I am trying to create a custom ground control app in UWP with C++/CX but I cannot connect to the pixhawk via serial. I have successfully linked the mavsdk library with the app but when I run
mavsdk::ConnectionResult connection_result = m_Mavsdk.add_any_connection("serial://COM7");
in the constructor of the MainPage, I get a ConnectionError result.
I have been able to create a separate C++ console app and was able to successfully connect to my pixhawk.
Thank you so much for your help.

Which ConnectionError result? I assume the parse error? I think you forgot the baudrate, e.g.:
 mavsdk::ConnectionResult connection_result = m_Mavsdk.add_any_connection("serial://COM7:57600");

Hello thanks for the reply, unfortunately adding the baudrate did not solve the problem. I believe according to the documentation, if no baudrate is specified it defaults to 57600, which is the baudrate set on my pixhawk.
Also as I mentioned earlier, this same code functions correctly when I use it in a pure C++ console app, the problem occurs when I try using it in a UWP C++/CX app. I have attached below the context in which I am using it: it is in the constructor of the MainPage and I am using a switch case on the connection_result along with a message dialog box in UWP to determine which is the error. This results in a ConnectionError each time.
MainPage::MainPage()
{
    InitializeComponent();

    mavsdk::Mavsdk m_Mavsdk;
    mavsdk::ConnectionResult connection_result = m_Mavsdk.add_any_connection("serial://COM7:57600");

    MessageDialog^ msg;

    switch (connection_result)
    {
    case mavsdk::ConnectionResult::Success:
        msg = ref new MessageDialog("Success");
        break;
    case mavsdk::ConnectionResult::Timeout:
        msg = ref new MessageDialog("Timeout");
        break;
    case mavsdk::ConnectionResult::SocketError:
        msg = ref new MessageDialog("SocketError");
        break;
    case mavsdk::ConnectionResult::BindError:
        msg = ref new MessageDialog("BindError");
        break;
    case mavsdk::ConnectionResult::SocketConnectionError:
        msg = ref new MessageDialog("SocketConnectionError");
        break;
    case mavsdk::ConnectionResult::ConnectionError:
        msg = ref new MessageDialog("ConnectionError");
        break;
    case mavsdk::ConnectionResult::NotImplemented:
        msg = ref new MessageDialog("NotImplemented");
        break;
    case mavsdk::ConnectionResult::SystemNotConnected:
        msg = ref new MessageDialog("SystemNotConnected");
        break;
    case mavsdk::ConnectionResult::SystemBusy:
        msg = ref new MessageDialog("SystemBusy");
        break;
    case mavsdk::ConnectionResult::CommandDenied:
        msg = ref new MessageDialog("CommandDenied");
        break;
    case mavsdk::ConnectionResult::DestinationIpUnknown:
        msg = ref new MessageDialog("DestinationIpUnknown");
        break;
    case mavsdk::ConnectionResult::ConnectionsExhausted:
        msg = ref new MessageDialog("ConnectionsExhausted");
        break;
    case mavsdk::ConnectionResult::ConnectionUrlInvalid:
        msg = ref new MessageDialog("ConnectionUrlInvalid");
        break;
    case mavsdk::ConnectionResult::BaudrateUnknown:
        msg = ref new MessageDialog("BaudrateUnknown");
        break;
    default:
        break;
    }

    msg->ShowAsync();
}

Finally, what do you mean by the parse error? Isn't the function add_any_connection responsible for basically checking whether the specified URL exists?
Thank you so much once again.

this same code functions correctly when I use it in a pure C++ console app, the problem occurs when I try using it in a UWP C++/CX app

I am not familiar with UWP apps. Does it have access to the serial port, or is there some kind of permission system?

There is a permission system, but I made sure to add serial communication as a capability. It is defined this way:
  <Capabilities>
    <Capability Name="internetClient" />

    <DeviceCapability Name="serialcommunication">
      <Device Id="any">
        <Function Type="name:serialPort" />
      </Device>
    </DeviceCapability>
  </Capabilities>

If it works in a bare CLI app and not with UWP, I would look into that permission system more closely :innocent:


Add wisehosting to supported hosting providers

Maybe it better fits in the built-in section?

If you're offering full auto configuration for the plugin (e.g. using system properties), or some other method that doesn't require further user input, sure - feel free to move it.


is the project still alive?

Is the project still alive and is there a roadmap that I can follow to know when it will be distributed/ distributed processing ready?

Yes, it is.
I have taken a break lately but am going to be getting back into it soon. However, as a solo effort this will never get where it needs to get to so it will take more contributors to make this really happen.
I am planning on updating the roadmap in the next couple of weeks along with a blog post to try and get people interested in contributing.


Pylance 2020.7.1 not working

Issue Type: Bug
My Pylance ver just got upgraded to 2020.7.1. Since the upgrade, Pylance has stopped working.   I have de installed and tried the earlier ver 2020.7.0 which seems to work.
Extension version: 2020.7.1
VS Code version: Code 1.47.0 (d5e9aa0227e057a60c82568bf31c04730dc15dcd, 2020-07-09T08:02:06.629Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz (4 x 2295)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.88GB (1.68GB free)

Process Argv
.

Screen Reader
no

VM
0%

2020.7.0 had a significant regression which prevented a number of features from working including all diagnostics. I wouldn't recommend using it (even over 2020.6.1).
Can you provide any other information? Our bug template should have asked for logs, screenshots, etc, which would help us in identifying the problem.

Withdrawing this issue. It seems to working fine. It might have something to do my i5 laptop. It seems working fine. I have have also tested it on my i7 machine. Both seem to working now.


Use redux-toolkit to reduce boilerplate code

Related: #3144
redux-toolkit reduces a lot of boilerplate code needed for Redux.

thanks @tacigar!


Logstash-input-wmi win32ole invalid ELF header

I have logstash 7.9 instaled on centos-release-7-8.2003.0.el7.centos.x86_64. I installed logstash with yum and wmi plugin with command "/usr/share/logstash/bin/logstash-plugin install logstash-input-wmi". When I run logstash and want to try my test config
    input {
      wmi {
        query => "select * from Win32_Process"
        host => "<IP_ADDRESS>"
        user => "domain\user"
        password => "password"
      }
    }

output {
 file {
   path => "/var/log/logstash/test.log"
 }
}

I got bellow error messages:
Sep 03 12:12:12 name.of.server logstash[16325]: [2020-09-03T12:12:12,379][INFO ][logstash.javapipeline    ][main] Pipeline Java execution initialization time {"seconds"=>0.79}
Sep 03 12:12:12 name.of.server logstash[16325]: [2020-09-03T12:12:12,394][INFO ][logstash.inputs.wmi      ][main] Registering wmi input {:query=>"select * from Win32_Process"}
Sep 03 12:12:12 name.of.server logstash[16325]: OpenJDK 64-Bit Server VM warning: You have loaded library /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/jruby-win32ole-0.8.5/lib/racob-x64.dll which might have disabled stack guard. The VM will try to fix the stack guard now.
Sep 03 12:12:12 name.of.server logstash[16325]: It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Sep 03 12:12:12 name.of.server logstash[16325]: warning: thread "[main]-pipeline-manager" terminated with exception (report_on_exception is true):
Sep 03 12:12:12 name.of.server logstash[16325]: LoadError: load error: win32ole/win32ole -- java.lang.UnsatisfiedLinkError: /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/jruby-win32ole-0.8.5/lib/racob-x64.dll: /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/jruby-win32ole-0.8.5/lib/racob-x64.dll: invalid ELF header (Possible cause: endianness mismatch)
Sep 03 12:12:12 name.of.server logstash[16325]: require at org/jruby/RubyKernel.java:974
Sep 03 12:12:12 name.of.server logstash[16325]: require at /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/polyglot-0.3.5/lib/polyglot.rb:65
Sep 03 12:12:12 name.of.server logstash[16325]: <main> at /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/jruby-win32ole-0.8.5/lib/jruby-win32ole.rb:10
Sep 03 12:12:12 name.of.server logstash[16325]: require at org/jruby/RubyKernel.java:974
Sep 03 12:12:12 name.of.server logstash[16325]: require at /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/polyglot-0.3.5/lib/polyglot.rb:65
Sep 03 12:12:12 name.of.server logstash[16325]: register at /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-wmi-3.0.4-java/lib/logstash/inputs/wmi.rb:53
Sep 03 12:12:12 name.of.server logstash[16325]: register_plugins at /usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:226
Sep 03 12:12:12 name.of.server logstash[16325]: each at org/jruby/RubyArray.java:1809
Sep 03 12:12:12 name.of.server logstash[16325]: register_plugins at /usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:225
Sep 03 12:12:12 name.of.server logstash[16325]: start_inputs at /usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:359
Sep 03 12:12:12 name.of.server logstash[16325]: start_workers at /usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:309
Sep 03 12:12:12 name.of.server logstash[16325]: run at /usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:183
Sep 03 12:12:12 name.of.server logstash[16325]: start at /usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:134
Sep 03 12:12:12 name.of.server logstash[16325]: [2020-09-03T12:12:12,476][ERROR][logstash.agent           ] Failed to execute action {:id=>:main, :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Could not execute action: PipelineAction::Create<main>, action_result: false", :backtrace=>nil}
Sep 03 12:12:12 name.of.server logstash[16325]: [2020-09-03T12:12:12,513][DEBUG][logstash.agent           ] Starting puma
Sep 03 12:12:12 name.of.server logstash[16325]: [2020-09-03T12:12:12,528][DEBUG][logstash.agent           ] Trying to start WebServer {:port=>9600}
Sep 03 12:12:12 name.of.server logstash[16325]: [2020-09-03T12:12:12,529][ERROR][org.logstash.Logstash    ] java.lang.IllegalStateException: Logstash stopped processing because of an error: (LoadError) load error: win32ole/win32ole -- java.lang.UnsatisfiedLinkError: /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/jruby-win32ole-0.8.5/lib/racob-x64.dll: /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/jruby-win32ole-0.8.5/lib/racob-x64.dll: invalid ELF header (Possible cause: endianness mismatch)
Sep 03 12:12:12 name.of.server systemd[1]: logstash.service: main process exited, code=exited, status=1/FAILURE
Sep 03 12:12:12 name.of.server systemd[1]: Unit logstash.service entered failed state.
Sep 03 12:12:12 name.of.server systemd[1]: logstash.service failed.
Sep 03 12:12:12 name.of.server systemd[1]: logstash.service holdoff time over, scheduling restart.
Sep 03 12:12:12 name.of.server systemd[1]: Stopped logstash.
-- Subject: Unit logstash.service has finished shutting down
-- Unit logstash.service has finished shutting down.
Sep 03 12:12:12 name.of.server systemd[1]: Started logstash.

Sep 03 12:12:12 name.of.server logstash[17412]: OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.

Java version is
openjdk version "11.0.7" 2020-04-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.7+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.7+10-LTS, mixed mode, sharing)

I don't really know how to approach this error. I have found no solution to this on google.
I would be really grateful if you help me with solving this problem.

I guess this just still does not work on Linux.


Upgrade to RN v0.62

Released 2020-03-26. Release notes:
https://reactnative.dev/blog/2020/03/26/version-0.62
and shorter version: https://github.com/facebook/react-native/releases/tag/v0.62.0
(This is for a version that isn't released yet :slightly_smiling_face:, so there's no work to do on it right now. Filing to have an identifier to refer to this upgrade by.)
We also won't start real work on this upgrade until after #3781, the upgrade to RN v0.61, is complete. Which it is!
Changes include:

Flow v0.113. In particular this means:

(Flow v0.106) Changes to object spreads
(Flow v0.111) More changes to object spreads; see comment below
(Flow v0.112) Support for method calls in optional chains, like foo?.bar()

Upstream's list of breaking changes is short, and from a quick grep we don't appear to be affected by any of them.
Advertised improvements include:

Support for Flipper, a developer tool. This is the change upstream seems most excited to talk about. May be handy -- certainly we should play with it once we're on this version!

A small API for getting the user's system-wide preference for a light or dark color scheme. I'd been thinking we should do this, particularly as it's now an OS feature (both Android and iOS) to have the theme change automatically on a daily cycle. I guess since this upgrade is coming and will make it easy, it makes sense to wait for that.

We’re adding the new LogBox error and warning experience as an opt-in

Should try this one too, once upgraded.

React DevTools v4, as mentioned above. Specifically:

React DevTools v4: This change includes an upgrade to the latest React DevTools which offers significant performance gains, an improved navigation experience, and full support for React Hooks.

Just a note so we don't forget it — there's a handy guide, with screenshots, to changing some things via the Xcode UI, at https://github.com/react-native-community/upgrade-support/issues/13.

Although we should always do our best to keep up with the latest versions of all our dependencies, it initially appears that the list of ones we'll be required to upgrade, for RN v0.62 compatability, is short! Just to see whether the list was long or short, I tried upgrading to v0.62 on a local branch and handled peer dependency warnings one by one. (Of course, there could still be issues that aren't declared in peer dependencies.)

react (as expected)
react-native-webview—I get no errors with the current latest, 10.3.2. I believe we'll have to move to at least 10.1.0 in the same commit as the RN upgrade; see discussion.
jest-expo (if using; see https://github.com/zulip/zulip-mobile/pull/4152): v38.0.2, currently the latest, works fine.

At https://github.com/zulip/zulip-mobile/pull/4101#discussion_r464736464 , we just learned of another nice thing we'll get with this upgrade: the newer Flow version will support method calls in optional chains, like foo?.bar() (and IIUC also foo?.bar.baz().)

In the tradition of https://github.com/zulip/zulip-mobile/issues/3781#issuecomment-642151537 and https://github.com/zulip/zulip-mobile/issues/3548#issuecomment-638372833, here's a list of changes from the upgrade helper that we don't take:
Platform-agnostic

A change to .gitattributes. This seems to be an artifact of the rn-diff-purge process; the change was never made in the react-native repo, and it didn't even show up for me in a react-native init at version 0.62.2.

Making App.js (which corresponds to our ZulipMobile.js) @flow strict-local instead of @flow, in facebook/react-native@e36247030. Ours was already @flow strict-local.

The following note in orange, as a comment on the diff:

If you are using Hermes Engine and ProGuard, make sure to update the rules in proguard-rules.pro to what is specified in the documentation for 0.62.

Just like in the v0.60 upgrade, we leave this step to be done naturally in #4131. The doc for v0.60 indicates one line to be added; the v0.62 doc indicates that line plus one more.

A change to ios/RnDiffApp.xcodeproj/xcshareddata/xcschemes/RnDiffApp-tvOS.xcscheme. (We're still not in the TV business. 😉)

In the AndroidManifest.xml, setting android:launchMode="singleTask", corresponding to facebook/react-native@7a4259643. We've already been doing this, since 69bb215a4. I posted here about this change, just in case it might help us understand some stuff we've been working with about Android "activities".

Updating the Jitpack URL, as done in Facebook/react-native@018b7485e. We've decided not to use Jitpack; see https://github.com/zulip/zulip-mobile/issues/3781#issuecomment-642151537 and https://github.com/zulip/zulip-mobile/pull/4150#discussion_r439138099.

Upgrading babel-jest and @react-native-community/eslint-config, as is done in facebook/react-native@babf67f11. We don't use these dependencies.

Marking as blocked on #4248; see discussion.


TEPHRA-162 Ensure TransactionVisibilityFilter cooperates with other filters

JIRA - https://issues.cask.co/browse/TEPHRA-162

Changes LGTM :+1:

Thanks @gokulavasan, I'll port the changes to other compat modules.

@gokulavasan I have ported the changes over to other compat modules. Please review.

Finished review. Few comments. Rest LGTM :+1:

@gokulavasan Addressed comments. Will squash and merge.

LGTM :+1:


I want to implement this function

中文
当我们回复客户的时候,发送一个URL链接, 客户点击该链接后,在宿主APP中跳转到指定的页面,请问有办法监听到客户点击的某个消息链接吗
English
When we reply to the customer, we send a URL link. After the customer clicks the link, it will jump to the specified page in the host APP. Is there a way to monitor a certain message link clicked by the customer?

Listen to the user's click on the "URL" message event, and execute the jump in the APP

Hi @mdddj, Thanks for reaching out.
We are planning to add an option to create a handler for links in one of our upcoming updates.
We will be keeping posted here as soon as the update rolls out.

Hi @mdddj, Thanks for reaching out. We are planning to add an option to create a handler for links in one of our upcoming updates.
We will be keeping posted here as soon as the update rolls out.

Okay thank you

Hi @mdddj ,
Sorry for the delayed release. We have implemented your above requirement in the latest update. Please check out the version 2.0.0. For more details about the implementation please refer to this documentation with handleURL event.
Regards,
Bhahirathan M,
ZohoSalesIQ.


Add support for command ZPOPMIN

Add support for the ZPOPMIN command in DiceDB similar to the ZPOPMIN command in Redis. Please refer to the following commit in Redis to understand the implementation specifics - source.
Write unit and integration tests for the command referring to the tests written in the Redis codebase 7.2.5. For integration tests, you can refer to the tests folder. Note: they have used TCL for the test suite, and we need to port that to our way of writing integration tests using the relevant helper methods. Please refer to our tests directory.
For the command, benchmark the code and measure the time taken and memory allocs using benchmem and try to keep them to the bare minimum.

@JyotinderSingh I would like to work on this

@JyotinderSingh I would like to work on this

Assigned.

@JyotinderSingh This issue can be closed now


Add working reload command

This PR fixes FOUR subtle bugs that worked in perfect coordination to leave the UI in a completely broken state silently after running the restart agent command. Also, now the command is accessible only via Eclipse's command palette.
Test plan

open chat view
ask some question
press Cmd + 3
start typing Restart Cody Agent
once the command shows up, press Enter

After a few seconds, Chat View should refresh and still work correctly.
Future improvement
There should be some indication that Cody is reloading. We can show the spinner or fade the review.

So out of curiosity, what was causing the bug? I see a bunch of calls moved onto the UI thread and ensuring that we use the current version of the agent. Was it stale references?

Ah I just saw the thread in slack. So yes, stale references to agent.

Stale references were one issue. When that was fixed, I observed that connectWebviewToBrowser was never called. That was caused by the browserField.refresh() call from the worker thread. This error was caught and would be logged, but the error handling code first tries to dispose of the agent. That caused another exception, again caused by illegal thread access. The code that caused it was outside of any try, so it just crashed a worker thread.
I was surprised that the second exception was a NullPointerException. This was because getActiveWorkbenchWindow()returns null when accessed from a worker thread. While it is documented, it is still weird and inconsistent with the rest of Eclipse API.


NBA League Pass

Can you help me how to use it for nba league pass streams ?

Hello @furkyto ,
The script is written in plain python to allow other users to easily modify as per their use cases. I hope that you can implement what you want if you try to read through the script.


feat: allow optional field in lint

This PR adds a new feature to allow optional fields not defined in the spec, and fixes a bug that occurred when the YAML format was invalid.
Additionally, I discovered that closing and reopening the PR forces GitHub to re-trigger the existing PRs that the workflow associated with it.

By the way, I noticed an issue with the threat/actor/apt33-elfin.yaml file - the YAML format appears to be invalid. This could lead to errors being displayed across all workflows since the file is in the main branch.

No worries.
I am devising a mechanism to avoid this kind of error in the future, therefore leave the error there for testing.


[Feature]: Allow checking for events in unit tests

What is the feature you would like to see?
Allow checking for events emitted during test run. Will increase code coverage.
Contribution Guidelines

[X] I agree to follow this project's Contribution Guidelines

Would be awesome that on failure we have logs that print out both the expected event details and the actual event details, similar to https://github.com/OpenZeppelin/rust-contracts-stylus/issues/454


Comments of some eloquent functions confuse IDE autocomplete

Laravel Version: 5.4.30
PHP Version: 7.0.13
Database Driver & Version: MariaDB 10.1.19

Description:
Some eloquent function (eg. first(), all()) comment confuse IDE, autocomplete cannot recognise
In laravel 5.3, the return value in comment of first() is:
"\Illuminate\Database\Eloquent\Model|static|null"
and the autocomplete (i am using ide-helper and phpstorm) work well
and in laravel 5.4, the comment become "mixed" and the IDE cannot recognize the type of the return object
Steps To Reproduce:

Use phpstorm and install ide-helper repo (https://github.com/barryvdh/laravel-ide-helper)
Run "php artisan ide-helper:generate" or "php artisan ide-helper:model"
Calling first() function of an eloquent object and nothing will popup

self-fix for the issue:

Go to ./vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php
Go to first() function return part, in my case is line 71 (also applicable for other function that should return a model object)
Change the word "mixed" to static (in Laravel 5.3, it is \Illuminate\Database\Eloquent\Model|static|null)
Run "php artisan ide-helper:generate" or "php artisan ide-helper:model"
Calling first() function of an eloquent object and now autocomplete work well

This is not a laravel error in my opinion. You can also first in a non-static way i believe.
App\User::select(['id','name'])->where('status',1)->first();

You should post this issue in ide-helper repo.

Yes, this is not any error, but the new comment "mixed" make the IDE cannot distinguish the possible return object so I just want the comment revert to original (i.e. "\Illuminate\Database\Eloquent\Model|static|null").
The self-fix is just for making the IDE work only, I believe the autocomplete function is quite important and convenient for developers.

Hi,
I have added a PR for this #20254.


Integration with Optuna [Feature]

Is there any plans to integrate with optuna hyperparameter optimization?

Hi @kurucan we don't have plans to build a special integration with Optuna right now, but W&B logging should work out of the box with Optuna. Have you tried logging experiments from Optuna with W&B?

Hi, I'm a part-timer in Optuna team. We'll plan to implement W&B integration as a callback function in Optuna! Please check https://github.com/optuna/optuna/issues/2553 for more details and updates.

@nzw0301 this is awesome!  Let us know if we can help in any way.

@vanpelt Thank you for your kind reply! Currently, we (optuna team) are reviewing the pull request https://github.com/optuna/optuna/pull/2781 that implements wandb callback functionality for optuna. We really appreciate your comments if there are some points we're missing!

@vanpelt @nzw0301 Is it possible to make a simple tutorial for using optuna with wandb? I really like the plot_parallel_coordinate(study) and plot_param_importances(study). Is there a way to upload the results of optuna in wandb dashboard?

... @nzw0301 Is it possible to make a simple tutorial for using optuna with wandb?

@yifanwu2828 Sorry for the delayed response. I think your question is already resolved, but let me share a recent blog post I've written about Optuna and WandB https://medium.com/optuna/optuna-meets-weights-and-biases-58fc6bab893. I hope this might be useful for you.


KeyDown event not able to distinguish between left and right modifer keys.

The VirtualKeys enum shows 17 as the code for the 'general' control key code, and 162 for the left control key code.
I am obtaining a VirtualKey from my KeyDown event in a textbox (WinUI3).  In WinUI 3, the event that is triggered is KeyRoutedEventArgs, as opposed to KeyEventArgs in WPF. I am then displaying the pressed key (while the textbox is in focus) as shown below:

In this case, I am pressing left control on my keyboard. I am expecting to get 162, which is the code for left control, but instead I am getting 17, as shown below.

I have discarded the possibility that my actual keyboard does not distinguish between left and right control by including Keyboard.IsKeyDown(Key.LeftCtrl), which shows up as True (i.e. it knows that I am pressing left control instead of right control).
I am confused as to why the VirtualKey does not show up as 162.

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

ID: cf98772b-2d62-70f3-9a17-0e6bf58a236a
Version Independent ID: d32568d4-d904-46e3-254d-43a240d2a37f
Content: VirtualKey Enum (Windows.System) - Windows UWP applications
Content Source: winrt-api-build/xml/Windows.System/VirtualKey.xml
Product: uwp
Technology: winrt-reference
GitHub Login: @hickeys
Microsoft Alias: hickeys

@tuffstuff9 these virtual key events and their values are inherited from corresponding Win32 WM_KEYDOWN etc messages.
If you want to distinguish left-right SHIFT/CTRL/ALT you have to inspect KeyRoutedEventArgs.KeyStatusScanCode.
In Win32 you can do this like this (as in example here):
switch (vkCode)
{
case VK_SHIFT:   // converts to VK_LSHIFT or VK_RSHIFT
case VK_CONTROL: // converts to VK_LCONTROL or VK_RCONTROL
case VK_MENU:    // converts to VK_LMENU or VK_RMENU
    vkCode = LOWORD(MapVirtualKeyW(scanCode, MAPVK_VSC_TO_VK_EX));
    break;
}

Not sure if MapVirtualKey is available in UWP. If not - you can just borrow scan code values from the page I have mentioned and do conversion manually.


No Log Out After Password Change

I changed the password on my account and suspect that has caused my instance of jellyamp to no longer show any of my music. There are no present options to log out or notifications that it failed to log in. Uninstalling and reinstalling jellyamp does not remove log in information and doesn't appear in any obvious location for editing or deleting.

If you follow the steps from this ticket, you can resolve this issue: https://github.com/m0ngr31/jellyamp/issues/9

But I'm going to make a settings page where you can logout manually.

This is done now.


BUG: jupyter loading of serialized modin objects from ray tasks converts to pandas objects

Modin version checks

[X] I have checked that this issue has not already been reported.

[X] I have confirmed this bug exists on the latest released version of Modin.

[X] I have confirmed this bug exists on the main branch of Modin. (In order to do this you can follow this guide.)

Reproducible Example
import ray
ray.init()

@ray.remote
def test():
    import modin.pandas as pd

    df = pd.DataFrame({
        'A': [1, 2, 3],
        'B': [4, 5, 6]
    })

    print(type(df)) # <class 'modin.pandas.dataframe.DataFrame'>
    return df

df = ray.get(test.remote())
print(type(df)) # <class 'pandas.core.frame.DataFrame'>

Issue Description
Hi! i am trying to integrate modin with jupyter environments and noticed unexpectedly that when dataframes are passed to/from ray tasks, they serialize to pandas objects. While this is fine for toy examples, I am concerned about unexpected OOMs popping up during interactive work with large datasets.
Expected Behavior
My expectation is the objects would deserialize to the same objects with whatever cluster refs to continue manipulating the underlying data.
Error Logs
No errors. Just inline type changing.
 This also happens if you pass in a modin dataframe to a ray task, like
import modin.pandas as pd
import ray

@ray.remote
def test(df: pd.DataFrame) -> None:
    print(type(df))    # <class 'pandas.core.frame.DataFrame'>

df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
})

print(type(df)) # <class 'modin.pandas.dataframe.DataFrame'>
test.remote(df)


Regarding deep font

@erikbern How can I use the trained model to detect the font, for example:
I have a scanned image and want to detect the used font name in that image, anyway?
waiting for your reply

Sorry, I don't have that data!


Renamed accessConditions -> conditions everywhere in DataLake, consol…

…idated *Extension classes in to DataLakeExtensions, renamed GetLeaseClient() methods GetDataLakeLeaseClient(), and applied PathUpdateResultExtension fixes.
Resolves #8382, #8384, #8385, #8418

I'll hold off on the merge until @tg-msft takes a look


Add Documentation Surrounding How to sanitize/process requests for sensitive data

Problem
The old raven library had processors you could add to your configuration to sanitize your HTTP requests such as Raven_Processor_SanitizeDataProcessor. These Processors were removed in the upgrade to 2.0.0: https://github.com/getsentry/sentry-php/blob/master/UPGRADE-2.0.md. I want to be able to replicate this behavior in the newest version of the library. However, I can't find much on how to do that in either this repository or the official documentation. The closest I could find is this thread in the python version of the library: https://github.com/getsentry/sentry-python/issues/211, which references using before_send. The php version of the library has this same function, however, there isn't a good example of using it as far as I can see.
What I want
I would love to have a simple code snippet demonstrating how to sanitize an http request for different headers/cookies that may contain API keys and other sensitive information.
Something like how to accomplish this from the old library:
'processorOptions' => array(
    'Raven_Processor_SanitizeDataProcessor' => array(
                'fields_re' => '/(user_password|user_token|user_secret)/i',
                'values_re' => '/^(?:\d[ -]*?){15,16}$/'
            )
)

Thanks for your time!

First of all, I strongly suggest you to investigate Relay which was born for the exact purpose of sanitizing data from events before sending it to the server. Yes, it's another piece of infrastructure to maintain, but it has a lot of built-in features like regex matches and so on so that you don't have to code themselves in your applications. If you still want to stick with using the plain SDK, the before_send callback is for sure one way to go, but be aware that it works only for events and not transactions (if you're using the Tracing feature)
\Sentry\init([
    'before_send' => static function (Event $event): Event {
        $request = $event->getRequest();

        // Apply logic here to sanitize the request data. Payload details can be found at https://develop.sentry.dev/sdk/event-payloads/request/#attributes

        $event->setRequest($request);

        return $event;
    }
]);

There is even an easier solution if you set send_default_pii = false: by configuring the RequestIntegration you can customize which headers you want to be filtered, but it doesn't work for cookies and the feature simply matches a list of header names against the ones that you configured, so there are no fancy stuffs like matching against a regex or whatever else

Check also for server-side options too: https://docs.sentry.io/product/data-management-settings/scrubbing/server-side-scrubbing/

I’m closing this because I think the answer is enough explanatory. Feel free to reopen should you still have issues


Invalid PostCSS Plugin found

Hi, I'm trying to extract some media queries from my css bundles, but unfortunately plugin is not working.
ERROR in ./node_modules/css-loader!./node_modules/postcss-loader/src!./node_modules/jscrollpane/style/jquery.jscrollpane.css
    Module build failed: TypeError: Invalid PostCSS Plugin found at: plugins[0]

Here is my postcss.config.js
const path = require('path');

module.exports = {
    plugins: [
        {
            'postcss-extract-media-query': {
                output: {
                    path: path.join(__dirname, 'dist'),
                    name: '[name]-[query].[ext]'
                },
                queries: {
                    'screen and (min-width: 1024px)': 'desktop'
                }
            }
        }
    ]
}

Postcss works fine without this plugin. I'm using webpack 3 with it.
Part of my package.json
    "postcss": "^7.0.14",
    "postcss-extract-media-query": "^1.2.0",
    "postcss-loader": "^3.0.0",

Do you have any idea why it's not working?

@Alexandr-Lazariev I've updated the webpack example to use the latest version of postcss-loader.
It's still working afterwards.
However I'm using webpack 4, not 3.
Have you considered upgrading to 4?

Hey, thanks for reply, actually my issue was related to incorrect path, instead of using 'dist' I should have used 'assets', as simple as that.
However, I'm still facing another issue, I have a lot of css files in my assets folder and I'm not sure how can I use entry and output setting to have multiple query files from multiple entries with different names
 entry: path.join(__dirname, outputPath + '/*.css'),
    output: {
        path: path.resolve(__dirname, outputPath),
        name: '[name]-[query].css'
    },
    queries: {
        'only screen and (min-width: 1025px)': 'desktop'
    },
    minimize: true,
    whitelist: true,
}

The output file name is:  *-desktop.css
and I want to have:
global-desktop.css
specific-desktop.css

I guess the whole problem is
path.join(__dirname, outputPath + '/*.css')
But I'm not sure what should be here instead

yup, the problem is starting there

I haven't implemented glob support and thus *.css is considered as one file
the entry option is not built to support multiple entries but only one file, assuming the postcss plugin is executed per file (either manually or via bundler/task runner)

Please provide your webpack config & package.json so I can reproduce the issue.


Update README.md

updated certification list youtubers list

PwnFunction is also a good channel and has a playlist of web hacking. Although he is a new youtuber with currently 15 videos


Rename --channel-id to --channelID in osadmin

Type of change

Improvement (improvement to code, performance, etc)

Description

Rename --channel-id flag in osadmin to --channelID to match the rest of fabric flags

thanks for your PR! It looks like you may have missed one spot here
https://dev.azure.com/Hyperledger/Fabric/_build/results?buildId=29062&view=logs&j=6b58850f-3858-5a05-33e2-5e41cbf03c4e&t=bddec1cf-ba37-5883-9c3e-fd1e8608f9a1&l=98

thanks for your PR! It looks like you may have missed one spot here
https://dev.azure.com/Hyperledger/Fabric/_build/results?buildId=29062&view=logs&j=6b58850f-3858-5a05-33e2-5e41cbf03c4e&t=bddec1cf-ba37-5883-9c3e-fd1e8608f9a1&l=98

@lindluni Can we backport this to relase-2.3? Not sure I have authority to do that?

@lindluni Can we backport this to relase-2.3? Not sure I have authority to do that?

@Mergifyio backport release-2.3

@Mergifyio backport release-2.3

@sykesm @ale-linux @lindluni Shouldn't a flag change require an associated release note entry? I'm good with the change since it is so soon after the introduction in v2.3.0 release and therefore not many people are using it yet, just want to make sure maintainers identify release note candidates during review. I'm happy to do this one since it already got merged.

@sykesm @ale-linux @lindluni Shouldn't a flag change require an associated release note entry? I'm good with the change since it is so soon after the introduction in v2.3.0 release and therefore not many people are using it yet, just want to make sure maintainers identify release note candidates during review. I'm happy to do this one since it already got merged.


Feedback on the diagram under 2. VPN Forced Tunnel with a small number of trusted exceptions

That diagram is not useful.  We're talking split tunnel so either the traffic goes out the user's internet or it rides the tunnel to the Corp site and goes out the internet there.  That diagram doesn't make it clear, at all, which traffic is doing which.  Oh... I figured it out.  Yeah, it's a crappy diagram.  To fix it put the user in a little box with a connection to the internet. Show tunneled traffic going back to Corp and non-tunneled traffic going straight to MS.  Do NOT point those in opposite directions, they both go out the internet.  Remove that VPN device or rename it to "VPN Concentrator" or something.  I have users with Meraki's at home and I thought that was the VPN device.
The main point of confusion is the line that says "internet traffic" and a separate line that goes in a different direction and says "optimize category traffic".   That's very wrong.  The optimize traffic is also "internet traffic" and it goes out the same local internet.
Maybe just change the "Internet traffic" label to say "tunneled traffic" and the "Optimize category traffic" (very awkward phrasing) to "non-tunneled traffic".

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

ID: 765a6748-f76a-55ab-af72-ebc85112cb3e
Version Independent ID: 765a6748-f76a-55ab-af72-ebc85112cb3e
Content: Common VPN split tunneling scenarios for Microsoft 365 - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/microsoft-365-vpn-common-scenarios.md
Service: o365-administration
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@kelleyvice-msft Please help us in resolving this issue. Thanks

Thanks for reaching out. I agree that these diagrams can be confusing, and I'm working with the product team to improve them. -Kelley


"来園者" needs to be replaced with "ゲスト"

Strongly recommend to replace "来園者" with "ゲスト" , I can see "来園者" is used as a localized Japanese word of "guest" in English, however, it should be "ゲスト" which stands for guest user of Office 365.

ドキュメントの詳細
⚠ このセクションを編集しないでください。 docs.microsoft.com で必須です ➟ GitHub の問題のリンク。

ID: 41bcfce7-bfcf-f2da-f752-36ac0e497b78
Version Independent ID: 880faa66-d243-6598-ae24-cf0e4d5a7c16
Content: Office 365 テナント間コラボレーション
Content Source: Enterprise/office-365-inter-tenant-collaboration.md
Service: o365-administration
GitHub Login: @chrfox
Microsoft Alias: chrfox

Strongly recommend to replace "来園者" with "ゲスト" , I can see "来園者" is used as a localized Japanese word of "guest" in English, however, it should be "ゲスト" which stands for guest user of Office 365.

@hyoshioka0128 - thanks for the feedback, I'll get this over to the Enterprise content team for clarification.

https://docs.microsoft.com/ja-jp/office365/enterprise/office-365-inter-tenant-collaboration

@MollyMalone, can you take a look at this when you get a chance? Thank you!!

Working on a fix (Bug 3205383)

@MollyMalone , @hyoshioka0128 Article is HumanTranslated and published live. The word "guest" updated as requested

@OfficeGlobal  Thanks.


New Test Pattern for Unit Testing in Cloud-Nuke

It seems like we are creating various AWS resources on cloud for unit testing. This approach works but it incurs additional cost and we see quite a lot of transient issues (e.g., QuotaLimit, Timeout, ...). We might want to try switching to this recommendation where we use mock implementation to test the behaviour we want - https://aws.amazon.com/blogs/developer/mocking-out-then-aws-sdk-for-go-for-unit-testing/.

https://www.notion.so/gruntwork/Cloud-Nuke-Restructure-Proposal-845f291e952844ae8b0054ad0e466cfc


Force qpy to use version 12

Summary
Force qpy to use version 12, which is used in Qiskit 1.2.4 in service
Details and comments

The better approach for this would be to add an API server side to report the max qpy version supported. Then the client query this and could do basic version negotiation and send the appropriate version. I explained what this would look like in some detail here: https://github.com/Qiskit/qiskit-ibm-runtime/issues/1375

The better approach for this would be to add an API server side to report the max qpy version supported. Then the client query this and could do basic version negotiation and send the appropriate version. I explained what this would look like in some detail here: Qiskit/qiskit-ibm-runtime#1375

Thank you @mtreinish That's a good idea!


search matches only start of string: feature or bug?

If I look for 'AB' I will find 'ABCD'
but searching for 'BC' won't find it. Any idea
how to make it search the entire string?
Edit: I just noticed that advanced search can search based on 'contains'
how can I make this default behavior in basic search?

found the place and changed it.

add operator: 'contains' in your search field


Upgrade provisio to 1.0.16

This allows building and packaging using JDK 16 by upgrading to use a version of XStream that works with JDK 16.
See https://github.com/trinodb/trino/issues/7901 for more details.

Thanks!

@electrum Thanks. Please let me know once a new version is released so that I can get https://github.com/trinodb/trino/pull/7932 ready.

@hashhar Yep. I'm trying to figure out why #11 is not working, since I want to include that


BAU: Test generating dependency files for GitHub security alerts

We can take advantage of the GitHub security alerts feature which sends automated alerts for vulnerabilities detected in project dependencies. This can replace Snyk and is directly integrated with GiHub and enabled for projects using the dependency graph feature. The dependency graph feature is not compatible with Gradle, however, and requires generating POM files for each project. This is easily done with a Maven plugin for Grade and can be done automatically when building or testing the project locally.
To also ensure that the dependency files stay up-to-date, we can make Travis open a pull request if it detects a stale file on the master branch. We already use the GitHub API for Codacy coverage report and we can use the same credentials to open pull requests.
I want to test this for the Proxy Node to see if this would be useful and whether we can extend it to other Verify repos.
Read more on the GitHub blog: Introducing new ways to keep your code secure

Looks good! Might be worth moving the script and the poms out of the snyk namespace though so if all works well we can just drop the snyk dir?

I was planning to test it and then move it elsewhere and get rid of Snyk if it does

@Wynndow Moved the dependencies out of snyk


Efficiency: Improved for loops

Instaed of this:
        for(int a = 0; a < cell->neighbours.size(); a++){
                GridCell *neighbour = cell->neighbours[a];
                if(!neighbour->isDistant(p, squaredSpacing)){
                        return false;
                }
        }

Use Range loops
        for(auto neighbour : cell->neighbours) {
                if(!neighbour->isDistant(p, squaredSpacing)){
                        return false;
                }
        }

A comparison between loops:
http://stackoverflow.com/questions/14373934/iterator-loop-vs-index-loop
The ones I changed don't need the current index.
I left this changes in the CMakelist:
-Wsign-compare -std=c++0x -pthread -lstdc++ -lm

with -Wsign-compare   I detected the for loops basically because in the condition there are comparison between signed and unsigned int.
http://stackoverflow.com/questions/5416414/signed-unsigned-comparisons

Looks good, thanks for the PR!


This closes #863 , closes #889 related to parsing of XmlSuite class

Sending in for Code review before merge

I think I will add some modifications and then push another PR

Ok, but try to propose one PR by issue :) The fix for #889 is almost perfect.


Add feature to support custom now_utc implementations

Description of change
This PR adds a feature to identity_core to allow specifying a custom function to get the current time (Timestamp::now_utc). The feature is disabled by default.
Fixes #1391.
Type of change
Add an x to the boxes that are relevant to your changes.

[ ] Bug fix (a non-breaking change which fixes an issue)
[x] Enhancement (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Fix

How the change has been tested
Added an integration test to identity_core that uses the custom hook.
Change checklist
Add an x to the boxes that are relevant to your changes.

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
@itsyaasir: does this feature require more documentation?
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

@itsyaasir @UMR1352: There will need to be some CI changes as cargo test --workspace --all-features no longer compiles (since the test binaries are missing the custom time implementation but have custom_time enabled).
I.e. testing will need to be split into cargo test --test custom_time --features="custom_time" and running all other tests with custom_time disabled.
I did not touch CI (yet). How would you want me to approach that issue?

@itsyaasir @UMR1352: There will need to be some CI changes as cargo test --workspace --all-features no longer compiles (since the test binaries are missing the custom time implementation but have custom_time enabled).
I.e. testing will need to be split into cargo test --test custom_time --features="custom_time" and running all other tests with custom_time disabled.
I did not touch CI (yet). How would you want me to approach that issue?

We will take care of CI 👌

Thanks a lot!

@itsyaasir: In order to successfully compile identity_core for the target wasm32-unknown-unknown without having a dependency on js-sys, I needed to do the following additional changes: https://github.com/frederikrothenberger/identity.rs/commit/3dd5198c73dca238e98016e96e1cfd33b9ab27ff
Could we include that commit in this PR as well, or would you rather have that separately?

@frederikrothenberger could you try to re-sign your commits? 🙏

@eike-hass: The commits are now signed 👍


Support Sparse Tensors

Feature description
A tensor representation that only stores data for positions where the value non-zero. Operations on sparse tensors could then be optimized based on the fact that most of the tensor is empty and only a few points need to be computed.
Feature motivation
Sometimes I (and others) deal with cases where tensors are always largely empty (often less than 1% full). In such cases, it would much more efficient (memory-wise and computationally) to only store data for indexes that are used. This is especially important for scenarios when the tensor would be very large if it were represented in a dense representation.
(Optional) Suggest a Solution
I don't have a concrete idea how this might be implemented, I imagine existing libraries (such as sprs in rust, or in other ecosystems) can serve as inspiration.

@mosheduminer I was working on a feature like that myself! My goal is to implement graph convolution.
My idea is to use the PyTorch sparse tensor implementation as a new backend with the specific implementation.

@antimora I was thinking about this issue, and I have a specific use case that is that it is common when working with sparse tensors: to make many operations with dense tensors (e.g. matrix multiplications)
So having a separate backend was impractical in those cases. I've come up with the idea to somehow make the Pytorch backend a trait and then implement both the sparse and no sparse (with specific implementations for the sparse x no sparse case).
Do you have any ideas/feelings on that?

If you weren't able to operate on dense on sparse tensors together, would that mean that a modules would need to use the sparse tensor implementation for weights and such? That seems like it might cause problems, no?
BTW when I opened this PR, I assumed that the sparse tensor would somehow be a layer abstracting over a dense tensor (which would only hold the "filled" spots of the sparse tensor).

I'm not sure if the best approach for sparse tensors is to introduce a new kind of tensor in the backend. We now have IntTensor, FloatTensor and BoolTensor, but we could have SparseFloatTensor as well. This way we could have a module function that accepts a mix of sparse tensors and dense tensors. Of course we should make possible the conversion between sparse and dense tensor easily (Into, From). The main problem is that it creates a lot more work to be done by backends.
Another option is to have a backend associative type that points to a backend with sparse tensors. This is the strategy we are using today with the FullPrecisionBackend when you want to be sure the precision is fine to do sentible operations.
pub struct LibTorch<Float, const SPARSE: bool = false>;

impl<Float, const SPARSE: bool> Backend for LibTorch<Float, SPARSE> {
    type SparseBackend = LibTorch<Float, true>;
}

Something like that!

I've been doing a bunch of poking and prodding at this feature for the last couple of weeks. There are three big approaches that I have looked into, but they all seem to have big limitations as far as I can tell.

A new sparse tensor type. Alternatively, a backend decorator that utilizes the underlying backend's tensors to do a more high level sparse matrix representation. For example a sparse tensor in CSR form can be represented with three actual tensors. This seems like the most easy approach, realistically it could even be done as a new crate that extends burn. That said, it kind of goes against the design philosophy of burn by taking the freedom away from backends to decide how sparse tensors are supported (this might even limit performance?).
A new tensor kind. This is the obvious one, and from what I can tell also straightforward to represent. There are however, some challenges:

Every backend would need to support the new tensor kind(s) immediately. This seems like a painfully large change. Throw on top of that all the extra functions for existing tensors to convert to/from and it becomes a lot of work.
The backends are still lacking freedom. It seems from my exploration of the codebase that tensors have one representation in burn (for a single backend), but sparse tensors can be represented in many ways. Think COO, CSR, etc. It seems difficult to let the backend decide if one or multiple representations are used if they all have to conform to one SparseTensorOps trait. Even worse, if we specify the format at the tensor kind instead of backend, now every backend has to implement all required representations. I can imagine this would get verbose quite quickly.

Backend Bridges. These seem on the surface to be the best approach because, much like the FullPrecision bridge, the amount of support for sparse tensors would be up to each backend, and they would have the highest amount of freedom. There are some troubling issues I ran into when I started actually trying to implement a backend bridge though:

A bridged backend still has to implement the normal tensor ops. This should be fine because sparse tensors are looking to merely have a different under the hood representation of the same user facing tensors, however certain operations like cosine are impractical on sparse tensors as they do not preserve zeros.
FloatTensorOps and the other traits like it lack functions unique to a sparse matrix. For example Sparse-Dense-Matrix-Multiplication is not a function in FloatTensorOps for good reason, but would be needed for the sparse backend we are bridging to.
I would really like Backend Bridges to work for this, but the limitations seem quite large unless I'm missing something. A bridge to some kind of SparseBackend instead of Backend might be achievable with a lot of work, but at that we would be better off just add a new tensor kind.

After having run into a bunch of walls with the backend bridges, I think my next approach will be to see if I can take the best of both of the first two approaches and combine them together. I suspect it may be possible to have the SparseXTensorOps and associated primitives with sensible default implementations that abstract over the corresponding FloatTensor, IntTensor and BoolTensor, but which can be overridden by backends such as libtorch which have their own sparse tensor implementations. Of course, only time and the type system will tell me if this is achievable...

I think a mix of 1 and 2 is the best approach, providing default implementations using the existing ops, but making it possible for backends to override those new sparse ops to improve performance.

It has been a very great challenge trying to figure out how to make this work, but I've finally landed on something that works. I threw together a quick mock version in order to verify it, and it all seems sound, so I plan to start actually implementing this for the real back-ends soon.
Here is my small little mockup (names of things are very not final). Feedback or thoughts are welcome:
// ===== The trait definitions for sparse backend stuff + representations

trait ReformatSparseTensor<FROM: SparseRepr, TO: SparseRepr> {
    fn reformat(from: FROM) -> TO;
}

trait SparseTensorOps<B: SparseBackend, REPR: SparseRepr> {
    fn spdmm<const D: usize>(
        s: B::SparseTensorPrimitive<REPR, D>,
        d: <B::DenseBridge as Backend>::TensorPrimitive<D>,
    );
}

trait SparseBackend:
    SparseTensorOps<Self, Self::CSRRepr>
    + SparseTensorOps<Self, Self::COORepr>
    + Sized
    + 'static
    + ReformatSparseTensor<Self::COORepr, Self::CSRRepr>
    + ReformatSparseTensor<Self::CSRRepr, Self::COORepr>
{
    // Bridge back to the dense backend, so we can use its functionality
    type DenseBridge: Backend;

    // The different representations of our sparse tensors
    // SparseRepr is just a supertrait to guarantee some things less verbosely
    type CSRRepr: SparseRepr;
    type COORepr: SparseRepr;

    // The sparse tensor primitive type, generic over the Repr
    type SparseTensorPrimitive<REPR: SparseRepr, const D: usize>: Clone
        + Send
        + 'static
        + core::fmt::Debug;
}

trait Backend: Sized + 'static {
    type SparseBridge: SparseBackend<DenseBridge = Self>;
    type TensorPrimitive<const D: usize>: Clone + Send + 'static + core::fmt::Debug;
    // All the typical backend stuff here...
}

trait SparseRepr: core::fmt::Debug + Clone + Send + Sync + 'static {}

// ==== The *default* "decorator" sparse backend that abstracts over Bs tensor primitives

#[derive(Debug, Clone)]
struct DefaultCOORepr {
    // This would ideally utilize the backends tensor primitives, but that's too much for the mockup
    contents: u32,
}

#[derive(Debug, Clone)]
struct DefaultCSRRepr {
    // This would ideally utilize the backends tensor primitives, but that's too much for the mockup
    contents: i32,
}

impl SparseRepr for DefaultCOORepr {}
impl SparseRepr for DefaultCSRRepr {}

#[derive(Debug, Clone)]
struct DefaultSparseTensorPrimitive<REPR: SparseRepr, const D: usize> {
    contents: REPR,
}

struct SparseDecorator<B: Backend> {
    b: core::marker::PhantomData<B>,
}

impl<B: Backend> ReformatSparseTensor<DefaultCOORepr, DefaultCSRRepr> for SparseDecorator<B> {
    fn reformat(from: DefaultCOORepr) -> DefaultCSRRepr {
        DefaultCSRRepr {
            contents: from.contents as i32,
        }
    }
}

impl<B: Backend> ReformatSparseTensor<DefaultCSRRepr, DefaultCOORepr> for SparseDecorator<B> {
    fn reformat(from: DefaultCSRRepr) -> DefaultCOORepr {
        DefaultCOORepr {
            contents: from.contents as u32,
        }
    }
}

impl<B: Backend<SparseBridge = SparseDecorator<B>>, REPR: SparseRepr>
    SparseTensorOps<B::SparseBridge, REPR> for SparseDecorator<B>
{
    fn spdmm<const D: usize>(
        s: <B::SparseBridge as SparseBackend>::SparseTensorPrimitive<REPR, D>,
        d: <<Self as SparseBackend>::DenseBridge as Backend>::TensorPrimitive<D>,
    ) {
        println!("{:?} x {:?}", s, d);
    }
}

impl<B: Backend<SparseBridge = SparseDecorator<B>>> SparseBackend for SparseDecorator<B> {
    type DenseBridge = B;

    type CSRRepr = DefaultCSRRepr;

    type COORepr = DefaultCOORepr;

    type SparseTensorPrimitive<REPR: SparseRepr, const D: usize> =
        DefaultSparseTensorPrimitive<REPR, D>;
}

// ===== And testing it out:

struct TestBackend;
impl Backend for TestBackend {
    type SparseBridge = SparseDecorator<TestBackend>;

    type TensorPrimitive<const D: usize> = String;
}

fn main() {
    let dense_primitive: <TestBackend as Backend>::TensorPrimitive<1> =
        "Im a dense matrix!".to_string();
    let sparse_primitive: <<TestBackend as Backend>::SparseBridge as SparseBackend>::SparseTensorPrimitive<<<TestBackend as Backend>::SparseBridge as SparseBackend>::CSRRepr, 1> = DefaultSparseTensorPrimitive { contents: DefaultCSRRepr { contents: 12 } };

    dbg!(&dense_primitive);
    dbg!(&sparse_primitive);
    <<TestBackend as Backend>::SparseBridge as SparseTensorOps<
        <TestBackend as Backend>::SparseBridge,
        DefaultCSRRepr,
    >>::spdmm(sparse_primitive, dense_primitive);
}

I tried really hard to make the backend supertrait require implementation of SparseBackend, or something like it, but it ended up being impossible due to type system constraints (without becoming very verbose on the generics). The way I'm doing it now seems plenty extensible (any backend can define a custom SparseBridge, but we also have a handy decorator for backends that can implement sparse tensors without assuming anything about backend details.
The only thing I'm still a little concerned about is having the SparseBackend trait explicitly define the COO, CSR, etc associated types. There isn't an easy way to have a backend which has a custom representation other than misusing one of the existing associated types, or for a backend to only implement a subset of them (without having one of the ATs be meaningless).

I considered that heavily, as it is how I would like to do it too, but struggled to make it work in a satisfying way. Maybe I'm missing something, but my assumption is that with a single representation agnostic sparse backend, it would be impossible to let users swap between representations without multiple bridges? At which point we are just shifting the type definitions from the sparsebackend into the backend so that it might look like:
trait Backend {
    type SparseBridgeCSR: SparseBackend<DenseBridge = Self, CSRRepr>;
    type SparseBridgeCOO: SparseBackend<DenseBridge = Self, COORepr>;
}

But obviously that's just shifting the work off onto the backend. Perhaps you mean to truly only have one sparse bridge/backend? The pain point there is that each representation has meaningfully different costs and benefits depending on the kind of operations and there are reasons users might want to be able to swap between them.
It doesn't feel like there is a clear way to resolve these two conflicts, though I might be limited by my knowledge of rust here.

@McArthur-Alford I wouldn't force backends to actually implement the sparse backend trait; I would consider it to be an optional backend extension that should be opt-in. The same backend could still implement multiple representations by having a generic argument for that representation:
impl<F: FloatElement> SparseBackend for NdArray<F, SparseCsr> {
   ...
}
impl<F: FloatElement> SparseBackend for NdArray<F, SparseCoo> {
   ...
}

In the modeling code:
type MyBackend = NdArray<f32, SparseCsr>;
use burn::tensor::backend::SparseBackend as Backend;

fn inference<B: Backend>(input: Tensor<B, 2>) {
    let input: SparseTensor<B, 2> = input.into_sparse(); // Could be that
    let input: Tensor<B, 2, SparseFloat> = input.into_sparse(); // Or that
    ...
}

In addition, using backend bridges, one should be able to switch between backends, therefore representation, at runtime!

Ok, so I'm making pretty decent progress on this. For the most part it doesn't require any substantial changes to the API because of the approach taken, though there is one change I figured would be convenient for reducing duplicated code (though potentially quite a significant change).
Right now the tensor API has BasicOps<B>. Sparse tensors can only implement some of these basic ops, so for the moment I've broken it up into a BasicOps (shared by all), BasicDenseOps (unique to dense) and BasicSparseOps (unique to sparse) just so that we have some more control there. I could realistically do it with a lot less changes by just having BasicOps and BasicSparseOps, but that would lead to a fair few functions in BasicOps being repeated in BasicSparseOps. I got everything compiling after splitting them up, but there is still quite a bit of reorganizing for me to do as I add sparse ops, so I figured Id check in on what is preferred.
Thoughts?

@McArthur-Alford I think it makes sense to create BasicOps and BasicDenseOps, however it's going to be a bit weird with the other traits not having Dense or Sparse implying that they are used by all! If we can refine a bit the names that would be a better, but I get the separation.


Number system

 explain different types of number system used
especially binary number system

Domain of Contribution 📊

[x] C/CPP

/assign

/assign


feat: Inital target integration setup

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--danaher-ls-aem--hlxsites.hlx.page/
After: https://target-integration--danaher-ls-aem--hlxsites.hlx.page/

@Dereje24 - I have been testing, and might know what the error is.  I noticed on the function call to Target there are two sessionid parameters:
https://danaher.tt.omtrdc.net/rest/v1/delivery?client=danaher&**sessionId=sessionId=**sess-cjn2rgt-lsub3kry
Then I modified this, but there is a CORS error.
I have reverted all of my testing, but wanted you to know, this is what I noticed.  Hope it helps.

No longer required - new V2 branch


Improve Shadows performance on Android

I just implemented a BitmapCache for Android shadows.
It means that every shadows with the same properties (Width/Height, Blur, Color, Opacity), share the same Bitmap instance.
It should greatly improve the performance of Shadows in the list view.
Could some of you can Beta-test and tell me if you see improvements, and/or regressions?
@themronion
@Jerome-Liger
Sharpnado.Shadows.1.2.0-pre1.nupkg.zip

Great, thanks !
I'll test it because we use the same shadows everywhere (in SfListView, CollectionView, Buttons, ContentViews,...)
I'll keep you in touch soon...

New beta package tested and.... awsome !!!
The list are a way far very smoothier :-D
You can include this BitmapCache in the next package release... it's a must have !
Thanks a lot for this improvement (I keep the pre-1 in my project from now ;-) )

Wow cool! I will believe you and Jerome that they are major improvements. Keep up the fantastic work and waiting for the release!

nah! dont wait for the release please test the nuget attached.
Add it in a local nuget repo:
https://www.c-sharpcorner.com/article/creating-a-local-nuget-package-repository/
And tell me all about it!

Oh okay, but the last time i tried a nuget it had issues on UWP, i forgot to tell u about them, the same issues as i fixed here #11, but i guess you erased my commented out lines with InternalLogger.Debug() and it breaked again. Can u please comment out those lines quickly or change all references to ActualSize and ActualOffset?

The improvement is just for Android.
Also I can see your code here: https://github.com/roubachof/Sharpnado.Shadows/blob/master/Shadows/Shadows.UWP/UWPShadowsController.cs
(no more ActualSize.X ...)
So it doesn't seem to be erased...

Yeah, but still there are references in the InternalLogger: https://github.com/roubachof/Sharpnado.Shadows/blob/33b7b301ce028037f8ad95e9d3a55e4023be6026/Shadows/Shadows.UWP/UWPShadowsController.cs#L162

argh or maybe this line:
InternalLogger.Debug(
LogTag,
$"shadowSource: {{ ActualOffset: {_shadowSource.ActualOffset}, ActualSize: {_shadowSource.ActualSize}, Margin: {_shadowSource.Margin} }}");

Yeah, yeah

Zob as we say in france you're right. Wait, I will make a new pre package

)) Merci!!

meanwhile i tested it out on android - works faster indeed!! ListViews scroll faster than Musk's rockets)

Thank you guys for tested it so quickly!

@themronion here is the correction for uwp.
Could you please validate ?
Sharpnado.Shadows.1.2.0-pre2.nupkg.zip

@roubachof  Nope((( Check the code, maybe there are still some references?

Could you give me the full exception stack ? cant see anymore reference in uwp code...

Nevermind, after a complete cleaning, deleting and rebuilding the project it started to work as a charm!! Thanks!

fixed by https://github.com/roubachof/Sharpnado.Shadows/releases/tag/v1.2.0


Cannot find node of CRDTTreePos

What happened:
During prolonged editing of the Tree, intermittently encountered the Cannot find node of CRDTTreePos error. This error leads to script errors and might make users believe that collaborative editing has been interrupted.
Upon investigation, it appears that this issue arises due to a problem in the encoding logic when saving and reloading Snapshots.
What you expected to happen:
No "Cannot Find Node" error should be encountered during editing the Tree.
How to reproduce it (as minimally and precisely as possible):

Engage in prolonged editing of the Tree.
Observe the intermittent occurrence of the "Cannot Find Node" error.

Anything else we need to know?:
N/A
Environment:

Operating system:
Browser and version:
Yorkie version (use yorkie version):
Yorkie JS SDK version:

Android SDK: https://github.com/yorkie-team/yorkie-android-sdk/pull/198


Adding a new USB device which does not fit into the included classes.

I am looking at creating a IoT device which will have it's own vendor and product ID, but who's description does not fit in with the included defined device classes. Basically I want to fool another device into thinking that it has a USB printer attached to it.
Where do I start?
I could have a defined class in a CPP and H files in the same directory as the project (coding in Arduino IDE), but couldn't find a good example of how the vendor and product ID are defined.
Any help would be gratefully received. Thanks

This is working for any device class
https://github.com/chegewara/EspTinyUSB/blob/master/examples/device/basic_setup/basic_setup.ino#L32-L36

Hi Chegewara.
That is the code I've started with and made some good progress with it.
However in order to get the device descriptors below changed from what they would be (shown below):
Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0xEF
bDeviceSubClass:      0x02
bDeviceProtocol:      0x01
bMaxPacketSize0:      0x40 (64)
To what I need them to be:
Device Descriptor:
bcdUSB:             0x0200
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x40 (64)
I've amended, for the time being, the code below found in the "usb_descriptors.cpp" file. Which isn't ideal as this will be overridden at the next update of the library.
if (enableCDC) {
    // Use Interface Association Descriptor (IAD) for CDC
    // As required by USB Specs IAD's subclass must be common class (2) and protocol must be IAD (1)
    _descriptor_config.bDeviceClass = 0x00;
    _descriptor_config.bDeviceSubClass = 0x00;
    _descriptor_config.bDeviceProtocol = 0x00;
}

I'd like to be able to set these values within the project as opposed to relying on the source files. I'm still looking at where the configuration descriptors below are set, and obviously would like to configure these within the project as opposed to the source files:
Configuration Descriptor:
wTotalLength:       0x004B
bNumInterfaces:       0x02
bConfigurationValue:  0x01
iConfiguration:       0x00
bmAttributes:         0xA0 (Bus Powered Remote Wakeup)
MaxPower:             0xFA (500 Ma)
Any help/advice/pointers you can put my way would be gratefully received.
Regards
James.

It is arduino library, which means it was meant to use by newb-ish users.
The library is far from being good and its missing option to set few values.
My suggestion is to fork library and to add options you need, or just change values you mentioned.

我也在尝试使用esp32s3，让它被计算机识别成打印机，通过USB进行连接，期待作者支持


Follow-ups to notification settings database model migration

I just merged an important migration in #11507, to change the model for our global stream notification settings to be a default (for all streams where one hasn't explicitly set a value) rather than just a default for any new streams created in the future.  This model is much more intuitive and will enable us to do a bunch of things (listed near the bottom of this issue).
There's several important follow-ups; I'm putting several of these in a single issue for simplicity of issue creation:

[x] Clean up a bunch of the code duplication around this batch of settings. I think probably the first priority here will be to rename the non-matching database field of enable_stream_sounds vs. audible_notifications, since that makes the mapping between field names algorithmic, and then we can deduplicate the bundle of functions including stream_audible_notifications_clicked, receives_desktop_notifications, update_calculated_fields, and remove a conditional in handle_stream_notifications_compatibility`, etc.
[x] @rishig Update our user docs and the text on the page to be consistent with the new data model to the extent it isn't already.
[x] @gnprice The mobile team needs to verify that post migration, their "stream settings" UI works with the app in master (i.e. that we correctly did the backwards-compatibility work), since while it is very likely to work, that hasn't been explicitly verified as part of testing this.
[x] Fix this subtle 2-browser real-time sync bug, which requires 2 browser windows: if you toggle an account-level global setting, it doesn't live-update a currently active "stream edit" widget -- but it's fixed for any new "stream edit" widgets you click on. I think this is probably something we can fix in a high priority follow-up issue if we want to get this into master -- I doubt users will find it.
[ ] Proceed with https://github.com/zulip/zulip/issues/12182 and https://github.com/zulip/zulip/issues/9228, as well as making a "pinned streams" global notification setting bundle, which are the rest of the notifications redesign we're hoping to complete soon.

@pragatiagrawal31 @YJDave @HarshitOnGitHub FYI.

@zulipbot claim working on first task

@pragatiagrawal31 just a note: Apparnetly "partially fixes: "  triggers GitHub's automatic issue closing code.  So we should avoid that pattern.
That said, I think we've actually fixed everything here except for the two that are their own issues, so it was reasonable to actually just close this issue.


Claim Deduction concepts and tutorial

Requesting a once-over from either Lovesh or Sam.

Rendered:

concepts
tutrorial


Separate library from examples

It's not fun having to search through an entire project just to see how something is fundamentally implemented. This is especially true for ones like this, where the "library" and examples are in the same project. It would be better to create two different projects, library and samples.  Also, a simple example in the README would go a long way.
As it is now, it's completely unclear which dependencies are actually needed, and how to use this as an Android library project.

I have updated the README with simple setup instructions for Gradle or Maven.


bank payment card

Hello
Thanks for awesome package.
Is it possible to add a bank payment card using this package in order to use it in Apple Pay?

Hello. No, adding a payment card is currently not possible.