Fix blinking on Accounting Centre Pane when clicking of modal asking for setting up of 2FA when connecting to Xero

Details

Xero connection requires enabling 2FA. When we click on Xero in Accounting with an account without 2FA enabled, a modal opens asking to set up 2FA. On clicking the confirm button, the accounting center pane blinks due to an unnecessary call to dismissModal. This PR fixes it.
Fixed Issues

$ https://github.com/Expensify/App/issues/50213
PROPOSAL: https://github.com/Expensify/App/issues/50213#issuecomment-2397400156
Tests

Login with an account that does not have 2FA enabled.
Click on 'Settings' > 'Workspaces' > Any workspace > "Accounting" > "Connect" against "Xero".
Click on "Enable two-factor authentication" button on the modal appeared.
Verify that the accounting centre pane behind the modal does not blink.

[x] Verify that no errors appear in the JS console

Offline tests

NA because "Connect" option for Accounting options is disabled offline.
QA Steps

Login with an account that does not have 2FA enabled.
Click on 'Settings' > 'Workspaces' > Any workspace > "Accounting" > "Connect" against "Xero".
Click on "Enable two-factor authentication" button on the modal appeared.
Verify that the accounting centre pane behind the modal does not blink.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/f5122a0e-fa0d-40ab-a0aa-ed5ab5e42754

Android: mWeb Chrome
https://github.com/user-attachments/assets/c3659b3b-2d98-4426-95bd-b1df2a813c75

iOS: Native
https://github.com/user-attachments/assets/837f1139-69b3-43e9-92e8-7d6cfec78f4c

iOS: mWeb Safari
https://github.com/user-attachments/assets/a493f7e3-cfc4-41ca-85e2-33c9791ce642
https://github.com/user-attachments/assets/21d13141-77be-49bb-9285-235360a89685

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/dd3c1f1c-1d12-439d-bd3b-db92dffc4eb2

MacOS: Desktop
https://github.com/user-attachments/assets/3c096b3d-6bc2-4034-8674-3eb22d306fc3

@MonilBhavsar
PR ready for review!

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

We're just removing dismissModal function, reviewing

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Add link to Command-line apps : iponmap - commandline IP location finder

Use a descriptive PR title and the item description in the readme needs some work.

@sindresorhus seems to be done


[BUG] The Footers

Description
The Footers are different in the different pages with is not a good sign for a commercial website like canvas-editor
Screenshots

Any additional information?
The footer should be same for all the pages
What browser are you seeing the problem on?
No response
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I'm a GSSoC'24-Extd contributor
[X] I'm a Hacktoberfest'24 contributor
[X] I am willing to work on this issue (optional)

Assign me this issue

@vishanurag  can you reassign me this issue


[c++] Consider adding features to our Vcpkg port

Vcpkg now has support for optional features that affect how a port is built. This could be used to, say, enable Bond-over-gRPC in the Vcpkg port when requested or other similar things.

Just saw this issue after opening: https://github.com/microsoft/vcpkg/issues/10316
Any plans to add support for Bond-over-gRPC in Vcpkg?

No one is currently working on this. If you want to start working on this, please feel free to go ahead. We'll be happy to review PRs in this area.

Done in https://github.com/microsoft/vcpkg/commit/a41c53c14794bb32cb03269069cdd3b66fedda5f


[stable/prometheus-operator] how to create a ServiceMonitor with jobLabel filtering

Is this a request for help?:
i have a request.
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
no
Version of Helm and Kubernetes:
kubernetes :v1.12.5
helm version
Client: &version.Version{SemVer:"v2.12.3"}
Server: &version.Version{SemVer:"v2.12.3"}
What happened:
i create a ServiceMonitor,but all (namespace=monitoring) service data in it.
What you expected to happen:
i expected one ServiceMonitor with (jobLabel) filtering to gather data.
I just want to collect data (jobLabel=test) in all namespace.
i have too dirty data.
How to configure ServiceMonitors,i don't know.
How to reproduce it (as minimally and precisely as possible):
[stable/prometheus-operator]
add values.yaml  in additionalServiceMonitor

  additionalServiceMonitors:
  - name: "prometheus-operator-test"
    additionalLabels:
      from: test             <--  I want to get it from the (from = test) data.
      jobLabel: "test"    <--  I want to get it from the (Label = test) data.
    selector:
      matchNames:
        from: test           <--  I want to get it from the (Label = test) data.
      namespaceSelector:
        any: true
    endpoints:
      - path: /metrics
        scheme: http
        interval: 60s
        honorLabels: true
---
# kubectl  get servicemonitors -n monitoring prometheus-operator-test -o yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    app: prometheus-operator-prometheus
    chart: prometheus-operator-3.0.0
    from: test
    heritage: Tiller
    jobLabel: test
    release: prometheus-operator
  name: prometheus-operator-test
  namespace: monitoring
spec:
  endpoints:
  - honorLabels: true
    interval: 60s
    path: /metrics
    scheme: http
  selector:
    matchNames:
      from: test
    namespaceSelector:
      any: true

**cat test.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: example-app
  namespace: monitoring
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: example-app
    spec:
      containers:
      - name: example-app
        image: prometheus-metrics:golang
        ports:
        - name: web
          containerPort: 8088
---
kind: Service
apiVersion: v1
metadata:
  name: example-app
  namespace: monitoring
  labels:
    app: example-app
spec:
  selector:
    app: example-app
  ports:
  - name: web
    port: 8088

Anything else we need to know:

I looked the document and the problem was solved


Not working in Asp.Net.Core 2.2

I can't get it to work in my Asp.Net.Core 2.2 application :-(

Can you provide information? My application is working just fine with Rotativa?

@MathieuAuclair really? I couldn't get it to work with .NET Core 2.2 no matter what. I had to download, customize and update this to 2.2: https://github.com/aaxelm/Rotativa.NetCore

Yes, have you configured it properly? Could you give me a link to your project?

Also on which platform are you using AspNet Core?

@MathieuAuclair What you mean by configured it properly? Apart from adding it as a dependency using the nugget packet manager what am i supposed to do? Btw i'm using it on Windows, .NET Core version 2.2.
Unfortunately i can't share the project because it's private

@Fieel, next time feel free to use google, not that hard, this question is not an issue, literally the second link on google. Follow this tutorial here.


Maven javadoc plugin doesn't work on WSL

I am building this project on WSL.
When I run make build I get this error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.2.0:jar (attach-javadoc) on project opentelemetry-common: MavenReportException: Error while generating Javadoc: Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set. -> [Help 1]

I have checked my variables. JAVA_HOME is set in .profile so it is available to all programs. javadoc is also directly accessible from /usr/bin.
Internet search suggests this is a bug in Maven javadoc plugin. I have updated javadoc plugin to latest version (3.3.1) and build passes.
Please update javadoc plugin to latest version as above.

Closed via #119


CDK sometimes overwrites my control schema with that of another project

Steps to Reproduce

