[Question]: How can I intercept the outgoing HTTP request as in NodeJS?

Your question
Hi!
I have a NodeJS Playwright project that intercepts the outgoing HTTP request in order to authenticate via PFX certificate.
Example of how I'm doing that:
context.route('**/*', (route, req) => {
    const options = {
      uri: req.url(),
      method: req.method(),
      headers: req.headers(),
      body: req.postDataBuffer(),
      timeout: 10000,
      followRedirect: false,
      agentOptions: { // <-------- This is the important part, add the PFX to the request options
        ca: config_general.ca,
        pfx: cert,
        passphrase: 'cert_pass',
      },
    };
    let firstTry = true;
    const handler = function handler(err, resp, data) {
      if (err) {
        /* Strange random connection error on first request, do one re-try */
        if (firstTry) {
          firstTry = false;
          return request(options, handler);
        }
        console.error(`Unable to call ${options.uri}`, err.code, err);
        return route.abort();
      } else {
        return route.fulfill({
          status: resp.statusCode,
          headers: resp.headers,
          body: data,
        });
      }
    };
    return request(options, handler);
});

This is because Playwright for NodeJS provides the "req" object, instance of the NPM request library.
In the Java version, I can intercept the network request but the only methods I found are to change status, body, headers but not the agentOptions (such as the PFX option). That's what I can do with the route object:
https://www.javadoc.io/doc/com.microsoft.playwright/playwright/latest/com/microsoft/playwright/Route.FulfillOptions.html
Can I do this with Playwright Java version?
Thanks in advance.

In node.js you get intercepted request and then construct another request object (perhaps from request library or from built-in https module). The former is part of Playwright and available in Java version as well via route.request() but the latter is node.js-specific and needs to be replaced with something that Java provides. You can try sending intercepted request using HttpClient or some other http client library.


Ironsight and zooming

Add zooming with fov change and fps gun changing grip
Add d-pad support in menus, add zoom controls and stick down crouch
Add telescope extension (improved zoom)

Third person zoom animation (IK)

(except for the end-of-round shenanigans, but that can be resolved at a later time)

I set up an issue to remind us later 👌 #383


9.4.1

GDP table: 36-10-0222-01

Prices = current prices
Stats = GDP at market prices,
GHG: https://www.canada.ca/en/environment-climate-change/services/environmental-indicators/greenhouse-gas-emissions.html

MFA: https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1610011701

Done in https://github.com/sdg-data-canada-odd-donnees/sdg-data-donnees-odd/commit/2302f6294fa826fdb2b52a8c0ca78c3e494d6bec


localdev should more clearly show errors in setup

For example, if kind fails to setup ingress, there is no real indication that has happened outside of carefully reading logs.

I think we should make it so the setup script stops if an error has been detected, to make it more clear.

in this case, I do not believe ingress affects most dev/test scenarios -- so do we really want to block for this?

If we want to use localdev plus e2e tests I think we need too.
The e2e tests I think require the ingress to be working for some of their tests so if it fails to install the tests will fail.

Closing due lack of demand


Feature/formbase/63

closes #63

Pull Request Test Coverage Report for Build 187

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

Totals

Change from base Build 185:
0.0%

Covered Lines:
578

Relevant Lines:
578

💛  - Coveralls


Using several certificates instead of one

When I develop my app it could be useful if my app is able to send push notification using developer and production certificates together (e.g. sequential sending).
Can I do it via django-push-notification?

I think apple has recently changed it so that you can have just one certificate for production and sandbox if using HTTP2. Otherwise I suggest that you have different setting files for your environments and that the common variable for the certificate differs in the path, or that you create an environment variable that has a different certificate in each environment.

Dupe of #130


Remove Unsupported Shared Flag from Package List (Review)

Closes https://github.com/apache/incubator-openwhisk/issues/2485

@mdeuser, please review.

PG2 1817.

PG approved.

@dubeejw I'm wondering if the --shared flags in the wsk package create and wsk package update commands still still valid if there's nothing to display this state.. ?

@mdeuser, the --shared flag for package update and create set the published filed that is sent to the backend making the package public or not. The --shared flag for package list was meant to display only public or private package depending on the argument passed to it.

ok. sounds good.  looks like none of the other cli list commands (action, rule, trigger) currently support filtering based on the scope.  code removal looks good to me

PG3 887, approved.


update template header to conform to https://github.com/golang/go/iss…

Super minor patch to the default template to conform with this unofficial standard way of denoting generated code :
See this discussion : https://github.com/golang/go/issues/13560

Thanks


[test] Implement rom_e2e_ret_ram_init_test

Closes #14494
Signed-off-by: Miles Dai<EMAIL_ADDRESS>

Rebased.


WIP/Draft: Support for AbortController

Add support to automatically abort fetch request in flight when a component is dismounted in the default fetcher. Provide the signal as an option to custom fetchers.
Description
I wanted to open a DRAFT/WIP with a proof of concept to start a conversation on the best way to and if useFetchye should support aborting fetch request. In the current implementation a request will continue even if the component is unmounted as seen in the first gif.
I am proposing that the default fetcher should abort request when the component is unmounted. For use cases where a custom fetch is being used we would forfeit control of the signal by passing it in through the options object so the user can decide to pass it into the fetch request.
This pull request is missing pieces before it could be merged but wanted to open it up to feedback before going further.
scope

Limited to the client. I believe an equal server implementation would be useful but would need to use timeouts instead.
Browsers that support AbortController

implementation

add a useEffect to packages/fetchye/src/useFetchye.js that runs once. Creating the new AbortController and calling its abort as part of the clean up phase on unmount.
pass the signal to the options

outstanding questions

Best way to handle browser support? ( I was thinking a simple feature detection check )
Currently only passing the signal but would it be more empowering to pass the entire controller?
Should an eventual solution first be done with a feature flag?
How to ensure this is only happening on the client

request not aborting

request aborting

passed in to custom fetcher

Motivation and Context
We are currently working on a component that uses the useFetchye hook and we noticed during that requests were still being fulfilled even after navigating away from that component (it's unmounted).
How Has This Been Tested?

Tested in a simple demo application that I scaffold here: https://github.com/TatisLois/fetchye-demo
Needs unit test

Types of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (adding or updating documentation)
[ ] Dependency update

Checklist:

[ ] My change requires a change to the documentation and I have updated the documentation accordingly.
[ ] My changes are in sync with the code style of this project.
[x ] There aren't any other open Pull Requests for the same issue/update.
[ ] These changes should be applied to a maintenance branch.
[ ] I have added the Apache 2.0 license header to any new files created.

What is the Impact to Developers Using Fetchye?
If the developer is using the default fetch then the request will be aborted if the invoking component is unmounted. If using a custom fetch then the developer will see the signal as an option in the options object.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@TatisLois Are you still interested in moving forward with this?

@10xLaCroixDrinker Would love to help get this merged. What would be the best path forward?

I'd like to get this conversation going. I'll bring it up to the team. I think this could provide great value.
For now at least it would need to be opt-in until we determine we are ready for a major release. Any server concerns like you mentioned should be timeout related rather than unmounting and useEffect does not run on the server. I'm with you on using feature detection.

Aborting the request when the component is unmounted makes sense to me. Making the signal available so that users could abort on a custom fetch / timeout solution i think would also be a great addition.
We will need to think though how this can be implemented given the following only one signal can be passed to fetch, the implications of this being the signal provided by fetchye's abort controller could be overridden by a signal passed to the fetch client or visa versa.

An AbortController can also control multiple fetch requests. How would we want this to work with the defer flag, where users have to manually call the run function ? Would we want them to be able to abort individual requests ? If so, the user may have to pass in their own controller for each run invocation.

closing for https://github.com/americanexpress/fetchye/pull/83


add tests for webSockets

add the following tests:

launching the kubectl
exec into a pod to run commands
check a pod's log

introduce one new keyword for automation:

test_websocket

Setting and writing to a global will probably cause issues if these tests get ran in parallel

@dramich our tests do not run in parallel

@bmdepesa @dramich   A lock is added to make sure the message is modified by only one thread at a time.

@bmdepesa @dramich A lock is added to make sure the message is modified by only one thread at a time.

That is only part of the issue, if you have two tests running in parallel then you have two different things writing to the same place which means the global var is now dirty and has state from another test.

update: added a new class to handle the message receiving and parsing.


Updated get_all and _get_enabled in core.py

LDAP being enabled, any keystone commands that use get_all takes a lot of time, especially if there are many LDAP users (like ~3000), due to the fact that _get_enabled makes a new connection for each user. Instead, I thought it would be better if a connection is made before the for loop in get_all, get all "enabled" values from all users, and then close the connection. I actually tested this code change on mine, and it actually speeds up many keystone commands (user-list, user-role-add, user-delete, user-get). Before it took about 50 seconds, but now, it takes about 4 seconds.

Thank you for contributing to openstack/keystone!
openstack/keystone uses Gerrit for code review.
Please visit
http://docs.openstack.org/infra/manual/developers.html#development-workflow
and follow the instructions there to upload your change to Gerrit.


What browsers are supported

I'm submitting a ...
[ ] bug report
[ ] feature request
[x] question about the decisions made in the repository

Do you want to request a feature or report a bug?
feature

What is the current behavior?
I'm wondering what browsers this project is tested on and if there is an official browser support list that is published somewhere?

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via
https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).