set up two projects with obviously different control schemas (e.g .the first control has a different name)
in each project, open the Control Schema view in the CDK (and close the project) so that the control schema view is automatically open whenever that project is open (I don't know if this step is essential).

Repeat the following steps 3 or 4 times, and do it all fairly quickly

open project A
quickly (before the webpack server has finished getting started) close project A
open project B
quickly (before the webpack server has finished getting started) close project B

After 3 or 4 cycles through this, back and forth between the projects, stop and look at the control schema.  If the bug happened (the above is pretty reliable for me), one of the project's control schemas will have overwritten the other.
Error

The control schema is overwritten permanently with the wrong values.

(a variant result, only sometimes happens)

The control schema for a project is sometimes displayed wrong (and saved to .cdk/worldSchema.json wrong!), and closing and opening the control schema view will show the correct schema again (and will write it out correctly to .cdk/worldSchema.json!)

Important Note
I realize the above repro steps are insane, but here's the thing:  Four of us been running into some variant of this bug repeatedly for over a month, through normal usage, and this is the first time I've finally had some way to repro it.
There may be various other ways to repro the bug - I have no idea.  I do know that it happens during normal usage for us, silently, and the only sign we have of it is when our custom control communication breaks and we start looking into why, and realize the devil bug has struck again.  Sometimes we've even uploaded the bogus schema along with the bundle without noticing, since that's the default.
At first I thought it was overwriting my schema with the default schema, but now I think maybe that was just because some of my projects use the default schema?
In any case, I think it's probably important for this bug that we work on a wide variety of CDK projects over a short period of time.
Our workaround so far:  Make sure you have a legit copy of the schema saved, so you can easily restore from a saved copy when it gets screwed up.
Further Important Note
This bug is the devil.
Editor Details
Version: 1.0.1
Mixer User ID: 32316796

Encrypted Editor State: {"id":"16ca5bef3a7a449f","password":"t3zBa5Dgz7+1pzmlXT91al7zDqHIyvEWFkrd79dftSQ="}

I just now hit this bug without any fancy steps like the above.  I didn't open any other project after launching the CDK - just my main project.  I just rebuilt built my project and noticed the working schema had been overwritten with defaults.
So, it does look like sometimes the schema gets overwritten by the default schema ("my_first_button", "my_awesome_joystick"), not necessarily a schema from another project.
So, I still don't have great repro steps.  It just happens from time to time, even with very simple actions.

Yes, you always have to download the active control schema from the dev lab first, or the default will be in there... the Upload Control Schema checkbox should also not be checked by default...

Hmm... it's actually pretty inconsistent for me.  I upload my bundle a lot, without downloading or changing the schema, and most of the time (maybe 24/25 uploads) everything's fine.  It's only sometimes that the schema gets overwritten either with the default or with that of another project.


Fix #103

Ability to load only necessary proj4 definitions as well add non-existing definitions.
Hack to fix proj4 module loading with webpack

Coverage increased (+0.04%) to 90.412% when pulling 6f62d11fac34bae5db17b5e30ee647dee1af2e89 on taviroquai:master into 0a52712dbe7fb7aa897f09fa68bba6b7bb4dfc81 on ngageoint:master.

I agree with all of the changes to add new non-existing definitions that you have added.  I do not agree with removing the already known projections that are in the current implementation of the library.
It appears that now, whenever anyone wants to use this library for an app that loads any arbitrary GeoPackage they will have to open the GeoPackage, find all of the SRS tables, ensure that all of those projections have been loaded into proj4 and then continue on.
I don't think that the code to do this should be the responsibility of the app.  I don't see the harm in loading all of the known definitions into proj4 at the start but I can see that it may cause a slowdown, so what I would propose is in the code where a table would be accessed that has a projection that is not known, it should be attempted to automatically be loaded from the known definitions.  This will maintain the current functionality of all apps that use the library to load all GeoPackages that they can currently load.
Let me know your thoughts.
cc: @bosborn for any other thoughts in order to remain consistent between all of our GeoPackage libraries.

I agree that the GeoPackage libraries need to handle as many projections as possible without requiring library users to implement their own projection support.  What happens when someone provides one of the EPSG:4269 ESRI sample GeoPackages to an implementation?  That implementation is now responsible for looking up the SRS and retrieving, defining, or parsing the proj4 definition?  And this is the easy case as there is no guarantee the projection authority will be EPSG (ESRI, NSG, etc).  Few implementations have the benefit of only being a GeoPackage creator with full knowledge of all projections they need to support. Think about the implementations that need to support near 100% of GeoPackages externally provided to them without prior projection knowledge.
We aren't where we need to be, but removing those definitions is a step in the wrong direction.  We should at least support as many EPSG authority codes as possible.
Each GeoPackage library would ideally be able to create a projection from the following:

Manually provided authority & code combinations
Parse the SRS definition_12_063 WKT (when extension is provided)
Parse the SRS definition WKT
Retrieve from the SRS organization and organization_coordsys_id, through configuration, properties, or proj4 name lookup

The WKT parsing is still something currently lacking in all of our libraries.
As much on demand loading as possible for performance reasons is a great idea.  Supporting manually declared authority projection code definitions is also a great idea.

#103

As much on demand loading as possible for performance reasons is a great idea. Supporting manually declared authority projection code definitions is also a great idea.

Absolutely :)
@danielbarela it seems that more work is involved and for now I don't have enough knowledge of where to make changes to achieve what you both said. You can reject my PR. (BTW, I should have done a branch for the PR).


libaom: don't disable runtime cpu detection on aarch64-darwin

Description of changes
It seems to both work and be necessary now if we don't want to run into illegal instructions. Fixes #311623 for me.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Would you please retarget this branch to master instead of staging-next

Unclear why ofborg thinks this will be 0 rebuilds :shrug:


Git builder configuration overwrite origin project

Description:
When using pytest to test this project, the repo config will be overwrite.
Steps to Reproduce:
$ pytest

Expected Behavior:
change nothing,
Current Behavior:
# in .git/config file
[user]
        name = username
        email =<EMAIL_ADDRESS>

add assets to verify this issue on unittest.
a3a64295


PowerToys Run: Memory Leak

ℹ Computer information

PowerToys version: 0.28.0 Preview
PowerToy Utility: PowerToys Run
Running PowerToys as Admin: Yes
Windows build number: [run "winver"] 19041.630

❌ Actual result
The PowerToys Run took a memory of more than 2G, rather than 100M as usual, after running serveral days. I think there must be a bug that caused memory leak.

I've had the same problem with PowerToys Run version 0.27, run as admin, windows build number 19042.662
In my case it was taking 27GB of RAM

@Dustin-Jiang @chris8577
the process that shows the memory leak is PowerLauncher.exe or PowerToys.exe?

Powertoys Runner in my case.

Not sure if this is related but when it happened, Windows Explorer also seemed to be stuck using 50% CPU for no reason, had to restart that process.

@chris8577
so in your case it's the same as reported in https://github.com/microsoft/PowerToys/issues/8378
Are you using an Intel GPU?

There is an integrated Intel GPU in my computer however I configured my BIOS to force usage of the discrete Nvidia graphics card - no hybrid mode.
My setup is a laptop which is sometimes connected to up to 3 external 4K monitors.

@chris8577
how many video ports do you have on your laptop? How do you connect the 3 monitors?

I have 2x Thunderbolt 3 and 1x HDMI ports. I do not use any adapter nor docking station.

The process that shows the memory leak is PowerLauncher.exe or PowerToys.exe?

In my case the process is also Power Runner.exe, but the processor of my computer is AMD Ryzen 7 4800U, rather than an Intel processor.

@Dustin-Jiang
thanks for the info.
So far we have seen the problem only on Intel chipset, but it's good to know that is not limited to it.
Closing this issue since it's already tracked in https://github.com/microsoft/PowerToys/issues/8378


Enable functions and scripting in XSLT files

Enabling of custom functions and scripting in xslt files would provide more features in convertation of xml-based files into intermediate markdown files. It would compensate xslt 1.0 functionality, which is supported by .NET.

Not supported in .net core.


Adding label property to Input elements

Signed-off-by: rohshar6<EMAIL_ADDRESS>Description
Added label property to input elements.
Sample Card

Quick question, Label property is part of version 1.3, are we implementing version 1.3 as well?


Show correct count for complaints/more feedback requests about your assessments

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] ~Server: I added multiple integration tests (Spring) related to the features~
[x] ~Server: I added @PreAuthorize and check the course groups for all new REST Calls (security)~
[x] Server: I implemented the changes with a good performance and prevented too many database calls
[x] Server: I documented the Java code using JavaDoc style.
[x] ~Client: I added multiple integration tests (Jest) related to the features~
[x] ~Client: I added authorities to all new routes and check the course groups for displaying navigation elements (links, buttons)~
[x] Client: I documented the TypeScript code using JSDoc style.
[x] Client: I added multiple screenshots/screencasts of my UI changes
[x] ~Client: I translated all the newly inserted strings into German and English~

Motivation and Context

We want to show all complaints/more feedback requests for current tutor (not only accepted).
Fixes #1084
Description

Previously number under the complaints about your assessments was showing number of accepted complaints for current tutor. Now it shows all the complaints (accepted/rejected/not resolved) for current tutor.
The same changes are applied to more feedback requests.
I also used primitive types whenever possible for TutorLeaderboard. This also allowed to simplify some if statements.
UPDATE: Changes to the database are not destructive anymore. Instead of killing the old views, I only create the new ones. The old ones can be killed later then
NOTE: Current coverage of TutorLeaderboardService is the following:

The tests on the views doesn't work, so I didn't add any additional tests.
Steps for Testing

Log in to Artemis
Navigate to Course Administration
Select Tutor Dashboard
Check that number of complaints/feedback requests about your assessments are shown correctly ( it should correspond to the number of complaints/requests shown on list of complaints/requests page when you click on the number)
Go to the exercise and check if Tutor Exercise Dashboard also has the correct number of complaints/ more feedback requests about your assessments.