What is the expected behavior?

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular version: 2.0.0-rc.X
Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Closing as outdated.


Will you have a plan to implement DeepSmiles and SELFIES?

https://github.com/baoilleach/deepsmiles
https://github.com/aspuru-guzik-group/selfies
Thank you so much for your great work!

Thank you. I hope somebody would like to implement them in the near future.


Benny/redis

Changes:

Added redis client to storage and funcs for setting and getting cached items
Changed get unassigned and opensea get to have a skip_cache param that will forcibly not go search cache first
Changed get unassigned and opensea get to check cache before getting and set cache after getting
Changed storage funcs to be private because they are only used and only should be used in persist package

Considerations:

What TTLs should we use for opensea get and get unassigned?

TODO:

[x] Add to README how to start a local redis server with docker
[ ] Test

For TTL, what about starting with an hour? And we can see if we want it to be shorter or longer

We might want the TTL for getting unassigned NFTs to be shorter though.. 5-10 min?

thanks for addressing comments! LGTM


[JBEAP-14376] automated test for UNDERTOW-1306

Tests if ChunkedStreamSinkChannel truncates response
JIRA issue link: https://issues.jboss.org/browse/JBEAP-14376
EAP 7 PR: https://github.com/jbossas/jboss-eap7/pull/2618

The place for this is the Undertow test suite, but this has a lot of problems.
This bug only manifests in extremely specific circumstances. Both the Undertow and Wildfly test suite already have plenty of tests that use chunking (pretty much all the webservices ones for example). You cannot add another test that simply uses chunking and claim it is a test for this issue.
Another issues is that because you do not call flush and the response is small chunking will not actually be used (and your test does not actually verify that chunking will be used).
This test also does a lot of things that are simply unnecessary. There is no need to be reading 'hello world' from a file. There is also no need to get JAXB involved for a chunking tests.
If you want a test for this it needs to:

Be in the Undertow test suite
Fail before the commit that fixed this and pass afterwards
Not involve anything that is unnecessary for testing such as JAXB


May be the paramters of Theil U should change from pred, target to X, y

🚀 Feature
In the documentation of torchmetrics.functional.nominal.theils_u or even Class torchmetrics.nominal.TheilsU, the first two parameters are pred and target which is kind of confusing because this quantity is not symmetric. Maybe change it to X  and y will be easier to understand? U(X | y) instead of U(pred | target). Or is there any specific reason for these present parameters? I really had a hard time figuring it out 🤣

Hi @Nevermetyou65, thanks for raising this issue.
The reason they are called preds and target is because it is nearly the same terminology we use for all our metrics.
I do not see the value in changing the names, because it is kind of arbitrary what they are called, but we can definitely agree that the documentation can be improved.


Generator: Fix problems when widgets path are missing

Issue
Description
Right now, the locales .yml files are created with a null name when a widget are generated with an empty path.
Possible solution
We might use the questionName and not the path for every locale file name.

Or the generator could log a warning/error when the path is missing, along with the line number and just do nothing (if such a widget is problematic)

Or the generator could log a warning/error when the path is missing, along with the line number and just do nothing (if such a widget is problematic)

@tahini
Yes, that could be easier to do.


Questions about the files - which files to download

Thanks for the cool project! I have two questions:

which files exactly we should download? In the COCO, VQA, etc. datasets, there are many files. However, I believe only a part of them are needed. For example, I downloaded the following:

Stage 1:
1. Download the COCO image dataset (2014 Train images [83K/13GB]) from: https://cocodataset.org/#download, unzip to current folder (train2014/).
2. Download the Macaw dataset: https://github.com/lyuchenyang/Macaw-LLM/blob/main/data/generated_examples_coco.json
3. Download the Macaw dataset: https://github.com/lyuchenyang/Macaw-LLM/blob/main/data/generated_examples_avsd.json
4. Download the Charades video dataset (Data (scaled to 480p, 13 GB)) from: https://prior.allenai.org/projects/charades, unzip to current folder (Charades_v1_480/).
5. In the current folder, create a folder named "avsd/". In "./avsd/", create "./avsd/videos/", "./avsd/audios/", and "./avsd/images/". Move all the videos from "Charades_v1_480/" to "./avsd/videos/".
6. In the current folder, create a folder named "coco/". In "./coco/", create "./coco/images/". Move all the images from "train2014/" to "./coco/images/".
Stage 2:
1. From https://visualqa.org/download.html download "Training annotations 2017 v2.0*", "Validation annotations 2017 v2.0*", "Training questions 2017 v2.0*", "Validation questions 2017 v2.0*". Put them in "./vqa/" and unzip.
2. From https://video-dialog.com/ download AVSD Dataset (4 files), put them into "./avsd/".
But I'm not sure whether it is all we needs.

In the combine_visual_and_audio_names(): of preprocessing supervised python script, there is a:

def add_image_names(dir=None):
all_examples = json_load(dir)['annotations']
    for ind, e in enumerate(tqdm(all_examples)):

        _image_dir = e['image_path']
        if len(_image_dir.split('_')[-1].split('.')[0]) < 12:
            i_str = _image_dir.split('_')[-1].split('.')[0]
            n_str = '0' * (12 - len(i_str)) + i_str
            _image_dir = _image_dir.replace(i_str, n_str)

However, I can't find any "image_path" field in any of the above json files.
Looking forward to your answer. Thank you.

Also, several functions are never called in the script, e.g.,:
preprocess_vqa2_to_val_dataset()
preprocess_avsd_to_val_dataset()
resize_image()
Are these functions abandoned, or they are called but not illustrated in the python script?

Also, in preprocess_avsd_to_tensor_dataset(), the audios and frames extracted from videos are actually not utilized. Is this correct?

My last question is regarding the filtering: in preprocess_avsd_to_tensor_dataset(), we don't have a filtering step based on the input text length. In other preprocess functions (for vqa and alpaca), we have filtering steps based on the length of input text without answer. Why we filter based on the input text rather than the full_text? And why the avsd preprocessing don't have a filter step?

Hi, sorry for the late reply. For downloading corresponding files, they are also used in preprocessing steps (vqa and avsd dataset for supervised data and our instruction dataset for unsupervised data). The metadata and raw images/videos of vqa and avsd are used in supervised data whereas only raw images/videos of vqa and avsd are used in unsupervised data with our instruction data.

Also, several functions are never called in the script, e.g.,: preprocess_vqa2_to_val_dataset() preprocess_avsd_to_val_dataset() resize_image()
Are these functions abandoned, or they are called but not illustrated in the python script?

The first two functions are used to process validation dataset for evaluation and inference. The last one is used to resize images as well as video frames.

Also, in preprocess_avsd_to_tensor_dataset(), the audios and frames extracted from videos are actually not utilized. Is this correct?

Usually we do not directly store image pixels in tensor dataset as it would incur significant memory use, instead we keep the index of the image and load it during training.

My last question is regarding the filtering: in preprocess_avsd_to_tensor_dataset(), we don't have a filtering step based on the input text length. In other preprocess functions (for vqa and alpaca), we have filtering steps based on the length of input text without answer. Why we filter based on the input text rather than the full_text? And why the avsd preprocessing don't have a filter step?

This is because when the instruction is longer than the maximum length then no response will be included in the sequence, thus model can not learn how to generate response.


C++ project templates should specify variable toolset

Describe the bug
C++ templates should specify default toolset based on the VS version, like C++/WinRT does:
v143
v142
The alternative is to add a static dependency to the VSIX, but that's less appealing:
Microsoft.VisualStudio.ComponentGroup.VC.Tools.142.x86.x64
Steps to reproduce the bug
Install VS 2022 Current and select no workloads
Install WAS C++ Standalone VS 2022 VSIX
Create new single-project C++ app from template
VS prompts to install UWP prereq and restarts itself
(After restarting, my solution has 0 projects, requiring a new project)
Create a second project and build
Expected:
Solution builds
Actual:
Error MSB8020 The build tools for Visual Studio 2019 (Platform Toolset = 'v142') cannot be found. To build using the v142 build tools, please install Visual Studio 2019 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution".
Expected behavior
No response
Screenshots
No response
NuGet package version
No response
Packaging type
No response
Windows version
No response
IDE
No response
Additional context
No response

Just hit this bug myself today, thanks for filing a bug @Scottj1s. Definitely not great out of the box UX.

I hit this bug today as well. This is being tracked internally at task.ms/38198157


Automated cherry pick of #9299

Cherry pick of #9299 on release-6.1.
/cc  @weblate
NONE

This PR is wrong, I will resubmit


HTML parser for list is missing whitespace between a few words.

Hi,
I'm having an issue where sometimes the text that is parsed from a job posting onto the list is missing some whitespace. When looking at the detailed view of the page, this issue disappears.
I've customized this portal - but I've only really changed the CSS and the layout - haven't touched any of the models or controllers. You can see it live here:
http://fishrecruit.com/job-postings.php#/jobs
This issue is very hard to spot - but here are some screenshots.
List/grid view