Screenshots

Correct number on Tutor Course Dashboard

List of complaints for this tutor

@maxr96 please note: due to the recent critical bugs and problems in your changes, we need full test coverage of all changed files in the server and in the client, otherwise we need to decline this PR. Please have a look into the coverage reports and make sure all changed files are fully covered in the tests. If this is not the case, please add new tests to cover everything!
Please document this by uploading a screenshot of the coverage report to the PR.

I added the screenshot of current Test Coverage for TutorLeaderboardService. However, since the views doesn't work in the integration tests I didn't include any additional tests.

@maxr96 please note: due to the recent critical bugs and problems in your changes, we need full test coverage of all changed files in the server and in the client, otherwise we need to decline this PR. Please have a look into the coverage reports and make sure all changed files are fully covered in the tests. If this is not the case, please add new tests to cover everything!
Please document this by uploading a screenshot of the coverage report to the PR.

I added the screenshot of current Test Coverage for TutorLeaderboardService. However, since the views doesn't work in the integration tests I didn't include any additional tests.

The current coverage does not matter. I tell you since several months that you should please write client and server tests for your PRs and you simply ignore this :-(
If you cannot fulfill this, we cannot merge this PR! This is a hard requirement due to the many problems and bugs that you introduced!
I don’t see a reason why views should not work in tests.

@maxr96 Please resolve the merge conflict and make sure to add the tests as requested.

@maxr96 Please resolve the merge conflict and make sure to add the tests as requested.

I resolved the conflicts and managed to bring the test coverage for TutorLeaderboardService to 100%.

@maxr96 I have 3 problems with this PR:

It seems that you change the logic how to calculate the points for the leaderboard, e.g. only accepted complaints should count negative for the tutor
The views are not really tested, if you insert data manually and then check if the data is correctly retrieved using REST. The main idea is that the view updates automatically after real objects (i.e. results, complaints and feedback requests) are inserted into the database.
It is not good if old views still stay around. Please make sure to delete them!

@maxr96 I have 3 problems with this PR:
1. It seems that you change the logic how to calculate the points for the leaderboard, e.g. only accepted complaints should count negative for the tutor

2. The views are not really tested, if you insert data manually and then check if the data is correctly retrieved using REST. The main idea is that the view updates automatically after real objects (i.e. results, complaints and feedback requests) are inserted into the database.

3. It is not good if old views still stay around. Please make sure to delete them!

@krusche Thank you for reviewing my PR.

Thank you for pointing the issues. I adjusted the view so that the max score is now only counted for accepted complaints and not answered more feedback requests instead of all requests and complaints.
Testing the views directly didn't work for me. After several days of investigation, I decided to at least test the logic of the service. However, the issue can be in the Liquibase changelog. I assume that since the tests don't use Liquibase, the views are not created.
Added the dropView part to the changelog. I didn't do it before as this change would break other deployments on the Test Server.

Hi @krusche. I just wanted to ask if you received my email and if the document is added to my thesis. Thank you.


How to get frame data while pushing stream

Hello, I want to get yuv data when streaming, I try to create a queue to save frames, but when I use this queue in othere place, streaming is broken, just facedetect worked, can't see streaming.
How can I fix this, Thank you verymuch.

gap++

In that code, i have gap++
VLC's error log

Hello,
I recommend you use OpenGlView if you are using RtspCamera1 and capture images using takePhoto method:
rtspCamera1.glInterface.takePhoto { bitmap ->

}

This way you can get images in bitmap format and convert bitmap to YUV if you really need YUV format

Thanks, I tried to use OpenGLView and use takePhoto function, but an error came.
I use that bitmap to do some Time-consuming operation, last picture is my takePicture code.

Thanks, I modified my code to OpenGlView, it works well. Thank you very much!

Hello,
I recommend you use OpenGlView if you are using RtspCamera1 and capture images using takePhoto method:
    rtspCamera1.glInterface.takePhoto { bitmap ->
      //do it in a thread to avoid block the view
      val data = IntArray(bitmap.width * bitmap.height)
      bitmap.getPixels(data, 0, bitmap.width, 0, 0, bitmap.width, bitmap.height)
      val yuv = YUVUtil.ARGBtoYUV420SemiPlanar(data, bitmap.width, bitmap.height)

    }

This way you can get images in bitmap format and convert bitmap to YUV if you really need YUV format

Hello again， when I use takePhoto often, it cames an error like this. I don't know What can I do now.
Is my function cost much time?

Here's my code below:

I try to use version 2.4.4, the same err came.
(update err log

Hello,
I'm no able to reproduce the error in my app example.
Can you share me a project example to reproduce it?

Hello,
I'm no able to reproduce the error in my app example. Can you reproduce it consistently? Do you have filters? Can you share me a project example to reproduce it?

Yes, it can be crush every time. I don't use any filter,  sorry I can't share project now, every time I use that bitmap to do facedetect, it will be crush quickly.
I'll try to create a new project send to you. I just do operates with bitmap.

I'm createing new project to send you.
How can I send my poj to you?
I'll send you after about 2 hours later.

I'm createing new project to send you. How can I send my poj to you? I'll send you after about 2 hours later.

email could be a good option using a zip
I had other idea that maybe help you. But this way you need use api 21+. With camera1 only require api 18+ (using takephoto with camera1).
If it is fine you can use RtspCamera2 and this method:
      rtspCamera2.addImageListener(ImageFormat.YUV_420_888, 1) { image ->
        //this must be without a thread because image class is released after this callback
        val buffer = image.planes[0].buffer
        val yuv = ByteArray(buffer.capacity())
        buffer.get(yuv)
        //execute usage of the yuv in background thread now. You can convert yuv in bitmap like this:
        val bitmapImage = BitmapFactory.decodeByteArray(yuv, 0, yuv.length, null)
      }

This code should be better than takePhoto all time if you use higher resolutions
Even if you solve the error with the above code. Get a project where I can reproduce the previous error is important for me because that code should work without errors and this way I can try to solve it.

I'm createing new project to send you. How can I send my poj to you? I'll send you after about 2 hours later.

email could be a good option using a zip
I had other idea that maybe help you. But this way you need use api 21+. With camera1 only require api 18+ (using takephoto with camera1). If it is fine you can use RtspCamera2 and this method:
      rtspCamera2.addImageListener(ImageFormat.YUV_420_888, 1) { image ->
        //this must be without a thread because image class is released after this callback
        val buffer = image.planes[0].buffer
        val yuv = ByteArray(buffer.capacity())
        buffer.get(yuv)
        //execute usage of the yuv in background thread now. You can convert yuv in bitmap like this:
        val bitmapImage = BitmapFactory.decodeByteArray(yuv, 0, yuv.length, null)
      }

This code should be better than takePhoto all time if you use higher resolutions Even if you solve the error with the above code. Get a project where I can reproduce the previous error is important for me because that code should work without errors and this way I can try to solve it.

Thanks very much!   I'll try this in tomorrow morning. And I will give you fallback at once.

I'm createing new project to send you. How can I send my poj to you? I'll send you after about 2 hours later.

email could be a good option using a zip
I had other idea that maybe help you. But this way you need use api 21+. With camera1 only require api 18+ (using takephoto with camera1). If it is fine you can use RtspCamera2 and this method:
      rtspCamera2.addImageListener(ImageFormat.YUV_420_888, 1) { image ->
        //this must be without a thread because image class is released after this callback
        val buffer = image.planes[0].buffer
        val yuv = ByteArray(buffer.capacity())
        buffer.get(yuv)
        //execute usage of the yuv in background thread now. You can convert yuv in bitmap like this:
        val bitmapImage = BitmapFactory.decodeByteArray(yuv, 0, yuv.length, null)
      }

This code should be better than takePhoto all time if you use higher resolutions Even if you solve the error with the above code. Get a project where I can reproduce the previous error is important for me because that code should work without errors and this way I can try to solve it.

Morning, It's doesn't work when I use facedetect with this bitmap. I think maybe it's collision with  our facedetect module and this module. I tried to draw something on this bitmap, even though tried to delay a few seconds when drawing, it doesn't crash.  When I do our face detect, it does crashed. For project safty, I can't send you our face detect module. Sorry about that.

Morning, It's doesn't work when I use facedetect with this bitmap. I think maybe it's collision with our facedetect module and this module. I tried to draw something on this bitmap, even though tried to delay a few seconds when drawing, it doesn't crash. When I do our face detect, it does crashed. For project safty, I can't send you our face detect module. Sorry about that.

So, we can't reproduce the error without use your face detection library.
I was checking the previous way to get bitmap and maybe the problem is in the conversion. You have a valid buffer in that callback so we only need find the way to convert it in a valid bitmap for your library.
Another way to get the image and convert to bitmap:
      val converter = YuvToRgbConverter(this) //create it only one time
      rtspCamera2.addImageListener(ImageFormat.YUV_420_888, 1) { image ->
        //this must be without a thread because image class is released after this callback
        val bitmapImage = Bitmap.createBitmap(image.width, image.height, Bitmap.Config.ARGB_8888)
        converter.yuvToRgb(image, bitmapImage)
        //execute usage of the bitmap in background thread now.
      }

To use YuvToRgbConverter you will need copy this external classes:
https://github.com/android/camera-samples/blob/master/Camera2Basic/utils/src/main/java/com/example/android/camera/utils/YuvToRgbConverter.kt
https://github.com/android/camera-samples/blob/master/Camera2Basic/utils/src/main/java/com/example/android/camera/utils/Yuv.kt

Morning, It's doesn't work when I use facedetect with this bitmap. I think maybe it's collision with our facedetect module and this module. I tried to draw something on this bitmap, even though tried to delay a few seconds when drawing, it doesn't crash. When I do our face detect, it does crashed. For project safty, I can't send you our face detect module. Sorry about that.

So, we can't reproduce the error without use your face detection library. It is good because other users can't reproduce it but, if you find a way to reproduce the error and share a code for it, let me know it.
I was checking the previous way to get bitmap and maybe the problem is in the conversion. You have a valid buffer in that callback so we only need find the way to convert it in a valid bitmap for your library.
Another way to get the image and convert to bitmap:
      val converter = YuvToRgbConverter(this) //create it only one time
      rtspCamera2.addImageListener(ImageFormat.YUV_420_888, 1) { image ->
        //this must be without a thread because image class is released after this callback
        val bitmapImage = Bitmap.createBitmap(image.width, image.height, Bitmap.Config.ARGB_8888)
        converter.yuvToRgb(image, bitmapImage)
        //execute usage of the bitmap in background thread now.
      }

To use YuvToRgbConverter you will need copy this external classes: https://github.com/android/camera-samples/blob/master/Camera2Basic/utils/src/main/java/com/example/android/camera/utils/YuvToRgbConverter.kt https://github.com/android/camera-samples/blob/master/Camera2Basic/utils/src/main/java/com/example/android/camera/utils/Yuv.kt

Hi, Now I found what's wrong with that. I'm a new compose user, that bug is my code problem. It's working well now. I'm appreciate for helping me to figure out what's happend. Thank you very much.


Wrong Linux builds

Describe the bug
The linux builds are not working. The error I am getting is:
bash: ./ErpNet.FP.Server: cannot execute binary file: Exec format error

How To Reproduce
On a linux machine:
$ wget https://github.com/erpnet/ErpNet.FP/releases/latest/download/linux-x64.zip
$ chmod +x ErpNet.FP.Server
$ ./ErpNet.FP.Server

Additional context
The file seems to be built for Mac OS
$ file ErpNet.FP.Server

returns
ErpNet.FP.Server: Mach-O 64-bit x86_64 executable, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|WEAK_DEFINES|BINDS_TO_WEAK|PIE|HAS_TLV_DESCRIPTORS>

When I made the build myself it worked properly. I then found another bug (I think). Every API request except the "/" results in 500 Internal Server Error. The log shows correct 200 response but the API doesn't work. I built another, earlier (1.0.827.1927, from the 30th of September) build and the problem isn't there.


Error: 'NoneType' object is not callable

I have ran the following commands:

./domainhunter.py -k  -r 1000 -c
python domainhunter.py -k  -r 1000 -c
python3 domainhunter.py -k  -r 1000 -c

There are two separate issues:
Error #1
('[!] Error: ', AttributeError("'NoneType' object has no attribute 'find_all'",))

I changed "findAll" to "find_all" as the previous syntax was for BeautifulSoup3 and it is now importing bs4. After trying to run the command again, I stumbled upon the next error.
Error #2

The assumption is that there is an error within the query, but I have not had much fixing it. Was wondering if you had  a quick fix for it. Thank you!

Hey there, thanks for posting this issue! I haven't had a chance to test this out yet, but I assume the HTML format returned by expireddomains.net has changed (fairly common) and broke the results table parsing. We will look into a fix.

Quick Update - your error is based on a keyword search that returns no results. It appears the tool is still functioning properly when a keyword with valid results is returned. If you see that error, assume no results were returned for the keyword. You can manually verify this by going to www.expiredomains.net and typing your keyword to confirm no returned results.

I appreciate the quick response and help! It may not be necessary, but I created an account on expireddomains.net, logged in, and it worked fine. For whatever reason, expireddomains.net was not letting me query both when I ran your tool and typed in manually.
While this may induce false positives, I'd be interested in the future to stop querying upon error. There were only 30 some hits, but it kept querying because I specified the results flag to 1000. Will close this issue. Thanks again!

Thanks for the update! There's definitely some room for additional error handling. Feel free to contribute a Pull Request if we don't get to it first.

Did this get any more work on it, I can query a keyword on a browser expired-domains but not via the tool.


horcrux is frozen?

all 3 sentries are doing
│ node 1:24PM INF service start connection=snapshot impl=localClient module=abci-client msg={}                                                          │
│ node 1:24PM INF service start connection=mempool impl=localClient module=abci-client msg={}                                                           │
│ node 1:24PM INF service start connection=consensus impl=localClient module=abci-client msg={}                                                         │
│ node 1:24PM INF service start impl=EventBus module=events msg={}                                                                                │
│ node 1:24PM INF service start impl=PubSub module=pubsub msg={}                                                                                │
│ node 1:24PM INF service start impl=IndexerService module=txindex msg={}                                                                               │
│ node 1:24PM INF service start impl=SignerListenerEndpoint module=privval msg={}                                                                       │
│ node 1:24PM INF SignerListener: Listening for new connection module=privval                                                                           │
│ node 1:24PM INF SignerListener: Blocking for connection module=privval                                                                                │
│ node 1:24PM INF SignerListener: Blocking for connection module=privval                                                                                │
│ node 1:24PM INF SignerListener: Listening for new connection module=privval                                                                           │
│ node 1:24PM INF SignerListener: Connected module=privval                                                                                │
│ node 1:25PM ERR SignerListener: Ping timeout module=privval                                                                                │
│ node 1:25PM INF SignerListener: Listening for new connection module=privval                                                                           │
│ node 1:25PM INF SignerListener: Connected module=privval                                                                                │
│ Stream closed EOF for obi/whitewhale-0 (clean-init)                                                                                │
│ Stream closed EOF for obi/whitewhale-0 (config-merge)                                                                                │
│ Stream closed EOF for obi/whitewhale-0 (snapshot-restore)                                                                                │
│ Stream closed EOF for obi/whitewhale-0 (genesis-init)

all 3 horcrux clients are hanging
horcrux-0
 horcrux-container migaloo-1_shard.json                                                                                │
│ horcrux-container state                                                                                │
│ horcrux-container signMode: threshold                                                                                │
│ horcrux-container thresholdMode:                                                                                │
│ horcrux-container   threshold: 2                                                                                │
│ horcrux-container   cosigners:                                                                                │
│ horcrux-container   - shardID: 1                                                                                │
│ horcrux-container     p2pAddr: tcp://whitewhale-horcrux-0.whitewhale-horcrux:2222                                                                     │
│ horcrux-container   - shardID: 2                                                                                │
│ horcrux-container     p2pAddr: tcp://whitewhale-horcrux-1.whitewhale-horcrux:2222                                                                     │
│ horcrux-container   - shardID: 3                                                                                │
│ horcrux-container     p2pAddr: tcp://whitewhale-horcrux-2.whitewhale-horcrux:2222                                                                     │
│ horcrux-container   grpcTimeout: 1000ms                                                                                │
│ horcrux-container   raftTimeout: 1000ms                                                                                │
│ horcrux-container chainNodes:                                                                                │
│ horcrux-container - privValAddr: tcp://whitewhale-0.whitewhale:1234                                                                                │
│ horcrux-container debugAddr: <IP_ADDRESS>:6001                                                                                │
│ horcrux-container I[2023-09-25|13:25:23.189] Horcrux Validator                            module=validator mode=threshold priv-state-dir=/root/.horcr │
│ horcrux-container I[2023-09-25|13:25:23.189] service start                                module=validator msg="Starting CosignerRaftStore service" i │
│ horcrux-container I[2023-09-25|13:25:23.189] Local Raft Listening                         module=validator port=2222                                  │
│ horcrux-container I[2023-09-25|13:25:23.189] Debug Server Listening                       module=debugserver address=<IP_ADDRESS>:6001                     │
│ horcrux-container I[2023-09-25|13:25:23.189] Prometheus Metrics Listening                 module=metrics address=<IP_ADDRESS>:6001 path=/metrics           │
│ horcrux-container I[2023-09-25|13:25:23.189] service start                                module=validator msg="Starting RemoteSigner service" impl=R │
│ horcrux-container I[2023-09-25|13:25:23.221] Connected to Sentry                          module=validator address=tcp://whitewhale-0.whitewhale:1234 │
│ Stream closed EOF for obi/whitewhale-horcrux-0 (init)                                                                                │
│

horcrux-1 is doing
│ horcrux-container I[2023-09-25|13:24:12.723] Connected to Sentry                          module=validator address=tcp://whitewhale-1.whitewhale:1234 │
│ horcrux-container 2023-09-25T13:25:42.013Z [ERROR] raft: failed to make requestVote RPC: target="{Voter 1 whitewhale-horcrux-0.whitewhale-horcrux:222 │
│ Stream closed EOF for obi/whitewhale-horcrux-1 (init)

horcrux-2
│ horcrux-container 2023-09-25T13:25:50.976Z [ERROR] raft: failed to heartbeat to: peer=whitewhale-horcrux-0.whitewhale-horcrux:2222 backoff time=500ms │
│ horcrux-container 2023-09-25T13:25:51.640Z [ERROR] raft: failed to heartbeat to: peer=whitewhale-horcrux-0.whitewhale-horcrux:2222 backoff time=500ms │
│ horcrux-container 2023-09-25T13:25:52.262Z [ERROR] raft: failed to heartbeat to: peer=whitewhale-horcrux-0.whitewhale-horcrux:2222 backoff time=500ms │
│ horcrux-container 2023-09-25T13:25:52.871Z [ERROR] raft: failed to heartbeat to: peer=whitewhale-horcrux-0.whitewhale-horcrux:2222 backoff time=500ms │
│ horcrux-container 2023-09-25T13:25:54.751Z [ERROR] raft: peer has newer term, stopping replication: peer="{Voter 1 whitewhale-horcrux-0.whitewhale-ho │
│ Stream closed EOF for obi/whitewhale-horcrux-2 (init)                                                                                │

from what I can surmise this happens when all 3 nodes and sentries are brought up at the same time (ie switching from FullNodes to Sentries).
on a identical install (same chain, hosted validator) one fullnode was switched to a sentry, and horcrux "caught it" and started signing blocks.
when I switched the 2nd it also started working.
it has a single node 'stuck' on this chain though. I'll leave it like this for a bit if you need to debug (it's signing blocks via the other 2)

so left it a few days, tried restarting the node with no joy.
I ended up re-generating the signer & shard keys and after the 2nd try it picked up all 3 of them.
(I no longer have a node 'stuck' to debug)

appraently #201 was a different issue (readiness checks causing it not to connect.. not sure I can re-open this


[IconMenu] onTouchTap stopPropagation() problems

Using calling e.stopPropagation() in onTouchTap in IconMenu's does not currently work; shows icon menu as well as clicks through to parent components.
Currently using:
ReactJS     : 0.14.7
Material-UI : HEAD@1d4c4a87091e24cc240a49b20f4ba604c3ef4222
Google Chrome Version 47.0.2526.106

Can a dev look into this? I have tried to look into the code but am not going to be very efficient at solving it as I am pretty new to React and also not entirely familiar with the structure of these things. If anyone gives me a hint or some documentation towards understanding the architecture and how these events work in MUI, the direction would also be appreciated as I am willing to try to fix it if I can.
Thanks.

what about preventDefault()?

@rob2d : have you checked this with the latest version? Let me know if you still need help with this.

I have worked on similar issues and e.preventDefault()  works in most cases. If you have have not tried it out , do let us know once u do.
I am closing this issue for now . If you still have an issue after trying out the suggested solution do let me know I will reopen this.

The issue in the latest stable version is resolved when adding prevent default to the actual icon div click evebt -- but this shouldn't be a necessity since the context menu itself should be the initial scope of the SyntheticEvent.
Thanks for checking in though!

e.preventDefault() is still not working for me.
<IconMenu
      onTouchTap={ (e) => e.preventDefault() } />


Fix unicode display: CJK, powerline, tmux

Hi! This is a follow up PR from #1376, taking 2e58e56 into consideration. I have isolated the issue with braille characters for vtop by decorating the corresponding nodes with a braille-node class additionally to the existing unicode-node class. It is ready to merge to the best of my knowledge.
Cc @rauchg
WIP summary:

[x] powerline wide unicode glyphs display
[x] CJK chars display, wc-node css
[x] multiple rendering of CJK in some cases, see  https://github.com/zeit/hyper/pull/1376#issuecomment-271876444 / https://github.com/zeit/hyper/pull/1376#issuecomment-272191734
[x] tmux empty prompt width, see screenshot below:

Wow, this is awesome! Will try it tonight 👍

Screenshots of the result here: vtop and unicode + tmux

Only issue is: shouldn't we respect the grid size for emojis? Both Terminal.app and iTerm seem to overlap them:

I wonder if by taking space wider than a character we would be breaking some UIs ?

Also, since other Terminals limit the width of Emojis, I worry that we'd be displaying them not as nicely in Hyper, because they'd essentially have an extra space

@rauchg: great point about emojis, one important breaking UI is the cursor position. However we need to address at least powerline unicode characters (e.g. https://github.com/zeit/hyper/issues/1336#issuecomment-270670882), which is handled properly by iTerm as well. Emojis being spread over codepoints, it would be easier to isolate the powerline glyphs and give them more space. We can choose to apply flexible or double spacing, I would suggest double to keep the cursor position in check. From what I can see, this is the way iTerm handles it too.
After that, I think I should remove css decoration for braille, since it will fall in the normal unicode styling (?).
Sidenote: This is getting interesting, powerline glyphs are stored in the Unicode Private Use Area, along with medieval scripts, Klingon, and various languages of the Middle-earth... Should we display that with fix width or double width like powerline glyphs? 😂

@tibotiber that's a very good question. I think ultimately it would depend on each glyph in the private use area whether they want double or single width.
Let's do this: for now, let's give all private use area double (which would encompass Powerline glyphs), and then if a request comes up, we can think about adding a config flag for specifying ranges that you want to be double width

OK, I'll push changes today (it's Saturday here already). I'll remove the braille part then.

Update: The issue with powerline glyphs is not a width issue. I couldn't get this to work in a way that supports basic powerline glyphs as well as user defined ones, so I checked iTerm a bit more and realised they do not treat powerline glyphs (new or old) as wide chars. What happens is wide unicode simply overlaps on the next char. See screenshots for iTerm and Hyper:

If you look at the cat above, both terminals treat the glyphs exactly in the same way. Now, the difference is in the powerline prompt line where there is a background color. See the branch sign being clipped in Hyper? Because Hyper encapsulates each unicode char in its own <span />, the wide unicode do not visibly overlap on the char to its right, since that char's background color is on top of whatever overlaps. This is not an issue in iTerm where unicode is probably not encapsulated like this. Why do we encapsulate unicode in individual containers exactly?
I removed my previous changes and only left the low hanging fruit: fixing of CJK wide chars. Still trying to find a way around the powerline issue. Summary of issues i'm trying to address and the ones fixed:

[x] CJK chars display
[ ] powerline wide unicode glyphs display
[ ] tmux empty prompt width, see screenshot below:

Why do we encapsulate unicode in individual containers exactly?

As explained above, without the <span> with a fixed width, glyphs that are not included in a monospace font (such as braille which uses the "Apple Braille" font would show up in a different width (and this width varies per-character) and break rendering)

What happens is wide unicode simply overflows on the next char

That's not true for Emojis it seems? Or emojis are not "wide unicode" (why not?)

Another thing I'd like to add to your list: ensure chinese characters render correctly

More food for thought: how should ﷽ be rendered?

Personally, I like what Terminal.app does (similar to emoji handling). Take up one column, show overflow.

iTerm takes up one column, but only shows partial overflow:

OK, that's what I had gathered about the encapsulation, just wanted to make sure there were no other reasons.

That's not true for Emojis it seems? Or emojis are not "wide unicode" (why not?)

I don't understand. Emojis are wide unicode, and they do overflow on the next char in iTerm, don't they? This is what your screenshot shows with the heart overflowing from its span onto the next (behind the a). Maybe it's a vocabulary issue, I have the feeling we're saying the same thing.
Good job finding ﷽ 😂, I'll target full overflow, like in Terminal.app.

Another thing I'd like to add to your list: ensure chinese characters render correctly

Which part exactly? The wc-node behaviour is done. Are you referring to the 2 chars that displayed as 3 mentioned in https://github.com/zeit/hyper/pull/1376#issuecomment-271876444 / https://github.com/zeit/hyper/pull/1376#issuecomment-272191734? Or anything else?

Just wanted to be 100% sure! Seems like we're on the same page @tibotiber.
Unicode nirvana (for _output) is within reach!
Next up once we merge this PR is to fix backspace (the behavior of the ANSI escape that is) for surrogate pairs and caret position

Yep I was referring to the report by @BirkhoffLee

One super tricky edge case that'll be difficult to solve (with my current knowledge of CSS):
We want it to overflow, but if it's at the edge, we would want the parent container to trigger scrolling somehow.
No terminal that i know of seems to handle this edge case currently

Also not a priority for now considering our broken backspace, but thought I'd mention it

Took a while to get back to this, sorry. I pushed new changes to try and fix the display of unicode in powerline prompts:

removed existing unicode patching that was creating new containers for unicode chars. It was making it impossible for unicode to overflow as desired when there is a background color (e.g. powerline).
instead I override hterm's insertString to get back the node in which the string has been added and I decompose its textContent when it contains unicode to insert child nodes wrapping unicode in individual spans. Doing so we still manage to get monospaced unicode but it can now overflow as long as the background color doesn't change.

This is partially working and I can't figure out why only "partially". It basically works for general unicode display such as cat files or vtop, it also work with file editors when re-rendering rows etc, but the node's content is flattened as if nothing happened in powerline prompts, except for the last node in a row.
I think it has something to do with the way hterm handles data decoding in hterm.VT.prototype.parseUnknown_ but I can't manage to pinpoint exactly what. I could be wrong though and was hoping someone has an idea. I was originally not familiar with hterm's internals so I might miss something.
I left some debug logs that help to understand what the new insertString does.

Wow, I almost forgot about this PR. Got back to it yesterday with fresh eyes and finally found what was missing. hterm's insertString was actually overriding my spans content to inject white spaces under some circumstances. Really nothing to do with the parser 😅.
So it is now where I wanted it to be, i.e. it encapsulate unicode nodes in a span within the current container, instead of creating a new container for each unicode node. This fixes the display of legacy powerline icons:

wide chars (CJK) display is fixed, and unicode nodes are displayed with fixed width and full overflow as suggested by @rauchg:

vtop and others are displaying well:

and 2-sided powerline prompts in tmux are now fixed:

The only thing left is the issue where multiple CJK chars are rendered. I'll look into it, but we can also merge this PR first and when I fix this and I'll open another one. I'll let you guys review before I squash the commits (lots of trial and error, boo).
Cc @albinekb @rauchg

Good news, I found the issue that caused multiple wide chars (e.g. CJK) to be rendered. It was a case where hyper's override of lib.wc.substr had startIndex = undefined. This PR is complete now 🎉. I fixed it by matching closer to the original code, despite using runes to be emoji-friendly.

Wow @tibotiber 😱

@albinekb thank you for the review. Most of the voodoo magic is not mine actually, it's mainly the original hterm code that I patched as minimally as possible:

replaced var by const or let to match local code style
removed comments (it was extremely verbose and still available in the original code)
made sure to call wrapUnicode in insertString and splitNode_

The wrapUnicode method is mine, so that might be a good place to focus on in reviews 😛.

After running npm run dist (macOS 10.12.4 (16E195)) I get
 this error 🤔  Is this just me? @rauchg  @tibotiber
I'm gonna try master now as we speak..

I just got the same thing

Reverting

I'll have a look for a fix

Hey, sorry about this, didn't try to run dist. I'll have a look as well.

I'm not able to reproduce. I'm only getting a warning for an unknown OSC code.

Might be coming from different prompts, what is yours like?

I use https://github.com/brandonweiss/pure.fish and i think rauch is using https://github.com/sindresorhus/pure @tibotiber

Mmmmh, I'm on sindresorhus pure as well actually. I tried a few other prompts (antigen themes) and I'm getting no error. Not understanding this.

🤔 I'll diag & give you something to reproduce with tomorrow, need to get some 💤

Why don't we just let the webkit do this work instead of calculate the width of the char?

Sorry for not coming back yet, I'll get this sorted tomorrow 👼

@albinekb
I use "Cousine for Powerline"

After I remove all unicode-node style.
I think it's a "web-based" app, we should due with it more "web-way" by using more css instead of messing with DOM.

@mengzhuo, the issue with this approach is that you break the rendering for unicode that is not monospaced (see this comment). You can observe a bad example by running vtop after removing unicode styling. More generally, terminals expect monospace chars and handle exceptions such as CJK with "wide-chars" which are doubled-spaced.

Sorry for the delay @tibotiber
the problem is that not all nodes has className, for example text-nodes (see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType)
I tried two things:

adding a check in hterm.Screen.prototype.wrapUnicode to only handle element nodes (type 3), no errors but emojis get scrambled.
adding a check for node.className, same problem

@albinekb thanks for posting more details. I looked into it and here are some thoughts:

we seem to have an issue with cursor position. Basically the cursor moves with double spacing on single spaced unicode. Since hterm.Terminal.prototype.eraseToRight uses the cursor position to calculate how many chars should be deleted, it creates an issue with unicode deletion. I'm thinking this might be the source of the unknown char that appears when we delete emojis. Note: this issue exists in master so it is not new to this PR and could be tackled in another PR.
nice find on "the problem is that not all nodes has className", I completely missed it. I fixed this locally and will open a new PR soon since this one is now frozen.

Quite honestly, hterm is horrible to patch because the code is extremely imperative and convoluted. Do you know of any other terminal emulator that would be more "react-ish"? That would be really cool! @rauchg?

I stumbled upon this PR and wanted to ask here before creating an issue first, so sorry in advance for posting this here.
By any chance is this rendering issue related to the problem produced in this screenshot:
On the left is Terminal and on the right is Hyper.  I'm speaking of course about the box side which seems to warp as well as contain some overlap between the characters.

@LeonBlade this will need to be checked once the follow up PR #1873 lands, but it should fix your issue I think.

I've tested it with Japanese and Korean characters on macOS El Capitan and there are some visual errors appeared.
There is an iTerm2 screen next to Hyper to clarify differences.
It looks like the width of Japanese characters is too narrow and Korean characters are weirdly broken.

Hi! I don't necessarily have a horse in this race, besides the ones that the contributors above have (Pretty Unicode Interfaces [for english text] And Maybe Sometimes Emoji) — but I want to point out that this heavily affects users from other countries and cultures? This seems like a question that's ideal for a ‘reach out and ask users’ kind of moment.
If nothing else, I suspect we need to get a ~Unicode expert~ to come in and answer some questions about character ranges to treat as ‘wide’ (our implementation gives them double width, automatically consuming an extra column) versus ones to ignore, treat as single-wide, and leave for userspace handling (“What? This emoji looks funny? I guess I'd better spit out an extra space after it.” aka The Yarn Approach).

An aside — copied from a friend, as an example of why the emoji in particular are A Hard Problem, and “display all private-use-area characters as two columns” isn't enough:

👨❤💋👨 1f468-200d-2764-fe0f-200d-1f48b-200d-1f468 KISS: MAN, MAN
8 codepoints, 11 UCS-2 units, one Wide character.
— @FakeUnicode

Great!!  Thank you. I'll looking forward to be merged :+1:

@tibotiber Great!! Thank you. I'll looking forward to be merged :+1:
you saved my life :dango:

Seems like 1.4.x fixed this issue.
Vtop with 1.4.2 (PragmataPro Font):


AUTO / RTL modes not working with the ekf_att_pos_estimator

Attempting to switch to AUTO results in a state change rejection. This means that currently all sub-modes such as RTL will also not currently work (so watch out when testing). It looks like there is at least an issue with setting home correctly.

We need to check if FW still works on master

Auto for FW is broken in master. I narrowed it down to #1532.
@kd0aij would you mind taking a look and seeing if you can verify this and then see if you can spot why it prevents switching to auto (FW and MC). Thanks.

Since the home position seems to be the problem I suspect that one of these checks here fails:
https://github.com/PX4/Firmware/blob/master/src/modules/commander/commander.cpp#L734 https://github.com/PX4/Firmware/blob/master/src/modules/commander/commander.cpp#L739. Because #1532 changes the altitude estimate I suspect it is the later one.

This would be because the diagnostic code (labeled FIXME:) at lines 1539-1544 didn't get removed. That code alters eph and epv and would definitely cause the checks to fail. Sorry for not catching that before the merge.

Thanks Mark. Fixed via fa4d09018527676d3803582a432df8e25c8e5010 and pushed as hot fix to master.
@sjwilks Let us know if that fixes things. A handheld test outdoors is probably already enough to confirm the fix.

Great. I'll test it first thing in the morning.
On Mon, 19 Jan 2015 20:19 Lorenz Meier<EMAIL_ADDRESS>wrote:

Thanks Mark. Fixed via fa4d090
https://github.com/PX4/Firmware/commit/fa4d09018527676d3803582a432df8e25c8e5010
and pushed as hot fix to master.
@sjwilks https://github.com/sjwilks Let us know if that fixes things. A
handheld test outdoors is probably already enough to confirm the fix.
—
Reply to this email directly or view it on GitHub
https://github.com/PX4/Firmware/issues/1668#issuecomment-70545908.

Retested on the bench using GPS_FAKE and switching to AUTO now works.

Cool. Closing for now, let us know if any issue persists.


No descriptions about the namespace "kube-node-lease"

This is a Bug Report

Problem:
In the page https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/, when listing the namespaces, it shows:

NAME              STATUS   AGE
default           Active   1d
kube-node-lease   Active   1d
kube-public       Active   1d
kube-system       Active   1d

There are 4 namespaces, but the description goes:

Kubernetes starts with three initial namespaces:

default The default namespace for objects with no other namespace
kube-system The namespace for objects created by the Kubernetes system
kube-public This namespace is created automatically and is readable by all users (including those not authenticated). This namespace is mostly reserved for cluster usage, in case that some resources should be visible and readable publicly throughout the whole cluster. The public aspect of this namespace is only a convention, not a requirement.

where kube-node-lease is missing.
Proposed Solution:
Add some descriptions about the namespace kube-node-lease.
Page to Update:
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

/kind bug
/priority backlog

Want to document this? https://stackoverflow.com/questions/59659966/what-is-the-kube-node-lease-namespace-for has pointers.

It seems that 6cf2449a2e065cac2d36aec58c1ac28e89c1168d already fixed this. Closing this issue.


Update french translation

Just a translation of some strings that have got the state="new" label
A lot needs a review, because it depends on the context of the sentence / what the feature does, and some strings don't contain the exact words of the original strings to improve the readability.

I think we need someone who knows French.

@LoganTann The French translation has been updated in another pull request.


Snakemake workflow

An attempt to wrap the existing model code in a light-touch snakemake workflow. Should make it easier to reproduce analysis results in the future.
Factoring out library code into local package and trying to clean up formatting, imports, etc. as I go.
Rules written:

Basic damages
Calculation of inputs to transport flow allocation (preparation of OD, etc.)
Nominal flow allocation

To-do notes:

transport_failure_flow_allocation is the exhaustive transport rerouting rule. It's a thin wrapper of the transport_failure_scenario_setup.py script and invokes multiple instances of transport_failure_analysis.py which currently consumes on the order 70GB RAM. Each network flow allocation (using igraph_scenario_edge_failures) takes a good few seconds. Need to parallelise otherwise network with ~108k edges will take several weeks to run (or otherwise reduce set of edges to fail).
Water model only has single script, but there's lots more on the cluster in mistral/jamaica-ccri/drought. Don't know where to start there.
Electricity model core to be installed (see JEM), then flow analysis to be captured in new rule based on Nadia and Tom's work.
Calculation of EAD and EAEL script requires all the losses from the various network models to be present -- this to be done last.

Split up, transport workflow PR here: https://github.com/nismod/jamaica-infrastructure/pull/16


Score and Success Rate

Question:

I am training the RL agent using train_rl.py. How can I get the score and success rate metrics as per the paper?

Note: running for the default configuration for reproducibility.
| EpisodeScore            | 6.88     |
| EpisodeScore_beauty     | 7.06     |
| EpisodeScore_electro... | 6.68     |
| EpisodeScore_fashion    | 7.36     |
| EpisodeScore_garden     | 6.12     |
| EpisodeScore_grocery    | 7.39     |
| FPS                     | 3        |
| ItemsClicked            | 78782    |
| Step                    | 259400   |
| action_Description      | 276853   |
| action_Features         | 276669   |
| action_Reviews          | 237      |
| action_asin             | 276410   |
| action_options          | 83631    |
| action_purchase         | 270265   |
| action_search           | 279761   |
| advs                    | -0.00239 |
| cat_beauty              | 60688    |
| cat_electronics         | 47598    |
| cat_fashion             | 55063    |
| cat_garden              | 53171    |
| cat_grocery             | 53880    |
| gradnorm_clipped        | 670      |
| gradnorm_unclipped      | 1.61e+03 |
| loss                    | 3.1      |
| loss_en                 | -0.0982  |
| loss_il                 | 0        |
| loss_pg                 | 0.0476   |
| loss_td                 | 3.15     |
| r_att                   | 0.781    |
| r_exact                 | 0.0112   |
| r_harsh                 | 0.326    |
| r_norm                  | 0.196    |
| r_option                | 0.308    |
| r_price                 | 0.966    |
| r_type                  | 0.953    |
| r_visit                 | 0        |
| rank_item               | 4.21     |
| returns                 | 4.99     |

Regarding the run time, this is the script I am using to run the code,
#SBATCH --cpus-per-task=16
#SBATCH --gres=gpu:v100:1                                   # Ask for 1 GPU #v100
#SBATCH --mem=64G
#SBATCH --time=80:00:00

Even after running for 80 hrs, the code for train_rl.py fails at 250K steps out of 300K steps as default. However, in the paper, it is mentioned that the run time is around a day. Am I missing something? Please share your insights.
Thank you for your time

Hi,

EpisodeScore is train score, r_harsh is train success rate. Once the first test is done, testScore is the test score, and test_r_harsh is the test success rate.
In the paper, we report the result with 100K steps. Running beyond 100K steps might still bring improvements, thus in code the default is 300K.

I'll close it for now but feel free to reopen if needed


bro you literally copied the whole robloxpy api off of me

My bad, at least I don't sell something that everyone can get for free


CodeArtifact's product/target name capitalization different from official product name

Describe the bug
The name of the CodeArtifact target and product under aws-sdk-swift is spelled with a lower-case 'A' (Codeartifact) which is different from the official name of the AWS Service
Expected Behavior
Users would import as:
import AWSCodeArtifact

Current Behavior
Users current import as:
import AWSCodeartifact

Reproduction Steps
Not applicable
Possible Solution
No response
Additional Information/Context
No response
AWS SWIFT SDK version used
0.15.0
Compiler and Version used
Version 14.1 (14B47b)
Operating System and version
13.2.1 (22D68)

The symbols used for AWS services and their components in the AWS SDK for Swift are based on metadata provided by the service team.  Having CodeArtifact change the metadata would break a wide-ranging array of software and services, and the extra complexity required to override & customize the name of a service in the Swift SDK is not worth the benefit of properly capitalizing the service name.
Closing this issue, we do not plan to pursue this change.


Runstudy is not finding SQL?

I'm having the following issue. It seems like it is not finding the code in Renv.lock?

runStudy(connectionDetails = cdx,

     cdmDatabaseSchema = "cdm",

     cohortDatabaseSchema = cohortDatabaseSchema,

     cohortTablePrefix = cohortTablePrefix,

     tempEmulationSchema = tempEmulationSchema,

     exportFolder = outputFolder,

     databaseId = databaseId,

     databaseName = databaseName,

     databaseDescription = databaseDescription,

     incremental = TRUE,

     minCellCount = minCellCount)

R version:R version 4.0.2 (2020-06-22)Platform:x86_64-w64-mingw32Attached base packages:- stats- graphics- grDevices- utils- datasets- methods- baseOther attached packages:- SqlRender (1.7.0)- renv (0.13.2)- ParallelLogger (2.0.1)- DatabaseConnectorJars (1.1.0)- DatabaseConnector (4.0.2)
Connecting using Redshift driver

---- Creating reference tables  ----

Error: Cannot find 'CreateRefTables.sql' in the 'sql/sql_server' folder of the 'Covid19VaccineAesiIncidenceCharacterization' package.
Run rlang::last_error() to see where the error occurred.
An error report has been created at  C:/Users/mgoodman2/Documents/R/R-4.0.5/AESI/Prod_openClaims/Output/Covid19VaccineAesiIncidenceCharacterizationErrorReportR.txt

Hi @Tubabent. Looking at the error here, I'm thinking that this might be due to the path length. Could you try installing the package to C:\Covid19VaccineAesiIncidenceCharacterization and try again?

I've done two things. I created a much simpler path length, with the same error.

Thanks for trying that out. I'm unsure why that SQL script is not found. Could you try running the following code:
sql <- SqlRender::loadRenderTranslateSql("CreateCohortTable.sql",packageName = "Covid19VaccineAesiIncidenceCharacterization")

Assuming this works, you should be able to then run:
print(sql)

And you should get the following code:
[1] "IF OBJECT_ID('@cohort_database_schema.@cohort_table', 'U') IS NOT NULL\r\n\tDROP TABLE @cohort_database_schema.@cohort_table;\r\n\r\nCREATE TABLE @cohort_database_schema.@cohort_table (\r\n\tcohort_definition_id BIGINT,\r\n\tsubject_id BIGINT,\r\n\tcohort_start_date DATE,\r\n\tcohort_end_date DATE\r\n\t);\r\n"

When I ran this I received.
[1] "select distinct person_id as subject_id, date1 as cohort_start_date, date2 as cohort_end_date\nfrom full_202001_omop_v5.condition_occurrence\ninner join\nfull_202001_omop_v5.drug_exposure using (person_id)\ninner join\nfull_202001_omop_v5.procedure_occurrence using (person_id)\n-- Acute Lung Injury\ninner join\n--cohort\n(select person_id, date1, max(date2) as date2 from\n(select person_id, date1, date2, date2-date1 as days from\n(select distinct person_id, procedure_date as date1\nfrom \nfull_202001_omop_v5.procedure_occurrence\nwhere procedure_concept_id in\n(2108163,4248004,2788072,4140847,2788071,2108150,2788066,2788065,2108119,2788064)) a\ninner join\n(select distinct person_id, procedure_date as date2 from full_202001_omop_v5.procedure_occurrence\nwhere procedure_concept_id in\n(2108163,4248004,2788072,4140847,2788071,2108150,2788066,2788065,2108119,2788064)) b using (person_id)\nwhere date2 >= date1 and date2-date1 between 0 and 1)\ngroup by person_id, date1) C using (person_id)\nwhere condition_concept_id in (select distinct descendant_concept_id from \nfull_202001_omop_v5.concept_ancestor where ancestor_concept_id=4199961)\nand condition_start_date between date1 and date2\nand drug_concept_id in (932777, 35603223,35603226,35603227,35604672,35604673,36887747) \nand drug_exposure_start_date between date1 and date2\nand procedure_concept_id in (725068,725069,2211359,2211378,2211379,2211380,2211381)\nand procedure_date between date1 and date2"

I had the same issue with a previous version of this study.  I changed
GuillainBarreSyndrome IP primary.sql in the outcome file name to -> GuillainBarreSyndrome IP Primary.sql


How to customize message "Starting a new notebook server just for you"?

Is it possible to customize the message that is seen when you start a new notebook?
"Starting a new notebook server just for you"
We were hoping to brand this page a little for our own organization.

@rwmajor2 You may edit the template that contains the phrase and then use the edited template in your own tmpnb deployment: https://github.com/jupyter/tmpnb/blob/master/templates/loading.html#L22


Token expiration check tolerance issue in PersistedAccessTokenCache.GetValidToken

Description:
The PersistedAccessTokenCache.GetValidToken method currently checks the JWT token for expiration. However, there is a zero-tolerance window between this check, which causes issues in scenarios where the token becomes invalid for a short duration before the calculated expiration time.
To Reproduce:

Obtain a JWT token.
Wait for the token to approach its expiration time.
Attempt to use the token within the short duration before its calculated expiration time, approximately 300ms.
Observe that the token is not valid.

Expected behavior:
The PersistedAccessTokenCache.GetValidToken method should consider a token invalid if it is used within a reasonable tolerance window before its calculated expiration time, allowing for minor delays in token retrieval and usage.
Additional context:
This issue affects applications where the token provider's response time causes a slight delay in token retrieval, leading to a brief period where the token is incorrectly deemed valid.

The Token lifetime duration is different depending on the issuer (identity service) settings (cab be seconds or hours or days). Instead of using constant value, consider using configuration setting or calculate as percentage of the token lifetime length.
Pros and cons:

Using settings the expiration "window" will make it more visible for the developer. Default value can be used if not set in the settings (for backwards compatibility).
The percentage calculation is more flexible, but can introduce additional complexity and unknown behaviour for developers using the library.


[bug] fresh_vars items are assignable

Describe the bug
Assigning to a setting that exists in fresh_value prevents that setting from being fresh.
To Reproduce
Minimum code to reproduce/demonstrate:
import os
from dynaconf import Dynaconf

os.environ["DYNACONF_FRESH_VALUE"] = "stay fresh"
settings = Dynaconf(fresh_vars=["fresh_value"])
print(settings.fresh_value) # Outputs: "stay fresh"
settings.fresh_value = "not so fresh"
print(settings.fresh_value) # Outputs: "not so fresh" instead of "stay fresh" as expected.

Expected behavior
From the documentation, I'd expect that any attempt to assign to a fresh variable would be passively ignored, since the docs state that the value is read directly from source on every access. Apologies if this is WAI. If it is, it may be worth noting on the documentation for the fresh_vars parameter that once assigned to the parameter will no longer be fresh.
Environment (please complete the following information):

OS: Windows/10 & Linux/Ubuntu22.04.4 (WSL)
Dynaconf Version: 3.2.5
Frameworks in use: None.

Additional context

The issue is being fixed and it is coming in the next 3.3.0 release
By now the workaround is to define the keys all uppercase.
settings = Dynaconf(fresh_vars=["FRESH_VALUE"])

Excellent. And thanks for the workaround. Ill keep an eye out for the new version.


feat(core): add support of strictTemplates in FieldType

fix #2842

Sorry to hear that, our intention is to keep backward compatible between minor release so if that happens it should be reverted or fixed. So could you please provide us more info about the raised error in order to check it on our side and provide a fix asap.
Thank you!

The error message I receive when I attempt to 'ng serve' my project is:
Error: node_modules/@intersystems/isc-form/lib/custom-fields/repeat/repeat.component.d.ts:9:5 - error TS2416: Property 'field' in type 'RepeatComponent' is not assignable to the same property in base type 'FieldArrayType'.
Type 'Field' is not assignable to type 'FieldArrayTypeConfig'.
Types of property 'formControl' are incompatible.
Type 'AbstractControl' is missing the following properties from type 'FormArray': controls, at, push, insert, and 6 more.
9     field: Field;
      ~~~~~

This is occurs where the component has overridden the Field type.  The pertinent part of the component definintion is:
import { Field } from "../../interfaces/isc-form-model";
import * as ɵngcc0 from '@angular/core';
export declare class RepeatComponent extends FieldArrayType implements OnInit {
    subscriptions: Subscription[];
    field: Field;

The root cause appears to be in the implementation of FieldArrayType where the definition now looks like:
export declare abstract class FieldArrayType<F extends FormlyFieldConfig = FormlyFieldConfig> extends FieldType<F> implements FormlyExtension

If I remove the "FormlyFieldConfig =" from the extends within the generic type the error goes away.
For now I have downgraded to<EMAIL_ADDRESS>which is allowing my project to compile

I'm able to reproduce it, I'll let you know, once fixed!

The above issue has been fixed and released as part of v5.11.2 release.
Thank you!

@aitboudad Thanks for the quick response.  You were so fast I didn't notice this last update until today.  I wasn't expecting anything.  Great job!