Detailed View

I'm fairly certain this is not CSS. Using the element inspector, I'm able to see that the text itself has been outputted in this way.

The bewildering thing is that this only happens with certain job postings, and most of the others are perfectly fine.
Thanks in advanced.

Heya, this is possible this is due to the HTML in the job posting utilizing &NBSP instead of a normal whitespace space within Bullhorn itself.  This can be seen by pressing the source button within Bullhorn.
Currently, you can see the change required in the pull request seen here that details the code change necessary to display the nbsp character appropriately.
I would suggest applying the changes to the file in src/app/filters/striphtml.filter.js so that you are able to successfully utilize the special characters in the preview.

fixed by #133


Image inconsistency

README says png but images are in JPG and PNG.
@abhinavsri360's image is JPG and @srilaasya's image is PNG.
Better to use JPG as PNG files are larger.

Fixed!


[Impeller] Incorrect Transform.scale child position when setting filterQuality

Steps to Reproduce

Ensure that Flutter is running on the master channel at commit 3494c084481eb11469ee18f2a5e0c1dd90cbe13f
Start iPhone 14 Pro Max Simulator on MacOS
Execute flutter run -d iPhone --enable-impeller on the code sample.
Execute flutter run -d iPhone on the code sample to compare the difference.

When using the Impeller renderer in combination with Transform.scale, when setting the filterQuality: to any value, ex: FilterQuality.high the child widget is rendered at an incorrect position (taps and other gestures are also hitting wrong coordinates)
Expected results:
Properly centred text widget

Actual results:
Wrongly positioned text widget in the top left corner

Code sample

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(home: MyHomePage());
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Transform.scale(
          scale: 0.2,
          filterQuality: FilterQuality.high,
          child: const Text(
            'The quick brown fox jumps over the lazy dog.',
            style: TextStyle(
              fontSize: 100,
              fontWeight: FontWeight.w500,
              letterSpacing: -0.75,
            ),
          ),
        ),
      ),
    );
  }
}

Logs

[!] Flutter (Channel master, 3.9.0-1.0.pre.33, on macOS 13.3 22E7752300f darwin-arm64, locale en-MK)
    • Flutter version 3.9.0-1.0.pre.33 on channel master at /Users/devops/fvm/versions/3494c084481eb11469ee18f2a5e0c1dd90cbe13f
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3494c08448 (5 hours ago), 2023-03-03 12:54:23 +0000
    • Engine revision 569c62d110
    • Dart version 3.0.0 (build 3.0.0-290.0.dev)
    • DevTools version 2.22.2
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at /Users/devops/Library/Android/sdk
    • Platform android-33, build-tools 33.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

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

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

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

[✓] VS Code (version 1.76.0-insider)
    • VS Code at /Applications/Visual Studio Code - Insiders.app/Contents
    • Flutter extension version 3.60.0

/cc @exaby73 @chinmaygarde @jonahwilliams @luckysmg
Could be related to:
https://github.com/flutter/flutter/issues/120879
https://github.com/flutter/flutter/issues/121887
Setting FilterQuality.high potentially resolves https://github.com/flutter/flutter/issues/121887 but is not useable because of this issue which renders the child in the wrong position.
These issues related to Transform.scale are particularly bad, because a lot of frameworks use them such as https://pub.dev/packages/responsive_framework in order to implement different device frames / UI scaling.
As of right now, using a framework which depends on Transform.scale to scale UI makes any text content look very unprofessional as noted in https://github.com/flutter/flutter/issues/121887

Thanks for the detailed report. Seeing same behavior as reported.

Without impeller:

With impeller:

 master flutter doctor -v

[!] Flutter (Channel master, 3.9.0-1.0.pre.49, on macOS 12.2.1 21D62 darwin-x64,
    locale en-GB)
    • Flutter version 3.9.0-1.0.pre.49 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 95387c6621 (28 hours ago), 2023-03-04 16:59:14 -0800
    • Engine revision de724e2632
    • Dart version 3.0.0 (build 3.0.0-290.0.dev)
    • DevTools version 2.22.2
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

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

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.


Mounting vboxsf filesystem always mounts for root, ignores uid option

I am trying to mount a Virtualbox shared folder into my NixOS with the following settings:
fileSystems."/virtualbox" = {
  fsType = "vboxsf";
  device = "tschlenk";
  options = "rw,uid=1000,gid=100";
};

As a result I get a mount at /virtualbox with 700 for root/root. Trying the same via mount gives me the expected result:
sudo mount -t vboxsf -o rw,uid=1000,gid=100 tschlenk /mnt

This will mount to /mnt with 700 for tschlenk/users (user id 1000, group id 100).
These are my first tests of NixOS an maybe I'm just missing a dependency here between user definition and permission?

Sorry I do not have the answer to your question, but you might get a better audience by re-opening this issue on NixOS/nixpkgs instead, as this repository is kept for legacy reasons.

Thanks, I just saw that. Will do.

Can someone close this issue? (I no longer have the rights in this old repo.)

@vcunat Closed, sorry, I should clean up after myself


Add Squink's tournament history template

Reading through mario's PR I see that you might want to consider moving the team sheets and hitomi and I's templates to a seperate category.


Further examination

Greetings Vadim, I'm reaching you from here as i couldn't find a better way to reach you. I have followed your steps and ended finding the following:
I've decompiled the app myself and found that each device has its own function list that sets some features over others.
Whereas you enable Zepp OS apps by changing the function called when setting up the Mi band 7, making it call the Amazfit band 7 function, I think the init function itself can be modified to enable said features.
The following image shows the initialization function for the Mi band 7 (not all the features as they don't fit on the screenshot)

With this mail I also send you a text file where I list what features are shared within each other, as well as pointing out the exclusive ones for each device. The ones I assume enable the App Store are:
SUPPORT_JS_APP
GT3_SOURCE
SUPPORT_APP_SORT_NEW
SUPPORT_READ_APP_SORT_FROM_DEVICE
As to why I don't test it myself, I intend to purchase an Amazfit Band 7, as I prefer its screen over the Xiaomi counterpart, but I still have to find a way to allow quick replies on the device, I think it might be doable by the same procedure I shared above.
MBvsAB.txt

@juan518munoz
Hi, Juan! Yes, I agree with your decision, I also thought to do so at first. This should work. But such a change in the bytecode seemed to me a little more complicated, it would take more time) I was too lazy to do that.
I didn't understand what quick replies you want to allow. When receiving a notification, the watch already has the functionality for a quick response. The list of quick responses can be edited.
Also about your solution, in theory there may be a problem when installing a bridge for debugging applications. Perhaps on the server side it will be seen that the bridge was installed on Mi Band 7 via Zepp and the bridge can be blocked.
I am very interested in the way you have come across my article? This was my first experience of writing articles on the Internet. I did not expect that someone from a non-Russian-speaking audience would read it)

Hi, Juan! Yes, I agree with your decision, I also thought to do so at first. This should work. But such a change in the bytecode seemed to me a little more complicated, it would take more time) I was too lazy to do that.

On the contrary, if not mistaken, it'd only be just adding a few lines of code to a .smali file

I didn't understand what quick replies you want to allow. When receiving a notification, the watch already has the functionality for a quick response. The list of quick responses can be edited.

The Mi band 7 has this implemented, but the Amazfit Band 7 doesn't. If you still have the quick reply functionallity after doing the procedure of your article, then it may be baked into firmware and not accessible by changing the Zepp App bytecode.

Also about your solution, in theory there may be a problem when installing a bridge for debugging applications. Perhaps on the server side it will be seen that the bridge was installed on Mi Band 7 via Zepp and the bridge can be blocked.

Yes, debugging with the device info unchanged might be and issue, I'd have to do further testing to see what are the limits of my solution.

I am very interested in the way you have come across my article? This was my first experience of writing articles on the Internet. I did not expect that someone from a non-Russian-speaking audience would read it)

I stumbled upon your article in this site but found no contact information:
https://prog.world/we-write-an-application-on-mi-band-7-with-a-service-part/
So I reached out MelianMiko, who kindly directed me to the original article.
Something I couldn't understand completely after reading your post, was it possible to install apps from the app store? And were they listed (and launchable) on the Mi band?

@juan518munoz  Yes, installing apps from the app store is possible, but I was able to see apps in the store only for Amazfit Band 7. There were only 5 of them there, now there are about 15. After installing them, you can see them in the watch menu, most of them started normally, there are problems on a couple of applications due to the screen size.
It's funny, my article seems to have been translated by automatic translation and the links to some sites and the mention of me as an author were also erased. I didn't know about it. And I didn't know that MelianMiko had read the article.

I've been trying to get the fetch app to work with the simulator, yet it never fetches the data, do you do something else on your guide aside of what is shown?

I'm sorry, I haven't made applications for a watch for a very long time and I don't remember if applications with a service part work in the simulator. It seems that they worked, I don't know what could be the matter. It's worth seeing if there are errors in the appside or service side logs. If not, then it's worth looking through debug at which point execution ends.


Dedicated property on colDef to suppress grid export

We have a use-case in a client app where we need to exclude certain cols from the export that do have fields but are just for use within the interactive app. This looked to me like the lightest-weight option for now to support such a thing.
@cnrudd or @TomTirapani if either of you have a chance to take a look tomorrow would appreciate. I was running into an issue on my Mac here where opening an exported file was crashing Excel - couldn't be related to this, some kind of file format / Excel version issue - but it means I wasn't able to fully test and would appreciate if you could do so quickly.
Fixes #485

Agree about == but think best would be the falsey check actually. The check for existence of a real name is a great use of a Boolean test.  Missing the undefined vs. null vs. empty string is actually the real risk.

Thanks to you both for looking over this - I am going to go ahead and merge it now - it's a small change and I expect this will be different very soon as I think we should have a proper class to describe these colDefs and their extensions (#416).

Oh and of course we need to follow up on Excel crashing!  Added #499.


Typings are not verified for tests

I believe that typings are not checked for our tests. I think this mainly comes from the fact that Jest uses webpack for the compilation of the TS files and webpack does not do any verifications as tsc does.
We could create another check inside our GitHub workflow that would check this. Or other suggestions are welcomed.

As far as I know Jest use Babel for compiling typescript files and type defs are also checked in test folder as well by eslint when we run npm run lint:check.
Why do you think it is not verified, was there a misbehaviour?

No, npm run lint:check does not check typings, nor Babel compilation. The only thing that does verification of types safety is tsc execution which is run as part of npm compile:types which only covers the source code.
When I was working on the splitting of tests PR, I noticed that some of my earlier refactors did not actually propagate to the tests files, because back then I relied on the pipeline to verify this, which turns out does not do it.
An example see https://github.com/ethersphere/bee-js/pull/258/files#diff-0fd67e80c291e1c63cd4ba4888ed29de9d3842e12bae155ba54dedfacf4609a4L5 here the Topic type is imported from an old place where it is not present anymore and I was able to merge that refactor without nothing detect this problem...

I also noticed this a while back but I thought it's a bug in my editor/setup.

I see, then we should introduce command check:types that runs tsc checking command on both src and test folders, am I right?

Yeah agree with the check:types. I mean then we don't have to use the compile:types in the GitHub Workflow.


Created clear_shields function

Clears shields from inventory each tick and replaces with raw resources.
Tested by both crafting and /giving 100 shields, and it cleared them all with the correct resource count, 100 shields did take a bit to fully clear (1 per tick)
Haven't got the sign in the lobby, tried to get it working then decided i don't want to accidentally break the lobby somehow.
clear_shields.mcfunction only called when AllowShields is zeroed.
Deleted the shield.json file that stopped the crafting of shields.

Perfect! I'll look through it.
The signs are a bit tricky as they require you to change the structure, but I'll take care of that.

Cool, thanks. Didn't want to mess with the structure, because i assumed you'd also have a good idea of where you would want the sign to be placed as well. :)

Thank you for your caution


[question] Is it possible to disable certain variant + color combinations?

The problem in depth
I saw that it is possible to disable colors and/or variants separately (eg.: https://github.com/mui/material-ui/issues/27162), but I am wondering if it is possible to conditionally disable certain combinations in a typescript safe way? Or can I somehow prohibit certain combinations?
(eg.: only want to allow color primary with contained variant, other colors can be any variation)
Thank you!
Your environment

`npx @mui/envinfo`
   System:
    OS: macOS 14.1.1
  Binaries:
    Node: 16.18.1 - ~/.nvm/versions/node/v16.18.1/bin/node
    Yarn: 3.5.0 - ~/.nvm/versions/node/v16.18.1/bin/yarn
    npm: 6.14.18 - ~/workspaces/aifleet/dashboard/node_modules/.bin/npm
  Browsers:
    Chrome: 120.0.6099.199
    Edge: Not Found
    Safari: 17.1
  npmPackages:
    @emotion/react: ^11.9.0 => 11.9.0
    @emotion/styled: ^11.8.1 => 11.8.1
    @mui/base:  5.0.0-beta.24
    @mui/core-downloads-tracker:  5.11.12
    @mui/icons-material: ^5.11.11 => 5.11.11
    @mui/lab: ^5.0.0-alpha.121 => 5.0.0-alpha.122
    @mui/material: ^5.11.11 => 5.11.12
    @mui/private-theming:  5.11.12
    @mui/styled-engine:  5.11.11
    @mui/styles: ^5.11.11 => 5.11.12
    @mui/system:  5.11.12
    @mui/types:  7.2.9
    @mui/utils:  5.14.18
    @mui/x-data-grid:  6.18.1
    @mui/x-data-grid-pro: ^6.16.0 => 6.18.1
    @mui/x-date-pickers:  6.18.2
    @mui/x-date-pickers-pro: ^6.18.2 => 6.18.2
    @mui/x-license-pro:  6.10.2
    @types/react: ^18.0.21 => 18.0.30
    react: ^18.1.0 => 18.1.0
    react-dom: ^18.1.0 => 18.1.0
    typescript: ^4.9.4 => 4.9.4

Search keywords: button theme customization
Order ID: 63901
Search keywords:

I doubt achieving that directly with the Material UI Button component is possible. However, you could create a custom wrapper Button component based on Material UI's button, allowing you to handle props conditionally and apply conditional typing.


Improved modeling of unit names

It would be nice to have a modeling of unit names (actually, just what we now call NameAtoms, which are the leaf nodes of composite UnitNames that we model really well) that did better with handling other languages.
This would:

Allow translation of unit names to other languages
... especially languages like LaTeX / siunitx
Fix the issue where we treat UCUM names specially all over the place, and track the UCUM-ness of names

Current representation:
data NameAtom (m :: NameAtomType)
  = NameAtom
  {
    _interchangeName :: InterchangeName, -- ^ The interchange name of the unit.
    abbreviation_en :: String, -- ^ The abbreviated name of the unit in international English
    name_en :: String -- ^ The full name of the unit in international English
  }
  deriving (Eq, Ord, Data, Typeable, Generic)

Sketch alternative:
import qualified Data.Map.Strict as M

type LanguageName = String
newtype NameAtom (m :: NameAtomType) = NameAtom (M.Map LanguageName String)

ucum :: LanguageName
ucum = "x-ucum"

siunitx :: LanguageName
siunitx = "x-siunitx"

internationalEnglish :: LanguageName
internationalEnglish = "en"

usEnglish :: LanguageName
usEnglish = "en-US"

internationalEnglishAbbreviation :: LanguageName
internationalEnglishAbbreviation = "en-x-abbrev"

The meter might have a name atom something like this one:
nMeter :: UnitName 'Metric
nMeter = MetricAtomic $ M.fromList [(ucum, "m"),
                                    (internationalEnglish, "metre"),
                                    (usEnglish, "meter"),
                                    (siunitx, "\metre"),
                                    (internationalEnglishAbbreviation, "m")]

(probably there would be a convenience function for making names like that from a lot of strings, as we do now).
Units that aren't in the UCUM or aren't in siunitx simply wouldn't have those entries.
As proposed this would require a containers dependency.

This also allows for a separate abbreviation that is restricted to console-friendly characters, which is a nice potential feature.


superset-frontend fail run in master branch

A clear and concise description of what the bug is.
How to reproduce the bug

Go to  folder superset-frontend
npm i
npm run dev-server
See error

Expected results
run success
what you expected to happen.
Actual results
what actually happens.
Screenshots

Environment
(please complete the following information):

browser type and version:  chrome
superset version: superset version.  1.5.0
python version: python --version
node.js version: node -v. 14.19.0
any feature flags active:

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[ ] I have reproduced the issue with at least the latest released version of superset.
[ ] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Add any other context about the problem here.

Hmm... not sure about this particular error, but I think we need to update mapbox-gl in those two plugins anyway since it's ancient. Are you perchance a developer with any bandwidth to handle a package bump? If not, I'm semi-optimistic that the package bumps on my radar will take care of this sooner or later. It looks like webpack completed nonetheless... are you able to run Superset and keep moving?

The same problem, Superset did not move forward

Should be all good nowdays, but let us know if that's not the case somehow.


Crash reports for overrideConsole and reportUncaughtExceptions are not reporting.

I have implemented all the steps for android set up after installation is only logs http requests and there are  no javascript error logs and no crash reports on new relic.

@FinHead We need to improve library for crash analytic. Haven't implemented yet. But if you go through this libraries source code you will get better idea.


How to keep call stack?

If I got an error with a call stack, how can I keep it with chalk?
foo(function(err, data) {
  if (err) {
    console.error(chalk.red(err));
  }
});

At the moment I only see the call stack when I don't use chalk.

Unrelated to Chalk. console.error smartly handles error object passed to it. You can do the same with `console.error(chalk.red(require('util').inspect(err));

Or use err.stack.


⚠ RPC server - Conflux has degraded performance

In 86634ce, RPC server - Conflux ($CONFLUX_RPC_URL) experienced degraded performance:

HTTP code: 200
Response time: 1276 ms

Resolved: RPC server - Conflux performance has improved in ce9a86d after 6 minutes.


[Bug]: Can't run the rspec command in the correct directory in a monorepo

RSpec test
No response
Error messages
No lua errors, the error comes from running the rspec in the wrong directory.
Describe the bug
When running the tests in a monorepo, the rspec command will always run from the current working directory, instead of the one holding the Gemfile closest to the spec.
Reproduce the bug
Failure

git clone https://github.com/davidmh/neotest-rspec-monorepo-example
cd neotest-rspec-monorepo-example
nvim -u minimal-init.lua service-a/spec/minimal_spec.rb
:Neotest run<cr>

Success

cd service-a/
nvim -u ../minimal-init.la spec/minimal_spec.rb
3 :Neotest run<cr>

Final checks

[X] I have made sure this issue exists in the latest version of the plugin
[X] I have tested with the minimal.lua config file above and still get the issue
[X] I have confirmed that Treesitter is working correctly by running :checkhealth treesitter
[X] I have made sure this is not a duplicate issue

Hey @davidmh and thanks for raising! Yep that is something the plugin can't do. I'll see what other neotest adapters have done to solve this

I just tried with the python adapter and it seems to have the same issue, so maybe this should be upstreamed into neotest?

We define a NeotestAdapter.root method in the adapter which detects the folder containing a Gemfile or .rspec file so we may be able to utilise that.


resetCache and others from metro.config.json get overwritten

[x] Review the documentation: https://facebook.github.io/react-native
[x] Search for existing issues: https://github.com/facebook/react-native/issues
[x] Use the latest React Native release: https://github.com/facebook/react-native/releases

Environment
React Native Environment Info:
System:
OS: Windows 10
CPU: x64 Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
Memory: 5.73 GB / 15.88 GB
Binaries:
npm: 6.1.0 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-181.55<IP_ADDRESS>14246
Description
Regarding https://facebook.github.io/metro/docs/en/configuration.html, it should be possible to set resetCache in the metro.config.json. Unfortunately, in react-native/local-cli/server/runServer.js line 64, the config option is overwritten by the command line arguments, without to consider that it's already set in the metro.config.json.
The same count for other options like projectRoot, watchFolders, server.port, maxWorkers ...
Reproducible Demo
In any project, create a metro.config.json with this content:
{
	"resetCache": true
}

It will not clear the cache.

Is resetCache in metro.config.js be read in React Native 0.60?


Incosistent filter() behaviour with ESPAsyncWebServer

I am using the filter() callback to authenticate a Websocket connection. A short lived JWT token is supplied as a search parameter like so:
/ws/lightState?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiYWRtaW4iOnRydWV9.7j33pzYbZ-Uf_irNQxzPG7UGTpKMV-VhTPTLA1RV_oM

The first issue I encountered when porting my code from ESPAsyncWebserver was that the search parameters are not resolved on calling the filter function yet. Only on handleRequest the parameters are evaluated. This can be fixed by calling request->loadParams(); inside the filter function. However with the current way of concatenating the parameters in loadParams() it will introduce a bug with the parameters being present twice unable to evaluate properly when called the second time in handleRequest. For my use case I can ignore that bug.
The second issue I ran into was that the filter is called with every received frame again. But this time without headers or parameters. Thus my filter function would returns false and the websocket connection closes with the first received message. I found a hack around this, as the request is initialized with the defaults like an empty string for the URI or method HTTP_DELETE (=0). This is not nice and potentially opens up an attack vector for my app.
@hoeken Is this deviation from the ESPAsyncWebserver desired? If not it would be really nice if the request would be fully initialized when calling the filter function already. And received websocket frames don't need to go through that filter every time, as the connection passed the filter when it had been established.

you're correct, we should be passing a more or less full request to the filter.  I'll put this on my list for 2.0

i'm pushing a fix for this shortly - it will parse the parameters in the query string before filter(), and you won't need to call loadParams() to access them.  loadParams() will now actually only load parameters from the POST body.
that being said, i don't think we should doing anything with the body, so no post variables will be available.  The more we process the request before we get to filter(), the slower every single request is.
the filter() function is more for filtering on external things like wifi status, etc.

Filters are much more used to select which handler to execute on the same endpoint (url + method) based on external conditions (not in the request). Everything linked to the request should be processed as part of the handler. That works, but...
But on the other hand @hoeken , filters can also be used to handle authentication in a common fashion. I've already seen that in a project and also this is very common in the web servers in java land where filters are used heavily to do some processing on the request that is not related to the application itself (auth, logging, etc)
@hoeken : there is also the discussion in the discord to consider, where filters are called on each websocket frame instead of just once when a connection happens.
So even if I agree with the perf loss, I disagree because it does not fit the conventional use of a filter, which is often used to apply a common processing on every request of an app
It could also be adding informational headers, processing jwt tokens, oauth, etc.

@mathieucarbou That makes sense, but I think loading the request body before calling filters is a potentially expensive operation, not to mention some of the handlers further on have different size limits, error handling, and code to deal with buffered reading.
If needed, you can still call loadBody() and loadParams() to get POST data in the filter callback.
You can also access headers, cookies, session data, endpoint + handler objects, etc.
The only thing in your list you can't do is add headers.
I'm not sure if you're talking request headers or response headers, but request headers is because esp-idf doesn't give us access to a list of headers.  we can only look up single headers.
as for the response headers, the response object isn't created until inside the handler callback due to the # of potential response objects that can be created.
There's a lot going on here, but I think currently its working pretty well.  Happy to address specific issues though.

I was talking about the request headers and parameters, that I think we should have access to in filters.
We can have both world also: we can have 2 different kind of filters: a request filter and a filter which is not based on request:
typedef std::function<bool()> PsychicFilterFunction;
typedef std::function<bool(PsychicRequest* request)> PsychicRequestFilterFunction;

then in the handler and rewrite, something like that (supposing we cannot have both at the same time, which I would disagree)
    union {
        PsychicFilterFunction _requestFilter;
        PsychicRequestFilterFunction _filter;
    };

I would prefer:
        PsychicFilterFunction _requestFilter;
        PsychicRequestFilterFunction _filter;

if _filter si set, call it.
then if _requestFilter is set, parse params and headers and call it.

@hoeken : I have opened a draft PR showing how it could be done: https://github.com/hoeken/PsychicHttp/pull/145


Docker image does not match Github

The code in Docker image armaneshaghi/mind-glide:latest does not match the code in Github at time of writing.
Specifically, the function 'generate_random_string' moved from 'run_inference.py' to 'ensemble_utils.py' in Github but not in the image, so the imports failed when I tried to use an edited version of 'run_inference.py' from Github. I think the commit that made this change was on 3 Apr.

The solution is to connect dockerhub to Github actions , on my to-do list.


Integrate data sharing UI for registration flow

[x] Integrate this endpoint for now - https://staging-consent-bb-iam.igrant.io/realms/3pp-application/protocol/openid-connect/auth?client_id=3pp&response_type=code&redirect_uri=https%3A%2F%2Fstaging-consent-bb-api.igrant.io%2Fv2%2Fservice%2Fdata-sharing%3FdataAgreementId%3D654cf0db9684ed907ce07c5f%26thirdPartyOrgName%3DData4Diabetes%26dataSharingUiRedirectUrl%3Dhttps%3A%2F%2Fwww.govstack.global%2F
[x] Call the optInToDataAgreement function exposed by privacy dashboard.
[x] 'getDataAgreement' function invoking
[x] 'ShowDataAgreementPolicy' function invoking
[x] #181
[x] #180

Resolved
@kashishmalik can you check and close this


External issues should load natively

Version 1.10.0 (1899)
Device: iPad Pro (iOS 11.0)
Eg the one over at Apollo in https://github.com/rnystrom/GitHawk/issues/367. Is this because we can’t recognize this is an issue yet?

Do you mean how tapping the issue number in your original comment opens the issue, but remote ones open in Safari?
If so this is dupe of #146 but also the one explicitly in the example you gave is a full URL which GitHub compresses down into a short link. So we need to do some detection and see if the URL matches a given regex and treat it natively

Let’s track in #146


Support Python3? Maybe?

This is an example in how you could go about supporthing python3, and python3 only libraries
most notably python-ipaddress (and python-pygeoip, but no code changes are needed there).
Its seems a simple fix, especially in light of completely dropping python2, which is a popular thing to do because of obvious reasons :-)

I've already merged a similiar pr


Code responses are getting blocked by the client filters, Oops, your response got filtered

Currently the service is completely unusable due to every multi line code response getting cut in the middle and the filtered message being shown.

VS Code Version:
Version: 1.79.0-insider
Commit: 9084e081d4e89ed8ab67fce340d573c4e1378939
Date: 2023-05-15T05:24:19.845Z
Electron: 22.5.2
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.4.0
OS Version:
MacOS Ventura 13.3.1 (a) (22E772610a)
Logs: N/A

Steps to Reproduce:

Ask literally anything that will cause the chat bot to output more than 5 lines of code
It will be cut out in the middle and filtered
In the example below, I highlighted some sample code and used the /tests command that will write unit tests for the code. The Chat bot successfully started outputting the tests but cut out in the middle and showed this message:

I got the same message.

same issue.

Same issue.

Yeah, it's getting ridiculous. Microsoft is damaging its own products for pseudo-safety. I'm literally better off using OpenAI's API directly myself than using a paid product. It's not acceptable. It should be better, not worse.

Right on point, a coding assistant shouldn't have "filters"...

exact same problem on "create a chess board" or "i want to create an chess game could you create an chess board for that". the response will be filtered. I didn't understand the problem. Which sentences can trigger the filter system when only thing i'm asking is a chess board.

Same here I asked to explain the name of a Go module
explain the go Package "sync/atomic"

Duplicate of https://github.com/microsoft/vscode-copilot-release/issues/295


Chat+: add styling options for login button

For example there are some good customization options in Custom OAuth:
https://www.boonex.com/forums/topic/Chat-Installation-steps.htm#272867

https://github.com/boonex/rocket.chat/commit/a0eaf7394bc029e397748473bcf38f489d26c8f7


Update instructions to use -netdev stream

Since QEMU 7.2 wrappers are no longer needed[0]; update the
documentation to instruct users to prefer the new options added in
2022[1] but not documented until 2024[2].
The client can be entirely removed in a future release.
[0] https://john-millikin.com/improved-unix-socket-networking-in-qemu-7.2
[1] https://github.com/qemu/qemu/commit/5166fe0ae46dbfed8cd7e7c3743c591ca
[2] https://github.com/qemu/qemu/commit/178413a1031af79f1a224e021e3dfd422

[0] https://john-millikin.com/improved-unix-socket-networking-in-qemu-7.2 [1] qemu/qemu@5166fe0 [2] qemu/qemu@178413a

Thanks! this is very useful.

If we want to move to datagram sockets in the future (and it seems likely that we would) then we can no longer hide this detail because we'll need to change -netdev stream to -netdev dgram.

We should move to dgram socket - this simplifies the code and more efficient since we eliminate the length prefix on both sides (qemu/lima and socket_vment).
This is mostly important for lima where lima copies every packet read from socket_vmnet unix socket to datagram socket connected to vz. If we support datagram socket in socket_vmnet, we can pass the file descriptor of the datagram socket connected to vz to socket_vmnet, and eliminate the expensive copy in lima.

I think moving to datagram sockets is going to be a good deal more complex; since dgram communication is inherently unidirectional each VM will need two sockets (one for inbound and one for outbound communication). This is described in the blog I linked above.
This means we'll certainly need a client wrapper responsible for allocating an ephemeral address for the receiving socket and we'll also need a way to communicate that socket's address to the socket_vmnet daemon.
All in all it isn't difficult to see why stream sockets were initially chosen.

datagram sockets are not unidirectional. You can read and write packets from the same file descriptor.
I'm using single dgram socket to integrate vfkit with vmnet. I'm creating a datagram sockepair. One end is passed to vfkit using:
--device=virtio-net,fd=vm-fd

This is used to create a file handle device attachment in vz. The other fd is connected to a helper process creating a vmnet interface.
The helper process reads packets from the file descriptor and write them to the vmnet interface, and read packets from vmnet interface and writes them to file descriptor.
The same should work with lima and qemu.

Do you use an abstract socket address to bind vm-fd?

Do you use an abstract socket address to bind vm-fd?

I’m using a sockepair(2) - it returns 2 connected sockets without address.

I see. That's probably using abstract addresses under the covers.
Another question: why do we create a single vmnet interface for all clients rather than one per client?

I see. That's probably using abstract addresses under the covers.

The sockets have empty address. Also abstract address namespace is a Linux extension. On macOS there is no such thing.

Another question: why do we create a single vmnet interface for all clients rather than one per client?

I'm not sure. I'm creating one vmnet interface per vm, and each helper process forward packets between one vmnet interface and one vm. This model is much simpler and give much better performance.
Creating one vmnet interface per vm means that vmnet is responsible for forwarding packets between vms. In socket_vment we forward packets between vms and from vmnet interface to all vms. Because socket_vmnet do not know the vms mac addresses, it copies all packets from every socket to all other sockets and vmnet interface, or from vmnet interface to all vms. This scales very badly (#58).

I'm not sure. I'm creating one vmnet interface per vm, and each helper process forward packets between one vmnet interface and one vm. This model is much simpler and give much better performance.
Creating one vmnet interface per vm means that vmnet is responsible for forwarding packets between vms. In socket_vment we forward packets between vms and from vmnet interface to all vms. Because socket_vmnet do not know the vms mac addresses, it copies all packets from every socket to all other sockets and vmnet interface, or from vmnet interface to all vms. This scales very badly (#58).

Right, this is what I expected. Perhaps changing this would be a good place to start?

I'm not sure. I'm creating one vmnet interface per vm, and each helper process forward packets between one vmnet interface and one vm. This model is much simpler and give much better performance.
Creating one vmnet interface per vm means that vmnet is responsible for forwarding packets between vms. In socket_vment we forward packets between vms and from vmnet interface to all vms. Because socket_vmnet do not know the vms mac addresses, it copies all packets from every socket to all other sockets and vmnet interface, or from vmnet interface to all vms. This scales very badly (#58).

Right, this is what I expected. Perhaps changing this would be a good place to start?

This is a major redesign and I'm not sure it worth the effort because the helper process model when every vm has a small and simple helper process for forwarding packets between the vm and vment is simpler. For example, we don't need launchd service since the helper is create and managed by the program starting the vm (e.g. lima or minikube).
If we want to keep the single daemon serving multiple vms moving to vmnet interface per vm seems like the right design.
With this model, socket_vmnet need to keep a control socket for passing datagram socket descriptors from other processes. When a datagram socket is passed, it will start a vmnet interface for the socket, and start forwarding packets between the socket and vmnet.
When the vmnet interface is created, we get mac address from vmnet. This mac address must be used by the vm so vmnet can forward packets back to the vm. This requires a protocol to return the mac address from vmnet to the vm. This can be implemented using the control socket.
Currently lima generate a unique mac address for every instance based on the instance name, so the instance is more likely to get same IP address each time. With vmnet we cannot control the mac address, but we can specify an interface UUID. Using the same UUID will return the same mac address. lima can generate the UUID in the same way it generates mac address so each instance will have a unique and constant UUID. The protocol for starting a vmnet interface will need to access the UUID and return the mac address provided by vmnet for this UUID.
This requires changes in programs using socket_vment like lima or minikube.

This is a major redesign and I'm not sure it worth the effort because the helper process model when every vm has a small and simple helper process for forwarding packets between the vm and vment is simpler. For example, we don't need launchd service since the helper is create and managed by the program starting the vm (e.g. lima or minikube).

This is of course simpler, but it requires running the helper process as root - or have you found a way to avoid that?

This is of course simpler, but it requires running the helper process as root - or have you found a way to avoid that?

There is no way to avoid that. This is the limitation set by Apple, and the reason we need socket_vment. If you use vz in a program form the app store, you may be able to get the required entitlement and use native networking without vmnet. This is much faster than using vmnet but it cannot work for open source project when the program can be built by anyone without getting permission from Apple.
You can add sudoers rule to allow your program to run the helper as root. This is the same solution use by lima when you want to manage socket_vment with lima. Lima creates a sudoers rule for you (try limactl sudoers), and you need to install it in /etc/suderes.d/. Then lima run socket_vmnet for you when you start an instance using lima:shared or lima:bridged network.
https://lima-vm.io/docs/config/network/#vmnet-networks

Yes, makes sense. I think we should probably head toward the redesign you mentioned. XPC seems to do everything we need. Would an XPC interface work for vz?

Yes, makes sense. I think we should probably head toward the redesign you mentioned. XPC seems to do everything we need. Would an XPC interface work for vz?

Not sure how do you want to use xpc. For vz the interface is a connected datagram socket file descriptor and mac address when configure the network device.

Sounds good. I'll go ahead and close this since we're almost certainly going to keep a client in place.


Update indicator-manage.md

Added a note that Importing Indicators with specific categories requires the string to be written on Pascal Case convention
Per issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/10146

@JohanFreelancer9 Please copy review

Learn Build status updates of commit 15f737f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/indicator-manage.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit f8d6230:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/indicator-manage.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@mjcaparas Please merge this PR. Thanks

Learn Build status updates of commit d4b3f6e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/security/defender-endpoint/indicator-manage.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


sort-keys: Auto fixable version of the sort keys rule

Clear and concise description of the problem
In the base Eslint, it has been suggested a lot of times to make the sort-keys rule be auto-fixable, yet it was always rejected as "too stylistic" for the core project. Since this project's main goal is to maintain the stylistic rules eslint does not want to maintain in core, I would be delighted to have this rule be auto-fixable. There are numerous plugins to be found on github, but none of them seem to be actively maintained.
Suggested solution
Include the sort-keys rule in eslint-stylistic and give it the option to automatically fix errors, similar to packages like this that are rarely updated: https://github.com/leo-buneev/eslint-plugin-sort-keys-fix
Alternative
Using outdated plugins, though I would highly prefer it to be included in stylistic.
Additional context
I tried searching for duplicates, but could not find one. My apologies if I may have failed in my search. As for making a PR, it probably depends if we are license-wise allowed to copy over existing plugins, though I have not familiarized myself with the stylistic code styles as of yet.
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Contributes

[ ] If this feature request is accepted, I am willing to submit a PR to fix this issue

There is a much better alternative: https://eslint-plugin-perfectionist.azat.io/
I also have a granular version, where you can lint and fix per object: https://eslint-plugin-command.antfu.me/commands/keep-sorted
I think the case is that sort-keys is a rather old and imitated version of these fields. Working on it would end up exposing more edge cases - which eventually might end up duplicating the work in eslint-plugin-perfectionist, while on the other hand, we don't want it to work perfectly already and have someone actively working on it.
For now, unless someone sends a PR with affordable and maintainable solutions, I don't think we will support this any sooner.


svelte-kit should choose new port on EADDRINUSE like sirv

Describe the problem
I was surprised when I tried to set up the skeleton project and it failed because port 3000 ist already bound.
When I went to check the webserver it was svelte-kit, not sirv, so I have to look up how to change the port.
This shouldn't be that complicated, so I think this should be changed.
❯ npm run dev

><EMAIL_ADDRESS>dev /home/coafin/Weidmueller/jws-toolkit
> svelte-kit dev

  SvelteKit v1.0.0-next.137

  local:   http://localhost:3000
  network: not exposed

  Use --host to expose server to other devices on this network

events.js:353
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use <IP_ADDRESS>:3000
    at Server.setupListenHandle [as _listen2] (net.js:1318:16)
    at listenInCluster (net.js:1366:12)
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1503:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:8)
Emitted 'error' event on Server instance at:
    at emitErrorNT (net.js:1345:8)
    at processTicksAndRejections (internal/process/task_queues.js:82:21) {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '<IP_ADDRESS>',
  port: 3000
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>dev: `svelte-kit dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/coafin/.npm/_logs/2021-07-27T06_59_36_177Z-debug.log

Describe the proposed solution
I would like to see the post chosen randomly if the default port is already bound.
Alternatives considered
Change the port after looking up how :

run `svelte-kit --help
fail because PATH
run npx svelte-kit --help
read
run npx svelte-kit dev --help
read
change svelte-kit dev to svelte-kit dev --port <something> in package.json

Importance
nice to have
Additional Information
Low priority and I hope to provide a pull request for a project that I like if I find the time

This should at least be the case with svelte-kit dev without a specified port.

The current behavior is intended when this came up a few months ago in internal maintainer discussions. Picking a different port when the one you specified is occupied messes with one's muscle memory and browser history autocomplete. The error message could probably be improved, though, and tell people there about the --port option so they don't need to go looking for it.

Or the default behavior could be to error out on EADDRINUSE as it does now, but if --port=auto is specified then it picks a port, starting at 3000 and counting up. Or if it's desired to be able to specify the starting port, perhaps a syntax like port=3000+ could work. A trailing + means "start at this port and go up until an open port is found", perhaps limiting it to 100 attempts to it doesn't keep trying forever. With no trailing + then it would just try one port and quit, as with the current behavior.
Thoughts?

I could probably implement https://github.com/sveltejs/kit/issues/2020#issuecomment-887324239 short term with https://github.com/sveltejs/kit/issues/2020#issuecomment-887470550 being a better solution that has to be worked out somewhere

I think with https://github.com/sveltejs/kit/issues/2020#issuecomment-887470550 we should look at other projects and replicate the one people are most used to

Agree the error message and handling should be improved, if this behavior is to continue.
If you want the behavior or not is up to you, I simply think if there is an error, it should be caught and a nicer and obvious message should be shown to the end user to save potential hours of debugging.
Idea for an error message: "Unable to host to port 3000: port is currently in use elsewhere" something short, sweet, and obvious.

I generally like the error message proposed above, but with one addition: "Use --port=XXXX to host on a different port". The solution should be presented in the error.
Otherwise I'm also a fan of the behaviour in Create React App. It pauses, gives you a helpful message, and prompts you whether to abort or continue on another port, with 3001 as default. Minimal time spent by the user but doesn't just host on a different port without telling you.

@elikoga I'm slightly confused as to how you got this error message in the first place. I looked in the CLI file and found a function that checks if the port is occupied and prints a nice error message. Sure enough, when trying to replicate I get:
> npm run dev

><EMAIL_ADDRESS>dev
> svelte-kit dev

Port 3000 is occupied
Terminate process 7879 or specify a different port with --port

This check happens before printing the SvelteKit version. This appears to be either a bug causing the initial check to incorrectly state the port is open or a case where the port was bound by something else between the check and actually binding the port.

I'm not sure if this helps but I'm on kit-1.0.0-next.137

The functionality itself was added all the way back in 1.0.0-next.68. I can't reproduce in 137 either.
Is the port actually used by some other program before npm run dev? And it works if you start it on a different port?

I just checked that

another process is bound to port 3000 by issuing curl localhost:3000
running npm run dev -- --port 3002 works

Huh, that implies the port checking fails somehow.
What platform are you on? Any other things about your environment?

I'm using NixOS which has loads of implications but nothing major, it's just a Linux Distribution

Accidentally closed

I looked up the source for the port check (https://github.com/Rich-Harris/port-authority) and it apparently does lsof -i :${port} -sTCP:LISTEN -Fp. I just tested on a Windows machine and it doesn't work there either. Does NixOS by any chance not have lsof?
I'll be opening a PR in a bit I think to use ports.check(), which should be cross platform.

❯ lsof
The program 'lsof' is not in your PATH. It is provided by several packages.
You can make it available in an ephemeral shell by typing one of the following:
  nix-shell -p busybox
  nix-shell -p lsof

https://www.npmjs.com/package/@ronomon/opened
This look like a better alternative to lsof?

So Kit is using a package called port-authority for this, and it uses lsof in order to get the process number that is using the port.
It also has a check method which simply tries to listen to a port and returns the result. I've tried to use that, but it's returning true for me every time for some reason. My proposal (if I can get it to work) is to use check to see if the port is in use and then try blame to get the process id. If blame doesn't work we print a more generic message.

Note: there is still the option of using ports.find(), which starts at the specified port and counts upwards until it finds a free one. I am personally in favour of incorporating this as the default in a "choose a different port" prompt (like in Create React App), but I figured I'd start with fixing the lsof dependency.

In the next SvelteKit release you'll be able to use https://vitejs.dev/config/#server-strictport to automatically find another path.
// svelte.config.js
export default {
  kit: {
    // ..
    vite: {
      server: { strictPort: false }
    }
}


splitting charts course examples: y-axis tick labels don't display

in Splitting Charts, examples from 4th onward, y-axis tick label like 4G, 4B don't display.
I have no idea how to fix it. Could you have a look?
Thanks

Thanks for the note. I'm looking at http://curran.github.io/screencasts/splittingCharts/examples/viewer/#/10 and it looks like this:

The "B" ticks look fine to me. Are you seeing something different if you click that link? If so, what Browser are you using?

Thanks for your great video and examples Curran! The examples look fine on Firefox, but not on the latest Chrome on Mac. This is what I found out till last night.

Ahh I see. I have an old Mac and the latest Chrome does not run on it. Can you please post a screenshot of what you see, and the errors from the console if there are any? Thanks!

Here are the screenshots, I hope it helps.
Errors in Chrome console:

graph displayed in Chrome:

graph displayed in Firefox:


Add drop oindex after create oindex sql case

What changes were proposed in this pull request?
Add drop oindex sql after create oindex sql test case to keep the isolation between case.
How was this patch tested?
mvn test pass

Can we instead add something to afterEach like cleaning the temp dir?

@LuciferYang any update on this PR?
I think the withIndex is a very good idea.

@linhong-intel  doing this change ~

@adrian-wang @linhong-intel OapPlannerSuite\HiveOapIndexDDLSuite\OapQuerySuite not extends SharedOapContext, use try finally to drop index, other test suite use withIndex pattern to run drop index sql.

@adrian-wang thx for ur review ~


New int tests

How to categorize this PR?

/area testing
/kind enhancement
/priority 3
What this PR does / why we need it:
New integration tests.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

NONE

/test

/test

/test

/test


Document RNW version support matrix

Summary
As RNW moves forward from version to version, from 0.59 to 0.60 to 0.61 to 0.62... not all of these versions get uniform support. There will be caveats for each. And we should document those.
Motivation
Create clarity for app developers about what risks they are taking on for staying on each particular version.
Open Questions

How should we communicate this? Table of combinations that are/aren't supported?
How can we track which customers are on which versions so we can be knowledgeable about how we do deprecations

https://microsoft.github.io/react-native-windows/support


Precision fix for s7

Fixes issues on Mihail's phone:
Now gvr-accessibility, gvr-immersivepedia, gvr-javascript, gvr-outline, gvr-particles and gvr-shadows work now.

quick question.  why is this a problem on s7 now with 4.0 when it wasn't a problem before?

Earlier u_render_mask  was not present for multi-view.

@thomasflynn we added rendermask fix for multiview recently. I am not sure whether we tested it on that particular device.


Create special slider for DO boundaries

The upcoming update for the DO analysis needs several new components, one of them is a special slider (check image), in order to select the boundaries. If you need more context, check the main issue.

I encourage to create a new special component for Backbone.Forms. Create and test it and leave it ready for the integration.

*Design: https://invis.io/5G9YKGISB.

This component will be used in more forms in the future

How does the component work?
From the screenshot I imagine that each of the ticks are associated with a title (that is presented to the users) and a value (that's submitted with the form)… is that right?
If that's true, I'll propose to make it very generic, supporting any type of value (numbers, strings, booleans, etc.). Plus, the component should allow to customize the grey bar through a CSS class.

Fine by me, but take into account we have the number input where the slider appears. But I agree to create a new generic one 👍 . @noguerol or @saleiva could you help @javierarce?

@xavijam yes, I think we could extend from that one or make it more generic, supporting both the simple case and the complex one.

Not sure about extend the number one, I'd go for the other way around. Create a generic one, and then extend then number from that one. But in any case, review the use cases and apply your magic, you know better than me the best solution 💋 .

This is already in master. Closed by #11668.


Critical bug - Read Request.Files - Stream it cause: Cannot access a closed file.

Hi,
After i install this nuget into my project and activate serilog, i spent few hours to find what cause
Cannot access a closed file.  when i try to access Request.Files and read archive Stream.

Hi @totpero
Can you please provide more information:

Nancy version you using
Repro code

Are you sure the error is coming from this library? When I read the request body data, I also reset the stream position:
public static string ReadBodyContent(this RequestStream inputStream)
{
    using (var streamReader = new StreamReader(inputStream))
    {
        var content = streamReader.ReadToEnd();
        // rewind stream to make it readable again from a Nancy module
        inputStream.Position = 0;
        return content;
    }
}

I will post sample app

This is demo app: DemoNancySerilog.zip
You can start in debug mode and put breakpoint  in HomeModule.cs on line 26 file.Value.CopyTo(output);
And using powershell you can run build.ps1 from project directory using cake build or you can try to post some files to http://localhost:60628/sync.

I publish this demo project to this repo: https://github.com/totpero/DemoNancySerilog

Thanks for the repro, I will take a look this evening

Hi @totpero I have tried to reproduce your problem but for me it just works. I simplified your code a bit, I am reading the file contents in a StreamReader to get the data in memory and then process it however I want, please See the updated SelfhostedSample application:
// public FilesModule() : base("/files")

Post["/sync"] = args =>
{
    var file = Request.Files.FirstOrDefault();
    if (file == null) return Response.AsText("No file provided");

    using (var reader = new StreamReader(file.Value))
    {
        var fileContent = reader.ReadToEnd();
        return Response.AsText($"File Contents: \n{fileContent}")
    }
};

Now in the SelfhostedSample I added a JSON file called test-upload.json with content:
{
  "some-important": "data"
}

When running the application and sending this request:
cd SelfhostedSample
curl -F<EMAIL_ADDRESS>http://localhost:4040/files/sync

I am then able to read the data properly

So I am not entirely sure it has something to do with the library. Let me know what you think

Hi,
I update the repo, get last version and try the next steps:

Build the last project version;
Now you have two project (nancy web server with this nuget and console app that make WebClient UploadFile);
Run nancy web project (DemoNancySerilog) in debug mode;
In the same time go to DemoNancySerilog.Console\bin\Debug and run DemoNancySerilog.Console.exe
In the same folder with DemoNancySerilog.Console.exe app you will have "test.zip" file;
With your example code you will get Cannot access a closed file error:

My investigation result:

If you try to upload file using curl or powershell you don't get this error;
If you try to upload small file you don't get this error;
If you uninstall Nancy.Serilog nuget you don't get this error even if you have large file or upload using curl;

I hope this help you.

Very interesting! thanks a lot for the update :smile: I am now finally able to reproduce the same error!
The current updated version of Nancy.Serilog will lazy load log field values only if they are not ignored: this means if you ignore the RequestBodyContent then the library won't touch the request stream, you can use it for now to keep your application functional
pipelines.EnableSerilog(new Options
{
    IgnoredRequestLogFields =
        Ignore.FromRequest()
              .Field(req => req.RequestBodyContent)
});

Configuring it this way means the function that reads the request body stream isn't invoked:
using (var streamReader = new StreamReader(inputStream))
{
        var content = streamReader.ReadToEnd();
        // rewind stream to make it readable again from a Nancy module
        inputStream.Position = 0;
        return content;
}

this means the problem is here somewhere, I need to investigate more and keep you updated

Ok I did two things and published the changes in 0.8.0:

Properly reset the stream reader when finished reading
Told the library not to read the request body if there are any files in there

1 is done like this:
public static string ReadBodyContent(this RequestStream inputStream)
{
    var content = "";
    using (var streamReader = new StreamReader(inputStream))
    {
        content = streamReader.ReadToEnd();
        // rewind stream to make it readable again from a Nancy module
        streamReader.DiscardBufferedData();
        streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
    }
    return content;
}

2 is done like this:
if (!nancyRequest.Files.Any())
{
    // Only read request body content when there aren't any files
    request.RequestBodyContent = nancyRequest.Body.ReadBodyContent();
}

I think it makes more sense this way, because why would you log the content of the request files texually in a log field where the files usually contain binary data that is meant to be read as byte[].
If you want to log the files (or some of their metadata) you would have to do it manually via the contextual logger: var logger = this.CreateLogger();
Please update to 0.8.0 and let me know if it all goes smooth :smile:

I believe this is fixed, so I will close the issue for now, feel free to open it again if the problem persists. :smile:


Build guide

Is your feature request related to a problem? Please describe.
Most libraries have documentation guiding the user on how to build a project with said library included. Although this is a small and simple library, it would still be beneficial.
Describe the solution you'd like
The creation of a document laying out the steps for building the project, binaries in addition to source files, and possibly a CMAKE template.
Describe alternatives you've considered
Merging the library into one file could make the build process slightly easier.
Additional context
After seeing and using RayLib, I realized that having a streamlined build process is a big deal there. While my project is of a much smaller scope the principle still applies.

This information is now included in the README.


Updating samples

Purpose
Updating C# sample to match the behavior of the JS sample and follow recommended patterns.
Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

@jeffhollan can you look at this when you have a chance?

Looks good to me.

Can someone with the required permissions merge this?
/cc @jeffhollan ?


Define architecture for extending current models with new ones.

Description
It's currently missing the required implementation of models from the current documentation.
In details is missing:

How to extend a models (more than the 3 listed are present in the folder)
When to have resource computation (this.value) in presentational components and when not
When components should contain the full resource or just required values
When to use helpers and when a model
How to use multiple computations for different models

Note: This is an outcome of required guidelines in a PR which needs prior clearance for further developments.

How to extend a models (more than the 3 listed are present in the folder)

The docs already explain what the three base classes are, when they should be used and how it's done

When to have resource computation (this.value) in presentational components and when not
This point needs expanding

When components should contain the full resource or just required values
What do you mean by full resource or required values?

When to use helpers and when a model
Models should be used when there's an instance of the model available

How to use multiple computations for different models
Can you expand on this?

How to extend a models (more than the 3 listed are present in the folder)

The docs already explain what the three base classes are, when they should be used and how it's done

We have a lot of models which extends others and are none of the 3 as I said. There's nowhere defined what's the logic in this, no comments, no documentation and so on. This was the clarification which I was asking.

When components should contain the full resource or just required values

What do you mean by full resource or required values?

In modular components you may want to decouple models from view as a separation of concerns. We pretty much never do that and just inject the whole k8s object, which mixes up the logic.
Beside the common practice, in our code we have cases where we don't pass the value and rely on models, while others were we have a whole computation inside the component and is not abstracted. The request is to define when we should do it, in a way that we do not repeat mistakes if not intended.

When to use helpers and when a model

Models should be used when there's an instance of the model available

What to do when the logic is used by more models?

How to use multiple computations for different models

Can you expand on this?

Please refer the case in the PR.

Added further points while taking the chance to convert into TS and add unit tests.

@richard-cox in the model, e.g. namespace.js, it extends Steve, which extends Hybrid, which extends Resource.
There's no explanation about this.

We have https://rancher.github.io/dashboard/code-base-works/api-resources-and-schemas#extending-models which explains all three types, their hierarchy and when to extend each. All of our models extend either one of these or a specific situational sub class (VmwarevsphereMachineTemplate --> MachineTemplate, Pod --> WorkloadService, etc).
Model properties should be used

to keep generic components generic - aka https://github.com/rancher/dashboard/pull/7619#discussion_r1045939309
when the same information is used across many places (components, models used in other models i.e. mgmt node --> prov cluster --> detailLocation, etc)

Component properties (added to data, computed properties, etc)
Components will change the models depending on the components need. If the component needs them in a different and/or simpler format they'll do it themselves (component specific logic stays in the component) - aka https://github.com/rancher/dashboard/blob/master/shell/components/DetailTop.vue#L67
If there's logic common to multiple models it can go in a base class (see  MachineTemplate and WorkloadService references above)